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

Commit 103ea523 authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

Merge "Fix issue with TV PIP clobbering resize on orientation change." into oc-dev am: 921078ab

am: 3857f8b5

Change-Id: Ic7153eecf1792d827385115fd03d73f94efe5465
parents e5c45238 3857f8b5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -17,12 +17,13 @@
package com.android.systemui.pip;

import android.content.Context;
import android.content.res.Configuration;

import java.io.PrintWriter;

public interface  BasePipManager {
    void initialize(Context context);
    void showPictureInPictureMenu();
    void onConfigurationChanged();
    void onConfigurationChanged(Configuration newConfig);
    void dump(PrintWriter pw);
}
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ public class PipUI extends SystemUI implements CommandQueue.Callbacks {
            return;
        }

        mPipManager.onConfigurationChanged();
        mPipManager.onConfigurationChanged(newConfig);
    }

    @Override
+2 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.app.IActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.ParceledListSlice;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.os.Handler;
import android.os.RemoteException;
@@ -196,7 +197,7 @@ public class PipManager implements BasePipManager {
    /**
     * Updates the PIP per configuration changed.
     */
    public void onConfigurationChanged() {
    public void onConfigurationChanged(Configuration newConfig) {
        mTouchHandler.onConfigurationChanged();
    }

+13 −4
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ParceledListSlice;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Rect;
import android.media.session.MediaController;
@@ -116,6 +117,7 @@ public class PipManager implements BasePipManager {
    private Rect mDefaultPipBounds = new Rect();
    private Rect mSettingsPipBounds;
    private Rect mMenuModePipBounds;
    private int mLastOrientation = Configuration.ORIENTATION_UNDEFINED;
    private boolean mInitialized;
    private int mPipTaskId = TASK_ID_NO_PIP;
    private ComponentName mPipComponentName;
@@ -237,7 +239,7 @@ public class PipManager implements BasePipManager {
            }
        }

        loadConfigurationsAndApply();
        loadConfigurationsAndApply(mContext.getResources().getConfiguration());
        mMediaSessionManager =
                (MediaSessionManager) mContext.getSystemService(Context.MEDIA_SESSION_SERVICE);

@@ -250,7 +252,14 @@ public class PipManager implements BasePipManager {
        mPipNotification = new PipNotification(context);
    }

    private void loadConfigurationsAndApply() {
    private void loadConfigurationsAndApply(Configuration newConfig) {
        if (mLastOrientation != newConfig.orientation) {
            // Don't resize the pinned stack on orientation change. TV does not care about this case
            // and this could clobber the existing animation to the new bounds calculated by WM.
            mLastOrientation = newConfig.orientation;
            return;
        }

        Resources res = mContext.getResources();
        mSettingsPipBounds = Rect.unflattenFromString(res.getString(
                R.string.pip_settings_bounds));
@@ -267,8 +276,8 @@ public class PipManager implements BasePipManager {
    /**
     * Updates the PIP per configuration changed.
     */
    public void onConfigurationChanged() {
        loadConfigurationsAndApply();
    public void onConfigurationChanged(Configuration newConfig) {
        loadConfigurationsAndApply(newConfig);
        mPipNotification.onConfigurationChanged(mContext);
    }