Loading core/api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -7239,8 +7239,8 @@ package android.app { public final class PictureInPictureUiState implements android.os.Parcelable { method public int describeContents(); method @FlaggedApi("android.app.enable_pip_ui_state_callback_on_entering") public boolean isEnteringPip(); method public boolean isStashed(); method @FlaggedApi("android.app.enable_pip_ui_state_callback_on_entering") public boolean isTransitioningToPip(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureUiState> CREATOR; } core/java/android/app/PictureInPictureUiState.java +17 −17 Original line number Diff line number Diff line Loading @@ -31,12 +31,12 @@ import java.util.Objects; public final class PictureInPictureUiState implements Parcelable { private final boolean mIsStashed; private final boolean mIsEnteringPip; private final boolean mIsTransitioningToPip; /** {@hide} */ PictureInPictureUiState(Parcel in) { mIsStashed = in.readBoolean(); mIsEnteringPip = in.readBoolean(); mIsTransitioningToPip = in.readBoolean(); } /** {@hide} */ Loading @@ -45,9 +45,9 @@ public final class PictureInPictureUiState implements Parcelable { this(isStashed, false /* isEnteringPip */); } private PictureInPictureUiState(boolean isStashed, boolean isEnteringPip) { private PictureInPictureUiState(boolean isStashed, boolean isTransitioningToPip) { mIsStashed = isStashed; mIsEnteringPip = isEnteringPip; mIsTransitioningToPip = isTransitioningToPip; } /** Loading Loading @@ -77,14 +77,14 @@ public final class PictureInPictureUiState implements Parcelable { * whether via auto enter PiP or calling * {@link Activity#enterPictureInPictureMode(PictureInPictureParams)} explicitly, app can expect * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with * {@link #isEnteringPip()} to be {@code true} first, * {@link #isTransitioningToPip()} to be {@code true} first, * followed by {@link Activity#onPictureInPictureModeChanged(boolean, Configuration)} when it * fully settles in PiP mode. * * When app receives the * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with * {@link #isEnteringPip()} being {@code true}, it's recommended to hide certain UI elements, * such as video controls, to archive a clean entering PiP animation. * {@link #isTransitioningToPip()} being {@code true}, it's recommended to hide certain UI * elements, such as video controls, to archive a clean entering PiP animation. * * In case an application wants to restore the previously hidden UI elements when exiting * PiP, it is recommended to do that in Loading @@ -92,8 +92,8 @@ public final class PictureInPictureUiState implements Parcelable { * than the beginning of exit PiP animation. */ @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING) public boolean isEnteringPip() { return mIsEnteringPip; public boolean isTransitioningToPip() { return mIsTransitioningToPip; } @Override Loading @@ -102,12 +102,12 @@ public final class PictureInPictureUiState implements Parcelable { if (!(o instanceof PictureInPictureUiState)) return false; PictureInPictureUiState that = (PictureInPictureUiState) o; return mIsStashed == that.mIsStashed && mIsEnteringPip == that.mIsEnteringPip; && mIsTransitioningToPip == that.mIsTransitioningToPip; } @Override public int hashCode() { return Objects.hash(mIsStashed, mIsEnteringPip); return Objects.hash(mIsStashed, mIsTransitioningToPip); } @Override Loading @@ -118,7 +118,7 @@ public final class PictureInPictureUiState implements Parcelable { @Override public void writeToParcel(@NonNull Parcel out, int flags) { out.writeBoolean(mIsStashed); out.writeBoolean(mIsEnteringPip); out.writeBoolean(mIsTransitioningToPip); } public static final @android.annotation.NonNull Creator<PictureInPictureUiState> CREATOR = Loading @@ -138,7 +138,7 @@ public final class PictureInPictureUiState implements Parcelable { @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING) public static final class Builder { private boolean mIsStashed; private boolean mIsEnteringPip; private boolean mIsTransitioningToPip; /** Empty constructor. */ public Builder() { Loading @@ -154,11 +154,11 @@ public final class PictureInPictureUiState implements Parcelable { } /** * Sets the {@link #mIsEnteringPip} state. * Sets the {@link #mIsTransitioningToPip} state. * @return The same {@link Builder} instance. */ public Builder setEnteringPip(boolean isEnteringPip) { mIsEnteringPip = isEnteringPip; public Builder setTransitioningToPip(boolean isEnteringPip) { mIsTransitioningToPip = isEnteringPip; return this; } Loading @@ -166,7 +166,7 @@ public final class PictureInPictureUiState implements Parcelable { * @return The constructed {@link PictureInPictureUiState} instance. */ public PictureInPictureUiState build() { return new PictureInPictureUiState(mIsStashed, mIsEnteringPip); return new PictureInPictureUiState(mIsStashed, mIsTransitioningToPip); } } } core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -988,7 +988,7 @@ public class ActivityThreadTest { @Override public void onPictureInPictureUiStateChanged(PictureInPictureUiState pipState) { if (mPipUiStateLatch != null && pipState.isEnteringPip()) { if (mPipUiStateLatch != null && pipState.isTransitioningToPip()) { mPipUiStateLatch.countDown(); } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java +2 −2 Original line number Diff line number Diff line Loading @@ -191,7 +191,7 @@ public abstract class PipTransitionController implements Transitions.TransitionH try { ActivityTaskManager.getService().onPictureInPictureUiStateChanged( new PictureInPictureUiState.Builder() .setEnteringPip(true) .setTransitioningToPip(true) .build()); } catch (RemoteException | IllegalStateException e) { ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE, Loading @@ -210,7 +210,7 @@ public abstract class PipTransitionController implements Transitions.TransitionH try { ActivityTaskManager.getService().onPictureInPictureUiStateChanged( new PictureInPictureUiState.Builder() .setEnteringPip(false) .setTransitioningToPip(false) .build()); } catch (RemoteException | IllegalStateException e) { ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE, Loading Loading
core/api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -7239,8 +7239,8 @@ package android.app { public final class PictureInPictureUiState implements android.os.Parcelable { method public int describeContents(); method @FlaggedApi("android.app.enable_pip_ui_state_callback_on_entering") public boolean isEnteringPip(); method public boolean isStashed(); method @FlaggedApi("android.app.enable_pip_ui_state_callback_on_entering") public boolean isTransitioningToPip(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureUiState> CREATOR; }
core/java/android/app/PictureInPictureUiState.java +17 −17 Original line number Diff line number Diff line Loading @@ -31,12 +31,12 @@ import java.util.Objects; public final class PictureInPictureUiState implements Parcelable { private final boolean mIsStashed; private final boolean mIsEnteringPip; private final boolean mIsTransitioningToPip; /** {@hide} */ PictureInPictureUiState(Parcel in) { mIsStashed = in.readBoolean(); mIsEnteringPip = in.readBoolean(); mIsTransitioningToPip = in.readBoolean(); } /** {@hide} */ Loading @@ -45,9 +45,9 @@ public final class PictureInPictureUiState implements Parcelable { this(isStashed, false /* isEnteringPip */); } private PictureInPictureUiState(boolean isStashed, boolean isEnteringPip) { private PictureInPictureUiState(boolean isStashed, boolean isTransitioningToPip) { mIsStashed = isStashed; mIsEnteringPip = isEnteringPip; mIsTransitioningToPip = isTransitioningToPip; } /** Loading Loading @@ -77,14 +77,14 @@ public final class PictureInPictureUiState implements Parcelable { * whether via auto enter PiP or calling * {@link Activity#enterPictureInPictureMode(PictureInPictureParams)} explicitly, app can expect * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with * {@link #isEnteringPip()} to be {@code true} first, * {@link #isTransitioningToPip()} to be {@code true} first, * followed by {@link Activity#onPictureInPictureModeChanged(boolean, Configuration)} when it * fully settles in PiP mode. * * When app receives the * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with * {@link #isEnteringPip()} being {@code true}, it's recommended to hide certain UI elements, * such as video controls, to archive a clean entering PiP animation. * {@link #isTransitioningToPip()} being {@code true}, it's recommended to hide certain UI * elements, such as video controls, to archive a clean entering PiP animation. * * In case an application wants to restore the previously hidden UI elements when exiting * PiP, it is recommended to do that in Loading @@ -92,8 +92,8 @@ public final class PictureInPictureUiState implements Parcelable { * than the beginning of exit PiP animation. */ @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING) public boolean isEnteringPip() { return mIsEnteringPip; public boolean isTransitioningToPip() { return mIsTransitioningToPip; } @Override Loading @@ -102,12 +102,12 @@ public final class PictureInPictureUiState implements Parcelable { if (!(o instanceof PictureInPictureUiState)) return false; PictureInPictureUiState that = (PictureInPictureUiState) o; return mIsStashed == that.mIsStashed && mIsEnteringPip == that.mIsEnteringPip; && mIsTransitioningToPip == that.mIsTransitioningToPip; } @Override public int hashCode() { return Objects.hash(mIsStashed, mIsEnteringPip); return Objects.hash(mIsStashed, mIsTransitioningToPip); } @Override Loading @@ -118,7 +118,7 @@ public final class PictureInPictureUiState implements Parcelable { @Override public void writeToParcel(@NonNull Parcel out, int flags) { out.writeBoolean(mIsStashed); out.writeBoolean(mIsEnteringPip); out.writeBoolean(mIsTransitioningToPip); } public static final @android.annotation.NonNull Creator<PictureInPictureUiState> CREATOR = Loading @@ -138,7 +138,7 @@ public final class PictureInPictureUiState implements Parcelable { @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING) public static final class Builder { private boolean mIsStashed; private boolean mIsEnteringPip; private boolean mIsTransitioningToPip; /** Empty constructor. */ public Builder() { Loading @@ -154,11 +154,11 @@ public final class PictureInPictureUiState implements Parcelable { } /** * Sets the {@link #mIsEnteringPip} state. * Sets the {@link #mIsTransitioningToPip} state. * @return The same {@link Builder} instance. */ public Builder setEnteringPip(boolean isEnteringPip) { mIsEnteringPip = isEnteringPip; public Builder setTransitioningToPip(boolean isEnteringPip) { mIsTransitioningToPip = isEnteringPip; return this; } Loading @@ -166,7 +166,7 @@ public final class PictureInPictureUiState implements Parcelable { * @return The constructed {@link PictureInPictureUiState} instance. */ public PictureInPictureUiState build() { return new PictureInPictureUiState(mIsStashed, mIsEnteringPip); return new PictureInPictureUiState(mIsStashed, mIsTransitioningToPip); } } }
core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -988,7 +988,7 @@ public class ActivityThreadTest { @Override public void onPictureInPictureUiStateChanged(PictureInPictureUiState pipState) { if (mPipUiStateLatch != null && pipState.isEnteringPip()) { if (mPipUiStateLatch != null && pipState.isTransitioningToPip()) { mPipUiStateLatch.countDown(); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java +2 −2 Original line number Diff line number Diff line Loading @@ -191,7 +191,7 @@ public abstract class PipTransitionController implements Transitions.TransitionH try { ActivityTaskManager.getService().onPictureInPictureUiStateChanged( new PictureInPictureUiState.Builder() .setEnteringPip(true) .setTransitioningToPip(true) .build()); } catch (RemoteException | IllegalStateException e) { ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE, Loading @@ -210,7 +210,7 @@ public abstract class PipTransitionController implements Transitions.TransitionH try { ActivityTaskManager.getService().onPictureInPictureUiStateChanged( new PictureInPictureUiState.Builder() .setEnteringPip(false) .setTransitioningToPip(false) .build()); } catch (RemoteException | IllegalStateException e) { ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE, Loading