Loading packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java +62 −21 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ import com.android.internal.telephony.TelephonyProperties; import com.android.internal.util.EmergencyAffordanceManager; import com.android.internal.util.ScreenRecordHelper; import com.android.internal.util.ScreenshotHelper; import com.android.internal.view.RotationPolicy; import com.android.internal.widget.LockPatternUtils; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; Loading Loading @@ -1498,6 +1499,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, private boolean mKeyguardShowing; private boolean mShowing; private float mScrimAlpha; private ResetOrientationData mResetOrientationData; ActionsDialog(Context context, MyAdapter adapter, GlobalActionsPanelPlugin.PanelViewController plugin) { Loading Loading @@ -1531,16 +1533,38 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, } private boolean shouldUsePanel() { if (!isPanelEnabled(mContext) || mPanelController == null) { return false; return isPanelEnabled(mContext) && mPanelController != null && mPanelController.getPanelContent() != null; } if (mPanelController.getPanelContent() == null) { return false; private void initializePanel() { int rotation = RotationUtils.getRotation(mContext); boolean rotationLocked = RotationPolicy.isRotationLocked(mContext); if (rotation != RotationUtils.ROTATION_NONE) { if (rotationLocked) { if (mResetOrientationData == null) { mResetOrientationData = new ResetOrientationData(); mResetOrientationData.locked = true; mResetOrientationData.rotation = rotation; } return true; // Unlock rotation, so user can choose to rotate to portrait to see the panel. RotationPolicy.setRotationLockAtAngle( mContext, false, RotationUtils.ROTATION_NONE); } } else { if (!rotationLocked) { if (mResetOrientationData == null) { mResetOrientationData = new ResetOrientationData(); mResetOrientationData.locked = false; } // Lock to portrait, so the user doesn't accidentally hide the panel. RotationPolicy.setRotationLockAtAngle( mContext, true, RotationUtils.ROTATION_NONE); } private void initializePanel() { FrameLayout panelContainer = new FrameLayout(mContext); FrameLayout.LayoutParams panelParams = new FrameLayout.LayoutParams( Loading @@ -1553,6 +1577,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); } } private void initializeLayout() { setContentView(getGlobalActionsLayoutId(mContext)); Loading Loading @@ -1683,19 +1708,30 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, mBackgroundDrawable.setAlpha(alpha); }) .start(); if (mPanelController != null) { mPanelController.onDismissed(); } dismissPanel(); resetOrientation(); } void dismissImmediately() { super.dismiss(); mShowing = false; dismissPanel(); resetOrientation(); } private void dismissPanel() { if (mPanelController != null) { mPanelController.onDismissed(); } } private void resetOrientation() { if (mResetOrientationData != null) { RotationPolicy.setRotationLockAtAngle(mContext, mResetOrientationData.locked, mResetOrientationData.rotation); } } @Override public void onColorsChanged(ColorExtractor extractor, int which) { if (mKeyguardShowing) { Loading Loading @@ -1725,6 +1761,11 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, refreshDialog(); } } private static class ResetOrientationData { public boolean locked; public int rotation; } } /** Loading Loading
packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java +62 −21 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ import com.android.internal.telephony.TelephonyProperties; import com.android.internal.util.EmergencyAffordanceManager; import com.android.internal.util.ScreenRecordHelper; import com.android.internal.util.ScreenshotHelper; import com.android.internal.view.RotationPolicy; import com.android.internal.widget.LockPatternUtils; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; Loading Loading @@ -1498,6 +1499,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, private boolean mKeyguardShowing; private boolean mShowing; private float mScrimAlpha; private ResetOrientationData mResetOrientationData; ActionsDialog(Context context, MyAdapter adapter, GlobalActionsPanelPlugin.PanelViewController plugin) { Loading Loading @@ -1531,16 +1533,38 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, } private boolean shouldUsePanel() { if (!isPanelEnabled(mContext) || mPanelController == null) { return false; return isPanelEnabled(mContext) && mPanelController != null && mPanelController.getPanelContent() != null; } if (mPanelController.getPanelContent() == null) { return false; private void initializePanel() { int rotation = RotationUtils.getRotation(mContext); boolean rotationLocked = RotationPolicy.isRotationLocked(mContext); if (rotation != RotationUtils.ROTATION_NONE) { if (rotationLocked) { if (mResetOrientationData == null) { mResetOrientationData = new ResetOrientationData(); mResetOrientationData.locked = true; mResetOrientationData.rotation = rotation; } return true; // Unlock rotation, so user can choose to rotate to portrait to see the panel. RotationPolicy.setRotationLockAtAngle( mContext, false, RotationUtils.ROTATION_NONE); } } else { if (!rotationLocked) { if (mResetOrientationData == null) { mResetOrientationData = new ResetOrientationData(); mResetOrientationData.locked = false; } // Lock to portrait, so the user doesn't accidentally hide the panel. RotationPolicy.setRotationLockAtAngle( mContext, true, RotationUtils.ROTATION_NONE); } private void initializePanel() { FrameLayout panelContainer = new FrameLayout(mContext); FrameLayout.LayoutParams panelParams = new FrameLayout.LayoutParams( Loading @@ -1553,6 +1577,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); } } private void initializeLayout() { setContentView(getGlobalActionsLayoutId(mContext)); Loading Loading @@ -1683,19 +1708,30 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, mBackgroundDrawable.setAlpha(alpha); }) .start(); if (mPanelController != null) { mPanelController.onDismissed(); } dismissPanel(); resetOrientation(); } void dismissImmediately() { super.dismiss(); mShowing = false; dismissPanel(); resetOrientation(); } private void dismissPanel() { if (mPanelController != null) { mPanelController.onDismissed(); } } private void resetOrientation() { if (mResetOrientationData != null) { RotationPolicy.setRotationLockAtAngle(mContext, mResetOrientationData.locked, mResetOrientationData.rotation); } } @Override public void onColorsChanged(ColorExtractor extractor, int which) { if (mKeyguardShowing) { Loading Loading @@ -1725,6 +1761,11 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, refreshDialog(); } } private static class ResetOrientationData { public boolean locked; public int rotation; } } /** Loading