Merge "Added logging for setting mMotionAborted in NPVC" into tm-qpr-dev
This commit is contained in:
@@ -2141,7 +2141,6 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
if ((h > touchSlop || (h < -touchSlop && mQsExpanded))
|
if ((h > touchSlop || (h < -touchSlop && mQsExpanded))
|
||||||
&& Math.abs(h) > Math.abs(x - mInitialTouchX)
|
&& Math.abs(h) > Math.abs(x - mInitialTouchX)
|
||||||
&& shouldQuickSettingsIntercept(mInitialTouchX, mInitialTouchY, h)) {
|
&& shouldQuickSettingsIntercept(mInitialTouchX, mInitialTouchY, h)) {
|
||||||
debugLog("onQsIntercept - start tracking expansion");
|
|
||||||
mView.getParent().requestDisallowInterceptTouchEvent(true);
|
mView.getParent().requestDisallowInterceptTouchEvent(true);
|
||||||
mShadeLog.onQsInterceptMoveQsTrackingEnabled(h);
|
mShadeLog.onQsInterceptMoveQsTrackingEnabled(h);
|
||||||
mQsTracking = true;
|
mQsTracking = true;
|
||||||
@@ -2352,7 +2351,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
if (!mSplitShadeEnabled
|
if (!mSplitShadeEnabled
|
||||||
&& computeQsExpansionFraction() <= 0.01 && getExpandedFraction() < 1.0) {
|
&& computeQsExpansionFraction() <= 0.01 && getExpandedFraction() < 1.0) {
|
||||||
mShadeLog.logMotionEvent(event,
|
mShadeLog.logMotionEvent(event,
|
||||||
"handleQsTouch: QQS touched while shade collapsing");
|
"handleQsTouch: QQS touched while shade collapsing, QS tracking disabled");
|
||||||
mQsTracking = false;
|
mQsTracking = false;
|
||||||
}
|
}
|
||||||
if (!mQsExpandImmediate && mQsTracking) {
|
if (!mQsExpandImmediate && mQsTracking) {
|
||||||
@@ -5796,12 +5795,9 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
/** @see ViewGroup#onInterceptTouchEvent(MotionEvent) */
|
/** @see ViewGroup#onInterceptTouchEvent(MotionEvent) */
|
||||||
public boolean onInterceptTouchEvent(MotionEvent event) {
|
public boolean onInterceptTouchEvent(MotionEvent event) {
|
||||||
mShadeLog.logMotionEvent(event, "NPVC onInterceptTouchEvent");
|
mShadeLog.logMotionEvent(event, "NPVC onInterceptTouchEvent");
|
||||||
if (SPEW_LOGCAT) {
|
|
||||||
Log.v(TAG,
|
|
||||||
"NPVC onInterceptTouchEvent (" + event.getId() + "): (" + event.getX()
|
|
||||||
+ "," + event.getY() + ")");
|
|
||||||
}
|
|
||||||
if (mQs.disallowPanelTouches()) {
|
if (mQs.disallowPanelTouches()) {
|
||||||
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"NPVC not intercepting touch, panel touches disallowed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
initDownStates(event);
|
initDownStates(event);
|
||||||
@@ -5834,8 +5830,15 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
+ "QsIntercept");
|
+ "QsIntercept");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (mInstantExpanding || !mNotificationsDragEnabled || mTouchDisabled || (mMotionAborted
|
|
||||||
&& event.getActionMasked() != MotionEvent.ACTION_DOWN)) {
|
if (mInstantExpanding || !mNotificationsDragEnabled || mTouchDisabled) {
|
||||||
|
mShadeLog.logNotInterceptingTouchInstantExpanding(mInstantExpanding,
|
||||||
|
!mNotificationsDragEnabled, mTouchDisabled);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (mMotionAborted && event.getActionMasked() != MotionEvent.ACTION_DOWN) {
|
||||||
|
mShadeLog.logMotionEventStatusBarState(event, mStatusBarStateController.getState(),
|
||||||
|
"NPVC MotionEvent not intercepted: non-down action, motion was aborted");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5890,6 +5893,9 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MotionEvent.ACTION_POINTER_DOWN:
|
case MotionEvent.ACTION_POINTER_DOWN:
|
||||||
|
mShadeLog.logMotionEventStatusBarState(event,
|
||||||
|
mStatusBarStateController.getState(),
|
||||||
|
"onInterceptTouchEvent: pointer down action");
|
||||||
if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
|
if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
|
||||||
mMotionAborted = true;
|
mMotionAborted = true;
|
||||||
mVelocityTracker.clear();
|
mVelocityTracker.clear();
|
||||||
@@ -5931,7 +5937,8 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
// events are received in this handler with identical downTimes. Until the
|
// events are received in this handler with identical downTimes. Until the
|
||||||
// source of the issue can be located, detect this case and ignore.
|
// source of the issue can be located, detect this case and ignore.
|
||||||
// see b/193350347
|
// see b/193350347
|
||||||
Log.w(TAG, "Duplicate down event detected... ignoring");
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"onTouch: duplicate down event detected... ignoring");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
mLastTouchDownTime = event.getDownTime();
|
mLastTouchDownTime = event.getDownTime();
|
||||||
@@ -5939,6 +5946,8 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
|
|
||||||
|
|
||||||
if (mQsFullyExpanded && mQs != null && mQs.disallowPanelTouches()) {
|
if (mQsFullyExpanded && mQs != null && mQs.disallowPanelTouches()) {
|
||||||
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"onTouch: ignore touch, panel touches disallowed and qs fully expanded");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5946,6 +5955,8 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
// otherwise user would be able to pull down QS or expand the shade.
|
// otherwise user would be able to pull down QS or expand the shade.
|
||||||
if (mCentralSurfaces.isBouncerShowingScrimmed()
|
if (mCentralSurfaces.isBouncerShowingScrimmed()
|
||||||
|| mCentralSurfaces.isBouncerShowingOverDream()) {
|
|| mCentralSurfaces.isBouncerShowingOverDream()) {
|
||||||
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"onTouch: ignore touch, bouncer scrimmed or showing over dream");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6003,15 +6014,17 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
|
|
||||||
private boolean handleTouch(MotionEvent event) {
|
private boolean handleTouch(MotionEvent event) {
|
||||||
if (mInstantExpanding) {
|
if (mInstantExpanding) {
|
||||||
mShadeLog.logMotionEvent(event, "onTouch: touch ignored due to instant expanding");
|
mShadeLog.logMotionEvent(event,
|
||||||
|
"handleTouch: touch ignored due to instant expanding");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (mTouchDisabled && event.getActionMasked() != MotionEvent.ACTION_CANCEL) {
|
if (mTouchDisabled && event.getActionMasked() != MotionEvent.ACTION_CANCEL) {
|
||||||
mShadeLog.logMotionEvent(event, "onTouch: non-cancel action, touch disabled");
|
mShadeLog.logMotionEvent(event, "handleTouch: non-cancel action, touch disabled");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (mMotionAborted && event.getActionMasked() != MotionEvent.ACTION_DOWN) {
|
if (mMotionAborted && event.getActionMasked() != MotionEvent.ACTION_DOWN) {
|
||||||
mShadeLog.logMotionEvent(event, "onTouch: non-down action, motion was aborted");
|
mShadeLog.logMotionEventStatusBarState(event, mStatusBarStateController.getState(),
|
||||||
|
"handleTouch: non-down action, motion was aborted");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6021,7 +6034,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
// 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");
|
mShadeLog.logMotionEvent(event, "handleTouch: drag not enabled");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6094,6 +6107,9 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MotionEvent.ACTION_POINTER_DOWN:
|
case MotionEvent.ACTION_POINTER_DOWN:
|
||||||
|
mShadeLog.logMotionEventStatusBarState(event,
|
||||||
|
mStatusBarStateController.getState(),
|
||||||
|
"handleTouch: pointer down action");
|
||||||
if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
|
if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
|
||||||
mMotionAborted = true;
|
mMotionAborted = true;
|
||||||
endMotionEvent(event, x, y, true /* forceCancel */);
|
endMotionEvent(event, x, y, true /* forceCancel */);
|
||||||
|
|||||||
@@ -98,6 +98,29 @@ class ShadeLogger @Inject constructor(@ShadeLog private val buffer: LogBuffer) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun logMotionEventStatusBarState(event: MotionEvent, statusBarState: Int, message: String) {
|
||||||
|
log(
|
||||||
|
LogLevel.VERBOSE,
|
||||||
|
{
|
||||||
|
str1 = message
|
||||||
|
long1 = event.eventTime
|
||||||
|
long2 = event.downTime
|
||||||
|
int1 = event.action
|
||||||
|
int2 = statusBarState
|
||||||
|
double1 = event.y.toDouble()
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$str1\neventTime=$long1,downTime=$long2,y=$double1,action=$int1," +
|
||||||
|
"statusBarState=${when (int2) {
|
||||||
|
0 -> "SHADE"
|
||||||
|
1 -> "KEYGUARD"
|
||||||
|
2 -> "SHADE_LOCKED"
|
||||||
|
else -> "UNKNOWN:$int2"
|
||||||
|
}}"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fun logExpansionChanged(
|
fun logExpansionChanged(
|
||||||
message: String,
|
message: String,
|
||||||
fraction: Float,
|
fraction: Float,
|
||||||
@@ -164,4 +187,19 @@ class ShadeLogger @Inject constructor(@ShadeLog private val buffer: LogBuffer) {
|
|||||||
"tap to be detected: proximityIsNotNear: $bool1, isNotFalseTap: $bool2"
|
"tap to be detected: proximityIsNotNear: $bool1, isNotFalseTap: $bool2"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun logNotInterceptingTouchInstantExpanding(
|
||||||
|
instantExpanding: Boolean,
|
||||||
|
notificationsDragEnabled: Boolean,
|
||||||
|
touchDisabled: Boolean
|
||||||
|
) {
|
||||||
|
log(LogLevel.VERBOSE, {
|
||||||
|
bool1 = instantExpanding
|
||||||
|
bool2 = notificationsDragEnabled
|
||||||
|
bool3 = touchDisabled
|
||||||
|
}, {
|
||||||
|
"NPVC not intercepting touch, instantExpanding: $bool1, " +
|
||||||
|
"!notificationsDragEnabled: $bool2, touchDisabled: $bool3"
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user