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

Commit dd9c132f authored by Greg Kaiser's avatar Greg Kaiser Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE when device do NOT has FEATURE_PICTURE_IN_PICTURE"

parents 20a583e2 e78dd5f0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -280,6 +280,7 @@ public class PipController implements Pip, PipTaskOrganizer.PipTransitionCallbac
        PackageManager pm = context.getPackageManager();
        boolean supportsPip = pm.hasSystemFeature(FEATURE_PICTURE_IN_PICTURE);
        if (!supportsPip) {
            Log.w(TAG, "Device not support PIP feature");
            return;
        }

+12 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.recents;

import static android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE;
import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
import static android.view.MotionEvent.ACTION_CANCEL;
import static android.view.MotionEvent.ACTION_DOWN;
@@ -143,6 +144,7 @@ public class OverviewProxyService extends CurrentUserTracker implements
    private int mConnectionBackoffAttempts;
    private boolean mBound;
    private boolean mIsEnabled;
    private boolean mHasPipFeature;
    private int mCurrentBoundedUserId = -1;
    private float mNavBarButtonAlpha;
    private boolean mInputFocusTransferStarted;
@@ -383,7 +385,9 @@ public class OverviewProxyService extends CurrentUserTracker implements

        @Override
        public void setShelfHeight(boolean visible, int shelfHeight) {
            if (!verifyCaller("setShelfHeight")) {
            if (!verifyCaller("setShelfHeight") || !mHasPipFeature) {
                Log.w(TAG_OPS,
                        "ByPass setShelfHeight, FEATURE_PICTURE_IN_PICTURE:" + mHasPipFeature);
                return;
            }
            long token = Binder.clearCallingIdentity();
@@ -409,7 +413,9 @@ public class OverviewProxyService extends CurrentUserTracker implements

        @Override
        public void notifySwipeToHomeFinished() {
            if (!verifyCaller("notifySwipeToHomeFinished")) {
            if (!verifyCaller("notifySwipeToHomeFinished") || !mHasPipFeature) {
                Log.w(TAG_OPS, "ByPass notifySwipeToHomeFinished, FEATURE_PICTURE_IN_PICTURE:"
                        + mHasPipFeature);
                return;
            }
            long token = Binder.clearCallingIdentity();
@@ -424,7 +430,9 @@ public class OverviewProxyService extends CurrentUserTracker implements

        @Override
        public void setPinnedStackAnimationListener(IPinnedStackAnimationListener listener) {
            if (!verifyCaller("setPinnedStackAnimationListener")) {
            if (!verifyCaller("setPinnedStackAnimationListener") || !mHasPipFeature) {
                Log.w(TAG_OPS, "ByPass setPinnedStackAnimationListener, FEATURE_PICTURE_IN_PICTURE:"
                        + mHasPipFeature);
                return;
            }
            long token = Binder.clearCallingIdentity();
@@ -617,6 +625,7 @@ public class OverviewProxyService extends CurrentUserTracker implements
        super(broadcastDispatcher);
        mContext = context;
        mPipOptional = pipOptional;
        mHasPipFeature = mContext.getPackageManager().hasSystemFeature(FEATURE_PICTURE_IN_PICTURE);
        mStatusBarOptionalLazy = statusBarOptionalLazy;
        mHandler = new Handler();
        mNavBarControllerLazy = navBarControllerLazy;