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

Commit 985bdc67 authored by Dmitry Dementyev's avatar Dmitry Dementyev Committed by Android Build Coastguard Worker
Browse files

Update checkKeyIntent

1) Explicityly set  component after target activity check.
2) Update Intent subclass check.

Bug: 360846772
Test: manual
Flag: EXEMPT bugfix
(cherry picked from commit cde345a7)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:58f3d5b2226cc9c6dc9fcca1427eb6574dcc0eb8)
Merged-In: Ied7961c73299681aa5b523cf3f00fd905893116f
Change-Id: Ied7961c73299681aa5b523cf3f00fd905893116f
parent 43240adb
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -4978,6 +4978,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);
@@ -4999,14 +5001,15 @@ public class AccountManagerService
            Bundle simulateBundle = p.readBundle();
            p.recycle();
            Intent intent = bundle.getParcelable(AccountManager.KEY_INTENT, Intent.class);
            if (intent != null && intent.getClass() != Intent.class) {
                return false;
            }
            Intent simulateIntent = simulateBundle.getParcelable(AccountManager.KEY_INTENT,
                    Intent.class);
            if (intent == null) {
                return (simulateIntent == null);
            }
            if (intent.getClass() != Intent.class || simulateIntent.getClass() != Intent.class) {
                return false;
            }

            if (!intent.filterEquals(simulateIntent)) {
                return false;
            }