diff options
author | Alex Hong <rurumihong@google.com> | 2022-03-07 20:45:32 +0800 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-03-10 07:29:00 +0000 |
commit | 340a7fdfa41bda515f31cb9f61072f151dfbe432 (patch) | |
tree | d806080651b67f0cba49847224ff22da77976a0f | |
parent | 3852e9ded8dd6e9192ba7a6d58f9c8a36c61231d (diff) | |
download | base-340a7fdfa41bda515f31cb9f61072f151dfbe432.tar.gz |
Revert "Update BrightnessTracker to use same sensor as ABC."
This reverts commit f24d549cc6f025c5559b257708954c5987595bde.
Revert reason: Check if this causes AOC regression
Bug: 223124178
Change-Id: I5dc8cf05746963131cc72b989fdc18b8789ffb31
(cherry picked from commit 0efb2453475fefb49327a0cf838fc6a9e469337a)
Merged-In: I5dc8cf05746963131cc72b989fdc18b8789ffb31
3 files changed, 5 insertions, 89 deletions
diff --git a/services/core/java/com/android/server/display/BrightnessTracker.java b/services/core/java/com/android/server/display/BrightnessTracker.java index 17215e5ae4ad..2c2a2bf24cfd 100644 --- a/services/core/java/com/android/server/display/BrightnessTracker.java +++ b/services/core/java/com/android/server/display/BrightnessTracker.java @@ -131,7 +131,6 @@ public class BrightnessTracker { private static final int MSG_STOP_SENSOR_LISTENER = 2; private static final int MSG_START_SENSOR_LISTENER = 3; private static final int MSG_BRIGHTNESS_CONFIG_CHANGED = 4; - private static final int MSG_SENSOR_CHANGED = 5; private static final SimpleDateFormat FORMAT = new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); @@ -159,7 +158,6 @@ public class BrightnessTracker { // These members should only be accessed on the mBgHandler thread. private BroadcastReceiver mBroadcastReceiver; private SensorListener mSensorListener; - private Sensor mLightSensor; private SettingsObserver mSettingsObserver; private DisplayListener mDisplayListener; private boolean mSensorRegistered; @@ -329,14 +327,6 @@ public class BrightnessTracker { m.sendToTarget(); } - /** - * Updates the light sensor to use. - */ - public void setLightSensor(Sensor lightSensor) { - mBgHandler.obtainMessage(MSG_SENSOR_CHANGED, 0 /*unused*/, 0/*unused*/, lightSensor) - .sendToTarget(); - } - private void handleBrightnessChanged(float brightness, boolean userInitiated, float powerBrightnessFactor, boolean isUserSetBrightness, boolean isDefaultBrightnessConfig, long timestamp, String uniqueDisplayId) { @@ -438,28 +428,13 @@ public class BrightnessTracker { } } - private void handleSensorChanged(Sensor lightSensor) { - if (mLightSensor != lightSensor) { - mLightSensor = lightSensor; - stopSensorListener(); - synchronized (mDataCollectionLock) { - mLastSensorReadings.clear(); - } - // Attempt to restart the sensor listener. It will check to see if it should be running - // so there is no need to also check here. - startSensorListener(); - } - } - private void startSensorListener() { if (!mSensorRegistered - && mLightSensor != null - && mAmbientBrightnessStatsTracker != null && mInjector.isInteractive(mContext) && mInjector.isBrightnessModeAutomatic(mContentResolver)) { mAmbientBrightnessStatsTracker.start(); mSensorRegistered = true; - mInjector.registerSensorListener(mContext, mSensorListener, mLightSensor, + mInjector.registerSensorListener(mContext, mSensorListener, mInjector.getBackgroundHandler()); } } @@ -761,7 +736,6 @@ public class BrightnessTracker { pw.println("BrightnessTracker state:"); synchronized (mDataCollectionLock) { pw.println(" mStarted=" + mStarted); - pw.println(" mLightSensor=" + mLightSensor); pw.println(" mLastBatteryLevel=" + mLastBatteryLevel); pw.println(" mLastBrightness=" + mLastBrightness); pw.println(" mLastSensorReadings.size=" + mLastSensorReadings.size()); @@ -1043,9 +1017,6 @@ public class BrightnessTracker { disableColorSampling(); } break; - case MSG_SENSOR_CHANGED: - handleSensorChanged((Sensor) msg.obj); - break; } } @@ -1074,8 +1045,9 @@ public class BrightnessTracker { @VisibleForTesting static class Injector { public void registerSensorListener(Context context, - SensorEventListener sensorListener, Sensor lightSensor, Handler handler) { + SensorEventListener sensorListener, Handler handler) { SensorManager sensorManager = context.getSystemService(SensorManager.class); + Sensor lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); sensorManager.registerListener(sensorListener, lightSensor, SensorManager.SENSOR_DELAY_NORMAL, handler); } diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 77c1fc031598..e4cda38e4ae5 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -795,6 +795,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private void loadFromDisplayDeviceConfig(IBinder token, DisplayDeviceInfo info) { // All properties that depend on the associated DisplayDevice and the DDC must be // updated here. + loadAmbientLightSensor(); loadBrightnessRampRates(); loadProximitySensor(); loadNitsRange(mContext.getResources()); @@ -924,9 +925,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call } loadAmbientLightSensor(); - if (mBrightnessTracker != null) { - mBrightnessTracker.setLightSensor(mLightSensor); - } if (mAutomaticBrightnessController != null) { mAutomaticBrightnessController.stop(); diff --git a/services/tests/servicestests/src/com/android/server/display/BrightnessTrackerTest.java b/services/tests/servicestests/src/com/android/server/display/BrightnessTrackerTest.java index 356600d84099..bdf94f3a2882 100644 --- a/services/tests/servicestests/src/com/android/server/display/BrightnessTrackerTest.java +++ b/services/tests/servicestests/src/com/android/server/display/BrightnessTrackerTest.java @@ -33,7 +33,6 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ParceledListSlice; import android.database.ContentObserver; -import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.display.AmbientBrightnessDayStats; @@ -43,7 +42,6 @@ import android.hardware.display.ColorDisplayManager; import android.hardware.display.DisplayManager; import android.hardware.display.DisplayedContentSample; import android.hardware.display.DisplayedContentSamplingAttributes; -import android.hardware.input.InputSensorInfo; import android.os.BatteryManager; import android.os.Handler; import android.os.HandlerThread; @@ -65,8 +63,6 @@ import com.android.internal.R; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -88,11 +84,8 @@ public class BrightnessTrackerTest { private static final String DEFAULT_DISPLAY_ID = "123"; private static final float FLOAT_DELTA = 0.01f; - @Mock private InputSensorInfo mInputSensorInfoMock; - private BrightnessTracker mTracker; private TestInjector mInjector; - private Sensor mLightSensorFake; private static Object sHandlerLock = new Object(); private static Handler sHandler; @@ -115,12 +108,9 @@ public class BrightnessTrackerTest { @Before public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); mInjector = new TestInjector(ensureHandler()); - mLightSensorFake = new Sensor(mInputSensorInfoMock); mTracker = new BrightnessTracker(InstrumentationRegistry.getContext(), mInjector); - mTracker.setLightSensor(mLightSensorFake); mDefaultNightModeColorTemperature = InstrumentationRegistry.getContext().getResources().getInteger( R.integer.config_nightDisplayColorTemperatureDefault); @@ -844,47 +834,6 @@ public class BrightnessTrackerTest { mTracker.stop(); } - @Test - public void testLightSensorChange() { - // verify the tracker started correctly and a listener registered - startTracker(mTracker); - assertNotNull(mInjector.mSensorListener); - assertEquals(mInjector.mLightSensor, mLightSensorFake); - - // Setting the sensor to null should stop the registered listener. - mTracker.setLightSensor(null); - mInjector.waitForHandler(); - assertNull(mInjector.mSensorListener); - assertNull(mInjector.mLightSensor); - - // Resetting sensor should start listener again - mTracker.setLightSensor(mLightSensorFake); - mInjector.waitForHandler(); - assertNotNull(mInjector.mSensorListener); - assertEquals(mInjector.mLightSensor, mLightSensorFake); - - Sensor secondSensor = new Sensor(mInputSensorInfoMock); - // Setting a different listener should keep things working - mTracker.setLightSensor(secondSensor); - mInjector.waitForHandler(); - assertNotNull(mInjector.mSensorListener); - assertEquals(mInjector.mLightSensor, secondSensor); - } - - @Test - public void testSetLightSensorDoesntStartListener() { - mTracker.setLightSensor(mLightSensorFake); - assertNull(mInjector.mSensorListener); - } - - @Test - public void testNullLightSensorWontRegister() { - mTracker.setLightSensor(null); - startTracker(mTracker); - assertNull(mInjector.mSensorListener); - assertNull(mInjector.mLightSensor); - } - private InputStream getInputStream(String data) { return new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8)); } @@ -975,7 +924,6 @@ public class BrightnessTrackerTest { private class TestInjector extends BrightnessTracker.Injector { SensorEventListener mSensorListener; - Sensor mLightSensor; BroadcastReceiver mBroadcastReceiver; DisplayManager.DisplayListener mDisplayListener; Map<String, Integer> mSecureIntSettings = new HashMap<>(); @@ -1026,16 +974,14 @@ public class BrightnessTrackerTest { @Override public void registerSensorListener(Context context, - SensorEventListener sensorListener, Sensor lightSensor, Handler handler) { + SensorEventListener sensorListener, Handler handler) { mSensorListener = sensorListener; - mLightSensor = lightSensor; } @Override public void unregisterSensorListener(Context context, SensorEventListener sensorListener) { mSensorListener = null; - mLightSensor = null; } @Override |