Loading packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java +2 −1 Original line number Diff line number Diff line Loading @@ -131,7 +131,8 @@ public interface QS extends FragmentBase { /** * A rounded corner clipping that makes QS feel as if it were behind everything. */ void setFancyClipping(int top, int bottom, int cornerRadius, boolean visible); void setFancyClipping(int leftInset, int top, int rightInset, int bottom, int cornerRadius, boolean visible, boolean fullWidth); /** * @return if quick settings is fully collapsed currently Loading packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java +27 −5 Original line number Diff line number Diff line Loading @@ -38,7 +38,9 @@ import java.io.PrintWriter; */ public class QSContainerImpl extends FrameLayout implements Dumpable { private int mFancyClippingLeftInset; private int mFancyClippingTop; private int mFancyClippingRightInset; private int mFancyClippingBottom; private final float[] mFancyClippingRadii = new float[] {0, 0, 0, 0, 0, 0, 0, 0}; private final Path mFancyClippingPath = new Path(); Loading @@ -53,6 +55,7 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { private boolean mQsDisabled; private int mContentHorizontalPadding = -1; private boolean mClippingEnabled; private boolean mIsFullWidth; public QSContainerImpl(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -237,7 +240,8 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { /** * Clip QS bottom using a concave shape. */ public void setFancyClipping(int top, int bottom, int radius, boolean enabled) { public void setFancyClipping(int leftInset, int top, int rightInset, int bottom, int radius, boolean enabled, boolean fullWidth) { boolean updatePath = false; if (mFancyClippingRadii[0] != radius) { mFancyClippingRadii[0] = radius; Loading @@ -246,10 +250,18 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { mFancyClippingRadii[3] = radius; updatePath = true; } if (mFancyClippingLeftInset != leftInset) { mFancyClippingLeftInset = leftInset; updatePath = true; } if (mFancyClippingTop != top) { mFancyClippingTop = top; updatePath = true; } if (mFancyClippingRightInset != rightInset) { mFancyClippingRightInset = rightInset; updatePath = true; } if (mFancyClippingBottom != bottom) { mFancyClippingBottom = bottom; updatePath = true; Loading @@ -258,6 +270,10 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { mClippingEnabled = enabled; updatePath = true; } if (mIsFullWidth != fullWidth) { mIsFullWidth = fullWidth; updatePath = true; } if (updatePath) { updateClippingPath(); Loading @@ -281,15 +297,21 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { return; } mFancyClippingPath.addRoundRect(0, mFancyClippingTop, getWidth(), int clippingLeft = mIsFullWidth ? -mFancyClippingLeftInset : 0; int clippingRight = mIsFullWidth ? getWidth() + mFancyClippingRightInset : getWidth(); mFancyClippingPath.addRoundRect(clippingLeft, mFancyClippingTop, clippingRight, mFancyClippingBottom, mFancyClippingRadii, Path.Direction.CW); invalidate(); } @Override public void dump(PrintWriter pw, String[] args) { pw.println(getClass().getSimpleName() + " updateClippingPath: top(" + mFancyClippingTop + ") bottom(" + mFancyClippingBottom + ") mClippingEnabled(" + mClippingEnabled + ")"); pw.println(getClass().getSimpleName() + " updateClippingPath: " + "leftInset(" + mFancyClippingLeftInset + ") " + "top(" + mFancyClippingTop + ") " + "rightInset(" + mFancyClippingRightInset + ") " + "bottom(" + mFancyClippingBottom + ") " + "mClippingEnabled(" + mClippingEnabled + ") " + "mIsFullWidth(" + mIsFullWidth + ")"); } } packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +6 −3 Original line number Diff line number Diff line Loading @@ -18,9 +18,10 @@ import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static com.android.systemui.media.dagger.MediaModule.QS_PANEL; import static com.android.systemui.media.dagger.MediaModule.QUICK_QS_PANEL; import static com.android.systemui.statusbar.disableflags.DisableFlagsLogger.DisableState; import static com.android.systemui.statusbar.StatusBarState.KEYGUARD; import static com.android.systemui.statusbar.StatusBarState.SHADE_LOCKED; import static com.android.systemui.statusbar.disableflags.DisableFlagsLogger.DisableState; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.content.res.Configuration; Loading Loading @@ -395,9 +396,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca } @Override public void setFancyClipping(int top, int bottom, int cornerRadius, boolean visible) { public void setFancyClipping(int leftInset, int top, int rightInset, int bottom, int cornerRadius, boolean visible, boolean fullWidth) { if (getView() instanceof QSContainerImpl) { ((QSContainerImpl) getView()).setFancyClipping(top, bottom, cornerRadius, visible); ((QSContainerImpl) getView()).setFancyClipping(leftInset, top, rightInset, bottom, cornerRadius, visible, fullWidth); } } Loading packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java +4 −1 Original line number Diff line number Diff line Loading @@ -1230,10 +1230,13 @@ public class QuickSettingsController { mVisible = qsVisible; mQs.setQsVisible(qsVisible); mQs.setFancyClipping( mDisplayLeftInset, clipTop, mDisplayRightInset, clipBottom, radius, qsVisible && !mSplitShadeEnabled); qsVisible && !mSplitShadeEnabled, mIsFullWidth); } Loading Loading
packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java +2 −1 Original line number Diff line number Diff line Loading @@ -131,7 +131,8 @@ public interface QS extends FragmentBase { /** * A rounded corner clipping that makes QS feel as if it were behind everything. */ void setFancyClipping(int top, int bottom, int cornerRadius, boolean visible); void setFancyClipping(int leftInset, int top, int rightInset, int bottom, int cornerRadius, boolean visible, boolean fullWidth); /** * @return if quick settings is fully collapsed currently Loading
packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java +27 −5 Original line number Diff line number Diff line Loading @@ -38,7 +38,9 @@ import java.io.PrintWriter; */ public class QSContainerImpl extends FrameLayout implements Dumpable { private int mFancyClippingLeftInset; private int mFancyClippingTop; private int mFancyClippingRightInset; private int mFancyClippingBottom; private final float[] mFancyClippingRadii = new float[] {0, 0, 0, 0, 0, 0, 0, 0}; private final Path mFancyClippingPath = new Path(); Loading @@ -53,6 +55,7 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { private boolean mQsDisabled; private int mContentHorizontalPadding = -1; private boolean mClippingEnabled; private boolean mIsFullWidth; public QSContainerImpl(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -237,7 +240,8 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { /** * Clip QS bottom using a concave shape. */ public void setFancyClipping(int top, int bottom, int radius, boolean enabled) { public void setFancyClipping(int leftInset, int top, int rightInset, int bottom, int radius, boolean enabled, boolean fullWidth) { boolean updatePath = false; if (mFancyClippingRadii[0] != radius) { mFancyClippingRadii[0] = radius; Loading @@ -246,10 +250,18 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { mFancyClippingRadii[3] = radius; updatePath = true; } if (mFancyClippingLeftInset != leftInset) { mFancyClippingLeftInset = leftInset; updatePath = true; } if (mFancyClippingTop != top) { mFancyClippingTop = top; updatePath = true; } if (mFancyClippingRightInset != rightInset) { mFancyClippingRightInset = rightInset; updatePath = true; } if (mFancyClippingBottom != bottom) { mFancyClippingBottom = bottom; updatePath = true; Loading @@ -258,6 +270,10 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { mClippingEnabled = enabled; updatePath = true; } if (mIsFullWidth != fullWidth) { mIsFullWidth = fullWidth; updatePath = true; } if (updatePath) { updateClippingPath(); Loading @@ -281,15 +297,21 @@ public class QSContainerImpl extends FrameLayout implements Dumpable { return; } mFancyClippingPath.addRoundRect(0, mFancyClippingTop, getWidth(), int clippingLeft = mIsFullWidth ? -mFancyClippingLeftInset : 0; int clippingRight = mIsFullWidth ? getWidth() + mFancyClippingRightInset : getWidth(); mFancyClippingPath.addRoundRect(clippingLeft, mFancyClippingTop, clippingRight, mFancyClippingBottom, mFancyClippingRadii, Path.Direction.CW); invalidate(); } @Override public void dump(PrintWriter pw, String[] args) { pw.println(getClass().getSimpleName() + " updateClippingPath: top(" + mFancyClippingTop + ") bottom(" + mFancyClippingBottom + ") mClippingEnabled(" + mClippingEnabled + ")"); pw.println(getClass().getSimpleName() + " updateClippingPath: " + "leftInset(" + mFancyClippingLeftInset + ") " + "top(" + mFancyClippingTop + ") " + "rightInset(" + mFancyClippingRightInset + ") " + "bottom(" + mFancyClippingBottom + ") " + "mClippingEnabled(" + mClippingEnabled + ") " + "mIsFullWidth(" + mIsFullWidth + ")"); } }
packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +6 −3 Original line number Diff line number Diff line Loading @@ -18,9 +18,10 @@ import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static com.android.systemui.media.dagger.MediaModule.QS_PANEL; import static com.android.systemui.media.dagger.MediaModule.QUICK_QS_PANEL; import static com.android.systemui.statusbar.disableflags.DisableFlagsLogger.DisableState; import static com.android.systemui.statusbar.StatusBarState.KEYGUARD; import static com.android.systemui.statusbar.StatusBarState.SHADE_LOCKED; import static com.android.systemui.statusbar.disableflags.DisableFlagsLogger.DisableState; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.content.res.Configuration; Loading Loading @@ -395,9 +396,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca } @Override public void setFancyClipping(int top, int bottom, int cornerRadius, boolean visible) { public void setFancyClipping(int leftInset, int top, int rightInset, int bottom, int cornerRadius, boolean visible, boolean fullWidth) { if (getView() instanceof QSContainerImpl) { ((QSContainerImpl) getView()).setFancyClipping(top, bottom, cornerRadius, visible); ((QSContainerImpl) getView()).setFancyClipping(leftInset, top, rightInset, bottom, cornerRadius, visible, fullWidth); } } Loading
packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java +4 −1 Original line number Diff line number Diff line Loading @@ -1230,10 +1230,13 @@ public class QuickSettingsController { mVisible = qsVisible; mQs.setQsVisible(qsVisible); mQs.setFancyClipping( mDisplayLeftInset, clipTop, mDisplayRightInset, clipBottom, radius, qsVisible && !mSplitShadeEnabled); qsVisible && !mSplitShadeEnabled, mIsFullWidth); } Loading