Loading packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ClockRegistry.kt +8 −17 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ import com.android.systemui.plugins.clocks.ClockMetadata import com.android.systemui.plugins.clocks.ClockProvider import com.android.systemui.plugins.clocks.ClockProviderPlugin import com.android.systemui.plugins.clocks.ClockSettings import com.android.systemui.util.Assert import com.android.systemui.util.ThreadAssert import java.io.PrintWriter import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.atomic.AtomicBoolean Loading Loading @@ -89,6 +89,7 @@ open class ClockRegistry( val keepAllLoaded: Boolean, subTag: String, var isTransitClockEnabled: Boolean = false, val assert: ThreadAssert = ThreadAssert(), ) { private val TAG = "${ClockRegistry::class.simpleName} ($subTag)" private val logger: Logger = Loading Loading @@ -286,7 +287,7 @@ open class ClockRegistry( @OpenForTesting open fun querySettings() { assertNotMainThread() assert.isNotMainThread() val result = try { val json = Loading @@ -313,7 +314,7 @@ open class ClockRegistry( @OpenForTesting open fun applySettings(value: ClockSettings?) { assertNotMainThread() assert.isNotMainThread() try { value?.metadata?.put(KEY_TIMESTAMP, System.currentTimeMillis()) Loading @@ -339,16 +340,6 @@ open class ClockRegistry( settings = value } @OpenForTesting protected open fun assertMainThread() { Assert.isMainThread() } @OpenForTesting protected open fun assertNotMainThread() { Assert.isNotMainThread() } private var isClockChanged = AtomicBoolean(false) private fun triggerOnCurrentClockChanged() { val shouldSchedule = isClockChanged.compareAndSet(false, true) Loading @@ -357,7 +348,7 @@ open class ClockRegistry( } scope.launch(mainDispatcher) { assertMainThread() assert.isMainThread() isClockChanged.set(false) clockChangeListeners.forEach { it.onCurrentClockChanged() } } Loading @@ -371,7 +362,7 @@ open class ClockRegistry( } scope.launch(mainDispatcher) { assertMainThread() assert.isMainThread() isClockListChanged.set(false) clockChangeListeners.forEach { it.onAvailableClocksChanged() } } Loading Loading @@ -585,7 +576,7 @@ open class ClockRegistry( * Calling from main thread to make sure the access is thread safe. */ fun registerClockChangeListener(listener: ClockChangeListener) { assertMainThread() assert.isMainThread() clockChangeListeners.add(listener) } Loading @@ -595,7 +586,7 @@ open class ClockRegistry( * Calling from main thread to make sure the access is thread safe. */ fun unregisterClockChangeListener(listener: ClockChangeListener) { assertMainThread() assert.isMainThread() clockChangeListeners.remove(listener) } Loading packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java +3 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.systemui.plugins.clocks.ClockMessageBuffers; import com.android.systemui.res.R; import com.android.systemui.shared.clocks.ClockRegistry; import com.android.systemui.shared.clocks.DefaultClockProvider; import com.android.systemui.util.ThreadAssert; import dagger.Module; import dagger.Provides; Loading Loading @@ -74,7 +75,8 @@ public abstract class ClockRegistryModule { clockBuffers, /* keepAllLoaded = */ false, /* subTag = */ "System", /* isTransitClockEnabled = */ featureFlags.isEnabled(Flags.TRANSIT_CLOCK)); /* isTransitClockEnabled = */ featureFlags.isEnabled(Flags.TRANSIT_CLOCK), new ThreadAssert()); registry.registerListeners(); return registry; } Loading packages/SystemUI/tests/src/com/android/systemui/shared/clocks/ClockRegistryTest.kt +3 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import com.android.systemui.plugins.PluginListener import com.android.systemui.plugins.PluginManager import com.android.systemui.util.mockito.argumentCaptor import com.android.systemui.util.mockito.eq import com.android.systemui.util.ThreadAssert import java.util.function.BiConsumer import junit.framework.Assert.assertEquals import junit.framework.Assert.fail Loading Loading @@ -69,6 +70,7 @@ class ClockRegistryTest : SysuiTestCase() { @Mock private lateinit var mockDefaultClock: ClockController @Mock private lateinit var mockThumbnail: Drawable @Mock private lateinit var mockContentResolver: ContentResolver @Mock private lateinit var mockThreadAssert: ThreadAssert private lateinit var fakeDefaultProvider: FakeClockPlugin private lateinit var pluginListener: PluginListener<ClockProviderPlugin> private lateinit var registry: ClockRegistry Loading Loading @@ -163,14 +165,12 @@ class ClockRegistryTest : SysuiTestCase() { defaultClockProvider = fakeDefaultProvider, keepAllLoaded = false, subTag = "Test", assert = mockThreadAssert, ) { override fun querySettings() { } override fun applySettings(value: ClockSettings?) { settings = value } // Unit Test does not validate threading override fun assertMainThread() {} override fun assertNotMainThread() {} } registry.registerListeners() Loading Loading
packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ClockRegistry.kt +8 −17 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ import com.android.systemui.plugins.clocks.ClockMetadata import com.android.systemui.plugins.clocks.ClockProvider import com.android.systemui.plugins.clocks.ClockProviderPlugin import com.android.systemui.plugins.clocks.ClockSettings import com.android.systemui.util.Assert import com.android.systemui.util.ThreadAssert import java.io.PrintWriter import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.atomic.AtomicBoolean Loading Loading @@ -89,6 +89,7 @@ open class ClockRegistry( val keepAllLoaded: Boolean, subTag: String, var isTransitClockEnabled: Boolean = false, val assert: ThreadAssert = ThreadAssert(), ) { private val TAG = "${ClockRegistry::class.simpleName} ($subTag)" private val logger: Logger = Loading Loading @@ -286,7 +287,7 @@ open class ClockRegistry( @OpenForTesting open fun querySettings() { assertNotMainThread() assert.isNotMainThread() val result = try { val json = Loading @@ -313,7 +314,7 @@ open class ClockRegistry( @OpenForTesting open fun applySettings(value: ClockSettings?) { assertNotMainThread() assert.isNotMainThread() try { value?.metadata?.put(KEY_TIMESTAMP, System.currentTimeMillis()) Loading @@ -339,16 +340,6 @@ open class ClockRegistry( settings = value } @OpenForTesting protected open fun assertMainThread() { Assert.isMainThread() } @OpenForTesting protected open fun assertNotMainThread() { Assert.isNotMainThread() } private var isClockChanged = AtomicBoolean(false) private fun triggerOnCurrentClockChanged() { val shouldSchedule = isClockChanged.compareAndSet(false, true) Loading @@ -357,7 +348,7 @@ open class ClockRegistry( } scope.launch(mainDispatcher) { assertMainThread() assert.isMainThread() isClockChanged.set(false) clockChangeListeners.forEach { it.onCurrentClockChanged() } } Loading @@ -371,7 +362,7 @@ open class ClockRegistry( } scope.launch(mainDispatcher) { assertMainThread() assert.isMainThread() isClockListChanged.set(false) clockChangeListeners.forEach { it.onAvailableClocksChanged() } } Loading Loading @@ -585,7 +576,7 @@ open class ClockRegistry( * Calling from main thread to make sure the access is thread safe. */ fun registerClockChangeListener(listener: ClockChangeListener) { assertMainThread() assert.isMainThread() clockChangeListeners.add(listener) } Loading @@ -595,7 +586,7 @@ open class ClockRegistry( * Calling from main thread to make sure the access is thread safe. */ fun unregisterClockChangeListener(listener: ClockChangeListener) { assertMainThread() assert.isMainThread() clockChangeListeners.remove(listener) } Loading
packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java +3 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.systemui.plugins.clocks.ClockMessageBuffers; import com.android.systemui.res.R; import com.android.systemui.shared.clocks.ClockRegistry; import com.android.systemui.shared.clocks.DefaultClockProvider; import com.android.systemui.util.ThreadAssert; import dagger.Module; import dagger.Provides; Loading Loading @@ -74,7 +75,8 @@ public abstract class ClockRegistryModule { clockBuffers, /* keepAllLoaded = */ false, /* subTag = */ "System", /* isTransitClockEnabled = */ featureFlags.isEnabled(Flags.TRANSIT_CLOCK)); /* isTransitClockEnabled = */ featureFlags.isEnabled(Flags.TRANSIT_CLOCK), new ThreadAssert()); registry.registerListeners(); return registry; } Loading
packages/SystemUI/tests/src/com/android/systemui/shared/clocks/ClockRegistryTest.kt +3 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import com.android.systemui.plugins.PluginListener import com.android.systemui.plugins.PluginManager import com.android.systemui.util.mockito.argumentCaptor import com.android.systemui.util.mockito.eq import com.android.systemui.util.ThreadAssert import java.util.function.BiConsumer import junit.framework.Assert.assertEquals import junit.framework.Assert.fail Loading Loading @@ -69,6 +70,7 @@ class ClockRegistryTest : SysuiTestCase() { @Mock private lateinit var mockDefaultClock: ClockController @Mock private lateinit var mockThumbnail: Drawable @Mock private lateinit var mockContentResolver: ContentResolver @Mock private lateinit var mockThreadAssert: ThreadAssert private lateinit var fakeDefaultProvider: FakeClockPlugin private lateinit var pluginListener: PluginListener<ClockProviderPlugin> private lateinit var registry: ClockRegistry Loading Loading @@ -163,14 +165,12 @@ class ClockRegistryTest : SysuiTestCase() { defaultClockProvider = fakeDefaultProvider, keepAllLoaded = false, subTag = "Test", assert = mockThreadAssert, ) { override fun querySettings() { } override fun applySettings(value: ClockSettings?) { settings = value } // Unit Test does not validate threading override fun assertMainThread() {} override fun assertNotMainThread() {} } registry.registerListeners() Loading