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

Commit f48b936c authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Rename PictureInPictureUiState#isEnteringPip

Renamed to PictureInPictureUiState#isTransitioningToPip per API review
feedback.

Flag: ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING
Bug: 326097236
Test: atest CtsWindowManagerDeviceActivity:PinnedStackTests
Change-Id: I5dae2750fbf17468473dd7c685e5213561e18318
parent 77c6fd2c
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -7239,8 +7239,8 @@ package android.app {
  public final class PictureInPictureUiState implements android.os.Parcelable {
  public final class PictureInPictureUiState implements android.os.Parcelable {
    method public int describeContents();
    method public int describeContents();
    method @FlaggedApi("android.app.enable_pip_ui_state_callback_on_entering") public boolean isEnteringPip();
    method public boolean isStashed();
    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);
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureUiState> CREATOR;
    field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureUiState> CREATOR;
  }
  }
+17 −17
Original line number Original line Diff line number Diff line
@@ -31,12 +31,12 @@ import java.util.Objects;
public final class PictureInPictureUiState implements Parcelable {
public final class PictureInPictureUiState implements Parcelable {


    private final boolean mIsStashed;
    private final boolean mIsStashed;
    private final boolean mIsEnteringPip;
    private final boolean mIsTransitioningToPip;


    /** {@hide} */
    /** {@hide} */
    PictureInPictureUiState(Parcel in) {
    PictureInPictureUiState(Parcel in) {
        mIsStashed = in.readBoolean();
        mIsStashed = in.readBoolean();
        mIsEnteringPip = in.readBoolean();
        mIsTransitioningToPip = in.readBoolean();
    }
    }


    /** {@hide} */
    /** {@hide} */
@@ -45,9 +45,9 @@ public final class PictureInPictureUiState implements Parcelable {
        this(isStashed, false /* isEnteringPip */);
        this(isStashed, false /* isEnteringPip */);
    }
    }


    private PictureInPictureUiState(boolean isStashed, boolean isEnteringPip) {
    private PictureInPictureUiState(boolean isStashed, boolean isTransitioningToPip) {
        mIsStashed = isStashed;
        mIsStashed = isStashed;
        mIsEnteringPip = isEnteringPip;
        mIsTransitioningToPip = isTransitioningToPip;
    }
    }


    /**
    /**
@@ -77,14 +77,14 @@ public final class PictureInPictureUiState implements Parcelable {
     * whether via auto enter PiP or calling
     * whether via auto enter PiP or calling
     * {@link Activity#enterPictureInPictureMode(PictureInPictureParams)} explicitly, app can expect
     * {@link Activity#enterPictureInPictureMode(PictureInPictureParams)} explicitly, app can expect
     * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with
     * {@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
     * followed by {@link Activity#onPictureInPictureModeChanged(boolean, Configuration)} when it
     * fully settles in PiP mode.
     * fully settles in PiP mode.
     *
     *
     * When app receives the
     * When app receives the
     * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with
     * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with
     * {@link #isEnteringPip()} being {@code true}, it's recommended to hide certain UI elements,
     * {@link #isTransitioningToPip()} being {@code true}, it's recommended to hide certain UI
     * such as video controls, to archive a clean entering PiP animation.
     * 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
     * In case an application wants to restore the previously hidden UI elements when exiting
     * PiP, it is recommended to do that in
     * PiP, it is recommended to do that in
@@ -92,8 +92,8 @@ public final class PictureInPictureUiState implements Parcelable {
     * than the beginning of exit PiP animation.
     * than the beginning of exit PiP animation.
     */
     */
    @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING)
    @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING)
    public boolean isEnteringPip() {
    public boolean isTransitioningToPip() {
        return mIsEnteringPip;
        return mIsTransitioningToPip;
    }
    }


    @Override
    @Override
