summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jay Sullivan <jaysullivan@google.com> 2024-02-05 21:59:57 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-02-05 21:59:57 +0000
commit4052d679a6ab644201737458d051fbff612c4870 (patch)
treea5730f40fefbc80e42392b3a93b84d267d4a4043
parent3220a74245c5e1c5bc1653e795faae9b3eda0675 (diff)
parent3714a521e1942d58e8e8322ce86b662e9a3999d9 (diff)
Merge "[ECM] Make AtomicInteger static" into main
-rw-r--r--framework-s/java/android/app/ecm/EnhancedConfirmationManager.java5
-rw-r--r--tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt14
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"