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

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

Merge "DozeScreenState unregisters for AuthControllerCB"

parents c450b4ab 8d68f1d0
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);
@@ -234,4 +229,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