Loading packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +25 −38 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ import com.android.keyguard.dagger.KeyguardStatusViewComponent; import com.android.keyguard.dagger.KeyguardUserSwitcherComponent; import com.android.systemui.DejankUtils; import com.android.systemui.Dumpable; import com.android.systemui.Gefingerpoken; import com.android.systemui.R; import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.Interpolators; Loading Loading @@ -162,14 +163,12 @@ import com.android.systemui.plugins.FalsingManager.FalsingTapListener; import com.android.systemui.plugins.qs.QS; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.screenrecord.RecordingController; import com.android.systemui.shade.transition.ShadeTransitionController; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.GestureRecorder; import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.LockscreenShadeTransitionController; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.NotificationShadeDepthController; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.NotificationShelfController; Loading Loading @@ -357,6 +356,7 @@ public final class NotificationPanelViewController implements Dumpable { private final AlternateBouncerInteractor mAlternateBouncerInteractor; private final QuickSettingsController mQsController; private final InteractionJankMonitor mInteractionJankMonitor; private final TouchHandler mTouchHandler = new TouchHandler(); private long mDownTime; private boolean mTouchSlopExceededBeforeDown; Loading Loading @@ -541,7 +541,7 @@ public final class NotificationPanelViewController implements Dumpable { private final KeyguardBottomAreaViewModel mKeyguardBottomAreaViewModel; private final KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; private float mMinExpandHeight; private ShadeHeightLogger mShadeHeightLogger; private final ShadeHeightLogger mShadeHeightLogger; private boolean mPanelUpdateWhenAnimatorEnds; private boolean mHasVibratedOnOpen = false; private int mFixedDuration = NO_FIXED_DURATION; Loading Loading @@ -586,15 +586,15 @@ public final class NotificationPanelViewController implements Dumpable { private boolean mGestureWaitForTouchSlop; private boolean mIgnoreXTouchSlop; private boolean mExpandLatencyTracking; private DreamingToLockscreenTransitionViewModel mDreamingToLockscreenTransitionViewModel; private OccludedToLockscreenTransitionViewModel mOccludedToLockscreenTransitionViewModel; private LockscreenToDreamingTransitionViewModel mLockscreenToDreamingTransitionViewModel; private GoneToDreamingTransitionViewModel mGoneToDreamingTransitionViewModel; private LockscreenToOccludedTransitionViewModel mLockscreenToOccludedTransitionViewModel; private final DreamingToLockscreenTransitionViewModel mDreamingToLockscreenTransitionViewModel; private final OccludedToLockscreenTransitionViewModel mOccludedToLockscreenTransitionViewModel; private final LockscreenToDreamingTransitionViewModel mLockscreenToDreamingTransitionViewModel; private final GoneToDreamingTransitionViewModel mGoneToDreamingTransitionViewModel; private final LockscreenToOccludedTransitionViewModel mLockscreenToOccludedTransitionViewModel; private KeyguardTransitionInteractor mKeyguardTransitionInteractor; private final KeyguardTransitionInteractor mKeyguardTransitionInteractor; private final KeyguardInteractor mKeyguardInteractor; private CoroutineDispatcher mMainDispatcher; private final CoroutineDispatcher mMainDispatcher; private boolean mIsOcclusionTransitionRunning = false; private int mDreamingToLockscreenTransitionTranslationY; private int mOccludedToLockscreenTransitionTranslationY; Loading Loading @@ -708,12 +708,10 @@ public final class NotificationPanelViewController implements Dumpable { QuickSettingsController quickSettingsController, FragmentService fragmentService, ContentResolver contentResolver, RecordingController recordingController, ShadeHeaderController shadeHeaderController, ScreenOffAnimationController screenOffAnimationController, LockscreenGestureLogger lockscreenGestureLogger, ShadeExpansionStateManager shadeExpansionStateManager, NotificationRemoteInputManager remoteInputManager, Optional<SysUIUnfoldComponent> unfoldComponent, SysUiState sysUiState, Provider<KeyguardBottomAreaViewController> keyguardBottomAreaViewControllerProvider, Loading Loading @@ -771,7 +769,7 @@ public final class NotificationPanelViewController implements Dumpable { }); mView.addOnLayoutChangeListener(new ShadeLayoutChangeListener()); mView.setOnTouchListener(createTouchHandler()); mView.setOnTouchListener(getTouchHandler()); mView.setOnConfigurationChangedListener(config -> loadDimens()); mResources = mView.getResources(); Loading Loading @@ -1643,10 +1641,6 @@ public final class NotificationPanelViewController implements Dumpable { return mDozing && mDozeParameters.getAlwaysOn(); } boolean isDozing() { return mDozing; } private boolean hasVisibleNotifications() { return mNotificationStackScrollLayoutController .getVisibleNotificationCount() != 0 Loading Loading @@ -3336,8 +3330,8 @@ public final class NotificationPanelViewController implements Dumpable { } @VisibleForTesting TouchHandler createTouchHandler() { return new TouchHandler(); TouchHandler getTouchHandler() { return mTouchHandler; } public NotificationStackScrollLayoutController getNotificationStackScrollLayoutController() { Loading Loading @@ -3985,14 +3979,14 @@ public final class NotificationPanelViewController implements Dumpable { return mView.post(action); } /** */ public boolean sendInterceptTouchEventToView(MotionEvent event) { return mView.onInterceptTouchEvent(event); /** Sends an external (e.g. Status Bar) intercept touch event to the Shade touch handler. */ public boolean handleExternalInterceptTouch(MotionEvent event) { return mTouchHandler.onInterceptTouchEvent(event); } /** */ public boolean sendTouchEventToView(MotionEvent event) { return mView.dispatchTouchEvent(event); /** Sends an external (e.g. Status Bar) touch event to the Shade touch handler. */ public boolean handleExternalTouch(MotionEvent event) { return mTouchHandler.onTouchEvent(event); } /** */ Loading @@ -4010,14 +4004,6 @@ public final class NotificationPanelViewController implements Dumpable { return mView.isEnabled(); } int getDisplayRightInset() { return mDisplayRightInset; } int getDisplayLeftInset() { return mDisplayLeftInset; } float getOverStretchAmount() { return mOverStretchAmount; } Loading @@ -4026,10 +4012,6 @@ public final class NotificationPanelViewController implements Dumpable { return mMinFraction; } boolean getCollapsedOnDown() { return mCollapsedOnDown; } int getNavigationBarBottomHeight() { return mNavigationBarBottomHeight; } Loading Loading @@ -4593,7 +4575,7 @@ public final class NotificationPanelViewController implements Dumpable { } /** Handles MotionEvents for the Shade. */ public final class TouchHandler implements View.OnTouchListener { public final class TouchHandler implements View.OnTouchListener, Gefingerpoken { private long mLastTouchDownTime = -1L; /** @see ViewGroup#onInterceptTouchEvent(MotionEvent) */ Loading Loading @@ -4739,6 +4721,11 @@ public final class NotificationPanelViewController implements Dumpable { @Override public boolean onTouch(View v, MotionEvent event) { return onTouchEvent(event); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { if (event.getDownTime() == mLastTouchDownTime) { // An issue can occur when swiping down after unlock, where multiple down Loading packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java +1 −1 Original line number Diff line number Diff line Loading @@ -342,7 +342,7 @@ public class NotificationShadeWindowViewController { MotionEvent cancellation = MotionEvent.obtain(ev); cancellation.setAction(MotionEvent.ACTION_CANCEL); mStackScrollLayout.onInterceptTouchEvent(cancellation); mNotificationPanelViewController.sendInterceptTouchEventToView(cancellation); mNotificationPanelViewController.handleExternalInterceptTouch(cancellation); cancellation.recycle(); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +4 −27 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.widget.LinearLayout; import com.android.internal.policy.SystemBarUtils; import com.android.systemui.Dependency; import com.android.systemui.Gefingerpoken; import com.android.systemui.R; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; Loading @@ -60,7 +61,7 @@ public class PhoneStatusBarView extends FrameLayout { private Rect mDisplaySize; private int mStatusBarHeight; @Nullable private TouchEventHandler mTouchEventHandler; private Gefingerpoken mTouchEventHandler; /** * Draw this many pixels into the left/right side of the cutout to optimally use the space Loading @@ -72,7 +73,7 @@ public class PhoneStatusBarView extends FrameLayout { mContentInsetsProvider = Dependency.get(StatusBarContentInsetsProvider.class); } void setTouchEventHandler(TouchEventHandler handler) { void setTouchEventHandler(Gefingerpoken handler) { mTouchEventHandler = handler; } Loading Loading @@ -185,7 +186,7 @@ public class PhoneStatusBarView extends FrameLayout { ); return true; } return mTouchEventHandler.handleTouchEvent(event); return mTouchEventHandler.onTouchEvent(event); } @Override Loading Loading @@ -267,28 +268,4 @@ public class PhoneStatusBarView extends FrameLayout { insets.second, getPaddingBottom()); } /** * A handler responsible for all touch event handling on the status bar. * * Touches that occur on the status bar view may have ramifications for the notification * panel (e.g. a touch that pulls down the shade could start on the status bar), so this * interface provides a way to notify the panel controller when these touches occur. * * The handler will be notified each time {@link PhoneStatusBarView#onTouchEvent} and * {@link PhoneStatusBarView#onInterceptTouchEvent} are called. **/ public interface TouchEventHandler { /** Called each time {@link PhoneStatusBarView#onInterceptTouchEvent} is called. */ void onInterceptTouchEvent(MotionEvent event); /** * Called each time {@link PhoneStatusBarView#onTouchEvent} is called. * * Should return true if the touch was handled by this handler and false otherwise. The * return value from the handler will be returned from * {@link PhoneStatusBarView#onTouchEvent}. */ boolean handleTouchEvent(MotionEvent event); } } packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewController.kt +9 −8 Original line number Diff line number Diff line Loading @@ -24,11 +24,11 @@ import android.view.MotionEvent import android.view.View import android.view.ViewGroup import android.view.ViewTreeObserver import com.android.systemui.Gefingerpoken import com.android.systemui.R import com.android.systemui.shade.ShadeController import com.android.systemui.shade.ShadeLogger import com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimator import com.android.systemui.statusbar.phone.PhoneStatusBarView.TouchEventHandler import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.unfold.SysUIUnfoldComponent import com.android.systemui.unfold.UNFOLD_STATUS_BAR Loading Loading @@ -131,7 +131,7 @@ class PhoneStatusBarViewController private constructor( } /** Called when a touch event occurred on {@link PhoneStatusBarView}. */ fun onTouchEvent(event: MotionEvent) { fun onTouch(event: MotionEvent) { if (centralSurfaces.statusBarWindowState == WINDOW_STATE_SHOWING) { val upOrCancel = event.action == MotionEvent.ACTION_UP || Loading @@ -141,13 +141,14 @@ class PhoneStatusBarViewController private constructor( } } inner class PhoneStatusBarViewTouchHandler : TouchEventHandler { override fun onInterceptTouchEvent(event: MotionEvent) { onTouchEvent(event) inner class PhoneStatusBarViewTouchHandler : Gefingerpoken { override fun onInterceptTouchEvent(event: MotionEvent): Boolean { onTouch(event) return false } override fun handleTouchEvent(event: MotionEvent): Boolean { onTouchEvent(event) override fun onTouchEvent(event: MotionEvent): Boolean { onTouch(event) // If panels aren't enabled, ignore the gesture and don't pass it down to the // panel view. Loading @@ -174,7 +175,7 @@ class PhoneStatusBarViewController private constructor( return true } } return centralSurfaces.notificationPanelViewController.sendTouchEventToView(event) return centralSurfaces.notificationPanelViewController.handleExternalTouch(event) } } Loading packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +0 −2 Original line number Diff line number Diff line Loading @@ -536,12 +536,10 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mQsController, mFragmentService, mContentResolver, mRecordingController, mShadeHeaderController, mScreenOffAnimationController, mLockscreenGestureLogger, mShadeExpansionStateManager, mNotificationRemoteInputManager, mSysUIUnfoldComponent, mSysUiState, () -> mKeyguardBottomAreaViewController, Loading Loading
packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +25 −38 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ import com.android.keyguard.dagger.KeyguardStatusViewComponent; import com.android.keyguard.dagger.KeyguardUserSwitcherComponent; import com.android.systemui.DejankUtils; import com.android.systemui.Dumpable; import com.android.systemui.Gefingerpoken; import com.android.systemui.R; import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.Interpolators; Loading Loading @@ -162,14 +163,12 @@ import com.android.systemui.plugins.FalsingManager.FalsingTapListener; import com.android.systemui.plugins.qs.QS; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.screenrecord.RecordingController; import com.android.systemui.shade.transition.ShadeTransitionController; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.GestureRecorder; import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.LockscreenShadeTransitionController; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.NotificationShadeDepthController; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.NotificationShelfController; Loading Loading @@ -357,6 +356,7 @@ public final class NotificationPanelViewController implements Dumpable { private final AlternateBouncerInteractor mAlternateBouncerInteractor; private final QuickSettingsController mQsController; private final InteractionJankMonitor mInteractionJankMonitor; private final TouchHandler mTouchHandler = new TouchHandler(); private long mDownTime; private boolean mTouchSlopExceededBeforeDown; Loading Loading @@ -541,7 +541,7 @@ public final class NotificationPanelViewController implements Dumpable { private final KeyguardBottomAreaViewModel mKeyguardBottomAreaViewModel; private final KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; private float mMinExpandHeight; private ShadeHeightLogger mShadeHeightLogger; private final ShadeHeightLogger mShadeHeightLogger; private boolean mPanelUpdateWhenAnimatorEnds; private boolean mHasVibratedOnOpen = false; private int mFixedDuration = NO_FIXED_DURATION; Loading Loading @@ -586,15 +586,15 @@ public final class NotificationPanelViewController implements Dumpable { private boolean mGestureWaitForTouchSlop; private boolean mIgnoreXTouchSlop; private boolean mExpandLatencyTracking; private DreamingToLockscreenTransitionViewModel mDreamingToLockscreenTransitionViewModel; private OccludedToLockscreenTransitionViewModel mOccludedToLockscreenTransitionViewModel; private LockscreenToDreamingTransitionViewModel mLockscreenToDreamingTransitionViewModel; private GoneToDreamingTransitionViewModel mGoneToDreamingTransitionViewModel; private LockscreenToOccludedTransitionViewModel mLockscreenToOccludedTransitionViewModel; private final DreamingToLockscreenTransitionViewModel mDreamingToLockscreenTransitionViewModel; private final OccludedToLockscreenTransitionViewModel mOccludedToLockscreenTransitionViewModel; private final LockscreenToDreamingTransitionViewModel mLockscreenToDreamingTransitionViewModel; private final GoneToDreamingTransitionViewModel mGoneToDreamingTransitionViewModel; private final LockscreenToOccludedTransitionViewModel mLockscreenToOccludedTransitionViewModel; private KeyguardTransitionInteractor mKeyguardTransitionInteractor; private final KeyguardTransitionInteractor mKeyguardTransitionInteractor; private final KeyguardInteractor mKeyguardInteractor; private CoroutineDispatcher mMainDispatcher; private final CoroutineDispatcher mMainDispatcher; private boolean mIsOcclusionTransitionRunning = false; private int mDreamingToLockscreenTransitionTranslationY; private int mOccludedToLockscreenTransitionTranslationY; Loading Loading @@ -708,12 +708,10 @@ public final class NotificationPanelViewController implements Dumpable { QuickSettingsController quickSettingsController, FragmentService fragmentService, ContentResolver contentResolver, RecordingController recordingController, ShadeHeaderController shadeHeaderController, ScreenOffAnimationController screenOffAnimationController, LockscreenGestureLogger lockscreenGestureLogger, ShadeExpansionStateManager shadeExpansionStateManager, NotificationRemoteInputManager remoteInputManager, Optional<SysUIUnfoldComponent> unfoldComponent, SysUiState sysUiState, Provider<KeyguardBottomAreaViewController> keyguardBottomAreaViewControllerProvider, Loading Loading @@ -771,7 +769,7 @@ public final class NotificationPanelViewController implements Dumpable { }); mView.addOnLayoutChangeListener(new ShadeLayoutChangeListener()); mView.setOnTouchListener(createTouchHandler()); mView.setOnTouchListener(getTouchHandler()); mView.setOnConfigurationChangedListener(config -> loadDimens()); mResources = mView.getResources(); Loading Loading @@ -1643,10 +1641,6 @@ public final class NotificationPanelViewController implements Dumpable { return mDozing && mDozeParameters.getAlwaysOn(); } boolean isDozing() { return mDozing; } private boolean hasVisibleNotifications() { return mNotificationStackScrollLayoutController .getVisibleNotificationCount() != 0 Loading Loading @@ -3336,8 +3330,8 @@ public final class NotificationPanelViewController implements Dumpable { } @VisibleForTesting TouchHandler createTouchHandler() { return new TouchHandler(); TouchHandler getTouchHandler() { return mTouchHandler; } public NotificationStackScrollLayoutController getNotificationStackScrollLayoutController() { Loading Loading @@ -3985,14 +3979,14 @@ public final class NotificationPanelViewController implements Dumpable { return mView.post(action); } /** */ public boolean sendInterceptTouchEventToView(MotionEvent event) { return mView.onInterceptTouchEvent(event); /** Sends an external (e.g. Status Bar) intercept touch event to the Shade touch handler. */ public boolean handleExternalInterceptTouch(MotionEvent event) { return mTouchHandler.onInterceptTouchEvent(event); } /** */ public boolean sendTouchEventToView(MotionEvent event) { return mView.dispatchTouchEvent(event); /** Sends an external (e.g. Status Bar) touch event to the Shade touch handler. */ public boolean handleExternalTouch(MotionEvent event) { return mTouchHandler.onTouchEvent(event); } /** */ Loading @@ -4010,14 +4004,6 @@ public final class NotificationPanelViewController implements Dumpable { return mView.isEnabled(); } int getDisplayRightInset() { return mDisplayRightInset; } int getDisplayLeftInset() { return mDisplayLeftInset; } float getOverStretchAmount() { return mOverStretchAmount; } Loading @@ -4026,10 +4012,6 @@ public final class NotificationPanelViewController implements Dumpable { return mMinFraction; } boolean getCollapsedOnDown() { return mCollapsedOnDown; } int getNavigationBarBottomHeight() { return mNavigationBarBottomHeight; } Loading Loading @@ -4593,7 +4575,7 @@ public final class NotificationPanelViewController implements Dumpable { } /** Handles MotionEvents for the Shade. */ public final class TouchHandler implements View.OnTouchListener { public final class TouchHandler implements View.OnTouchListener, Gefingerpoken { private long mLastTouchDownTime = -1L; /** @see ViewGroup#onInterceptTouchEvent(MotionEvent) */ Loading Loading @@ -4739,6 +4721,11 @@ public final class NotificationPanelViewController implements Dumpable { @Override public boolean onTouch(View v, MotionEvent event) { return onTouchEvent(event); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { if (event.getDownTime() == mLastTouchDownTime) { // An issue can occur when swiping down after unlock, where multiple down Loading
packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java +1 −1 Original line number Diff line number Diff line Loading @@ -342,7 +342,7 @@ public class NotificationShadeWindowViewController { MotionEvent cancellation = MotionEvent.obtain(ev); cancellation.setAction(MotionEvent.ACTION_CANCEL); mStackScrollLayout.onInterceptTouchEvent(cancellation); mNotificationPanelViewController.sendInterceptTouchEventToView(cancellation); mNotificationPanelViewController.handleExternalInterceptTouch(cancellation); cancellation.recycle(); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +4 −27 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.widget.LinearLayout; import com.android.internal.policy.SystemBarUtils; import com.android.systemui.Dependency; import com.android.systemui.Gefingerpoken; import com.android.systemui.R; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; Loading @@ -60,7 +61,7 @@ public class PhoneStatusBarView extends FrameLayout { private Rect mDisplaySize; private int mStatusBarHeight; @Nullable private TouchEventHandler mTouchEventHandler; private Gefingerpoken mTouchEventHandler; /** * Draw this many pixels into the left/right side of the cutout to optimally use the space Loading @@ -72,7 +73,7 @@ public class PhoneStatusBarView extends FrameLayout { mContentInsetsProvider = Dependency.get(StatusBarContentInsetsProvider.class); } void setTouchEventHandler(TouchEventHandler handler) { void setTouchEventHandler(Gefingerpoken handler) { mTouchEventHandler = handler; } Loading Loading @@ -185,7 +186,7 @@ public class PhoneStatusBarView extends FrameLayout { ); return true; } return mTouchEventHandler.handleTouchEvent(event); return mTouchEventHandler.onTouchEvent(event); } @Override Loading Loading @@ -267,28 +268,4 @@ public class PhoneStatusBarView extends FrameLayout { insets.second, getPaddingBottom()); } /** * A handler responsible for all touch event handling on the status bar. * * Touches that occur on the status bar view may have ramifications for the notification * panel (e.g. a touch that pulls down the shade could start on the status bar), so this * interface provides a way to notify the panel controller when these touches occur. * * The handler will be notified each time {@link PhoneStatusBarView#onTouchEvent} and * {@link PhoneStatusBarView#onInterceptTouchEvent} are called. **/ public interface TouchEventHandler { /** Called each time {@link PhoneStatusBarView#onInterceptTouchEvent} is called. */ void onInterceptTouchEvent(MotionEvent event); /** * Called each time {@link PhoneStatusBarView#onTouchEvent} is called. * * Should return true if the touch was handled by this handler and false otherwise. The * return value from the handler will be returned from * {@link PhoneStatusBarView#onTouchEvent}. */ boolean handleTouchEvent(MotionEvent event); } }
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewController.kt +9 −8 Original line number Diff line number Diff line Loading @@ -24,11 +24,11 @@ import android.view.MotionEvent import android.view.View import android.view.ViewGroup import android.view.ViewTreeObserver import com.android.systemui.Gefingerpoken import com.android.systemui.R import com.android.systemui.shade.ShadeController import com.android.systemui.shade.ShadeLogger import com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimator import com.android.systemui.statusbar.phone.PhoneStatusBarView.TouchEventHandler import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.unfold.SysUIUnfoldComponent import com.android.systemui.unfold.UNFOLD_STATUS_BAR Loading Loading @@ -131,7 +131,7 @@ class PhoneStatusBarViewController private constructor( } /** Called when a touch event occurred on {@link PhoneStatusBarView}. */ fun onTouchEvent(event: MotionEvent) { fun onTouch(event: MotionEvent) { if (centralSurfaces.statusBarWindowState == WINDOW_STATE_SHOWING) { val upOrCancel = event.action == MotionEvent.ACTION_UP || Loading @@ -141,13 +141,14 @@ class PhoneStatusBarViewController private constructor( } } inner class PhoneStatusBarViewTouchHandler : TouchEventHandler { override fun onInterceptTouchEvent(event: MotionEvent) { onTouchEvent(event) inner class PhoneStatusBarViewTouchHandler : Gefingerpoken { override fun onInterceptTouchEvent(event: MotionEvent): Boolean { onTouch(event) return false } override fun handleTouchEvent(event: MotionEvent): Boolean { onTouchEvent(event) override fun onTouchEvent(event: MotionEvent): Boolean { onTouch(event) // If panels aren't enabled, ignore the gesture and don't pass it down to the // panel view. Loading @@ -174,7 +175,7 @@ class PhoneStatusBarViewController private constructor( return true } } return centralSurfaces.notificationPanelViewController.sendTouchEventToView(event) return centralSurfaces.notificationPanelViewController.handleExternalTouch(event) } } Loading
packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +0 −2 Original line number Diff line number Diff line Loading @@ -536,12 +536,10 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mQsController, mFragmentService, mContentResolver, mRecordingController, mShadeHeaderController, mScreenOffAnimationController, mLockscreenGestureLogger, mShadeExpansionStateManager, mNotificationRemoteInputManager, mSysUIUnfoldComponent, mSysUiState, () -> mKeyguardBottomAreaViewController, Loading