diff --git a/IDriveConnectKit b/IDriveConnectKit index 90f8a936a..4a55498ad 160000 --- a/IDriveConnectKit +++ b/IDriveConnectKit @@ -1 +1 @@ -Subproject commit 90f8a936ae30cfc84aab652adf59bc637ef59a1a +Subproject commit 4a55498adfd76a306f16f158fe16f7add6284141 diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationAsync.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationAsync.kt deleted file mode 100644 index aba259c46..000000000 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationAsync.kt +++ /dev/null @@ -1,28 +0,0 @@ -package me.hufman.androidautoidrive.carapp - -import android.os.Handler -import me.hufman.idriveconnectionkit.rhmi.* - -class RHMIApplicationAsync(val app: RHMIApplication, val handler: Handler): RHMIApplication(), RHMIApplicationWrapper { - override val models = app.models - override val actions = app.actions - override val events = app.events - override val states = app.states - override val components = app.components - - override fun setModel(modelId: Int, value: Any) { - handler.post { app.setModel(modelId, value) } - } - - override fun setProperty(componentId: Int, propertyId: Int, value: Any?) { - handler.post { app.setProperty(componentId, propertyId, value) } - } - - override fun triggerHMIEvent(eventId: Int, args: Map) { - handler.post { app.triggerHMIEvent(eventId, args) } - } - - override fun unwrap(): RHMIApplication { - return (app as? RHMIApplicationWrapper)?.unwrap() ?: app - } -} \ No newline at end of file diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationIdempotent.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationIdempotent.kt deleted file mode 100644 index 73ef6dda5..000000000 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationIdempotent.kt +++ /dev/null @@ -1,29 +0,0 @@ -package me.hufman.androidautoidrive.carapp - -import me.hufman.idriveconnectionkit.rhmi.RHMIApplication - -class RHMIApplicationIdempotent(val app: RHMIApplication): RHMIApplication(), RHMIApplicationWrapper { - override val models = app.models - override val actions = app.actions - override val events = app.events - override val states = app.states - override val components = app.components - - override fun setModel(modelId: Int, value: Any) { - if (models[modelId] != value) - app.setModel(modelId, value) - } - - override fun setProperty(componentId: Int, propertyId: Int, value: Any?) { - if (components[componentId]?.properties?.get(propertyId)?.value != value) - app.setProperty(componentId, propertyId, value) - } - - override fun triggerHMIEvent(eventId: Int, args: Map) { - app.triggerHMIEvent(eventId, args) - } - - override fun unwrap(): RHMIApplication { - return (app as? RHMIApplicationWrapper)?.unwrap() ?: app - } -} \ No newline at end of file diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationSynchronized.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationSynchronized.kt deleted file mode 100644 index d13db640a..000000000 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationSynchronized.kt +++ /dev/null @@ -1,34 +0,0 @@ -package me.hufman.androidautoidrive.carapp - -import me.hufman.idriveconnectionkit.rhmi.* - -class RHMIApplicationSynchronized(val app: RHMIApplication): RHMIApplication(), RHMIApplicationWrapper { - override val models = app.models - override val actions = app.actions - override val events = app.events - override val states = app.states - override val components = app.components - - override fun setModel(modelId: Int, value: Any) { - synchronized(this) { app.setModel(modelId, value) } - } - - override fun setProperty(componentId: Int, propertyId: Int, value: Any?) { - synchronized(this) { app.setProperty(componentId, propertyId, value) } - } - - override fun triggerHMIEvent(eventId: Int, args: Map) { - synchronized(this) { app.triggerHMIEvent(eventId, args) } - } - - /** Run in the same lock as the RHMI Application */ - fun runSynchronized(task: () -> Unit) { - synchronized(this) { - task() - } - } - - override fun unwrap(): RHMIApplication { - return (app as? RHMIApplicationWrapper)?.unwrap() ?: app - } -} \ No newline at end of file diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationWrapper.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationWrapper.kt deleted file mode 100644 index e7149e09e..000000000 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/RHMIApplicationWrapper.kt +++ /dev/null @@ -1,7 +0,0 @@ -package me.hufman.androidautoidrive.carapp - -import me.hufman.idriveconnectionkit.rhmi.RHMIApplication - -interface RHMIApplicationWrapper { - fun unwrap(): RHMIApplication -} \ No newline at end of file diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/maps/MapApp.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/maps/MapApp.kt index fec6f7818..95d1b1573 100644 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/maps/MapApp.kt +++ b/app/src/main/java/me/hufman/androidautoidrive/carapp/maps/MapApp.kt @@ -9,14 +9,14 @@ import de.bmw.idrive.BMWRemotingServer import de.bmw.idrive.BaseBMWRemotingClient import me.hufman.androidautoidrive.AppSettings import me.hufman.androidautoidrive.carapp.InputState -import me.hufman.androidautoidrive.carapp.RHMIApplicationIdempotent -import me.hufman.androidautoidrive.carapp.RHMIApplicationSynchronized import me.hufman.androidautoidrive.carapp.RHMIUtils import me.hufman.androidautoidrive.carapp.FullImageInteraction import me.hufman.androidautoidrive.carapp.FullImageView import me.hufman.androidautoidrive.carapp.maps.views.MenuView import me.hufman.androidautoidrive.removeFirst import me.hufman.idriveconnectionkit.IDriveConnection +import me.hufman.idriveconnectionkit.rhmi.RHMIApplicationIdempotent +import me.hufman.idriveconnectionkit.rhmi.RHMIApplicationSynchronized import me.hufman.idriveconnectionkit.android.CarAppResources import me.hufman.idriveconnectionkit.android.IDriveConnectionListener import me.hufman.idriveconnectionkit.android.security.SecurityAccess diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/music/AVContextHandler.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/music/AVContextHandler.kt index 43c3a9da3..03dee5950 100644 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/music/AVContextHandler.kt +++ b/app/src/main/java/me/hufman/androidautoidrive/carapp/music/AVContextHandler.kt @@ -2,9 +2,8 @@ package me.hufman.androidautoidrive.carapp.music import android.util.Log import de.bmw.idrive.BMWRemoting -import me.hufman.androidautoidrive.AppSettings import me.hufman.androidautoidrive.GraphicsHelpers -import me.hufman.androidautoidrive.carapp.RHMIApplicationSynchronized +import me.hufman.idriveconnectionkit.rhmi.RHMIApplicationSynchronized import me.hufman.androidautoidrive.music.MusicAppInfo import me.hufman.androidautoidrive.music.MusicController import me.hufman.idriveconnectionkit.android.IDriveConnectionListener diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/music/MusicApp.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/music/MusicApp.kt index b2e7d5a6b..8528c551d 100644 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/music/MusicApp.kt +++ b/app/src/main/java/me/hufman/androidautoidrive/carapp/music/MusicApp.kt @@ -8,14 +8,14 @@ import me.hufman.androidautoidrive.GraphicsHelpers import me.hufman.androidautoidrive.PhoneAppResources import me.hufman.androidautoidrive.Utils.loadZipfile import me.hufman.androidautoidrive.carapp.RHMIActionAbort -import me.hufman.androidautoidrive.carapp.RHMIApplicationIdempotent -import me.hufman.androidautoidrive.carapp.RHMIApplicationSynchronized import me.hufman.androidautoidrive.carapp.RHMIUtils import me.hufman.androidautoidrive.carapp.music.views.* import me.hufman.androidautoidrive.music.MusicAppDiscovery import me.hufman.androidautoidrive.music.MusicController import me.hufman.androidautoidrive.removeFirst import me.hufman.idriveconnectionkit.IDriveConnection +import me.hufman.idriveconnectionkit.rhmi.RHMIApplicationIdempotent +import me.hufman.idriveconnectionkit.rhmi.RHMIApplicationSynchronized import me.hufman.idriveconnectionkit.android.CarAppResources import me.hufman.idriveconnectionkit.android.IDriveConnectionListener import me.hufman.idriveconnectionkit.android.security.SecurityAccess diff --git a/app/src/main/java/me/hufman/androidautoidrive/carapp/notifications/PhoneNotifications.kt b/app/src/main/java/me/hufman/androidautoidrive/carapp/notifications/PhoneNotifications.kt index a12a517ab..e3e98df8c 100644 --- a/app/src/main/java/me/hufman/androidautoidrive/carapp/notifications/PhoneNotifications.kt +++ b/app/src/main/java/me/hufman/androidautoidrive/carapp/notifications/PhoneNotifications.kt @@ -11,13 +11,13 @@ import de.bmw.idrive.BMWRemotingServer import de.bmw.idrive.BaseBMWRemotingClient import me.hufman.androidautoidrive.* import me.hufman.androidautoidrive.carapp.RHMIActionAbort -import me.hufman.androidautoidrive.carapp.RHMIApplicationIdempotent -import me.hufman.androidautoidrive.carapp.RHMIApplicationSynchronized import me.hufman.androidautoidrive.carapp.RHMIUtils import me.hufman.androidautoidrive.carapp.notifications.views.DetailsView import me.hufman.androidautoidrive.carapp.notifications.views.NotificationListView import me.hufman.androidautoidrive.carapp.notifications.views.PopupView import me.hufman.idriveconnectionkit.IDriveConnection +import me.hufman.idriveconnectionkit.rhmi.RHMIApplicationIdempotent +import me.hufman.idriveconnectionkit.rhmi.RHMIApplicationSynchronized import me.hufman.idriveconnectionkit.android.CarAppResources import me.hufman.idriveconnectionkit.android.IDriveConnectionListener import me.hufman.idriveconnectionkit.android.security.SecurityAccess