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

Commit 735fe405 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add hidden ATM method to use in TaskFragmentOrganizer" into sc-v2-dev...

Merge "Add hidden ATM method to use in TaskFragmentOrganizer" into sc-v2-dev am: 74ab64c0 am: f9170863

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

Change-Id: I231cb2f078e47cc79ac29ddddc77a045b374acec
parents 9cc5934f f9170863
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@


package android.app;
package android.app;


import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.ComponentName;
import android.content.Intent;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Configuration;
@@ -205,6 +206,18 @@ public class ActivityClient {
        }
        }
    }
    }


    /**
     * Returns the activity token below in the same task if it belongs to the same process.
     */
    @Nullable
    public IBinder getActivityTokenBelow(IBinder activityToken) {
        try {
            return getActivityClientController().getActivityTokenBelow(activityToken);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    ComponentName getCallingActivity(IBinder token) {
    ComponentName getCallingActivity(IBinder token) {
        try {
        try {
            return getActivityClientController().getCallingActivity(token);
            return getActivityClientController().getCallingActivity(token);
+1 −0
Original line number Original line Diff line number Diff line
@@ -70,6 +70,7 @@ interface IActivityClientController {
    boolean willActivityBeVisible(in IBinder token);
    boolean willActivityBeVisible(in IBinder token);
    int getDisplayId(in IBinder activityToken);
    int getDisplayId(in IBinder activityToken);
    int getTaskForActivity(in IBinder token, in boolean onlyRoot);
    int getTaskForActivity(in IBinder token, in boolean onlyRoot);
    IBinder getActivityTokenBelow(IBinder token);
    ComponentName getCallingActivity(in IBinder token);
    ComponentName getCallingActivity(in IBinder token);
    String getCallingPackage(in IBinder token);
    String getCallingPackage(in IBinder token);
    int getLaunchedFromUid(in IBinder token);
    int getLaunchedFromUid(in IBinder token);
+22 −0
Original line number Original line Diff line number Diff line
@@ -42,6 +42,7 @@ import static com.android.server.wm.ActivityTaskManagerService.TAG_SWITCH;
import static com.android.server.wm.ActivityTaskManagerService.enforceNotIsolatedCaller;
import static com.android.server.wm.ActivityTaskManagerService.enforceNotIsolatedCaller;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.Activity;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager;
import android.app.ActivityTaskManager;
import android.app.ActivityTaskManager;
@@ -538,6 +539,27 @@ class ActivityClientController extends IActivityClientController.Stub {
        }
        }
    }
    }


    @Override
    @Nullable
    public IBinder getActivityTokenBelow(IBinder activityToken) {
        final long ident = Binder.clearCallingIdentity();
        try {
            synchronized (mGlobalLock) {
                final ActivityRecord ar = ActivityRecord.isInAnyTask(activityToken);
                if (ar == null) {
                    return null;
                }
                final ActivityRecord below = ar.getTask().getActivityBelow(ar);
                if (below != null && below.getUid() == ar.getUid()) {
                    return below.appToken.asBinder();
                }
            }
        } finally {
            Binder.restoreCallingIdentity(ident);
        }
        return null;
    }

    @Override
    @Override
    public ComponentName getCallingActivity(IBinder token) {
    public ComponentName getCallingActivity(IBinder token) {
        synchronized (mGlobalLock) {
        synchronized (mGlobalLock) {
+6 −0
Original line number Original line Diff line number Diff line
@@ -6276,6 +6276,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        return null;
        return null;
    }
    }


    @Nullable
    static ActivityRecord isInAnyTask(IBinder token) {
        final ActivityRecord r = ActivityRecord.forTokenLocked(token);
        return (r != null && r.isAttached()) ? r : null;
    }

    /**
    /**
     * @return display id to which this record is attached,
     * @return display id to which this record is attached,
     *         {@link android.view.Display#INVALID_DISPLAY} if not attached.
     *         {@link android.view.Display#INVALID_DISPLAY} if not attached.
+1 −1
Original line number Original line Diff line number Diff line
@@ -872,7 +872,7 @@ class ActivityStarter {
        ActivityRecord sourceRecord = null;
        ActivityRecord sourceRecord = null;
        ActivityRecord resultRecord = null;
        ActivityRecord resultRecord = null;
        if (resultTo != null) {
        if (resultTo != null) {
            sourceRecord = mRootWindowContainer.isInAnyTask(resultTo);
            sourceRecord = ActivityRecord.isInAnyTask(resultTo);
            if (DEBUG_RESULTS) {
            if (DEBUG_RESULTS) {
                Slog.v(TAG_RESULTS, "Will send result to " + resultTo + " " + sourceRecord);
                Slog.v(TAG_RESULTS, "Will send result to " + resultTo + " " + sourceRecord);
            }
            }
Loading