Merge "Add a Shade log buffer and lots of logging to QS expand touches" into tm-qpr-dev
This commit is contained in:
@@ -84,6 +84,14 @@ public class LogModule {
|
|||||||
return factory.create("LSShadeTransitionLog", 50);
|
return factory.create("LSShadeTransitionLog", 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Provides a logging buffer for Shade messages. */
|
||||||
|
@Provides
|
||||||
|
@SysUISingleton
|
||||||
|
@ShadeLog
|
||||||
|
public static LogBuffer provideShadeLogBuffer(LogBufferFactory factory) {
|
||||||
|
return factory.create("ShadeLog", 500, false);
|
||||||
|
}
|
||||||
|
|
||||||
/** Provides a logging buffer for all logs related to managing notification sections. */
|
/** Provides a logging buffer for all logs related to managing notification sections. */
|
||||||
@Provides
|
@Provides
|
||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2022 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.systemui.log.dagger;
|
||||||
|
|
||||||
|
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||||
|
|
||||||
|
import com.android.systemui.log.LogBuffer;
|
||||||
|
|
||||||
|
import java.lang.annotation.Documented;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
|
||||||
|
import javax.inject.Qualifier;
|
||||||
|
|
||||||
|
/** A {@link LogBuffer} for Shade touch handling messages. */
|
||||||
|
@Qualifier
|
||||||
|
@Documented
|
||||||
|
@Retention(RUNTIME)
|
||||||
|
public @interface ShadeLog {
|
||||||
|
}
|
||||||
@@ -448,7 +448,6 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
*/
|
*/
|
||||||
private boolean mQsAnimatorExpand;
|
private boolean mQsAnimatorExpand;
|
||||||
private boolean mIsLaunchTransitionFinished;
|
private boolean mIsLaunchTransitionFinished;
|
||||||
private boolean mOnlyAffordanceInThisMotion;
|
|
||||||
private ValueAnimator mQsSizeChangeAnimator;
|
private ValueAnimator mQsSizeChangeAnimator;
|
||||||
|
|
||||||
private boolean mQsScrimEnabled = true;
|
private boolean mQsScrimEnabled = true;
|
||||||
@@ -726,6 +725,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
AccessibilityManager accessibilityManager, @DisplayId int displayId,
|
AccessibilityManager accessibilityManager, @DisplayId int displayId,
|
||||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||||
MetricsLogger metricsLogger,
|
MetricsLogger metricsLogger,
|
||||||
|
ShadeLogger shadeLogger,
|
||||||
ConfigurationController configurationController,
|
ConfigurationController configurationController,
|
||||||
Provider<FlingAnimationUtils.Builder> flingAnimationUtilsBuilder,
|
Provider<FlingAnimationUtils.Builder> flingAnimationUtilsBuilder,
|
||||||
StatusBarTouchableRegionManager statusBarTouchableRegionManager,
|
StatusBarTouchableRegionManager statusBarTouchableRegionManager,
|
||||||
@@ -792,6 +792,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
panelExpansionStateManager,
|
panelExpansionStateManager,
|
||||||
ambientState,
|
ambientState,
|
||||||
interactionJankMonitor,
|
interactionJankMonitor,
|
||||||
|
shadeLogger,
|
||||||
systemClock);
|
systemClock);
|
||||||
mView = view;
|
mView = view;
|
||||||
mVibratorHelper = vibratorHelper;
|
mVibratorHelper = vibratorHelper;
|
||||||
@@ -1887,6 +1888,8 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
}
|
}
|
||||||
if (mQsExpansionAnimator != null) {
|
if (mQsExpansionAnimator != null) {
|
||||||
mInitialHeightOnTouch = mQsExpansionHeight;
|
mInitialHeightOnTouch = mQsExpansionHeight;
|
||||||
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"onQsIntercept: down action, QS tracking enabled");
|
||||||
mQsTracking = true;
|
mQsTracking = true;
|
||||||
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
||||||
mNotificationStackScrollLayoutController.cancelLongPress();
|
mNotificationStackScrollLayoutController.cancelLongPress();
|
||||||
@@ -1914,12 +1917,16 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
setQsExpansion(h + mInitialHeightOnTouch);
|
setQsExpansion(h + mInitialHeightOnTouch);
|
||||||
trackMovement(event);
|
trackMovement(event);
|
||||||
return true;
|
return true;
|
||||||
|
} else {
|
||||||
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"onQsIntercept: move ignored because qs tracking disabled");
|
||||||
}
|
}
|
||||||
if ((h > getTouchSlop(event) || (h < -getTouchSlop(event) && mQsExpanded))
|
if ((h > getTouchSlop(event) || (h < -getTouchSlop(event) && mQsExpanded))
|
||||||
&& Math.abs(h) > Math.abs(x - mInitialTouchX)
|
&& Math.abs(h) > Math.abs(x - mInitialTouchX)
|
||||||
&& shouldQuickSettingsIntercept(mInitialTouchX, mInitialTouchY, h)) {
|
&& shouldQuickSettingsIntercept(mInitialTouchX, mInitialTouchY, h)) {
|
||||||
if (DEBUG_LOGCAT) Log.d(TAG, "onQsIntercept - start tracking expansion");
|
if (DEBUG_LOGCAT) Log.d(TAG, "onQsIntercept - start tracking expansion");
|
||||||
mView.getParent().requestDisallowInterceptTouchEvent(true);
|
mView.getParent().requestDisallowInterceptTouchEvent(true);
|
||||||
|
mShadeLog.onQsInterceptMoveQsTrackingEnabled(h);
|
||||||
mQsTracking = true;
|
mQsTracking = true;
|
||||||
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
||||||
onQsExpansionStarted();
|
onQsExpansionStarted();
|
||||||
@@ -1935,6 +1942,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
case MotionEvent.ACTION_CANCEL:
|
case MotionEvent.ACTION_CANCEL:
|
||||||
case MotionEvent.ACTION_UP:
|
case MotionEvent.ACTION_UP:
|
||||||
trackMovement(event);
|
trackMovement(event);
|
||||||
|
mShadeLog.logMotionEvent(event, "onQsIntercept: up action, QS tracking disabled");
|
||||||
mQsTracking = false;
|
mQsTracking = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1972,7 +1980,6 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
|
|
||||||
private void initDownStates(MotionEvent event) {
|
private void initDownStates(MotionEvent event) {
|
||||||
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
|
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
|
||||||
mOnlyAffordanceInThisMotion = false;
|
|
||||||
mQsTouchAboveFalsingThreshold = mQsFullyExpanded;
|
mQsTouchAboveFalsingThreshold = mQsFullyExpanded;
|
||||||
mDozingOnDown = isDozing();
|
mDozingOnDown = isDozing();
|
||||||
mDownX = event.getX();
|
mDownX = event.getX();
|
||||||
@@ -2111,6 +2118,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
&& collapsedQs && isQsExpansionEnabled();
|
&& collapsedQs && isQsExpansionEnabled();
|
||||||
if (action == MotionEvent.ACTION_DOWN && expandedShadeCollapsedQs) {
|
if (action == MotionEvent.ACTION_DOWN && expandedShadeCollapsedQs) {
|
||||||
// Down in the empty area while fully expanded - go to QS.
|
// Down in the empty area while fully expanded - go to QS.
|
||||||
|
mShadeLog.logMotionEvent(event, "handleQsTouch: down action, QS tracking enabled");
|
||||||
mQsTracking = true;
|
mQsTracking = true;
|
||||||
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
||||||
mConflictingQsExpansionGesture = true;
|
mConflictingQsExpansionGesture = true;
|
||||||
@@ -2125,6 +2133,8 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
if (!mQsExpandImmediate && mQsTracking) {
|
if (!mQsExpandImmediate && mQsTracking) {
|
||||||
onQsTouch(event);
|
onQsTouch(event);
|
||||||
if (!mConflictingQsExpansionGesture && !mSplitShadeEnabled) {
|
if (!mConflictingQsExpansionGesture && !mSplitShadeEnabled) {
|
||||||
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"handleQsTouch: not immediate expand or conflicting gesture");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2192,6 +2202,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
event.getX(), event.getY(), -1)) {
|
event.getX(), event.getY(), -1)) {
|
||||||
if (DEBUG_LOGCAT) Log.d(TAG, "handleQsDown");
|
if (DEBUG_LOGCAT) Log.d(TAG, "handleQsDown");
|
||||||
mFalsingCollector.onQsDown();
|
mFalsingCollector.onQsDown();
|
||||||
|
mShadeLog.logMotionEvent(event, "handleQsDown: down action, QS tracking enabled");
|
||||||
mQsTracking = true;
|
mQsTracking = true;
|
||||||
onQsExpansionStarted();
|
onQsExpansionStarted();
|
||||||
mInitialHeightOnTouch = mQsExpansionHeight;
|
mInitialHeightOnTouch = mQsExpansionHeight;
|
||||||
@@ -2274,6 +2285,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
|
|
||||||
switch (event.getActionMasked()) {
|
switch (event.getActionMasked()) {
|
||||||
case MotionEvent.ACTION_DOWN:
|
case MotionEvent.ACTION_DOWN:
|
||||||
|
mShadeLog.logMotionEvent(event, "onQsTouch: down action, QS tracking enabled");
|
||||||
mQsTracking = true;
|
mQsTracking = true;
|
||||||
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
traceQsJank(true /* startTracing */, false /* wasCancelled */);
|
||||||
mInitialTouchY = y;
|
mInitialTouchY = y;
|
||||||
@@ -2300,6 +2312,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
|
|
||||||
case MotionEvent.ACTION_MOVE:
|
case MotionEvent.ACTION_MOVE:
|
||||||
if (DEBUG_LOGCAT) Log.d(TAG, "onQSTouch move");
|
if (DEBUG_LOGCAT) Log.d(TAG, "onQSTouch move");
|
||||||
|
mShadeLog.logMotionEvent(event, "onQsTouch: move action, setting QS expansion");
|
||||||
setQsExpansion(h + mInitialHeightOnTouch);
|
setQsExpansion(h + mInitialHeightOnTouch);
|
||||||
if (h >= getFalsingThreshold()) {
|
if (h >= getFalsingThreshold()) {
|
||||||
mQsTouchAboveFalsingThreshold = true;
|
mQsTouchAboveFalsingThreshold = true;
|
||||||
@@ -2309,6 +2322,8 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
|
|
||||||
case MotionEvent.ACTION_UP:
|
case MotionEvent.ACTION_UP:
|
||||||
case MotionEvent.ACTION_CANCEL:
|
case MotionEvent.ACTION_CANCEL:
|
||||||
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"onQsTouch: up/cancel action, QS tracking disabled");
|
||||||
mQsTracking = false;
|
mQsTracking = false;
|
||||||
mTrackingPointer = -1;
|
mTrackingPointer = -1;
|
||||||
trackMovement(event);
|
trackMovement(event);
|
||||||
@@ -3131,8 +3146,8 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
positionClockAndNotifications();
|
positionClockAndNotifications();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mQsExpandImmediate || mQsExpanded && !mQsTracking && mQsExpansionAnimator == null
|
if (mQsExpandImmediate || (mQsExpanded && !mQsTracking && mQsExpansionAnimator == null
|
||||||
&& !mQsExpansionFromOverscroll) {
|
&& !mQsExpansionFromOverscroll)) {
|
||||||
float t;
|
float t;
|
||||||
if (mKeyguardShowing) {
|
if (mKeyguardShowing) {
|
||||||
|
|
||||||
@@ -4224,6 +4239,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
|| mPulseExpansionHandler.isExpanding();
|
|| mPulseExpansionHandler.isExpanding();
|
||||||
if (pulseShouldGetTouch && mPulseExpansionHandler.onTouchEvent(event)) {
|
if (pulseShouldGetTouch && mPulseExpansionHandler.onTouchEvent(event)) {
|
||||||
// We're expanding all the other ones shouldn't get this anymore
|
// We're expanding all the other ones shouldn't get this anymore
|
||||||
|
mShadeLog.logMotionEvent(event, "onTouch: PulseExpansionHandler handled event");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (mListenForHeadsUp && !mHeadsUpTouchHelper.isTrackingHeadsUp()
|
if (mListenForHeadsUp && !mHeadsUpTouchHelper.isTrackingHeadsUp()
|
||||||
@@ -4231,14 +4247,10 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
&& mHeadsUpTouchHelper.onInterceptTouchEvent(event)) {
|
&& mHeadsUpTouchHelper.onInterceptTouchEvent(event)) {
|
||||||
mMetricsLogger.count(COUNTER_PANEL_OPEN_PEEK, 1);
|
mMetricsLogger.count(COUNTER_PANEL_OPEN_PEEK, 1);
|
||||||
}
|
}
|
||||||
boolean handled = false;
|
boolean handled = mHeadsUpTouchHelper.onTouchEvent(event);
|
||||||
if (mOnlyAffordanceInThisMotion) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
handled |= mHeadsUpTouchHelper.onTouchEvent(event);
|
|
||||||
|
|
||||||
if (!mHeadsUpTouchHelper.isTrackingHeadsUp() && handleQsTouch(event)) {
|
if (!mHeadsUpTouchHelper.isTrackingHeadsUp() && handleQsTouch(event)) {
|
||||||
if (DEBUG_LOGCAT) Log.d(TAG, "handleQsTouch true");
|
mShadeLog.logMotionEvent(event, "onTouch: handleQsTouch handled event");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (event.getActionMasked() == MotionEvent.ACTION_DOWN && isFullyCollapsed()) {
|
if (event.getActionMasked() == MotionEvent.ACTION_DOWN && isFullyCollapsed()) {
|
||||||
@@ -4810,6 +4822,8 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
}
|
}
|
||||||
} else if (!mQsExpanded && mQsExpansionAnimator == null) {
|
} else if (!mQsExpanded && mQsExpansionAnimator == null) {
|
||||||
setQsExpansion(mQsMinExpansionHeight + mLastOverscroll);
|
setQsExpansion(mQsMinExpansionHeight + mLastOverscroll);
|
||||||
|
} else {
|
||||||
|
mShadeLog.v("onLayoutChange: qs expansion not set");
|
||||||
}
|
}
|
||||||
updateExpandedHeight(getExpandedHeight());
|
updateExpandedHeight(getExpandedHeight());
|
||||||
updateHeader();
|
updateHeader();
|
||||||
|
|||||||
@@ -202,6 +202,8 @@ public abstract class PanelViewController {
|
|||||||
private final InteractionJankMonitor mInteractionJankMonitor;
|
private final InteractionJankMonitor mInteractionJankMonitor;
|
||||||
protected final SystemClock mSystemClock;
|
protected final SystemClock mSystemClock;
|
||||||
|
|
||||||
|
protected final ShadeLogger mShadeLog;
|
||||||
|
|
||||||
protected abstract void onExpandingFinished();
|
protected abstract void onExpandingFinished();
|
||||||
|
|
||||||
protected void onExpandingStarted() {
|
protected void onExpandingStarted() {
|
||||||
@@ -242,6 +244,7 @@ public abstract class PanelViewController {
|
|||||||
PanelExpansionStateManager panelExpansionStateManager,
|
PanelExpansionStateManager panelExpansionStateManager,
|
||||||
AmbientState ambientState,
|
AmbientState ambientState,
|
||||||
InteractionJankMonitor interactionJankMonitor,
|
InteractionJankMonitor interactionJankMonitor,
|
||||||
|
ShadeLogger shadeLogger,
|
||||||
SystemClock systemClock) {
|
SystemClock systemClock) {
|
||||||
keyguardStateController.addCallback(new KeyguardStateController.Callback() {
|
keyguardStateController.addCallback(new KeyguardStateController.Callback() {
|
||||||
@Override
|
@Override
|
||||||
@@ -254,6 +257,7 @@ public abstract class PanelViewController {
|
|||||||
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
|
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
|
||||||
mLockscreenGestureLogger = lockscreenGestureLogger;
|
mLockscreenGestureLogger = lockscreenGestureLogger;
|
||||||
mPanelExpansionStateManager = panelExpansionStateManager;
|
mPanelExpansionStateManager = panelExpansionStateManager;
|
||||||
|
mShadeLog = shadeLogger;
|
||||||
TouchHandler touchHandler = createTouchHandler();
|
TouchHandler touchHandler = createTouchHandler();
|
||||||
mView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
|
mView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -1275,9 +1279,16 @@ public abstract class PanelViewController {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onTouch(View v, MotionEvent event) {
|
public boolean onTouch(View v, MotionEvent event) {
|
||||||
if (mInstantExpanding || (mTouchDisabled
|
if (mInstantExpanding) {
|
||||||
&& event.getActionMasked() != MotionEvent.ACTION_CANCEL) || (mMotionAborted
|
mShadeLog.logMotionEvent(event, "onTouch: touch ignored due to instant expanding");
|
||||||
&& event.getActionMasked() != MotionEvent.ACTION_DOWN)) {
|
return false;
|
||||||
|
}
|
||||||
|
if (mTouchDisabled && event.getActionMasked() != MotionEvent.ACTION_CANCEL) {
|
||||||
|
mShadeLog.logMotionEvent(event, "onTouch: non-cancel action, touch disabled");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (mMotionAborted && event.getActionMasked() != MotionEvent.ACTION_DOWN) {
|
||||||
|
mShadeLog.logMotionEvent(event, "onTouch: non-down action, motion was aborted");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1287,6 +1298,7 @@ public abstract class PanelViewController {
|
|||||||
// Turn off tracking if it's on or the shade can get stuck in the down position.
|
// Turn off tracking if it's on or the shade can get stuck in the down position.
|
||||||
onTrackingStopped(true /* expand */);
|
onTrackingStopped(true /* expand */);
|
||||||
}
|
}
|
||||||
|
mShadeLog.logMotionEvent(event, "onTouch: drag not enabled");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package com.android.systemui.shade
|
||||||
|
|
||||||
|
import android.view.MotionEvent
|
||||||
|
import com.android.systemui.log.LogBuffer
|
||||||
|
import com.android.systemui.log.LogLevel
|
||||||
|
import com.android.systemui.log.LogMessage
|
||||||
|
import com.android.systemui.log.dagger.ShadeLog
|
||||||
|
import com.google.errorprone.annotations.CompileTimeConstant
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
private const val TAG = "systemui.shade"
|
||||||
|
|
||||||
|
/** Lightweight logging utility for the Shade. */
|
||||||
|
class ShadeLogger @Inject constructor(
|
||||||
|
@ShadeLog
|
||||||
|
private val buffer: LogBuffer
|
||||||
|
) {
|
||||||
|
fun v(@CompileTimeConstant msg: String) {
|
||||||
|
buffer.log(TAG, LogLevel.VERBOSE, msg)
|
||||||
|
}
|
||||||
|
|
||||||
|
private inline fun log(
|
||||||
|
logLevel: LogLevel,
|
||||||
|
initializer: LogMessage.() -> Unit,
|
||||||
|
noinline printer: LogMessage.() -> String
|
||||||
|
) {
|
||||||
|
buffer.log(TAG, logLevel, initializer, printer)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun onQsInterceptMoveQsTrackingEnabled(h: Float) {
|
||||||
|
log(LogLevel.VERBOSE,
|
||||||
|
{ double1 = h.toDouble() },
|
||||||
|
{ "onQsIn[tercept: move action, QS tracking enabled. h = $double1" })
|
||||||
|
}
|
||||||
|
|
||||||
|
fun logMotionEvent(event: MotionEvent, message: String) {
|
||||||
|
log(LogLevel.VERBOSE, {
|
||||||
|
str1 = message
|
||||||
|
long1 = event.eventTime
|
||||||
|
long2 = event.downTime
|
||||||
|
int1 = event.action
|
||||||
|
int2 = event.classification
|
||||||
|
double1 = event.y.toDouble()
|
||||||
|
}, {
|
||||||
|
"$str1\neventTime=$long1,downTime=$long2,y=$double1,action=$int1,classification=$int2"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -238,6 +238,8 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
|||||||
@Mock
|
@Mock
|
||||||
private DozeLog mDozeLog;
|
private DozeLog mDozeLog;
|
||||||
@Mock
|
@Mock
|
||||||
|
private ShadeLogger mShadeLog;
|
||||||
|
@Mock
|
||||||
private CommandQueue mCommandQueue;
|
private CommandQueue mCommandQueue;
|
||||||
@Mock
|
@Mock
|
||||||
private VibratorHelper mVibratorHelper;
|
private VibratorHelper mVibratorHelper;
|
||||||
@@ -524,7 +526,9 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
|||||||
mNotificationShadeWindowController,
|
mNotificationShadeWindowController,
|
||||||
mDozeLog, mDozeParameters, mCommandQueue, mVibratorHelper,
|
mDozeLog, mDozeParameters, mCommandQueue, mVibratorHelper,
|
||||||
mLatencyTracker, mPowerManager, mAccessibilityManager, 0, mUpdateMonitor,
|
mLatencyTracker, mPowerManager, mAccessibilityManager, 0, mUpdateMonitor,
|
||||||
mMetricsLogger, mConfigurationController,
|
mMetricsLogger,
|
||||||
|
mShadeLog,
|
||||||
|
mConfigurationController,
|
||||||
() -> flingAnimationUtilsBuilder, mStatusBarTouchableRegionManager,
|
() -> flingAnimationUtilsBuilder, mStatusBarTouchableRegionManager,
|
||||||
mConversationNotificationManager, mMediaHiearchyManager,
|
mConversationNotificationManager, mMediaHiearchyManager,
|
||||||
mStatusBarKeyguardViewManager,
|
mStatusBarKeyguardViewManager,
|
||||||
|
|||||||
Reference in New Issue
Block a user