Merge changes from topic "presubmit-am-2e7f765efd5f4949a381b8eb282b2dcc" into sc-v2-dev-plus-aosp

* changes:
  [automerge] DO NOT MERGE DozeScreenState unregisters for AuthControllerCB 2p: 0d4aa6312a
  DO NOT MERGE DozeScreenState unregisters for AuthControllerCB
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();
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();
}
};
}

View File

@@ -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());
}
}