summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Brad Hinegardner <bhinegardner@google.com> 2023-12-04 00:00:41 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-12-04 00:00:41 +0000
commit551a79c138e3ecd1fe67f0f17bc1d2757b6ce143 (patch)
tree35b0d8144c84d4ecbcff340c479ddd37fb564d78
parent88a14ceb2ca7e4d5ebbeaf4c6eb7528dfc96c623 (diff)
parent7fbc8a0ea69fbf97480e28cbf233022ed9005829 (diff)
Merge "Reset screen timeout upon keyguard touches for nssl migration" into main
-rw-r--r--packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java22
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt24
4 files changed, 50 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
index 30bfe2ab38e1..66d70e6ee2a2 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
@@ -4838,7 +4838,9 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
- mCentralSurfaces.userActivity();
+ if (!KeyguardShadeMigrationNssl.isEnabled()) {
+ mCentralSurfaces.userActivity();
+ }
mAnimatingOnDown = mHeightAnimator != null && !mIsSpringBackAnimation;
mMinExpandHeight = 0.0f;
mDownTime = mSystemClock.uptimeMillis();
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java
index cf1dfdc3f701..73537edcc94a 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java
@@ -311,6 +311,9 @@ public class NotificationShadeWindowViewController implements Dumpable {
mTouchActive = true;
mTouchCancelled = false;
mDownEvent = ev;
+ if (KeyguardShadeMigrationNssl.isEnabled()) {
+ mService.userActivity();
+ }
} else if (ev.getActionMasked() == MotionEvent.ACTION_UP
|| ev.getActionMasked() == MotionEvent.ACTION_CANCEL) {
mTouchActive = false;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
index 36b4435e2137..28fe8e4e8d3a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
@@ -362,6 +362,28 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
}
@Test
+ public void onInterceptTouchEvent_nsslMigrationOff_userActivity() {
+ mSetFlagsRule.disableFlags(com.android.systemui.Flags.FLAG_KEYGUARD_SHADE_MIGRATION_NSSL);
+
+ mTouchHandler.onInterceptTouchEvent(MotionEvent.obtain(0L /* downTime */,
+ 0L /* eventTime */, MotionEvent.ACTION_DOWN, 0f /* x */, 0f /* y */,
+ 0 /* metaState */));
+
+ verify(mCentralSurfaces).userActivity();
+ }
+
+ @Test
+ public void onInterceptTouchEvent_nsslMigrationOn_userActivity_not_called() {
+ mSetFlagsRule.enableFlags(com.android.systemui.Flags.FLAG_KEYGUARD_SHADE_MIGRATION_NSSL);
+
+ mTouchHandler.onInterceptTouchEvent(MotionEvent.obtain(0L /* downTime */,
+ 0L /* eventTime */, MotionEvent.ACTION_DOWN, 0f /* x */, 0f /* y */,
+ 0 /* metaState */));
+
+ verify(mCentralSurfaces, times(0)).userActivity();
+ }
+
+ @Test
public void testOnTouchEvent_expansionResumesAfterBriefTouch() {
mFalsingManager.setIsClassifierEnabled(true);
mFalsingManager.setIsFalseTouch(false);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt
index 0587633b09cf..6ff79660efec 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt
@@ -98,7 +98,6 @@ import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.time.FakeSystemClock
import com.google.common.truth.Truth.assertThat
-import java.util.Optional
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.emptyFlow
import kotlinx.coroutines.test.TestScope
@@ -113,8 +112,9 @@ import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
-import org.mockito.Mockito.`when` as whenever
import org.mockito.MockitoAnnotations
+import java.util.Optional
+import org.mockito.Mockito.`when` as whenever
@OptIn(ExperimentalCoroutinesApi::class)
@SmallTest
@@ -446,6 +446,26 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() {
}
@Test
+ fun handleDispatchTouchEvent_nsslMigrationOff_userActivity_not_called() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_KEYGUARD_SHADE_MIGRATION_NSSL)
+ underTest.setStatusBarViewController(phoneStatusBarViewController)
+
+ interactionEventHandler.handleDispatchTouchEvent(DOWN_EVENT)
+
+ verify(centralSurfaces, times(0)).userActivity()
+ }
+
+ @Test
+ fun handleDispatchTouchEvent_nsslMigrationOn_userActivity() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_KEYGUARD_SHADE_MIGRATION_NSSL)
+ underTest.setStatusBarViewController(phoneStatusBarViewController)
+
+ interactionEventHandler.handleDispatchTouchEvent(DOWN_EVENT)
+
+ verify(centralSurfaces).userActivity()
+ }
+
+ @Test
fun shouldInterceptTouchEvent_statusBarKeyguardViewManagerShouldIntercept() {
// down event should be intercepted by keyguardViewManager
whenever(statusBarKeyguardViewManager.shouldInterceptTouchEvent(DOWN_EVENT))