@@ -102,12 +102,12 @@ public final class PictureInPictureUiState implements Parcelable {
        if (!(o instanceof PictureInPictureUiState)) return false;
        if (!(o instanceof PictureInPictureUiState)) return false;
        PictureInPictureUiState that = (PictureInPictureUiState) o;
        PictureInPictureUiState that = (PictureInPictureUiState) o;
        return mIsStashed == that.mIsStashed
        return mIsStashed == that.mIsStashed
                && mIsEnteringPip == that.mIsEnteringPip;
                && mIsTransitioningToPip == that.mIsTransitioningToPip;
    }
    }


    @Override
    @Override
    public int hashCode() {
    public int hashCode() {
        return Objects.hash(mIsStashed, mIsEnteringPip);
        return Objects.hash(mIsStashed, mIsTransitioningToPip);
    }
    }


    @Override
    @Override
@@ -118,7 +118,7 @@ public final class PictureInPictureUiState implements Parcelable {
    @Override
    @Override
    public void writeToParcel(@NonNull Parcel out, int flags) {
    public void writeToParcel(@NonNull Parcel out, int flags) {
        out.writeBoolean(mIsStashed);
        out.writeBoolean(mIsStashed);
        out.writeBoolean(mIsEnteringPip);
        out.writeBoolean(mIsTransitioningToPip);
    }
    }


    public static final @android.annotation.NonNull Creator<PictureInPictureUiState> CREATOR =
    public static final @android.annotation.NonNull Creator<PictureInPictureUiState> CREATOR =
@@ -138,7 +138,7 @@ public final class PictureInPictureUiState implements Parcelable {
    @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING)
    @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING)
    public static final class Builder {
    public static final class Builder {
        private boolean mIsStashed;
        private boolean mIsStashed;
        private boolean mIsEnteringPip;
        private boolean mIsTransitioningToPip;


        /** Empty constructor. */
        /** Empty constructor. */
        public Builder() {
        public Builder() {
@@ -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.
         * @return The same {@link Builder} instance.
         */
         */
        public Builder setEnteringPip(boolean isEnteringPip) {
        public Builder setTransitioningToPip(boolean isEnteringPip) {
            mIsEnteringPip = isEnteringPip;
            mIsTransitioningToPip = isEnteringPip;
            return this;
            return this;
        }
        }


@@ -166,7 +166,7 @@ public final class PictureInPictureUiState implements Parcelable {
         * @return The constructed {@link PictureInPictureUiState} instance.
         * @return The constructed {@link PictureInPictureUiState} instance.
         */
         */
        public PictureInPictureUiState build() {
        public PictureInPictureUiState build() {
            return new PictureInPictureUiState(mIsStashed, mIsEnteringPip);
            return new PictureInPictureUiState(mIsStashed, mIsTransitioningToPip);
        }
        }
    }
    }
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -988,7 +988,7 @@ public class ActivityThreadTest {


        @Override
        @Override
        public void onPictureInPictureUiStateChanged(PictureInPictureUiState pipState) {
        public void onPictureInPictureUiStateChanged(PictureInPictureUiState pipState) {
            if (mPipUiStateLatch != null && pipState.isEnteringPip()) {
            if (mPipUiStateLatch != null && pipState.isTransitioningToPip()) {
                mPipUiStateLatch.countDown();
                mPipUiStateLatch.countDown();
            }
            }
        }
        }
+2 −2
Original line number Original line Diff line number Diff line
@@ -191,7 +191,7 @@ public abstract class PipTransitionController implements Transitions.TransitionH
            try {
            try {
                ActivityTaskManager.getService().onPictureInPictureUiStateChanged(
                ActivityTaskManager.getService().onPictureInPictureUiStateChanged(
                        new PictureInPictureUiState.Builder()
                        new PictureInPictureUiState.Builder()
                                .setEnteringPip(true)
                                .setTransitioningToPip(true)
                                .build());
                                .build());
            } catch (RemoteException | IllegalStateException e) {
            } catch (RemoteException | IllegalStateException e) {
                ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
                ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
@@ -210,7 +210,7 @@ public abstract class PipTransitionController implements Transitions.TransitionH
            try {
            try {
                ActivityTaskManager.getService().onPictureInPictureUiStateChanged(
                ActivityTaskManager.getService().onPictureInPictureUiStateChanged(
                        new PictureInPictureUiState.Builder()
                        new PictureInPictureUiState.Builder()
                                .setEnteringPip(false)
                                .setTransitioningToPip(false)
                                .build());
                                .build());
            } catch (RemoteException | IllegalStateException e) {
            } catch (RemoteException | IllegalStateException e) {
                ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
                ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,