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

Commit 766ec400 authored by Galia Peycheva's avatar Galia Peycheva Committed by Android (Google) Code Review
Browse files

Merge "Fix tv pip menu rounded corner artifacts" into udc-dev

parents 9088ec46 cce00a0b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@

    <!-- Temporarily extending the background to show an edu text hint for opening the menu -->
    <FrameLayout
        android:id="@+id/tv_pip_menu_edu_text_drawer_placeholder"
        android:id="@+id/tv_pip_menu_edu_text_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/tv_pip"
+4 −6
Original line number Diff line number Diff line
@@ -260,11 +260,12 @@ class TvPipMenuEduTextDrawer extends FrameLayout {
        });
        heightAnimator.start();

        mListener.onCloseEduText();
        mListener.onCloseEduTextAnimationStart();
    }

    public void onCloseEduTextAnimationEnd() {
        setVisibility(GONE);
        mListener.onCloseEduTextAnimationEnd();
    }

    /**
@@ -295,11 +296,8 @@ class TvPipMenuEduTextDrawer extends FrameLayout {
     * A listener for edu text drawer event states.
     */
    interface Listener {
        /**
         *  The edu text closing impacts the size of the Picture-in-Picture window and influences
         *  how it is positioned on the screen.
         */
        void onCloseEduText();
        void onCloseEduTextAnimationStart();
        void onCloseEduTextAnimationEnd();
    }

}
+31 −10
Original line number Diff line number Diff line
@@ -57,7 +57,8 @@ import java.util.List;
 * A View that represents Pip Menu on TV. It's responsible for displaying the Pip menu actions from
 * the TvPipActionsProvider as well as the buttons for manually moving the PiP.
 */
public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.Listener {
public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.Listener,
        TvPipMenuEduTextDrawer.Listener {
    private static final String TAG = "TvPipMenuView";

    private final TvPipMenuView.Listener mListener;
@@ -76,6 +77,7 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L
    private final View mDimLayer;

    private final TvPipMenuEduTextDrawer mEduTextDrawer;
    private final ViewGroup mEduTextContainer;

    private final int mPipMenuOuterSpace;
    private final int mPipMenuBorderWidth;
@@ -139,9 +141,9 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L
        mPipMenuBorderWidth = context.getResources()
                .getDimensionPixelSize(R.dimen.pip_menu_border_width);

        mEduTextDrawer = new TvPipMenuEduTextDrawer(mContext, mainHandler, mListener);
        ((FrameLayout) findViewById(R.id.tv_pip_menu_edu_text_drawer_placeholder))
                .addView(mEduTextDrawer);
        mEduTextDrawer = new TvPipMenuEduTextDrawer(mContext, mainHandler, this);
        mEduTextContainer = (ViewGroup) findViewById(R.id.tv_pip_menu_edu_text_container);
        mEduTextContainer.addView(mEduTextDrawer);
    }

    void onPipTransitionToTargetBoundsStarted(Rect targetBounds) {
@@ -235,12 +237,14 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L
     * pip menu when it gains focus.
     */
    private void updatePipFrameBounds() {
        if (mPipFrameView.getVisibility() == VISIBLE) {
            final ViewGroup.LayoutParams pipFrameParams = mPipFrameView.getLayoutParams();
            if (pipFrameParams != null) {
                pipFrameParams.width = mCurrentPipBounds.width() + 2 * mPipMenuBorderWidth;
                pipFrameParams.height = mCurrentPipBounds.height() + 2 * mPipMenuBorderWidth;
                mPipFrameView.setLayoutParams(pipFrameParams);
            }
        }

        final ViewGroup.LayoutParams pipViewParams = mPipView.getLayoutParams();
        if (pipViewParams != null) {
@@ -405,6 +409,17 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L
        }
    }

    @Override
    public void onCloseEduTextAnimationStart() {
        mListener.onCloseEduText();
    }

    @Override
    public void onCloseEduTextAnimationEnd() {
        mPipFrameView.setVisibility(GONE);
        mEduTextContainer.setVisibility(GONE);
    }

    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getAction() == ACTION_UP) {
@@ -551,7 +566,7 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L
        }
    }

    interface Listener extends TvPipMenuEduTextDrawer.Listener {
    interface Listener {

        void onBackPress();

@@ -573,5 +588,11 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L
         * has lost focus.
         */
        void onPipWindowFocusChanged(boolean focused);

        /**
         *  The edu text closing impacts the size of the Picture-in-Picture window and influences
         *  how it is positioned on the screen.
         */
        void onCloseEduText();
    }
}