Merge changes Ic81ad683,I082c94f7,I43f93cbf,I0396ae62 into udc-dev

* changes:
  Set lockout in onResume.
  Move async_bouncer to teamfood.
  Set needs input after inflating.
  Launch feature to teamfood.
This commit is contained in:
Aaron Liu
2023-03-27 19:11:54 +00:00
committed by Android (Google) Code Review
7 changed files with 65 additions and 5 deletions

View File

@@ -277,6 +277,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
@Override
public void onResume(int reason) {
mResumed = true;
reset();
}
@Override

View File

@@ -270,6 +270,12 @@ public class KeyguardPatternViewController
}
}
@Override
public void onResume(int reason) {
super.onResume(reason);
reset();
}
@Override
public void onPause() {
super.onPause();

View File

@@ -54,19 +54,23 @@ public class KeyguardSecurityViewFlipperController
private final Factory mKeyguardSecurityViewControllerFactory;
private final FeatureFlags mFeatureFlags;
private final ViewMediatorCallback mViewMediatorCallback;
@Inject
protected KeyguardSecurityViewFlipperController(KeyguardSecurityViewFlipper view,
LayoutInflater layoutInflater,
AsyncLayoutInflater asyncLayoutInflater,
KeyguardInputViewController.Factory keyguardSecurityViewControllerFactory,
EmergencyButtonController.Factory emergencyButtonControllerFactory,
FeatureFlags featureFlags) {
FeatureFlags featureFlags,
ViewMediatorCallback viewMediatorCallback) {
super(view);
mKeyguardSecurityViewControllerFactory = keyguardSecurityViewControllerFactory;
mLayoutInflater = layoutInflater;
mEmergencyButtonControllerFactory = emergencyButtonControllerFactory;
mAsyncLayoutInflater = asyncLayoutInflater;
mFeatureFlags = featureFlags;
mViewMediatorCallback = viewMediatorCallback;
}
@Override
@@ -152,6 +156,7 @@ public class KeyguardSecurityViewFlipperController
keyguardSecurityCallback);
childController.init();
mChildren.add(childController);
mViewMediatorCallback.setNeedsInput(childController.needsInput());
if (onViewInflatedListener != null) {
onViewInflatedListener.onViewInflated();
}

View File

@@ -219,12 +219,12 @@ object Flags {
/** Whether to inflate the bouncer view on a background thread. */
// TODO(b/272091103): Tracking Bug
@JvmField
val ASYNC_INFLATE_BOUNCER = unreleasedFlag(229, "async_inflate_bouncer", teamfood = false)
val ASYNC_INFLATE_BOUNCER = unreleasedFlag(229, "async_inflate_bouncer", teamfood = true)
/** Whether to inflate the bouncer view on a background thread. */
// TODO(b/273341787): Tracking Bug
@JvmField
val PREVENT_BYPASS_KEYGUARD = unreleasedFlag(230, "prevent_bypass_keyguard")
val PREVENT_BYPASS_KEYGUARD = unreleasedFlag(230, "prevent_bypass_keyguard", teamfood = true)
/** Whether to use a new data source for intents to run on keyguard dismissal. */
@JvmField

View File

@@ -17,6 +17,7 @@
package com.android.keyguard;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -151,10 +152,19 @@ public class KeyguardAbsKeyInputViewControllerTest extends SysuiTestCase {
false);
}
@Test
public void testReset() {
mKeyguardAbsKeyInputViewController.reset();
verify(mKeyguardMessageAreaController).setMessage("", false);
verify(mAbsKeyInputView).resetPasswordText(false, false);
verify(mLockPatternUtils).getLockoutAttemptDeadline(anyInt());
}
@Test
public void onResume_Reset() {
mKeyguardAbsKeyInputViewController.onResume(KeyguardSecurityView.VIEW_REVEALED);
verify(mKeyguardMessageAreaController).setMessage("", false);
verify(mAbsKeyInputView).resetPasswordText(false, false);
verify(mLockPatternUtils).getLockoutAttemptDeadline(anyInt());
}
}

View File

@@ -31,6 +31,7 @@ import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyBoolean
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.anyString
import org.mockito.Mock
import org.mockito.Mockito.never
@@ -119,4 +120,24 @@ class KeyguardPatternViewControllerTest : SysuiTestCase() {
mKeyguardPatternViewController.startAppearAnimation()
verify(mKeyguardMessageAreaController, never()).setMessage(anyString(), anyBoolean())
}
@Test
fun reset() {
mKeyguardPatternViewController.reset()
verify(mLockPatternView).setInStealthMode(anyBoolean())
verify(mLockPatternView).enableInput()
verify(mLockPatternView).setEnabled(true)
verify(mLockPatternView).clearPattern()
verify(mLockPatternUtils).getLockoutAttemptDeadline(anyInt())
}
@Test
fun resume() {
mKeyguardPatternViewController.onResume(KeyguardSecurityView.VIEW_REVEALED)
verify(mLockPatternView).setInStealthMode(anyBoolean())
verify(mLockPatternView).enableInput()
verify(mLockPatternView).setEnabled(true)
verify(mLockPatternView).clearPattern()
verify(mLockPatternUtils).getLockoutAttemptDeadline(anyInt())
}
}

View File

@@ -35,6 +35,7 @@ import androidx.asynclayoutinflater.view.AsyncLayoutInflater;
import androidx.test.filters.SmallTest;
import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.flags.FeatureFlags;
@@ -42,6 +43,7 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -76,6 +78,8 @@ public class KeyguardSecurityViewFlipperControllerTest extends SysuiTestCase {
private KeyguardSecurityCallback mKeyguardSecurityCallback;
@Mock
private FeatureFlags mFeatureFlags;
@Mock
private ViewMediatorCallback mViewMediatorCallback;
private KeyguardSecurityViewFlipperController mKeyguardSecurityViewFlipperController;
@@ -92,7 +96,7 @@ public class KeyguardSecurityViewFlipperControllerTest extends SysuiTestCase {
mKeyguardSecurityViewFlipperController = new KeyguardSecurityViewFlipperController(mView,
mLayoutInflater, mAsyncLayoutInflater, mKeyguardSecurityViewControllerFactory,
mEmergencyButtonControllerFactory, mFeatureFlags);
mEmergencyButtonControllerFactory, mFeatureFlags, mViewMediatorCallback);
}
@Test
@@ -122,6 +126,19 @@ public class KeyguardSecurityViewFlipperControllerTest extends SysuiTestCase {
AsyncLayoutInflater.OnInflateFinishedListener.class));
}
@Test
public void asynchronouslyInflateView_setNeedsInput() {
ArgumentCaptor<AsyncLayoutInflater.OnInflateFinishedListener> argumentCaptor =
ArgumentCaptor.forClass(AsyncLayoutInflater.OnInflateFinishedListener.class);
mKeyguardSecurityViewFlipperController.asynchronouslyInflateView(SecurityMode.PIN,
mKeyguardSecurityCallback, null);
verify(mAsyncLayoutInflater).inflate(anyInt(), eq(mView), argumentCaptor.capture());
argumentCaptor.getValue().onInflateFinished(
LayoutInflater.from(getContext()).inflate(R.layout.keyguard_password_view, null),
R.layout.keyguard_password_view, mView);
verify(mViewMediatorCallback).setNeedsInput(anyBoolean());
}
@Test
public void onDensityOrFontScaleChanged() {
mKeyguardSecurityViewFlipperController.clearViews();