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:
@@ -277,6 +277,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
|
||||
@Override
|
||||
public void onResume(int reason) {
|
||||
mResumed = true;
|
||||
reset();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -270,6 +270,12 @@ public class KeyguardPatternViewController
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(int reason) {
|
||||
super.onResume(reason);
|
||||
reset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user