Loading packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt +4 −7 Original line number Diff line number Diff line Loading @@ -72,8 +72,6 @@ class PrivacyItemController @Inject constructor( private const val ALL_INDICATORS = SystemUiDeviceConfigFlags.PROPERTY_PERMISSIONS_HUB_ENABLED private const val MIC_CAMERA = SystemUiDeviceConfigFlags.PROPERTY_MIC_CAMERA_ENABLED private const val DEFAULT_ALL_INDICATORS = false private const val DEFAULT_MIC_CAMERA = true } @VisibleForTesting Loading @@ -83,12 +81,12 @@ class PrivacyItemController @Inject constructor( fun isAllIndicatorsEnabled(): Boolean { return deviceConfigProxy.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, ALL_INDICATORS, DEFAULT_ALL_INDICATORS) ALL_INDICATORS, false) } private fun isMicCameraEnabled(): Boolean { return deviceConfigProxy.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, MIC_CAMERA, DEFAULT_MIC_CAMERA) MIC_CAMERA, false) } private var currentUserIds = emptyList<Int>() Loading Loading @@ -120,13 +118,12 @@ class PrivacyItemController @Inject constructor( // Running on the ui executor so can iterate on callbacks if (properties.keyset.contains(ALL_INDICATORS)) { allIndicatorsAvailable = properties.getBoolean(ALL_INDICATORS, DEFAULT_ALL_INDICATORS) allIndicatorsAvailable = properties.getBoolean(ALL_INDICATORS, false) callbacks.forEach { it.get()?.onFlagAllChanged(allIndicatorsAvailable) } } if (properties.keyset.contains(MIC_CAMERA)) { micCameraAvailable = properties.getBoolean(MIC_CAMERA, DEFAULT_MIC_CAMERA) micCameraAvailable = properties.getBoolean(MIC_CAMERA, false) callbacks.forEach { it.get()?.onFlagMicCameraChanged(micCameraAvailable) } } internalUiExecutor.updateListeningState() Loading packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerFlagsTest.kt +22 −17 Original line number Diff line number Diff line Loading @@ -96,24 +96,22 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { } @Test fun testNotListeningAllByDefault() { fun testNotListeningByDefault() { assertFalse(privacyItemController.allIndicatorsAvailable) } assertFalse(privacyItemController.micCameraAvailable) @Test fun testMicCameraListeningByDefault() { assertTrue(privacyItemController.micCameraAvailable) verify(appOpsController, never()).addCallback(any(), any()) } @Test fun testMicCameraChanged() { changeMicCamera(false) // default is true changeMicCamera(true) executor.runAllReady() verify(callback).onFlagMicCameraChanged(false) verify(callback).onFlagMicCameraChanged(true) verify(callback, never()).onFlagAllChanged(anyBoolean()) assertFalse(privacyItemController.micCameraAvailable) assertTrue(privacyItemController.micCameraAvailable) assertFalse(privacyItemController.allIndicatorsAvailable) } Loading @@ -126,19 +124,20 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { verify(callback, never()).onFlagMicCameraChanged(anyBoolean()) assertTrue(privacyItemController.allIndicatorsAvailable) assertFalse(privacyItemController.micCameraAvailable) } @Test fun testBothChanged() { changeAll(true) changeMicCamera(false) changeMicCamera(true) executor.runAllReady() verify(callback, atLeastOnce()).onFlagAllChanged(true) verify(callback, atLeastOnce()).onFlagMicCameraChanged(false) verify(callback, atLeastOnce()).onFlagMicCameraChanged(true) assertTrue(privacyItemController.allIndicatorsAvailable) assertFalse(privacyItemController.micCameraAvailable) assertTrue(privacyItemController.micCameraAvailable) } @Test Loading @@ -157,12 +156,19 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { verify(appOpsController).addCallback(eq(PrivacyItemController.OPS), any()) } @Test fun testAll_listening() { changeAll(true) executor.runAllReady() verify(appOpsController).addCallback(eq(PrivacyItemController.OPS), any()) } @Test fun testAllFalse_notListening() { changeAll(true) executor.runAllReady() changeAll(false) changeMicCamera(false) executor.runAllReady() verify(appOpsController).removeCallback(any(), any()) Loading @@ -170,8 +176,8 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { @Test fun testSomeListening_stillListening() { // Mic and camera are true by default changeAll(true) changeMicCamera(true) executor.runAllReady() changeAll(false) executor.runAllReady() Loading @@ -180,8 +186,7 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { } @Test fun testAllDeleted_micCameraFalse_stopListening() { changeMicCamera(false) fun testAllDeleted_stopListening() { changeAll(true) executor.runAllReady() changeAll(null) Loading @@ -191,13 +196,13 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { } @Test fun testMicDeleted_stillListening() { fun testMicDeleted_stopListening() { changeMicCamera(true) executor.runAllReady() changeMicCamera(null) executor.runAllReady() verify(appOpsController, never()).removeCallback(any(), any()) verify(appOpsController).removeCallback(any(), any()) } private fun changeMicCamera(value: Boolean?) = changeProperty(MIC_CAMERA, value) Loading packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerTest.kt +0 −1 Original line number Diff line number Diff line Loading @@ -272,7 +272,6 @@ class PrivacyItemControllerTest : SysuiTestCase() { @Test fun testNotListeningWhenIndicatorsDisabled() { changeAll(false) changeMicCamera(false) privacyItemController.addCallback(callback) executor.runAllReady() verify(appOpsController, never()).addCallback(eq(PrivacyItemController.OPS), Loading Loading
packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt +4 −7 Original line number Diff line number Diff line Loading @@ -72,8 +72,6 @@ class PrivacyItemController @Inject constructor( private const val ALL_INDICATORS = SystemUiDeviceConfigFlags.PROPERTY_PERMISSIONS_HUB_ENABLED private const val MIC_CAMERA = SystemUiDeviceConfigFlags.PROPERTY_MIC_CAMERA_ENABLED private const val DEFAULT_ALL_INDICATORS = false private const val DEFAULT_MIC_CAMERA = true } @VisibleForTesting Loading @@ -83,12 +81,12 @@ class PrivacyItemController @Inject constructor( fun isAllIndicatorsEnabled(): Boolean { return deviceConfigProxy.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, ALL_INDICATORS, DEFAULT_ALL_INDICATORS) ALL_INDICATORS, false) } private fun isMicCameraEnabled(): Boolean { return deviceConfigProxy.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, MIC_CAMERA, DEFAULT_MIC_CAMERA) MIC_CAMERA, false) } private var currentUserIds = emptyList<Int>() Loading Loading @@ -120,13 +118,12 @@ class PrivacyItemController @Inject constructor( // Running on the ui executor so can iterate on callbacks if (properties.keyset.contains(ALL_INDICATORS)) { allIndicatorsAvailable = properties.getBoolean(ALL_INDICATORS, DEFAULT_ALL_INDICATORS) allIndicatorsAvailable = properties.getBoolean(ALL_INDICATORS, false) callbacks.forEach { it.get()?.onFlagAllChanged(allIndicatorsAvailable) } } if (properties.keyset.contains(MIC_CAMERA)) { micCameraAvailable = properties.getBoolean(MIC_CAMERA, DEFAULT_MIC_CAMERA) micCameraAvailable = properties.getBoolean(MIC_CAMERA, false) callbacks.forEach { it.get()?.onFlagMicCameraChanged(micCameraAvailable) } } internalUiExecutor.updateListeningState() Loading
packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerFlagsTest.kt +22 −17 Original line number Diff line number Diff line Loading @@ -96,24 +96,22 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { } @Test fun testNotListeningAllByDefault() { fun testNotListeningByDefault() { assertFalse(privacyItemController.allIndicatorsAvailable) } assertFalse(privacyItemController.micCameraAvailable) @Test fun testMicCameraListeningByDefault() { assertTrue(privacyItemController.micCameraAvailable) verify(appOpsController, never()).addCallback(any(), any()) } @Test fun testMicCameraChanged() { changeMicCamera(false) // default is true changeMicCamera(true) executor.runAllReady() verify(callback).onFlagMicCameraChanged(false) verify(callback).onFlagMicCameraChanged(true) verify(callback, never()).onFlagAllChanged(anyBoolean()) assertFalse(privacyItemController.micCameraAvailable) assertTrue(privacyItemController.micCameraAvailable) assertFalse(privacyItemController.allIndicatorsAvailable) } Loading @@ -126,19 +124,20 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { verify(callback, never()).onFlagMicCameraChanged(anyBoolean()) assertTrue(privacyItemController.allIndicatorsAvailable) assertFalse(privacyItemController.micCameraAvailable) } @Test fun testBothChanged() { changeAll(true) changeMicCamera(false) changeMicCamera(true) executor.runAllReady() verify(callback, atLeastOnce()).onFlagAllChanged(true) verify(callback, atLeastOnce()).onFlagMicCameraChanged(false) verify(callback, atLeastOnce()).onFlagMicCameraChanged(true) assertTrue(privacyItemController.allIndicatorsAvailable) assertFalse(privacyItemController.micCameraAvailable) assertTrue(privacyItemController.micCameraAvailable) } @Test Loading @@ -157,12 +156,19 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { verify(appOpsController).addCallback(eq(PrivacyItemController.OPS), any()) } @Test fun testAll_listening() { changeAll(true) executor.runAllReady() verify(appOpsController).addCallback(eq(PrivacyItemController.OPS), any()) } @Test fun testAllFalse_notListening() { changeAll(true) executor.runAllReady() changeAll(false) changeMicCamera(false) executor.runAllReady() verify(appOpsController).removeCallback(any(), any()) Loading @@ -170,8 +176,8 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { @Test fun testSomeListening_stillListening() { // Mic and camera are true by default changeAll(true) changeMicCamera(true) executor.runAllReady() changeAll(false) executor.runAllReady() Loading @@ -180,8 +186,7 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { } @Test fun testAllDeleted_micCameraFalse_stopListening() { changeMicCamera(false) fun testAllDeleted_stopListening() { changeAll(true) executor.runAllReady() changeAll(null) Loading @@ -191,13 +196,13 @@ class PrivacyItemControllerFlagsTest : SysuiTestCase() { } @Test fun testMicDeleted_stillListening() { fun testMicDeleted_stopListening() { changeMicCamera(true) executor.runAllReady() changeMicCamera(null) executor.runAllReady() verify(appOpsController, never()).removeCallback(any(), any()) verify(appOpsController).removeCallback(any(), any()) } private fun changeMicCamera(value: Boolean?) = changeProperty(MIC_CAMERA, value) Loading
packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerTest.kt +0 −1 Original line number Diff line number Diff line Loading @@ -272,7 +272,6 @@ class PrivacyItemControllerTest : SysuiTestCase() { @Test fun testNotListeningWhenIndicatorsDisabled() { changeAll(false) changeMicCamera(false) privacyItemController.addCallback(callback) executor.runAllReady() verify(appOpsController, never()).addCallback(eq(PrivacyItemController.OPS), Loading