Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85851c6a authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Improve log of paused items in PrivacyItemController

Also, do not show dialog if there are no elements to show.

Test: atest PrivacyDialogControllerTest
Bug: 186033456
Change-Id: Ia860c63f2bb46beb80ca86cf9260ffeaafedb32d
parent 0ce27fdf
Loading
Loading
Loading
Loading
+10 −6
Original line number Original line Diff line number Diff line
@@ -179,12 +179,16 @@ class PrivacyDialogController(
            }
            }
            uiExecutor.execute {
            uiExecutor.execute {
                val elements = filterAndSelect(items)
                val elements = filterAndSelect(items)
                if (elements.isNotEmpty()) {
                    val d = dialogProvider.makeDialog(context, elements, this::startActivity)
                    val d = dialogProvider.makeDialog(context, elements, this::startActivity)
                    d.setShowForAllUsers(true)
                    d.setShowForAllUsers(true)
                    d.addOnDismissListener(onDialogDismissed)
                    d.addOnDismissListener(onDialogDismissed)
                    d.show()
                    d.show()
                    privacyLogger.logShowDialogContents(elements)
                    privacyLogger.logShowDialogContents(elements)
                    dialog = d
                    dialog = d
                } else {
                    Log.w(TAG, "Trying to show empty dialog")
                }
            }
            }
        }
        }
    }
    }
+1 −1
Original line number Original line Diff line number Diff line
@@ -58,7 +58,7 @@ data class PrivacyItem(
    val paused: Boolean = false
    val paused: Boolean = false
) {
) {
    val log = "(${privacyType.logName}, ${application.packageName}(${application.uid}), " +
    val log = "(${privacyType.logName}, ${application.packageName}(${application.uid}), " +
            "$timeStampElapsed)"
            "$timeStampElapsed, paused=$paused)"
}
}


data class PrivacyApplication(val packageName: String, val uid: Int)
data class PrivacyApplication(val packageName: String, val uid: Int)
+6 −0
Original line number Original line Diff line number Diff line
@@ -116,6 +116,12 @@ class PrivacyLogger @Inject constructor(
        })
        })
    }
    }


    fun logEmptyDialog() {
        log(LogLevel.WARNING, {}, {
            "Trying to show an empty dialog"
        })
    }

    fun logPrivacyDialogDismissed() {
    fun logPrivacyDialogDismissed() {
        log(LogLevel.INFO, {}, {
        log(LogLevel.INFO, {}, {
            "Privacy dialog dismissed"
            "Privacy dialog dismissed"
+27 −2
Original line number Original line Diff line number Diff line
@@ -179,14 +179,27 @@ class PrivacyDialogControllerTest : SysuiTestCase() {


    @Test
    @Test
    fun testShowDialogShowsDialog() {
    fun testShowDialogShowsDialog() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))

        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


        verify(dialog).show()
        verify(dialog).show()
    }
    }


    @Test
    fun testDontShowEmptyDialog() {
        controller.showDialog(context)
        exhaustExecutors()

        verify(dialog, never()).show()
    }

    @Test
    @Test
    fun testHideDialogDismissesDialogIfShown() {
    fun testHideDialogDismissesDialogIfShown() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


@@ -202,6 +215,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() {


    @Test
    @Test
    fun testHideDialogNoopAfterDismissed() {
    fun testHideDialogNoopAfterDismissed() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


@@ -214,6 +229,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() {


    @Test
    @Test
    fun testShowForAllUsers() {
    fun testShowForAllUsers() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))
        controller.showDialog(context)
        controller.showDialog(context)


        exhaustExecutors()
        exhaustExecutors()
@@ -439,7 +456,7 @@ class PrivacyDialogControllerTest : SysuiTestCase() {
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


        assertThat(dialogProvider.list).isEmpty()
        verify(dialog, never()).show()
    }
    }


    @Test
    @Test
@@ -467,11 +484,13 @@ class PrivacyDialogControllerTest : SysuiTestCase() {
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


        assertThat(dialogProvider.list).isEmpty()
        verify(dialog, never()).show()
    }
    }


    @Test
    @Test
    fun testStartActivityCorrectIntent() {
    fun testStartActivityCorrectIntent() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


@@ -488,6 +507,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() {


    @Test
    @Test
    fun testStartActivityCorrectIntent_enterpriseUser() {
    fun testStartActivityCorrectIntent_enterpriseUser() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


@@ -501,6 +522,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() {


    @Test
    @Test
    fun testStartActivitySuccess() {
    fun testStartActivitySuccess() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()


@@ -514,6 +537,8 @@ class PrivacyDialogControllerTest : SysuiTestCase() {


    @Test
    @Test
    fun testStartActivityFailure() {
    fun testStartActivityFailure() {
        val usage = createMockPermGroupUsage()
        `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage))
        controller.showDialog(context)
        controller.showDialog(context)
        exhaustExecutors()
        exhaustExecutors()