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

Commit bfaf0e24 authored by Sudheer Shanka's avatar Sudheer Shanka Committed by Automerger Merge Worker
Browse files

Merge "Pass in the correct binder token when calling AMS.finishReceiver()."...

Merge "Pass in the correct binder token when calling AMS.finishReceiver()." into udc-dev am: 0ffb527e am: 900f1234

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22734030



Change-Id: I786fcdff0f68af2de82cadf631d0bcfdc582f8e6
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 4ffe3c75 900f1234
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -1672,10 +1672,13 @@ public final class LoadedApk {
    static final class ReceiverDispatcher {
    static final class ReceiverDispatcher {


        final static class InnerReceiver extends IIntentReceiver.Stub {
        final static class InnerReceiver extends IIntentReceiver.Stub {
            final IApplicationThread mApplicationThread;
            final WeakReference<LoadedApk.ReceiverDispatcher> mDispatcher;
            final WeakReference<LoadedApk.ReceiverDispatcher> mDispatcher;
            final LoadedApk.ReceiverDispatcher mStrongRef;
            final LoadedApk.ReceiverDispatcher mStrongRef;


            InnerReceiver(LoadedApk.ReceiverDispatcher rd, boolean strong) {
            InnerReceiver(IApplicationThread thread, LoadedApk.ReceiverDispatcher rd,
                    boolean strong) {
                mApplicationThread = thread;
                mDispatcher = new WeakReference<LoadedApk.ReceiverDispatcher>(rd);
                mDispatcher = new WeakReference<LoadedApk.ReceiverDispatcher>(rd);
                mStrongRef = strong ? rd : null;
                mStrongRef = strong ? rd : null;
            }
            }
@@ -1722,7 +1725,8 @@ public final class LoadedApk {
                        if (extras != null) {
                        if (extras != null) {
                            extras.setAllowFds(false);
                            extras.setAllowFds(false);
                        }
                        }
                        mgr.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
                        mgr.finishReceiver(mApplicationThread.asBinder(), resultCode, data,
                                extras, false, intent.getFlags());
                    } catch (RemoteException e) {
                    } catch (RemoteException e) {
                        throw e.rethrowFromSystemServer();
                        throw e.rethrowFromSystemServer();
                    }
                    }
@@ -1829,7 +1833,7 @@ public final class LoadedApk {
            }
            }


            mAppThread = appThread;
            mAppThread = appThread;
            mIIntentReceiver = new InnerReceiver(this, !registered);
            mIIntentReceiver = new InnerReceiver(mAppThread, this, !registered);
            mReceiver = receiver;
            mReceiver = receiver;
            mContext = context;
            mContext = context;
            mActivityThread = activityThread;
            mActivityThread = activityThread;