summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLyn Han <lynhan@google.com>2021-07-26 13:49:59 -0500
committerLyn Han <lynhan@google.com>2021-07-28 20:26:25 +0000
commit0f8dfa5326ccc13f94b8dec8abd3dd822dfd42dd (patch)
treeb0cdcb91312d2686c2284782e9f3c7dd4d717d45
parent7b4e645ce05220986c00457e554ba2ca34877725 (diff)
Add logs to ensure that QS / NPVC clip bounds match
Bug: 191436459 Test: treehugger Change-Id: I07dbb58b234bee06c31a67fd38ab363ff13d9458 Merged-In: I07dbb58b234bee06c31a67fd38ab363ff13d9458
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSFragment.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java17
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java3
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));
}
}