diff options
| author | 2024-10-21 18:52:09 +0000 | |
|---|---|---|
| committer | 2024-10-21 18:52:09 +0000 | |
| commit | 6b3beba5ed2e0a47ee45359af6f99e2360f21d70 (patch) | |
| tree | 6e602d9df62663c7aadcde628fd9962e94d649ea | |
| parent | ce91b479d78f95504c30fe0c3828cbc01e5c4024 (diff) | |
| parent | 185048041e6f9d43c38829c09965e7a4740d2a6a (diff) | |
Merge "Update checkKeyIntent" into sc-dev
| -rw-r--r-- | services/core/java/com/android/server/accounts/AccountManagerService.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index 36ffc40bf5f7..5f434ee267d4 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -4916,6 +4916,8 @@ public class AccountManagerService Log.e(TAG, String.format(tmpl, activityName, pkgName, mAccountType)); return false; } + intent.setComponent(targetActivityInfo.getComponentName()); + bundle.putParcelable(AccountManager.KEY_INTENT, intent); return true; } finally { Binder.restoreCallingIdentity(bid); @@ -4937,13 +4939,14 @@ public class AccountManagerService Bundle simulateBundle = p.readBundle(); p.recycle(); Intent intent = bundle.getParcelable(AccountManager.KEY_INTENT); - if (intent != null && intent.getClass() != Intent.class) { - return false; - } Intent simulateIntent = simulateBundle.getParcelable(AccountManager.KEY_INTENT); if (intent == null) { return (simulateIntent == null); } + if (intent.getClass() != Intent.class || simulateIntent.getClass() != Intent.class) { + return false; + } + if (!intent.filterEquals(simulateIntent)) { return false; } |