Loading packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogController.kt +6 −2 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ class PrivacyDialogController( val items = usage.mapNotNull { val type = filterType(permGroupToPrivacyType(it.permGroupName)) val userInfo = userInfos.firstOrNull { ui -> ui.id == UserHandle.getUserId(it.uid) } userInfo?.let { ui -> if (userInfo != null || it.isPhoneCall) { type?.let { t -> // Only try to get the app name if we actually need it val appName = if (it.isPhoneCall) { Loading @@ -171,10 +171,14 @@ class PrivacyDialogController( it.attribution, it.lastAccess, it.isActive, ui.isManagedProfile, // If there's no user info, we're in a phoneCall in secondary user userInfo?.isManagedProfile ?: false, it.isPhoneCall ) } } else { // No matching user or phone call null } } uiExecutor.execute { Loading packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogControllerTest.kt +16 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Intent import android.content.pm.ApplicationInfo import android.content.pm.PackageManager import android.content.pm.UserInfo import android.os.Process.SYSTEM_UID import android.os.UserHandle import android.permission.PermGroupUsage import android.permission.PermissionManager Loading Loading @@ -550,6 +551,21 @@ class PrivacyDialogControllerTest : SysuiTestCase() { verify(dialog, never()).dismiss() } @Test fun testCallOnSecondaryUser() { // Calls happen in val usage = createMockPermGroupUsage(uid = SYSTEM_UID, isPhoneCall = true) `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) `when`(userTracker.userProfiles).thenReturn(listOf( UserInfo(ENT_USER_ID, "", 0) )) controller.showDialog(context) exhaustExecutors() verify(dialog).show() } private fun exhaustExecutors() { FakeExecutor.exhaustExecutors(backgroundExecutor, uiExecutor) } Loading Loading
packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogController.kt +6 −2 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ class PrivacyDialogController( val items = usage.mapNotNull { val type = filterType(permGroupToPrivacyType(it.permGroupName)) val userInfo = userInfos.firstOrNull { ui -> ui.id == UserHandle.getUserId(it.uid) } userInfo?.let { ui -> if (userInfo != null || it.isPhoneCall) { type?.let { t -> // Only try to get the app name if we actually need it val appName = if (it.isPhoneCall) { Loading @@ -171,10 +171,14 @@ class PrivacyDialogController( it.attribution, it.lastAccess, it.isActive, ui.isManagedProfile, // If there's no user info, we're in a phoneCall in secondary user userInfo?.isManagedProfile ?: false, it.isPhoneCall ) } } else { // No matching user or phone call null } } uiExecutor.execute { Loading
packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogControllerTest.kt +16 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Intent import android.content.pm.ApplicationInfo import android.content.pm.PackageManager import android.content.pm.UserInfo import android.os.Process.SYSTEM_UID import android.os.UserHandle import android.permission.PermGroupUsage import android.permission.PermissionManager Loading Loading @@ -550,6 +551,21 @@ class PrivacyDialogControllerTest : SysuiTestCase() { verify(dialog, never()).dismiss() } @Test fun testCallOnSecondaryUser() { // Calls happen in val usage = createMockPermGroupUsage(uid = SYSTEM_UID, isPhoneCall = true) `when`(permissionManager.getIndicatorAppOpUsageData(anyBoolean())).thenReturn(listOf(usage)) `when`(userTracker.userProfiles).thenReturn(listOf( UserInfo(ENT_USER_ID, "", 0) )) controller.showDialog(context) exhaustExecutors() verify(dialog).show() } private fun exhaustExecutors() { FakeExecutor.exhaustExecutors(backgroundExecutor, uiExecutor) } Loading