DO NOT MERGE DozeScreenState unregisters for AuthControllerCB
Test: atest DozeScreenStateTest Fixes: 218885442 Change-Id: Ib6cbdf14c2a1ec6aedfb0924ed30983779f7d624
This commit is contained in:
@@ -105,17 +105,7 @@ public class DozeScreenState implements DozeMachine.Part {
|
||||
|
||||
updateUdfpsController();
|
||||
if (mUdfpsController == null) {
|
||||
mAuthController.addCallback(new AuthController.Callback() {
|
||||
@Override
|
||||
public void onAllAuthenticatorsRegistered() {
|
||||
updateUdfpsController();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnrollmentsChanged() {
|
||||
updateUdfpsController();
|
||||
}
|
||||
});
|
||||
mAuthController.addCallback(mAuthControllerCallback);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,6 +117,11 @@ public class DozeScreenState implements DozeMachine.Part {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
mAuthController.removeCallback(mAuthControllerCallback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) {
|
||||
int screenState = newState.screenState(mParameters);
|
||||
@@ -222,4 +217,16 @@ public class DozeScreenState implements DozeMachine.Part {
|
||||
mWakeLock.setAcquired(false);
|
||||
}
|
||||
}
|
||||
|
||||
private final AuthController.Callback mAuthControllerCallback = new AuthController.Callback() {
|
||||
@Override
|
||||
public void onAllAuthenticatorsRegistered() {
|
||||
updateUdfpsController();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnrollmentsChanged() {
|
||||
updateUdfpsController();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Matchers.anyObject;
|
||||
import static org.mockito.Mockito.anyInt;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -306,4 +307,11 @@ public class DozeScreenStateTest extends SysuiTestCase {
|
||||
// THEN the display screen state will change
|
||||
assertEquals(Display.STATE_DOZE_SUSPEND, mServiceFake.screenState);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void authCallbackRemovedOnDestroy() {
|
||||
mScreen.destroy();
|
||||
|
||||
verify(mAuthController).removeCallback(anyObject());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user