Loading packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogController.kt +10 −6 Original line number Diff line number Diff line Loading @@ -179,12 +179,16 @@ class PrivacyDialogController( } uiExecutor.execute { val elements = filterAndSelect(items) if (elements.isNotEmpty()) { val d = dialogProvider.makeDialog(context, elements, this::startActivity) d.setShowForAllUsers(true) d.addOnDismissListener(onDialogDismissed) d.show() privacyLogger.logShowDialogContents(elements) dialog = d } else { Log.w(TAG, "Trying to show empty dialog") } } } } Loading packages/SystemUI/src/com/android/systemui/privacy/PrivacyItem.kt +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ data class PrivacyItem( val paused: Boolean = false ) { val log = "(${privacyType.logName}, ${application.packageName}(${application.uid}), " + "$timeStampElapsed)" "$timeStampElapsed, paused=$paused)" } data class PrivacyApplication(val packageName: String, val uid: Int) packages/SystemUI/src/com/android/systemui/privacy/logging/PrivacyLogger.kt +6 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,12 @@ class PrivacyLogger @Inject constructor( }) } fun logEmptyDialog() { log(LogLevel.WARNING, {}, { "Trying to show an empty dialog" }) } fun logPrivacyDialogDismissed() { log(LogLevel.INFO, {}, { "Privacy dialog dismissed" Loading packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogControllerTest.kt +27 −2 Original line number Diff line number Diff line Loading @@ -179,14 +179,27 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testShowDialogShowsDialog() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() verify(dialog).show() } @Test fun testDontShowEmptyDialog() { controller.showDialog(context) exhaustExecutors() verify(dialog, never()).show() } @Test fun testHideDialogDismissesDialogIfShown() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -202,6 +215,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testHideDialogNoopAfterDismissed() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -214,6 +229,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testShowForAllUsers() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading Loading @@ -439,7 +456,7 @@ class PrivacyDialogControllerTest : SysuiTestCase() { controller.showDialog(context) exhaustExecutors() assertThat(dialogProvider.list).isEmpty() verify(dialog, never()).show() } @Test Loading Loading @@ -467,11 +484,13 @@ class PrivacyDialogControllerTest : SysuiTestCase() { controller.showDialog(context) exhaustExecutors() assertThat(dialogProvider.list).isEmpty() verify(dialog, never()).show() } @Test fun testStartActivityCorrectIntent() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -488,6 +507,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testStartActivityCorrectIntent_enterpriseUser() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -501,6 +522,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testStartActivitySuccess() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -514,6 +537,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testStartActivityFailure() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading Loading
packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogController.kt +10 −6 Original line number Diff line number Diff line Loading @@ -179,12 +179,16 @@ class PrivacyDialogController( } uiExecutor.execute { val elements = filterAndSelect(items) if (elements.isNotEmpty()) { val d = dialogProvider.makeDialog(context, elements, this::startActivity) d.setShowForAllUsers(true) d.addOnDismissListener(onDialogDismissed) d.show() privacyLogger.logShowDialogContents(elements) dialog = d } else { Log.w(TAG, "Trying to show empty dialog") } } } } Loading
packages/SystemUI/src/com/android/systemui/privacy/PrivacyItem.kt +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ data class PrivacyItem( val paused: Boolean = false ) { val log = "(${privacyType.logName}, ${application.packageName}(${application.uid}), " + "$timeStampElapsed)" "$timeStampElapsed, paused=$paused)" } data class PrivacyApplication(val packageName: String, val uid: Int)
packages/SystemUI/src/com/android/systemui/privacy/logging/PrivacyLogger.kt +6 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,12 @@ class PrivacyLogger @Inject constructor( }) } fun logEmptyDialog() { log(LogLevel.WARNING, {}, { "Trying to show an empty dialog" }) } fun logPrivacyDialogDismissed() { log(LogLevel.INFO, {}, { "Privacy dialog dismissed" Loading
packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogControllerTest.kt +27 −2 Original line number Diff line number Diff line Loading @@ -179,14 +179,27 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testShowDialogShowsDialog() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() verify(dialog).show() } @Test fun testDontShowEmptyDialog() { controller.showDialog(context) exhaustExecutors() verify(dialog, never()).show() } @Test fun testHideDialogDismissesDialogIfShown() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -202,6 +215,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testHideDialogNoopAfterDismissed() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -214,6 +229,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testShowForAllUsers() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading Loading @@ -439,7 +456,7 @@ class PrivacyDialogControllerTest : SysuiTestCase() { controller.showDialog(context) exhaustExecutors() assertThat(dialogProvider.list).isEmpty() verify(dialog, never()).show() } @Test Loading Loading @@ -467,11 +484,13 @@ class PrivacyDialogControllerTest : SysuiTestCase() { controller.showDialog(context) exhaustExecutors() assertThat(dialogProvider.list).isEmpty() verify(dialog, never()).show() } @Test fun testStartActivityCorrectIntent() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -488,6 +507,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testStartActivityCorrectIntent_enterpriseUser() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -501,6 +522,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testStartActivitySuccess() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading @@ -514,6 +537,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() { @Test fun testStartActivityFailure() { val usage = createMockPermGroupUsage() `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) controller.showDialog(context) exhaustExecutors() Loading