Loading services/core/java/com/android/server/biometrics/log/ALSProbe.java +6 −3 Original line number Diff line number Diff line Loading @@ -179,15 +179,18 @@ final class ALSProbe implements Probe { nextConsumer.consume(current); } else if (mNextConsumer != null) { mNextConsumer.add(nextConsumer); } else { } else if (mLightSensor != null) { mDestroyed = false; mNextConsumer = nextConsumer; enableLightSensorLoggingLocked(); } else { Slog.w(TAG, "No light sensor - use current to consume"); nextConsumer.consume(current); } } private void enableLightSensorLoggingLocked() { if (!mEnabled) { if (!mEnabled && mLightSensor != null) { mEnabled = true; mLastAmbientLux = -1; mSensorManager.registerListener(mLightSensorListener, mLightSensor, Loading @@ -201,7 +204,7 @@ final class ALSProbe implements Probe { private void disableLightSensorLoggingLocked(boolean destroying) { resetTimerLocked(false /* start */); if (mEnabled) { if (mEnabled && mLightSensor != null) { mEnabled = false; if (!destroying) { mLastAmbientLux = -1; Loading services/tests/servicestests/src/com/android/server/biometrics/log/ALSProbeTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -344,6 +344,21 @@ public class ALSProbeTest { verifyNoMoreInteractions(mSensorManager); } @Test public void testAwaitLuxWhenNoLightSensor() { when(mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT)).thenReturn(null); mProbe = new ALSProbe(mSensorManager, new Handler(mLooper.getLooper()), TIMEOUT_MS - 1); AtomicInteger lux = new AtomicInteger(-5); mProbe.awaitNextLux((v) -> lux.set(Math.round(v)), null /* handler */); // Verify that no light sensor will be registered. verify(mSensorManager, times(0)).registerListener( mSensorEventListenerCaptor.capture(), any(), anyInt()); assertThat(lux.get()).isEqualTo(-1); } private void moveTimeBy(long millis) { mLooper.moveTimeForward(millis); mLooper.processAllMessages(); Loading Loading
services/core/java/com/android/server/biometrics/log/ALSProbe.java +6 −3 Original line number Diff line number Diff line Loading @@ -179,15 +179,18 @@ final class ALSProbe implements Probe { nextConsumer.consume(current); } else if (mNextConsumer != null) { mNextConsumer.add(nextConsumer); } else { } else if (mLightSensor != null) { mDestroyed = false; mNextConsumer = nextConsumer; enableLightSensorLoggingLocked(); } else { Slog.w(TAG, "No light sensor - use current to consume"); nextConsumer.consume(current); } } private void enableLightSensorLoggingLocked() { if (!mEnabled) { if (!mEnabled && mLightSensor != null) { mEnabled = true; mLastAmbientLux = -1; mSensorManager.registerListener(mLightSensorListener, mLightSensor, Loading @@ -201,7 +204,7 @@ final class ALSProbe implements Probe { private void disableLightSensorLoggingLocked(boolean destroying) { resetTimerLocked(false /* start */); if (mEnabled) { if (mEnabled && mLightSensor != null) { mEnabled = false; if (!destroying) { mLastAmbientLux = -1; Loading
services/tests/servicestests/src/com/android/server/biometrics/log/ALSProbeTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -344,6 +344,21 @@ public class ALSProbeTest { verifyNoMoreInteractions(mSensorManager); } @Test public void testAwaitLuxWhenNoLightSensor() { when(mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT)).thenReturn(null); mProbe = new ALSProbe(mSensorManager, new Handler(mLooper.getLooper()), TIMEOUT_MS - 1); AtomicInteger lux = new AtomicInteger(-5); mProbe.awaitNextLux((v) -> lux.set(Math.round(v)), null /* handler */); // Verify that no light sensor will be registered. verify(mSensorManager, times(0)).registerListener( mSensorEventListenerCaptor.capture(), any(), anyInt()); assertThat(lux.get()).isEqualTo(-1); } private void moveTimeBy(long millis) { mLooper.moveTimeForward(millis); mLooper.processAllMessages(); Loading