Consume panel touch event to prevent incorrect processing

Touches into NotificationPanelViewController should always come
directly from NotificationShadeWindowViewController. Under certain
configurations, they are being routed directly to the view for
processing. In this case, mark the touch as handled to prevent
any downstream effects.

This fixes swipe down underneath notifications for certain
devices.

Fixes: 433897926
Test: manual - AOSP builds, retest all swipe interactions
Flag: EXEMPT bugfix
Change-Id: I897367874b52712b10569278eed8db9f678047e2
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
index 273c37e..9a4bedc 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
@@ -3975,7 +3975,8 @@
         public boolean onTouchEvent(MotionEvent event) {
             if (!mUseExternalTouch) {
                 mShadeLog.d("onTouch: external touch handling disabled");
-                return false;
+                // Consume touches below notifications on keyguard to allow for expansion
+                return mStatusBarStateController.getState() == StatusBarState.KEYGUARD;
             }
 
             if (mAlternateBouncerInteractor.isVisibleState()) {