Merge "DisplayModeDirector: move to dedicated package" into udc-dev

This commit is contained in:
Oleg Petšjonkin
2023-02-28 19:30:39 +00:00
committed by Android (Google) Code Review
11 changed files with 63 additions and 43 deletions

View File

@@ -85,6 +85,8 @@ import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.concurrency.Execution; import com.android.systemui.util.concurrency.Execution;
import kotlin.Unit;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -98,8 +100,6 @@ import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Provider; import javax.inject.Provider;
import kotlin.Unit;
/** /**
* Receives messages sent from {@link com.android.server.biometrics.BiometricService} and shows the * Receives messages sent from {@link com.android.server.biometrics.BiometricService} and shows the
* appropriate biometric UI (e.g. BiometricDialogView). * appropriate biometric UI (e.g. BiometricDialogView).
@@ -872,7 +872,8 @@ public class AuthController implements CoreStartable, CommandQueue.Callbacks,
} }
/** /**
* Stores the callback received from {@link com.android.server.display.DisplayModeDirector}. * Stores the callback received from
* {@link com.android.server.display.mode.DisplayModeDirector}.
* *
* DisplayModeDirector implements {@link IUdfpsRefreshRateRequestCallback} * DisplayModeDirector implements {@link IUdfpsRefreshRateRequestCallback}
* and registers it with this class by calling * and registers it with this class by calling

View File

@@ -27,6 +27,8 @@ import android.view.DisplayAddress;
import android.view.Surface; import android.view.Surface;
import android.view.SurfaceControl; import android.view.SurfaceControl;
import com.android.server.display.mode.DisplayModeDirector;
import java.io.PrintWriter; import java.io.PrintWriter;
/** /**

View File

@@ -1260,7 +1260,7 @@ public class DisplayDeviceConfig {
return mAmbientDarkeningPercentagesIdle; return mAmbientDarkeningPercentagesIdle;
} }
SensorData getAmbientLightSensor() { public SensorData getAmbientLightSensor() {
return mAmbientLightSensor; return mAmbientLightSensor;
} }
@@ -2821,7 +2821,7 @@ public class DisplayDeviceConfig {
/** /**
* Uniquely identifies a Sensor, with the combination of Type and Name. * Uniquely identifies a Sensor, with the combination of Type and Name.
*/ */
static class SensorData { public static class SensorData {
public String type; public String type;
public String name; public String name;
public float minRefreshRate = 0.0f; public float minRefreshRate = 0.0f;

View File

@@ -152,6 +152,7 @@ import com.android.server.UiThread;
import com.android.server.companion.virtual.VirtualDeviceManagerInternal; import com.android.server.companion.virtual.VirtualDeviceManagerInternal;
import com.android.server.display.DisplayDeviceConfig.SensorData; import com.android.server.display.DisplayDeviceConfig.SensorData;
import com.android.server.display.layout.Layout; import com.android.server.display.layout.Layout;
import com.android.server.display.mode.DisplayModeDirector;
import com.android.server.display.utils.SensorUtils; import com.android.server.display.utils.SensorUtils;
import com.android.server.input.InputManagerInternal; import com.android.server.input.InputManagerInternal;
import com.android.server.wm.SurfaceAnimationThread; import com.android.server.wm.SurfaceAnimationThread;

View File

@@ -46,6 +46,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.display.BrightnessSynchronizer; import com.android.internal.display.BrightnessSynchronizer;
import com.android.internal.util.function.pooled.PooledLambda; import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.LocalServices; import com.android.server.LocalServices;
import com.android.server.display.mode.DisplayModeDirector;
import com.android.server.lights.LightsManager; import com.android.server.lights.LightsManager;
import com.android.server.lights.LogicalLight; import com.android.server.lights.LogicalLight;

View File

@@ -33,6 +33,7 @@ import android.view.Surface;
import android.view.SurfaceControl; import android.view.SurfaceControl;
import com.android.server.display.layout.Layout; import com.android.server.display.layout.Layout;
import com.android.server.display.mode.DisplayModeDirector;
import com.android.server.wm.utils.InsetUtils; import com.android.server.wm.utils.InsetUtils;
import java.io.PrintWriter; import java.io.PrintWriter;

View File

@@ -36,6 +36,7 @@ import android.view.SurfaceControl;
import com.android.internal.util.DumpUtils; import com.android.internal.util.DumpUtils;
import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.IndentingPrintWriter;
import com.android.server.display.mode.DisplayModeDirector;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.display; package com.android.server.display.mode;
import static android.hardware.display.DisplayManager.DISPLAY_CATEGORY_ALL_INCLUDING_DISABLED; import static android.hardware.display.DisplayManager.DISPLAY_CATEGORY_ALL_INCLUDING_DISABLED;
import static android.hardware.display.DisplayManagerInternal.REFRESH_RATE_LIMIT_HIGH_BRIGHTNESS_MODE; import static android.hardware.display.DisplayManagerInternal.REFRESH_RATE_LIMIT_HIGH_BRIGHTNESS_MODE;
@@ -67,6 +67,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.display.BrightnessSynchronizer; import com.android.internal.display.BrightnessSynchronizer;
import com.android.internal.os.BackgroundThread; import com.android.internal.os.BackgroundThread;
import com.android.server.LocalServices; import com.android.server.LocalServices;
import com.android.server.display.DisplayDeviceConfig;
import com.android.server.display.utils.AmbientFilter; import com.android.server.display.utils.AmbientFilter;
import com.android.server.display.utils.AmbientFilterFactory; import com.android.server.display.utils.AmbientFilterFactory;
import com.android.server.display.utils.SensorUtils; import com.android.server.display.utils.SensorUtils;
@@ -214,6 +215,9 @@ public class DisplayModeDirector {
mUdfpsObserver.observe(); mUdfpsObserver.observe();
} }
/**
* Enables or disables component logging
*/
public void setLoggingEnabled(boolean loggingEnabled) { public void setLoggingEnabled(boolean loggingEnabled) {
if (mLoggingEnabled == loggingEnabled) { if (mLoggingEnabled == loggingEnabled) {
return; return;
@@ -1574,7 +1578,10 @@ public class DisplayModeDirector {
} }
} }
final class AppRequestObserver { /**
* Responsible for keeping track of app requested refresh rates per display
*/
public final class AppRequestObserver {
private final SparseArray<Display.Mode> mAppRequestedModeByDisplay; private final SparseArray<Display.Mode> mAppRequestedModeByDisplay;
private final SparseArray<RefreshRateRange> mAppPreferredRefreshRateRangeByDisplay; private final SparseArray<RefreshRateRange> mAppPreferredRefreshRateRangeByDisplay;
@@ -1583,6 +1590,9 @@ public class DisplayModeDirector {
mAppPreferredRefreshRateRangeByDisplay = new SparseArray<>(); mAppPreferredRefreshRateRangeByDisplay = new SparseArray<>();
} }
/**
* Sets refresh rates from app request
*/
public void setAppRequest(int displayId, int modeId, float requestedMinRefreshRateRange, public void setAppRequest(int displayId, int modeId, float requestedMinRefreshRateRange,
float requestedMaxRefreshRateRange) { float requestedMaxRefreshRateRange) {
synchronized (mLock) { synchronized (mLock) {
@@ -1665,7 +1675,7 @@ public class DisplayModeDirector {
return null; return null;
} }
public void dumpLocked(PrintWriter pw) { private void dumpLocked(PrintWriter pw) {
pw.println(" AppRequestObserver"); pw.println(" AppRequestObserver");
pw.println(" mAppRequestedModeByDisplay:"); pw.println(" mAppRequestedModeByDisplay:");
for (int i = 0; i < mAppRequestedModeByDisplay.size(); i++) { for (int i = 0; i < mAppRequestedModeByDisplay.size(); i++) {
@@ -1794,7 +1804,7 @@ public class DisplayModeDirector {
*/ */
@VisibleForTesting @VisibleForTesting
public class BrightnessObserver implements DisplayManager.DisplayListener { public class BrightnessObserver implements DisplayManager.DisplayListener {
private final static int LIGHT_SENSOR_RATE_MS = 250; private static final int LIGHT_SENSOR_RATE_MS = 250;
private int[] mLowDisplayBrightnessThresholds; private int[] mLowDisplayBrightnessThresholds;
private int[] mLowAmbientBrightnessThresholds; private int[] mLowAmbientBrightnessThresholds;
private int[] mHighDisplayBrightnessThresholds; private int[] mHighDisplayBrightnessThresholds;
@@ -2019,7 +2029,7 @@ public class DisplayModeDirector {
return mLowAmbientBrightnessThresholds; return mLowAmbientBrightnessThresholds;
} }
public void observe(SensorManager sensorManager) { private void observe(SensorManager sensorManager) {
mSensorManager = sensorManager; mSensorManager = sensorManager;
mBrightness = getBrightness(Display.DEFAULT_DISPLAY); mBrightness = getBrightness(Display.DEFAULT_DISPLAY);
@@ -2064,11 +2074,11 @@ public class DisplayModeDirector {
mDeviceConfigDisplaySettings.startListening(); mDeviceConfigDisplaySettings.startListening();
mInjector.registerDisplayListener(this, mHandler, mInjector.registerDisplayListener(this, mHandler,
DisplayManager.EVENT_FLAG_DISPLAY_CHANGED | DisplayManager.EVENT_FLAG_DISPLAY_CHANGED
DisplayManager.EVENT_FLAG_DISPLAY_BRIGHTNESS); | DisplayManager.EVENT_FLAG_DISPLAY_BRIGHTNESS);
} }
public void setLoggingEnabled(boolean loggingEnabled) { private void setLoggingEnabled(boolean loggingEnabled) {
if (mLoggingEnabled == loggingEnabled) { if (mLoggingEnabled == loggingEnabled) {
return; return;
} }
@@ -2076,7 +2086,8 @@ public class DisplayModeDirector {
mLightSensorListener.setLoggingEnabled(loggingEnabled); mLightSensorListener.setLoggingEnabled(loggingEnabled);
} }
public void onRefreshRateSettingChangedLocked(float min, float max) { @VisibleForTesting
void onRefreshRateSettingChangedLocked(float min, float max) {
boolean changeable = (max - min > 1f && max > 60f); boolean changeable = (max - min > 1f && max > 60f);
if (mRefreshRateChangeable != changeable) { if (mRefreshRateChangeable != changeable) {
mRefreshRateChangeable = changeable; mRefreshRateChangeable = changeable;
@@ -2089,14 +2100,14 @@ public class DisplayModeDirector {
} }
} }
public void onLowPowerModeEnabledLocked(boolean b) { private void onLowPowerModeEnabledLocked(boolean b) {
if (mLowPowerModeEnabled != b) { if (mLowPowerModeEnabled != b) {
mLowPowerModeEnabled = b; mLowPowerModeEnabled = b;
updateSensorStatus(); updateSensorStatus();
} }
} }
public void onDeviceConfigLowBrightnessThresholdsChanged(int[] displayThresholds, private void onDeviceConfigLowBrightnessThresholdsChanged(int[] displayThresholds,
int[] ambientThresholds) { int[] ambientThresholds) {
if (displayThresholds != null && ambientThresholds != null if (displayThresholds != null && ambientThresholds != null
&& displayThresholds.length == ambientThresholds.length) { && displayThresholds.length == ambientThresholds.length) {
@@ -2123,7 +2134,7 @@ public class DisplayModeDirector {
} }
} }
public void onDeviceConfigHighBrightnessThresholdsChanged(int[] displayThresholds, private void onDeviceConfigHighBrightnessThresholdsChanged(int[] displayThresholds,
int[] ambientThresholds) { int[] ambientThresholds) {
if (displayThresholds != null && ambientThresholds != null if (displayThresholds != null && ambientThresholds != null
&& displayThresholds.length == ambientThresholds.length) { && displayThresholds.length == ambientThresholds.length) {
@@ -2150,7 +2161,7 @@ public class DisplayModeDirector {
} }
} }
public void dumpLocked(PrintWriter pw) { void dumpLocked(PrintWriter pw) {
pw.println(" BrightnessObserver"); pw.println(" BrightnessObserver");
pw.println(" mAmbientLux: " + mAmbientLux); pw.println(" mAmbientLux: " + mAmbientLux);
pw.println(" mBrightness: " + mBrightness); pw.println(" mBrightness: " + mBrightness);
@@ -2400,7 +2411,7 @@ public class DisplayModeDirector {
} }
@VisibleForTesting @VisibleForTesting
public void setDefaultDisplayState(int state) { void setDefaultDisplayState(int state) {
if (mLoggingEnabled) { if (mLoggingEnabled) {
Slog.d(TAG, "setDefaultDisplayState: mDefaultDisplayState = " Slog.d(TAG, "setDefaultDisplayState: mDefaultDisplayState = "
+ mDefaultDisplayState + ", state = " + state); + mDefaultDisplayState + ", state = " + state);
@@ -2475,7 +2486,7 @@ public class DisplayModeDirector {
} }
private final class LightSensorEventListener implements SensorEventListener { private final class LightSensorEventListener implements SensorEventListener {
final private static int INJECT_EVENTS_INTERVAL_MS = LIGHT_SENSOR_RATE_MS; private static final int INJECT_EVENTS_INTERVAL_MS = LIGHT_SENSOR_RATE_MS;
private float mLastSensorData; private float mLastSensorData;
private long mTimestamp; private long mTimestamp;
private boolean mLoggingEnabled; private boolean mLoggingEnabled;
@@ -2876,10 +2887,10 @@ public class DisplayModeDirector {
} }
final int hbmMode = info.highBrightnessMode; final int hbmMode = info.highBrightnessMode;
final boolean isHbmActive = hbmMode != BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF && final boolean isHbmActive = hbmMode != BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF
info.adjustedBrightness > info.highBrightnessTransitionPoint; && info.adjustedBrightness > info.highBrightnessTransitionPoint;
if (hbmMode == mHbmMode.get(displayId) && if (hbmMode == mHbmMode.get(displayId)
isHbmActive == mHbmActive.get(displayId)) { && isHbmActive == mHbmActive.get(displayId)) {
// no change, ignore. // no change, ignore.
return; return;
} }
@@ -2901,7 +2912,7 @@ public class DisplayModeDirector {
Vote vote = null; Vote vote = null;
if (mHbmActive.get(displayId, false)) { if (mHbmActive.get(displayId, false)) {
final int hbmMode = final int hbmMode =
mHbmMode.get(displayId, BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF); mHbmMode.get(displayId, BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF);
if (hbmMode == BrightnessInfo.HIGH_BRIGHTNESS_MODE_SUNLIGHT) { if (hbmMode == BrightnessInfo.HIGH_BRIGHTNESS_MODE_SUNLIGHT) {
// Device resource properties take priority over DisplayDeviceConfig // Device resource properties take priority over DisplayDeviceConfig
if (mRefreshRateInHbmSunlight > 0) { if (mRefreshRateInHbmSunlight > 0) {
@@ -2909,7 +2920,7 @@ public class DisplayModeDirector {
mRefreshRateInHbmSunlight); mRefreshRateInHbmSunlight);
} else { } else {
final List<RefreshRateLimitation> limits = final List<RefreshRateLimitation> limits =
mDisplayManagerInternal.getRefreshRateLimitations(displayId); mDisplayManagerInternal.getRefreshRateLimitations(displayId);
for (int i = 0; limits != null && i < limits.size(); i++) { for (int i = 0; limits != null && i < limits.size(); i++) {
final RefreshRateLimitation limitation = limits.get(i); final RefreshRateLimitation limitation = limits.get(i);
if (limitation.type == REFRESH_RATE_LIMIT_HIGH_BRIGHTNESS_MODE) { if (limitation.type == REFRESH_RATE_LIMIT_HIGH_BRIGHTNESS_MODE) {
@@ -2919,8 +2930,8 @@ public class DisplayModeDirector {
} }
} }
} }
} else if (hbmMode == BrightnessInfo.HIGH_BRIGHTNESS_MODE_HDR && } else if (hbmMode == BrightnessInfo.HIGH_BRIGHTNESS_MODE_HDR
mRefreshRateInHbmHdr > 0) { && mRefreshRateInHbmHdr > 0) {
// HBM for HDR vote isn't supported through DisplayDeviceConfig yet, so look for // HBM for HDR vote isn't supported through DisplayDeviceConfig yet, so look for
// a vote from Device properties // a vote from Device properties
vote = Vote.forPhysicalRefreshRates(mRefreshRateInHbmHdr, mRefreshRateInHbmHdr); vote = Vote.forPhysicalRefreshRates(mRefreshRateInHbmHdr, mRefreshRateInHbmHdr);
@@ -2988,9 +2999,6 @@ public class DisplayModeDirector {
} }
private class DeviceConfigDisplaySettings implements DeviceConfig.OnPropertiesChangedListener { private class DeviceConfigDisplaySettings implements DeviceConfig.OnPropertiesChangedListener {
public DeviceConfigDisplaySettings() {
}
public void startListening() { public void startListening() {
mDeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_DISPLAY_MANAGER, mDeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
BackgroundThread.getExecutor(), this); BackgroundThread.getExecutor(), this);
@@ -3001,8 +3009,8 @@ public class DisplayModeDirector {
*/ */
public int[] getLowDisplayBrightnessThresholds() { public int[] getLowDisplayBrightnessThresholds() {
return getIntArrayProperty( return getIntArrayProperty(
DisplayManager.DeviceConfig. DisplayManager.DeviceConfig
KEY_FIXED_REFRESH_RATE_LOW_DISPLAY_BRIGHTNESS_THRESHOLDS); .KEY_FIXED_REFRESH_RATE_LOW_DISPLAY_BRIGHTNESS_THRESHOLDS);
} }
/* /*
@@ -3010,8 +3018,8 @@ public class DisplayModeDirector {
*/ */
public int[] getLowAmbientBrightnessThresholds() { public int[] getLowAmbientBrightnessThresholds() {
return getIntArrayProperty( return getIntArrayProperty(
DisplayManager.DeviceConfig. DisplayManager.DeviceConfig
KEY_FIXED_REFRESH_RATE_LOW_AMBIENT_BRIGHTNESS_THRESHOLDS); .KEY_FIXED_REFRESH_RATE_LOW_AMBIENT_BRIGHTNESS_THRESHOLDS);
} }
public int getRefreshRateInLowZone() { public int getRefreshRateInLowZone() {

View File

@@ -53,6 +53,7 @@ import com.android.dx.mockito.inline.extended.StaticMockitoSession;
import com.android.internal.R; import com.android.internal.R;
import com.android.server.LocalServices; import com.android.server.LocalServices;
import com.android.server.display.LocalDisplayAdapter.BacklightAdapter; import com.android.server.display.LocalDisplayAdapter.BacklightAdapter;
import com.android.server.display.mode.DisplayModeDirector;
import com.android.server.lights.LightsManager; import com.android.server.lights.LightsManager;
import com.android.server.lights.LogicalLight; import com.android.server.lights.LogicalLight;

View File

@@ -43,6 +43,7 @@ import com.android.internal.os.BackgroundThread;
import com.android.server.display.BrightnessThrottler.Injector; import com.android.server.display.BrightnessThrottler.Injector;
import com.android.server.display.DisplayDeviceConfig.BrightnessThrottlingData; import com.android.server.display.DisplayDeviceConfig.BrightnessThrottlingData;
import com.android.server.display.DisplayDeviceConfig.BrightnessThrottlingData.ThrottlingLevel; import com.android.server.display.DisplayDeviceConfig.BrightnessThrottlingData.ThrottlingLevel;
import com.android.server.display.mode.DisplayModeDirectorTest;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.display; package com.android.server.display.mode;
import static android.hardware.display.DisplayManager.DeviceConfig.KEY_BRIGHTNESS_THROTTLING_DATA; import static android.hardware.display.DisplayManager.DeviceConfig.KEY_BRIGHTNESS_THROTTLING_DATA;
import static android.hardware.display.DisplayManager.DeviceConfig.KEY_FIXED_REFRESH_RATE_HIGH_AMBIENT_BRIGHTNESS_THRESHOLDS; import static android.hardware.display.DisplayManager.DeviceConfig.KEY_FIXED_REFRESH_RATE_HIGH_AMBIENT_BRIGHTNESS_THRESHOLDS;
@@ -27,8 +27,7 @@ import static android.hardware.display.DisplayManager.DeviceConfig.KEY_REFRESH_R
import static android.hardware.display.DisplayManager.DeviceConfig.KEY_REFRESH_RATE_IN_HIGH_ZONE; import static android.hardware.display.DisplayManager.DeviceConfig.KEY_REFRESH_RATE_IN_HIGH_ZONE;
import static android.hardware.display.DisplayManager.DeviceConfig.KEY_REFRESH_RATE_IN_LOW_ZONE; import static android.hardware.display.DisplayManager.DeviceConfig.KEY_REFRESH_RATE_IN_LOW_ZONE;
import static com.android.server.display.DisplayModeDirector.Vote.INVALID_SIZE; import static com.android.server.display.mode.DisplayModeDirector.Vote.INVALID_SIZE;
import static com.android.server.display.HighBrightnessModeController.HBM_TRANSITION_POINT_INVALID;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -88,9 +87,11 @@ import com.android.internal.util.Preconditions;
import com.android.internal.util.test.FakeSettingsProvider; import com.android.internal.util.test.FakeSettingsProvider;
import com.android.internal.util.test.FakeSettingsProviderRule; import com.android.internal.util.test.FakeSettingsProviderRule;
import com.android.server.LocalServices; import com.android.server.LocalServices;
import com.android.server.display.DisplayModeDirector.BrightnessObserver; import com.android.server.display.DisplayDeviceConfig;
import com.android.server.display.DisplayModeDirector.DesiredDisplayModeSpecs; import com.android.server.display.TestUtils;
import com.android.server.display.DisplayModeDirector.Vote; import com.android.server.display.mode.DisplayModeDirector.BrightnessObserver;
import com.android.server.display.mode.DisplayModeDirector.DesiredDisplayModeSpecs;
import com.android.server.display.mode.DisplayModeDirector.Vote;
import com.android.server.sensors.SensorManagerInternal; import com.android.server.sensors.SensorManagerInternal;
import com.android.server.sensors.SensorManagerInternal.ProximityActiveListener; import com.android.server.sensors.SensorManagerInternal.ProximityActiveListener;
import com.android.server.statusbar.StatusBarManagerInternal; import com.android.server.statusbar.StatusBarManagerInternal;
@@ -126,6 +127,8 @@ public class DisplayModeDirectorTest {
private static final int DISPLAY_ID = 0; private static final int DISPLAY_ID = 0;
private static final float TRANSITION_POINT = 0.763f; private static final float TRANSITION_POINT = 0.763f;
private static final float HBM_TRANSITION_POINT_INVALID = Float.POSITIVE_INFINITY;
private Context mContext; private Context mContext;
private FakesInjector mInjector; private FakesInjector mInjector;
private Handler mHandler; private Handler mHandler;
@@ -2234,7 +2237,7 @@ public class DisplayModeDirectorTest {
ArgumentCaptor.forClass(IThermalEventListener.class); ArgumentCaptor.forClass(IThermalEventListener.class);
verify(mThermalServiceMock).registerThermalEventListenerWithType( verify(mThermalServiceMock).registerThermalEventListenerWithType(
thermalEventListener.capture(), eq(Temperature.TYPE_SKIN)); thermalEventListener.capture(), eq(Temperature.TYPE_SKIN));
final IThermalEventListener listener = thermalEventListener.getValue(); final IThermalEventListener listener = thermalEventListener.getValue();
// Verify that there is no skin temperature vote initially. // Verify that there is no skin temperature vote initially.
@@ -2548,7 +2551,7 @@ public class DisplayModeDirectorTest {
KEY_REFRESH_RATE_IN_HBM_HDR, String.valueOf(fps)); KEY_REFRESH_RATE_IN_HBM_HDR, String.valueOf(fps));
} }
void setBrightnessThrottlingData(String brightnessThrottlingData) { public void setBrightnessThrottlingData(String brightnessThrottlingData) {
putPropertyAndNotify(DeviceConfig.NAMESPACE_DISPLAY_MANAGER, putPropertyAndNotify(DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
KEY_BRIGHTNESS_THROTTLING_DATA, brightnessThrottlingData); KEY_BRIGHTNESS_THROTTLING_DATA, brightnessThrottlingData);
} }