Merge "Add shouldDockBigOverlays API" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f6270e22f7
@@ -4276,7 +4276,6 @@ package android.app {
|
||||
method public void setLocusContext(@Nullable android.content.LocusId, @Nullable android.os.Bundle);
|
||||
method public final void setMediaController(android.media.session.MediaController);
|
||||
method public void setPictureInPictureParams(@NonNull android.app.PictureInPictureParams);
|
||||
method public void setPreferDockBigOverlays(boolean);
|
||||
method @Deprecated public final void setProgress(int);
|
||||
method @Deprecated public final void setProgressBarIndeterminate(boolean);
|
||||
method @Deprecated public final void setProgressBarIndeterminateVisibility(boolean);
|
||||
@@ -4286,6 +4285,7 @@ package android.app {
|
||||
method public final void setResult(int);
|
||||
method public final void setResult(int, android.content.Intent);
|
||||
method @Deprecated public final void setSecondaryProgress(int);
|
||||
method public void setShouldDockBigOverlays(boolean);
|
||||
method public void setShowWhenLocked(boolean);
|
||||
method public void setTaskDescription(android.app.ActivityManager.TaskDescription);
|
||||
method public void setTitle(CharSequence);
|
||||
@@ -4296,6 +4296,7 @@ package android.app {
|
||||
method public void setVisible(boolean);
|
||||
method public final void setVolumeControlStream(int);
|
||||
method public void setVrModeEnabled(boolean, @NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
|
||||
method public boolean shouldDockBigOverlays();
|
||||
method public boolean shouldShowRequestPermissionRationale(@NonNull String);
|
||||
method public boolean shouldUpRecreateTask(android.content.Intent);
|
||||
method public boolean showAssist(android.os.Bundle);
|
||||
|
||||
@@ -422,9 +422,9 @@ package android.app {
|
||||
method @NonNull public android.content.res.Configuration getConfiguration();
|
||||
method public int getParentTaskId();
|
||||
method @Nullable public android.app.PictureInPictureParams getPictureInPictureParams();
|
||||
method public boolean getPreferDockBigOverlays();
|
||||
method @NonNull public android.window.WindowContainerToken getToken();
|
||||
method public boolean hasParentTask();
|
||||
method public boolean shouldDockBigOverlays();
|
||||
}
|
||||
|
||||
public class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener android.widget.TimePicker.OnTimeChangedListener {
|
||||
|
||||
@@ -984,6 +984,8 @@ public class Activity extends ContextThemeWrapper
|
||||
private boolean mIsInMultiWindowMode;
|
||||
private boolean mIsInPictureInPictureMode;
|
||||
|
||||
private boolean mShouldDockBigOverlays;
|
||||
|
||||
private UiTranslationController mUiTranslationController;
|
||||
|
||||
private SplashScreen mSplashScreen;
|
||||
@@ -2977,13 +2979,28 @@ public class Activity extends ContextThemeWrapper
|
||||
* <p> If specified, the system will try to respect the preference, but it may be
|
||||
* overridden by a user preference.
|
||||
*
|
||||
* @param preferDockBigOverlays indicates that the activity prefers big overlays to be
|
||||
* docked next to it instead of overlaying its content
|
||||
* @param shouldDockBigOverlays indicates that big overlays should be docked next to the
|
||||
* activity instead of overlay its content
|
||||
*
|
||||
* @see PictureInPictureParams.Builder#setExpandedAspectRatio
|
||||
* @see #shouldDockBigOverlays
|
||||
*/
|
||||
public void setPreferDockBigOverlays(boolean preferDockBigOverlays) {
|
||||
ActivityClient.getInstance().setPreferDockBigOverlays(mToken, preferDockBigOverlays);
|
||||
public void setShouldDockBigOverlays(boolean shouldDockBigOverlays) {
|
||||
ActivityClient.getInstance().setShouldDockBigOverlays(mToken, shouldDockBigOverlays);
|
||||
mShouldDockBigOverlays = shouldDockBigOverlays;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether big overlays should be docked next to the activity as set by
|
||||
* {@link #setShouldDockBigOverlays}.
|
||||
*
|
||||
* @return {@code true} if big overlays should be docked next to the activity instead
|
||||
* of overlay its content
|
||||
*
|
||||
* @see #setShouldDockBigOverlays
|
||||
*/
|
||||
public boolean shouldDockBigOverlays() {
|
||||
return mShouldDockBigOverlays;
|
||||
}
|
||||
|
||||
void dispatchMovedToDisplay(int displayId, Configuration config) {
|
||||
@@ -8248,6 +8265,7 @@ public class Activity extends ContextThemeWrapper
|
||||
.getWindowingMode();
|
||||
mIsInMultiWindowMode = inMultiWindowMode(windowingMode);
|
||||
mIsInPictureInPictureMode = windowingMode == WINDOWING_MODE_PINNED;
|
||||
mShouldDockBigOverlays = getResources().getBoolean(R.bool.config_dockBigOverlayWindows);
|
||||
restoreHasCurrentPermissionRequest(icicle);
|
||||
if (persistentState != null) {
|
||||
onCreate(icicle, persistentState);
|
||||
|
||||
@@ -324,9 +324,9 @@ public class ActivityClient {
|
||||
}
|
||||
}
|
||||
|
||||
void setPreferDockBigOverlays(IBinder token, boolean preferDockBigOverlays) {
|
||||
void setShouldDockBigOverlays(IBinder token, boolean shouldDockBigOverlays) {
|
||||
try {
|
||||
getActivityClientController().setPreferDockBigOverlays(token, preferDockBigOverlays);
|
||||
getActivityClientController().setShouldDockBigOverlays(token, shouldDockBigOverlays);
|
||||
} catch (RemoteException e) {
|
||||
e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ interface IActivityClientController {
|
||||
|
||||
boolean enterPictureInPictureMode(in IBinder token, in PictureInPictureParams params);
|
||||
void setPictureInPictureParams(in IBinder token, in PictureInPictureParams params);
|
||||
oneway void setPreferDockBigOverlays(in IBinder token, in boolean preferDockBigOverlays);
|
||||
oneway void setShouldDockBigOverlays(in IBinder token, in boolean shouldDockBigOverlays);
|
||||
void toggleFreeformWindowingMode(in IBinder token);
|
||||
|
||||
oneway void startLockTaskModeByToken(in IBinder token);
|
||||
|
||||
@@ -188,7 +188,7 @@ public class TaskInfo {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public boolean preferDockBigOverlays;
|
||||
public boolean shouldDockBigOverlays;
|
||||
|
||||
/**
|
||||
* The task id of the host Task of the launch-into-pip Activity, i.e., it points to the Task
|
||||
@@ -392,8 +392,8 @@ public class TaskInfo {
|
||||
|
||||
/** @hide */
|
||||
@TestApi
|
||||
public boolean getPreferDockBigOverlays() {
|
||||
return preferDockBigOverlays;
|
||||
public boolean shouldDockBigOverlays() {
|
||||
return shouldDockBigOverlays;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@@ -465,7 +465,7 @@ public class TaskInfo {
|
||||
&& displayAreaFeatureId == that.displayAreaFeatureId
|
||||
&& Objects.equals(positionInParent, that.positionInParent)
|
||||
&& Objects.equals(pictureInPictureParams, that.pictureInPictureParams)
|
||||
&& Objects.equals(preferDockBigOverlays, that.preferDockBigOverlays)
|
||||
&& Objects.equals(shouldDockBigOverlays, that.shouldDockBigOverlays)
|
||||
&& Objects.equals(displayCutoutInsets, that.displayCutoutInsets)
|
||||
&& getWindowingMode() == that.getWindowingMode()
|
||||
&& Objects.equals(taskDescription, that.taskDescription)
|
||||
@@ -522,7 +522,7 @@ public class TaskInfo {
|
||||
token = WindowContainerToken.CREATOR.createFromParcel(source);
|
||||
topActivityType = source.readInt();
|
||||
pictureInPictureParams = source.readTypedObject(PictureInPictureParams.CREATOR);
|
||||
preferDockBigOverlays = source.readBoolean();
|
||||
shouldDockBigOverlays = source.readBoolean();
|
||||
launchIntoPipHostTaskId = source.readInt();
|
||||
displayCutoutInsets = source.readTypedObject(Rect.CREATOR);
|
||||
topActivityInfo = source.readTypedObject(ActivityInfo.CREATOR);
|
||||
@@ -569,7 +569,7 @@ public class TaskInfo {
|
||||
token.writeToParcel(dest, flags);
|
||||
dest.writeInt(topActivityType);
|
||||
dest.writeTypedObject(pictureInPictureParams, flags);
|
||||
dest.writeBoolean(preferDockBigOverlays);
|
||||
dest.writeBoolean(shouldDockBigOverlays);
|
||||
dest.writeInt(launchIntoPipHostTaskId);
|
||||
dest.writeTypedObject(displayCutoutInsets, flags);
|
||||
dest.writeTypedObject(topActivityInfo, flags);
|
||||
@@ -610,7 +610,7 @@ public class TaskInfo {
|
||||
+ " token=" + token
|
||||
+ " topActivityType=" + topActivityType
|
||||
+ " pictureInPictureParams=" + pictureInPictureParams
|
||||
+ " preferDockBigOverlays=" + preferDockBigOverlays
|
||||
+ " shouldDockBigOverlays=" + shouldDockBigOverlays
|
||||
+ " launchIntoPipHostTaskId=" + launchIntoPipHostTaskId
|
||||
+ " displayCutoutSafeInsets=" + displayCutoutInsets
|
||||
+ " topActivityInfo=" + topActivityInfo
|
||||
|
||||
@@ -757,12 +757,12 @@ class ActivityClientController extends IActivityClientController.Stub {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPreferDockBigOverlays(IBinder token, boolean preferDockBigOverlays) {
|
||||
public void setShouldDockBigOverlays(IBinder token, boolean shouldDockBigOverlays) {
|
||||
final long origId = Binder.clearCallingIdentity();
|
||||
try {
|
||||
synchronized (mGlobalLock) {
|
||||
final ActivityRecord r = ActivityRecord.forTokenLocked(token);
|
||||
r.setPreferDockBigOverlays(preferDockBigOverlays);
|
||||
r.setShouldDockBigOverlays(shouldDockBigOverlays);
|
||||
}
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(origId);
|
||||
|
||||
@@ -534,7 +534,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
// activity can enter picture in picture while pausing (only when switching to another task)
|
||||
PictureInPictureParams pictureInPictureArgs = new PictureInPictureParams.Builder().build();
|
||||
// The PiP params used when deferring the entering of picture-in-picture.
|
||||
boolean preferDockBigOverlays;
|
||||
boolean shouldDockBigOverlays;
|
||||
int launchCount; // count of launches since last state
|
||||
long lastLaunchTime; // time of last launch of this activity
|
||||
ComponentName requestedVrComponent; // the requested component for handling VR mode.
|
||||
@@ -2042,7 +2042,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
mLetterboxUiController = new LetterboxUiController(mWmService, this);
|
||||
mCameraCompatControlEnabled = mWmService.mContext.getResources()
|
||||
.getBoolean(R.bool.config_isCameraCompatControlForStretchedIssuesEnabled);
|
||||
preferDockBigOverlays = mWmService.mContext.getResources()
|
||||
shouldDockBigOverlays = mWmService.mContext.getResources()
|
||||
.getBoolean(R.bool.config_dockBigOverlayWindows);
|
||||
|
||||
if (_createTime > 0) {
|
||||
@@ -9575,9 +9575,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
getTask().getRootTask().onPictureInPictureParamsChanged();
|
||||
}
|
||||
|
||||
void setPreferDockBigOverlays(boolean preferDockBigOverlays) {
|
||||
this.preferDockBigOverlays = preferDockBigOverlays;
|
||||
getTask().getRootTask().onPreferDockBigOverlaysChanged();
|
||||
void setShouldDockBigOverlays(boolean shouldDockBigOverlays) {
|
||||
this.shouldDockBigOverlays = shouldDockBigOverlays;
|
||||
getTask().getRootTask().onShouldDockBigOverlaysChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3403,7 +3403,7 @@ class Task extends TaskFragment {
|
||||
info.positionInParent = getRelativePosition();
|
||||
|
||||
info.pictureInPictureParams = getPictureInPictureParams(top);
|
||||
info.preferDockBigOverlays = getPreferDockBigOverlays();
|
||||
info.shouldDockBigOverlays = shouldDockBigOverlays();
|
||||
if (info.pictureInPictureParams != null
|
||||
&& info.pictureInPictureParams.isLaunchIntoPip()
|
||||
&& top.getTopMostActivity().getLastParentBeforePip() != null) {
|
||||
@@ -3456,9 +3456,9 @@ class Task extends TaskFragment {
|
||||
? null : new PictureInPictureParams(topMostActivity.pictureInPictureArgs);
|
||||
}
|
||||
|
||||
private boolean getPreferDockBigOverlays() {
|
||||
private boolean shouldDockBigOverlays() {
|
||||
final ActivityRecord topMostActivity = getTopMostActivity();
|
||||
return topMostActivity != null && topMostActivity.preferDockBigOverlays;
|
||||
return topMostActivity != null && topMostActivity.shouldDockBigOverlays;
|
||||
}
|
||||
|
||||
Rect getDisplayCutoutInsets() {
|
||||
@@ -4354,7 +4354,7 @@ class Task extends TaskFragment {
|
||||
}
|
||||
}
|
||||
|
||||
void onPreferDockBigOverlaysChanged() {
|
||||
void onShouldDockBigOverlaysChanged() {
|
||||
dispatchTaskInfoChangedIfNeeded(true /* force */);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user