summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Hong <rurumihong@google.com>2022-03-07 20:45:32 +0800
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-03-10 07:29:00 +0000
commit340a7fdfa41bda515f31cb9f61072f151dfbe432 (patch)
treed806080651b67f0cba49847224ff22da77976a0f
parent3852e9ded8dd6e9192ba7a6d58f9c8a36c61231d (diff)
downloadbase-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
-rw-r--r--services/core/java/com/android/server/display/BrightnessTracker.java34
-rw-r--r--services/core/java/com/android/server/display/DisplayPowerController.java4
-rw-r--r--services/tests/servicestests/src/com/android/server/display/BrightnessTrackerTest.java56
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