Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebf49d75 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents fb9be29a 0d4aa631
Loading
Loading
Loading
Loading
+18 −11
Original line number Diff line number Diff line
@@ -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();
        }
    };
}
+8 −0
Original line number Diff line number Diff line
@@ -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());
    }
}
 No newline at end of file