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

Commit 8bd88f88 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Allow resource override on max number of actions in PiP

Moved the query of max number of pip actions from
ActivityTaskManagerService to ActivityTaskManager.

Note that TaskInfo#pictureInPictureParams is exposed via
TaskInfo#getPictureInPictureParams (annotated as @TestApi).

Bug: 168800594
Test: atest PinnedStackTests#testMaxNumberOfActions \
            PinnedStackTests#testFillMaxAllowedActions \
            PinnedStackTests#testRejectExceededActions
Change-Id: Ibcf2302e3ec87909543a1d6da0b64fd4565a061c
parent bae149c2
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -131,6 +131,7 @@ package android.app {
  public class ActivityTaskManager {
  public class ActivityTaskManager {
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>);
    method public static boolean currentUiModeSupportsErrorDialogs(@NonNull android.content.Context);
    method public static boolean currentUiModeSupportsErrorDialogs(@NonNull android.content.Context);
    method public static int getMaxNumPictureInPictureActions(@NonNull android.content.Context);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void moveTaskToRootTask(int, int, boolean);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void moveTaskToRootTask(int, int, boolean);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean moveTopActivityToPinnedRootTask(int, @NonNull android.graphics.Rect);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean moveTopActivityToPinnedRootTask(int, @NonNull android.graphics.Rect);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void removeRootTasksInWindowingModes(@NonNull int[]);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void removeRootTasksInWindowingModes(@NonNull int[]);
@@ -286,6 +287,7 @@ package android.app {


  public class TaskInfo {
  public class TaskInfo {
    method @NonNull public android.content.res.Configuration getConfiguration();
    method @NonNull public android.content.res.Configuration getConfiguration();
    method @Nullable public android.app.PictureInPictureParams getPictureInPictureParams();
    method @NonNull public android.window.WindowContainerToken getToken();
    method @NonNull public android.window.WindowContainerToken getToken();
  }
  }


+1 −5
Original line number Original line Diff line number Diff line
@@ -2883,11 +2883,7 @@ public class Activity extends ContextThemeWrapper
     * but will always be at least three.
     * but will always be at least three.
     */
     */
    public int getMaxNumPictureInPictureActions() {
    public int getMaxNumPictureInPictureActions() {
        try {
        return ActivityTaskManager.getMaxNumPictureInPictureActions(this);
            return ActivityTaskManager.getService().getMaxNumPictureInPictureActions(mToken);
        } catch (RemoteException e) {
            return 0;
        }
    }
    }


    /**
    /**
+6 −0
Original line number Original line Diff line number Diff line
@@ -437,6 +437,12 @@ public class ActivityTaskManager {
        return currentUiModeSupportsErrorDialogs(config);
        return currentUiModeSupportsErrorDialogs(config);
    }
    }


    /** @return max allowed number of actions in picture-in-picture mode. */
    public static int getMaxNumPictureInPictureActions(@NonNull Context context) {
        return context.getResources().getInteger(
                com.android.internal.R.integer.config_pictureInPictureMaxNumberOfActions);
    }

    /**
    /**
     * Information you can retrieve about a root task in the system.
     * Information you can retrieve about a root task in the system.
     * @hide
     * @hide
+0 −1
Original line number Original line Diff line number Diff line
@@ -303,7 +303,6 @@ interface IActivityTaskManager {
    boolean enterPictureInPictureMode(in IBinder token, in PictureInPictureParams params);
    boolean enterPictureInPictureMode(in IBinder token, in PictureInPictureParams params);
    void setPictureInPictureParams(in IBinder token, in PictureInPictureParams params);
    void setPictureInPictureParams(in IBinder token, in PictureInPictureParams params);
    void requestPictureInPictureMode(in IBinder token);
    void requestPictureInPictureMode(in IBinder token);
    int getMaxNumPictureInPictureActions(in IBinder token);
    IBinder getUriPermissionOwnerForActivity(in IBinder activityToken);
    IBinder getUriPermissionOwnerForActivity(in IBinder activityToken);


    /**
    /**
+7 −0
Original line number Original line Diff line number Diff line
@@ -240,6 +240,13 @@ public class TaskInfo {
        return configuration;
        return configuration;
    }
    }


    /** @hide */
    @Nullable
    @TestApi
    public PictureInPictureParams getPictureInPictureParams() {
        return pictureInPictureParams;
    }

    /** @hide */
    /** @hide */
    public void addLaunchCookie(IBinder cookie) {
    public void addLaunchCookie(IBinder cookie) {
        if (cookie == null || launchCookies.contains(cookie)) return;
        if (cookie == null || launchCookies.contains(cookie)) return;
Loading