diff options
author | Lyn Han <lynhan@google.com> | 2021-07-26 13:49:59 -0500 |
---|---|---|
committer | Lyn Han <lynhan@google.com> | 2021-07-28 20:26:25 +0000 |
commit | 0f8dfa5326ccc13f94b8dec8abd3dd822dfd42dd (patch) | |
tree | b0cdcb91312d2686c2284782e9f3c7dd4d717d45 | |
parent | 7b4e645ce05220986c00457e554ba2ca34877725 (diff) |
Add logs to ensure that QS / NPVC clip bounds match
Bug: 191436459
Test: treehugger
Change-Id: I07dbb58b234bee06c31a67fd38ab363ff13d9458
Merged-In: I07dbb58b234bee06c31a67fd38ab363ff13d9458
4 files changed, 35 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java index e9b19e5cfa6f..59e5eb8d6ac8 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java @@ -28,13 +28,17 @@ import android.view.View; import android.view.WindowInsets; import android.widget.FrameLayout; +import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.qs.customize.QSCustomizer; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * Wrapper view with background which contains {@link QSPanel} and {@link QuickStatusBarHeader} */ -public class QSContainerImpl extends FrameLayout { +public class QSContainerImpl extends FrameLayout implements Dumpable { private final Point mSizePoint = new Point(); private int mFancyClippingTop; @@ -296,4 +300,11 @@ public class QSContainerImpl extends FrameLayout { mFancyClippingBottom, mFancyClippingRadii, Path.Direction.CW); invalidate(); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println(getClass().getSimpleName() + " updateClippingPath: top(" + + mFancyClippingTop + ") bottom(" + mFancyClippingBottom + ") mClippingEnabled(" + + mClippingEnabled + ")"); + } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java index 04f692dcc1e6..c9230d684b1b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java @@ -36,8 +36,10 @@ import android.widget.FrameLayout.LayoutParams; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; +import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; +import com.android.systemui.dump.DumpManager; import com.android.systemui.media.MediaHost; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.qs.QS; @@ -131,6 +133,8 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca */ private boolean mAnimateNextQsUpdate; + private DumpManager mDumpManager; + @Inject public QSFragment(RemoteInputQuickSettingsDisabler remoteInputQsDisabler, InjectionInflationController injectionInflater, QSTileHost qsTileHost, @@ -139,7 +143,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca @Named(QUICK_QS_PANEL) MediaHost qqsMediaHost, KeyguardBypassController keyguardBypassController, QSFragmentComponent.Factory qsComponentFactory, FeatureFlags featureFlags, - FalsingManager falsingManager) { + FalsingManager falsingManager, DumpManager dumpManager) { mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler; mInjectionInflater = injectionInflater; mCommandQueue = commandQueue; @@ -153,6 +157,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca mFalsingManager = falsingManager; mBypassController = keyguardBypassController; mStatusBarStateController = statusBarStateController; + mDumpManager = dumpManager; } @Override @@ -197,6 +202,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca mQSContainerImplController = qsFragmentComponent.getQSContainerImplController(); mQSContainerImplController.init(); mContainer = mQSContainerImplController.getView(); + mDumpManager.registerDumpable(mContainer.getClass().getName(), mContainer); mQSDetail.setQsPanel(mQSPanelController, mHeader, mFooter, mFalsingManager); mQSAnimator = qsFragmentComponent.getQSAnimator(); @@ -248,6 +254,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca mQSCustomizerController.setQs(null); mQsDetailDisplayer.setQsPanelController(null); mScrollListener = null; + mDumpManager.unregisterDumpable(mContainer.getClass().getName()); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java index ad4d450fd947..af5df46de66b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -631,6 +631,9 @@ public class NotificationPanelViewController extends PanelViewController { private int mScreenCornerRadius; private boolean mQSAnimatingHiddenFromCollapsed; + private int mQsClipTop; + private int mQsClipBottom; + private boolean mQsVisible; private final ContentResolver mContentResolver; private final Executor mUiExecutor; @@ -2402,9 +2405,12 @@ public class NotificationPanelViewController extends PanelViewController { mQsTranslationForFullShadeTransition = qsTranslation; updateQsFrameTranslation(); float currentTranslation = mQsFrame.getTranslationY(); - mQs.setFancyClipping(( - int) (top - currentTranslation), - (int) (bottom - currentTranslation), + mQsClipTop = (int) (top - currentTranslation); + mQsClipBottom = (int) (bottom - currentTranslation); + mQsVisible = qsVisible; + mQs.setFancyClipping( + mQsClipTop, + mQsClipBottom, radius, qsVisible && !mShouldUseSplitNotificationShade); } @@ -3733,7 +3739,10 @@ public class NotificationPanelViewController extends PanelViewController { @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { super.dump(fd, pw, args); - pw.println(" gestureExclusionRect: " + calculateGestureExclusionRect()); + pw.println(" gestureExclusionRect: " + calculateGestureExclusionRect() + + " applyQSClippingImmediately: top(" + mQsClipTop + ") bottom(" + mQsClipBottom + + ") qsVisible(" + mQsVisible + ); if (mKeyguardStatusBar != null) { mKeyguardStatusBar.dump(fd, pw, args); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java index c1a7bc5f8bf5..3ee3e55c749a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java @@ -190,6 +190,7 @@ public class QSFragmentTest extends SysuiBaseFragmentTest { mBypassController, mQsComponentFactory, mFeatureFlags, - mFalsingManager); + mFalsingManager, + mock(DumpManager.class)); } } |