Loading packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingControllerImpl.kt +5 −10 Original line number Diff line number Diff line Loading @@ -88,6 +88,8 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( init { serviceListing.addCallback(serviceListingCallback) serviceListing.setListening(true) serviceListing.reload() } override fun changeUser(newUser: UserHandle) { Loading @@ -95,11 +97,12 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( callbacks.clear() availableServices = emptyList() serviceListing.setListening(false) serviceListing.removeCallback(serviceListingCallback) currentUserId = newUser.identifier val contextForUser = context.createContextAsUser(newUser, 0) serviceListing = serviceListingBuilder(contextForUser) serviceListing.addCallback(serviceListingCallback) serviceListing.setListening(true) serviceListing.reload() } } Loading @@ -118,14 +121,9 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( backgroundExecutor.execute { Log.d(TAG, "Subscribing callback") callbacks.add(listener) if (callbacks.size == 1) { serviceListing.setListening(true) serviceListing.reload() } else { listener.onServicesUpdated(getCurrentServices()) } } } /** * Removes a callback from this controller. Loading @@ -136,9 +134,6 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( backgroundExecutor.execute { Log.d(TAG, "Unsubscribing callback") callbacks.remove(listener) if (callbacks.size == 0) { serviceListing.setListening(false) } } } Loading packages/SystemUI/tests/src/com/android/systemui/controls/management/ControlsListingControllerImplTest.kt +11 −61 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.time.FakeSystemClock import org.junit.After import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith Loading @@ -38,6 +37,7 @@ import org.mockito.ArgumentCaptor import org.mockito.Mock import org.mockito.Mockito import org.mockito.Mockito.`when` import org.mockito.Mockito.inOrder import org.mockito.Mockito.never import org.mockito.Mockito.reset import org.mockito.Mockito.verify Loading Loading @@ -98,74 +98,18 @@ class ControlsListingControllerImplTest : SysuiTestCase() { } @Test fun testStartsOnUser() { assertEquals(user, controller.currentUserId) } @Test fun testNoServices_notListening() { assertTrue(controller.getCurrentServices().isEmpty()) } @Test fun testStartListening_onFirstCallback() { controller.addCallback(mockCallback) executor.runAllReady() verify(mockSL).setListening(true) } @Test fun testStartListening_onlyOnce() { controller.addCallback(mockCallback) controller.addCallback(mockCallbackOther) executor.runAllReady() fun testInitialStateListening() { verify(mockSL).setListening(true) verify(mockSL).reload() } @Test fun testStopListening_callbackRemoved() { controller.addCallback(mockCallback) executor.runAllReady() controller.removeCallback(mockCallback) executor.runAllReady() verify(mockSL).setListening(false) } @Test fun testStopListening_notWhileRemainingCallbacks() { controller.addCallback(mockCallback) controller.addCallback(mockCallbackOther) executor.runAllReady() controller.removeCallback(mockCallback) executor.runAllReady() verify(mockSL, never()).setListening(false) } @Test fun testReloadOnFirstCallbackAdded() { controller.addCallback(mockCallback) executor.runAllReady() verify(mockSL).reload() fun testStartsOnUser() { assertEquals(user, controller.currentUserId) } @Test fun testCallbackCalledWhenAdded() { `when`(mockSL.reload()).then { serviceListingCallbackCaptor.value.onServicesReloaded(emptyList()) } controller.addCallback(mockCallback) executor.runAllReady() verify(mockCallback).onServicesUpdated(any()) Loading Loading @@ -209,5 +153,11 @@ class ControlsListingControllerImplTest : SysuiTestCase() { controller.changeUser(UserHandle.of(otherUser)) executor.runAllReady() assertEquals(otherUser, controller.currentUserId) val inOrder = inOrder(mockSL) inOrder.verify(mockSL).setListening(false) inOrder.verify(mockSL).addCallback(any()) // We add a callback because we replaced the SL inOrder.verify(mockSL).setListening(true) inOrder.verify(mockSL).reload() } } No newline at end of file Loading
packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingControllerImpl.kt +5 −10 Original line number Diff line number Diff line Loading @@ -88,6 +88,8 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( init { serviceListing.addCallback(serviceListingCallback) serviceListing.setListening(true) serviceListing.reload() } override fun changeUser(newUser: UserHandle) { Loading @@ -95,11 +97,12 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( callbacks.clear() availableServices = emptyList() serviceListing.setListening(false) serviceListing.removeCallback(serviceListingCallback) currentUserId = newUser.identifier val contextForUser = context.createContextAsUser(newUser, 0) serviceListing = serviceListingBuilder(contextForUser) serviceListing.addCallback(serviceListingCallback) serviceListing.setListening(true) serviceListing.reload() } } Loading @@ -118,14 +121,9 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( backgroundExecutor.execute { Log.d(TAG, "Subscribing callback") callbacks.add(listener) if (callbacks.size == 1) { serviceListing.setListening(true) serviceListing.reload() } else { listener.onServicesUpdated(getCurrentServices()) } } } /** * Removes a callback from this controller. Loading @@ -136,9 +134,6 @@ class ControlsListingControllerImpl @VisibleForTesting constructor( backgroundExecutor.execute { Log.d(TAG, "Unsubscribing callback") callbacks.remove(listener) if (callbacks.size == 0) { serviceListing.setListening(false) } } } Loading
packages/SystemUI/tests/src/com/android/systemui/controls/management/ControlsListingControllerImplTest.kt +11 −61 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.time.FakeSystemClock import org.junit.After import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith Loading @@ -38,6 +37,7 @@ import org.mockito.ArgumentCaptor import org.mockito.Mock import org.mockito.Mockito import org.mockito.Mockito.`when` import org.mockito.Mockito.inOrder import org.mockito.Mockito.never import org.mockito.Mockito.reset import org.mockito.Mockito.verify Loading Loading @@ -98,74 +98,18 @@ class ControlsListingControllerImplTest : SysuiTestCase() { } @Test fun testStartsOnUser() { assertEquals(user, controller.currentUserId) } @Test fun testNoServices_notListening() { assertTrue(controller.getCurrentServices().isEmpty()) } @Test fun testStartListening_onFirstCallback() { controller.addCallback(mockCallback) executor.runAllReady() verify(mockSL).setListening(true) } @Test fun testStartListening_onlyOnce() { controller.addCallback(mockCallback) controller.addCallback(mockCallbackOther) executor.runAllReady() fun testInitialStateListening() { verify(mockSL).setListening(true) verify(mockSL).reload() } @Test fun testStopListening_callbackRemoved() { controller.addCallback(mockCallback) executor.runAllReady() controller.removeCallback(mockCallback) executor.runAllReady() verify(mockSL).setListening(false) } @Test fun testStopListening_notWhileRemainingCallbacks() { controller.addCallback(mockCallback) controller.addCallback(mockCallbackOther) executor.runAllReady() controller.removeCallback(mockCallback) executor.runAllReady() verify(mockSL, never()).setListening(false) } @Test fun testReloadOnFirstCallbackAdded() { controller.addCallback(mockCallback) executor.runAllReady() verify(mockSL).reload() fun testStartsOnUser() { assertEquals(user, controller.currentUserId) } @Test fun testCallbackCalledWhenAdded() { `when`(mockSL.reload()).then { serviceListingCallbackCaptor.value.onServicesReloaded(emptyList()) } controller.addCallback(mockCallback) executor.runAllReady() verify(mockCallback).onServicesUpdated(any()) Loading Loading @@ -209,5 +153,11 @@ class ControlsListingControllerImplTest : SysuiTestCase() { controller.changeUser(UserHandle.of(otherUser)) executor.runAllReady() assertEquals(otherUser, controller.currentUserId) val inOrder = inOrder(mockSL) inOrder.verify(mockSL).setListening(false) inOrder.verify(mockSL).addCallback(any()) // We add a callback because we replaced the SL inOrder.verify(mockSL).setListening(true) inOrder.verify(mockSL).reload() } } No newline at end of file