diff options
author | 2024-02-05 21:59:57 +0000 | |
---|---|---|
committer | 2024-02-05 21:59:57 +0000 | |
commit | 4052d679a6ab644201737458d051fbff612c4870 (patch) | |
tree | a5730f40fefbc80e42392b3a93b84d267d4a4043 | |
parent | 3220a74245c5e1c5bc1653e795faae9b3eda0675 (diff) | |
parent | 3714a521e1942d58e8e8322ce86b662e9a3999d9 (diff) |
Merge "[ECM] Make AtomicInteger static" into main
-rw-r--r-- | framework-s/java/android/app/ecm/EnhancedConfirmationManager.java | 5 | ||||
-rw-r--r-- | tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt | 14 |
2 files changed, 16 insertions, 3 deletions
diff --git a/framework-s/java/android/app/ecm/EnhancedConfirmationManager.java b/framework-s/java/android/app/ecm/EnhancedConfirmationManager.java index d80e18f2f..86aa222c6 100644 --- a/framework-s/java/android/app/ecm/EnhancedConfirmationManager.java +++ b/framework-s/java/android/app/ecm/EnhancedConfirmationManager.java @@ -229,7 +229,7 @@ public final class EnhancedConfirmationManager { private final @NonNull IEnhancedConfirmationManager mService; - private final @NonNull AtomicInteger mNextRequestCode; + private static final AtomicInteger sNextRequestCode = new AtomicInteger(1); /** * @hide @@ -239,7 +239,6 @@ public final class EnhancedConfirmationManager { mContext = context; mPackageManager = context.getPackageManager(); mService = service; - mNextRequestCode = new AtomicInteger(1); } /** @@ -349,7 +348,7 @@ public final class EnhancedConfirmationManager { Intent intent = new Intent(Settings.ACTION_SHOW_RESTRICTED_SETTING_DIALOG); intent.putExtra(Intent.EXTRA_PACKAGE_NAME, packageName); intent.putExtra(Intent.EXTRA_UID, getPackageUid(packageName)); - return PendingIntent.getActivity(mContext, mNextRequestCode.getAndIncrement(), + return PendingIntent.getActivity(mContext, sNextRequestCode.getAndIncrement(), intent, PendingIntent.FLAG_IMMUTABLE); } diff --git a/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt index 83f53b252..42017a51e 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt @@ -32,6 +32,7 @@ import androidx.test.platform.app.InstrumentationRegistry import com.android.compatibility.common.util.SystemUtil.eventually import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity import org.junit.Assert.assertFalse +import org.junit.Assert.assertNotEquals import org.junit.Assert.assertTrue import org.junit.Rule import org.junit.Test @@ -119,6 +120,19 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() { } } + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun getRestrictedSettingDialogIntentReturnsUniqueObjects() { + installPackageWithInstallSourceAndMetadataFromDownloadedFile(apkName) + + val pendingIntent1 = + ecm.getRestrictedSettingDialogIntent(APP_PACKAGE_NAME, PROTECTED_SETTING) + val pendingIntent2 = + ecm.getRestrictedSettingDialogIntent(APP_PACKAGE_NAME, PROTECTED_SETTING) + + assertNotEquals(pendingIntent1, pendingIntent2) + } + companion object { private const val NON_PROTECTED_SETTING = "example_setting_which_is_not_protected" private const val PROTECTED_SETTING = "android:bind_accessibility_service" |