Merge "DO NOT MERGE DozeScreenState unregisters for AuthControllerCB" into sc-v2-dev

This commit is contained in:
TreeHugger Robot
2022-02-14 17:43:20 +00:00
committed by Android (Google) Code Review
2 changed files with 26 additions and 11 deletions

View File

@@ -105,17 +105,7 @@ public class DozeScreenState implements DozeMachine.Part {
updateUdfpsController(); updateUdfpsController();
if (mUdfpsController == null) { if (mUdfpsController == null) {
mAuthController.addCallback(new AuthController.Callback() { mAuthController.addCallback(mAuthControllerCallback);
@Override
public void onAllAuthenticatorsRegistered() {
updateUdfpsController();
}
@Override
public void onEnrollmentsChanged() {
updateUdfpsController();
}
});
} }
} }
@@ -127,6 +117,11 @@ public class DozeScreenState implements DozeMachine.Part {
} }
} }
@Override
public void destroy() {
mAuthController.removeCallback(mAuthControllerCallback);
}
@Override @Override
public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) { public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) {
int screenState = newState.screenState(mParameters); int screenState = newState.screenState(mParameters);
@@ -222,4 +217,16 @@ public class DozeScreenState implements DozeMachine.Part {
mWakeLock.setAcquired(false); mWakeLock.setAcquired(false);
} }
} }
private final AuthController.Callback mAuthControllerCallback = new AuthController.Callback() {
@Override
public void onAllAuthenticatorsRegistered() {
updateUdfpsController();
}
@Override
public void onEnrollmentsChanged() {
updateUdfpsController();
}
};
} }

View File

@@ -35,6 +35,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -306,4 +307,11 @@ public class DozeScreenStateTest extends SysuiTestCase {
// THEN the display screen state will change // THEN the display screen state will change
assertEquals(Display.STATE_DOZE_SUSPEND, mServiceFake.screenState); assertEquals(Display.STATE_DOZE_SUSPEND, mServiceFake.screenState);
} }
@Test
public void authCallbackRemovedOnDestroy() {
mScreen.destroy();
verify(mAuthController).removeCallback(anyObject());
}
} }