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

Commit 96ada57b authored by Craig Mautner's avatar Craig Mautner Committed by Android (Google) Code Review
Browse files

Merge "Allow for the possibility of null ActivityContainer" into klp-modular-dev

parents 0bb2a4de bd503a4e
Loading
Loading
Loading
Loading
+26 −6
Original line number Diff line number Diff line
@@ -2027,7 +2027,12 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
            IActivityContainer activityContainer =
                    createActivityContainer(parentActivityToken, callback);
            reply.writeNoException();
            if (activityContainer != null) {
                reply.writeInt(1);
                reply.writeStrongBinder(activityContainer.asBinder());
            } else {
                reply.writeInt(0);
            }
            return true;
        }

@@ -2036,7 +2041,12 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
            IBinder activityToken = data.readStrongBinder();
            IActivityContainer activityContainer = getEnclosingActivityContainer(activityToken);
            reply.writeNoException();
            if (activityContainer != null) {
                reply.writeInt(1);
                reply.writeStrongBinder(activityContainer.asBinder());
            } else {
                reply.writeInt(0);
            }
            return true;
        }

@@ -4670,8 +4680,13 @@ class ActivityManagerProxy implements IActivityManager
        data.writeStrongBinder((IBinder)callback);
        mRemote.transact(CREATE_ACTIVITY_CONTAINER_TRANSACTION, data, reply, 0);
        reply.readException();
        IActivityContainer res =
                IActivityContainer.Stub.asInterface(reply.readStrongBinder());
        final int result = reply.readInt();
        final IActivityContainer res;
        if (result == 1) {
            res = IActivityContainer.Stub.asInterface(reply.readStrongBinder());
        } else {
            res = null;
        }
        data.recycle();
        reply.recycle();
        return res;
@@ -4685,8 +4700,13 @@ class ActivityManagerProxy implements IActivityManager
        data.writeStrongBinder(activityToken);
        mRemote.transact(GET_ACTIVITY_CONTAINER_TRANSACTION, data, reply, 0);
        reply.readException();
        IActivityContainer res =
                IActivityContainer.Stub.asInterface(reply.readStrongBinder());
        final int result = reply.readInt();
        final IActivityContainer res;
        if (result == 1) {
            res = IActivityContainer.Stub.asInterface(reply.readStrongBinder());
        } else {
            res = null;
        }
        data.recycle();
        reply.recycle();
        return res;
+2 −1
Original line number Diff line number Diff line
@@ -2225,7 +2225,8 @@ public final class ActivityThread {
        try {
            IActivityContainer container =
                    ActivityManagerNative.getDefault().getEnclosingActivityContainer(r.token);
            final int displayId = container.getDisplayId();
            final int displayId =
                    container == null ? Display.DEFAULT_DISPLAY : container.getDisplayId();
            if (displayId > Display.DEFAULT_DISPLAY) {
                Display display = dm.getRealDisplay(displayId, r.token);
                baseContext = appContext.createDisplayContext(display);