Merge "Only update lock icon views on the main thread" into sc-v2-dev am: 296086064e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16101402 Change-Id: I386a6bd9be1093567e9f0bb7b85ed3fdc6119504
This commit is contained in:
@@ -695,8 +695,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
|
|||||||
private final AuthController.Callback mAuthControllerCallback = new AuthController.Callback() {
|
private final AuthController.Callback mAuthControllerCallback = new AuthController.Callback() {
|
||||||
@Override
|
@Override
|
||||||
public void onAllAuthenticatorsRegistered() {
|
public void onAllAuthenticatorsRegistered() {
|
||||||
updateIsUdfpsEnrolled();
|
// must be called from the main thread since it may update the views
|
||||||
updateConfiguration();
|
mExecutor.execute(() -> {
|
||||||
|
updateIsUdfpsEnrolled();
|
||||||
|
updateConfiguration();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,8 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
|||||||
import com.android.systemui.statusbar.StatusBarState;
|
import com.android.systemui.statusbar.StatusBarState;
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||||
import com.android.systemui.util.concurrency.DelayableExecutor;
|
import com.android.systemui.util.concurrency.FakeExecutor;
|
||||||
|
import com.android.systemui.util.time.FakeSystemClock;
|
||||||
|
|
||||||
import com.airbnb.lottie.LottieAnimationView;
|
import com.airbnb.lottie.LottieAnimationView;
|
||||||
|
|
||||||
@@ -97,11 +98,11 @@ public class LockIconViewControllerTest extends SysuiTestCase {
|
|||||||
private @Mock DumpManager mDumpManager;
|
private @Mock DumpManager mDumpManager;
|
||||||
private @Mock AccessibilityManager mAccessibilityManager;
|
private @Mock AccessibilityManager mAccessibilityManager;
|
||||||
private @Mock ConfigurationController mConfigurationController;
|
private @Mock ConfigurationController mConfigurationController;
|
||||||
private @Mock DelayableExecutor mDelayableExecutor;
|
|
||||||
private @Mock Vibrator mVibrator;
|
private @Mock Vibrator mVibrator;
|
||||||
private @Mock AuthRippleController mAuthRippleController;
|
private @Mock AuthRippleController mAuthRippleController;
|
||||||
private @Mock LottieAnimationView mAodFp;
|
private @Mock LottieAnimationView mAodFp;
|
||||||
private @Mock LayoutInflater mLayoutInflater;
|
private @Mock LayoutInflater mLayoutInflater;
|
||||||
|
private FakeExecutor mDelayableExecutor = new FakeExecutor(new FakeSystemClock());
|
||||||
|
|
||||||
private LockIconViewController mLockIconViewController;
|
private LockIconViewController mLockIconViewController;
|
||||||
|
|
||||||
@@ -223,6 +224,7 @@ public class LockIconViewControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
// WHEN all authenticators are registered
|
// WHEN all authenticators are registered
|
||||||
mAuthControllerCallback.onAllAuthenticatorsRegistered();
|
mAuthControllerCallback.onAllAuthenticatorsRegistered();
|
||||||
|
mDelayableExecutor.runAllReady();
|
||||||
|
|
||||||
// THEN lock icon view location is updated with the same coordinates as fpProps
|
// THEN lock icon view location is updated with the same coordinates as fpProps
|
||||||
verify(mLockIconView).setCenterLocation(mPointCaptor.capture(), eq(udfps.first));
|
verify(mLockIconView).setCenterLocation(mPointCaptor.capture(), eq(udfps.first));
|
||||||
|
|||||||
Reference in New Issue
Block a user