Merge "Generally improve brightness dumpsys." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
84bf070824
@@ -1285,9 +1285,6 @@
|
||||
adapt to the environment. This mode may be better suited for watches. -->
|
||||
<bool name="config_autoBrightnessResetAmbientLuxAfterWarmUp">true</bool>
|
||||
|
||||
<!-- Period of time in which to consider light samples in milliseconds. -->
|
||||
<integer name="config_autoBrightnessAmbientLightHorizon">10000</integer>
|
||||
|
||||
<!-- Screen brightness used to dim the screen when the user activity
|
||||
timeout expires. May be less than the minimum allowed brightness setting
|
||||
that can be set by the user. -->
|
||||
|
||||
@@ -1905,7 +1905,6 @@
|
||||
<java-symbol type="fraction" name="config_screenAutoBrightnessDozeScaleFactor" />
|
||||
<java-symbol type="bool" name="config_allowPriorityVibrationsInLowPowerMode" />
|
||||
<java-symbol type="fraction" name="config_autoBrightnessAdjustmentMaxGamma" />
|
||||
<java-symbol type="integer" name="config_autoBrightnessAmbientLightHorizon"/>
|
||||
<java-symbol type="integer" name="config_autoBrightnessBrighteningLightDebounce"/>
|
||||
<java-symbol type="integer" name="config_autoBrightnessDarkeningLightDebounce"/>
|
||||
<java-symbol type="integer" name="config_autoBrightnessInitialLightSensorRate"/>
|
||||
|
||||
@@ -20,12 +20,14 @@ import com.android.server.EventLogTags;
|
||||
import com.android.server.LocalServices;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.ActivityManager;
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.hardware.display.BrightnessConfiguration;
|
||||
import android.hardware.display.DisplayManagerInternal.DisplayPowerRequest;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
@@ -91,6 +93,8 @@ class AutomaticBrightnessController {
|
||||
// The minimum and maximum screen brightnesses.
|
||||
private final int mScreenBrightnessRangeMinimum;
|
||||
private final int mScreenBrightnessRangeMaximum;
|
||||
|
||||
// How much to scale doze brightness by (should be (0, 1.0]).
|
||||
private final float mDozeScaleFactor;
|
||||
|
||||
// Initial light sensor event rate in milliseconds.
|
||||
@@ -122,8 +126,8 @@ class AutomaticBrightnessController {
|
||||
// weighting values positive.
|
||||
private final int mWeightingIntercept;
|
||||
|
||||
// accessor object for determining thresholds to change brightness dynamically
|
||||
private final HysteresisLevels mDynamicHysteresis;
|
||||
// Configuration object for determining thresholds to change brightness dynamically
|
||||
private final HysteresisLevels mHysteresisLevels;
|
||||
|
||||
// Amount of time to delay auto-brightness after screen on while waiting for
|
||||
// the light sensor to warm-up in milliseconds.
|
||||
@@ -192,7 +196,7 @@ class AutomaticBrightnessController {
|
||||
int lightSensorWarmUpTime, int brightnessMin, int brightnessMax, float dozeScaleFactor,
|
||||
int lightSensorRate, int initialLightSensorRate, long brighteningLightDebounceConfig,
|
||||
long darkeningLightDebounceConfig, boolean resetAmbientLuxAfterWarmUpConfig,
|
||||
int ambientLightHorizon, HysteresisLevels dynamicHysteresis) {
|
||||
HysteresisLevels hysteresisLevels) {
|
||||
mCallbacks = callbacks;
|
||||
mSensorManager = sensorManager;
|
||||
mBrightnessMapper = mapper;
|
||||
@@ -206,9 +210,9 @@ class AutomaticBrightnessController {
|
||||
mBrighteningLightDebounceConfig = brighteningLightDebounceConfig;
|
||||
mDarkeningLightDebounceConfig = darkeningLightDebounceConfig;
|
||||
mResetAmbientLuxAfterWarmUpConfig = resetAmbientLuxAfterWarmUpConfig;
|
||||
mAmbientLightHorizon = ambientLightHorizon;
|
||||
mWeightingIntercept = ambientLightHorizon;
|
||||
mDynamicHysteresis = dynamicHysteresis;
|
||||
mAmbientLightHorizon = AMBIENT_LIGHT_LONG_HORIZON_MILLIS;
|
||||
mWeightingIntercept = AMBIENT_LIGHT_LONG_HORIZON_MILLIS;
|
||||
mHysteresisLevels = hysteresisLevels;
|
||||
mShortTermModelValid = true;
|
||||
mShortTermModelAnchor = -1;
|
||||
|
||||
@@ -342,19 +346,24 @@ class AutomaticBrightnessController {
|
||||
pw.println("Automatic Brightness Controller Configuration:");
|
||||
pw.println(" mScreenBrightnessRangeMinimum=" + mScreenBrightnessRangeMinimum);
|
||||
pw.println(" mScreenBrightnessRangeMaximum=" + mScreenBrightnessRangeMaximum);
|
||||
pw.println(" mDozeScaleFactor=" + mDozeScaleFactor);
|
||||
pw.println(" mInitialLightSensorRate=" + mInitialLightSensorRate);
|
||||
pw.println(" mNormalLightSensorRate=" + mNormalLightSensorRate);
|
||||
pw.println(" mLightSensorWarmUpTimeConfig=" + mLightSensorWarmUpTimeConfig);
|
||||
pw.println(" mBrighteningLightDebounceConfig=" + mBrighteningLightDebounceConfig);
|
||||
pw.println(" mDarkeningLightDebounceConfig=" + mDarkeningLightDebounceConfig);
|
||||
pw.println(" mResetAmbientLuxAfterWarmUpConfig=" + mResetAmbientLuxAfterWarmUpConfig);
|
||||
pw.println(" mAmbientLightHorizon=" + mAmbientLightHorizon);
|
||||
pw.println(" mWeightingIntercept=" + mWeightingIntercept);
|
||||
|
||||
pw.println();
|
||||
pw.println("Automatic Brightness Controller State:");
|
||||
pw.println(" mLightSensor=" + mLightSensor);
|
||||
pw.println(" mLightSensorEnabled=" + mLightSensorEnabled);
|
||||
pw.println(" mLightSensorEnableTime=" + TimeUtils.formatUptime(mLightSensorEnableTime));
|
||||
pw.println(" mCurrentLightSensorRate=" + mCurrentLightSensorRate);
|
||||
pw.println(" mAmbientLux=" + mAmbientLux);
|
||||
pw.println(" mAmbientLuxValid=" + mAmbientLuxValid);
|
||||
pw.println(" mAmbientLightHorizon=" + mAmbientLightHorizon);
|
||||
pw.println(" mBrighteningLuxThreshold=" + mBrighteningLuxThreshold);
|
||||
pw.println(" mDarkeningLuxThreshold=" + mDarkeningLuxThreshold);
|
||||
pw.println(" mLastObservedLux=" + mLastObservedLux);
|
||||
@@ -362,11 +371,20 @@ class AutomaticBrightnessController {
|
||||
pw.println(" mRecentLightSamples=" + mRecentLightSamples);
|
||||
pw.println(" mAmbientLightRingBuffer=" + mAmbientLightRingBuffer);
|
||||
pw.println(" mScreenAutoBrightness=" + mScreenAutoBrightness);
|
||||
pw.println(" mDisplayPolicy=" + mDisplayPolicy);
|
||||
pw.println(" mDisplayPolicy=" + DisplayPowerRequest.policyToString(mDisplayPolicy));
|
||||
pw.println(" mShortTermModelAnchor=" + mShortTermModelAnchor);
|
||||
pw.println(" mShortTermModelValid=" + mShortTermModelValid);
|
||||
pw.println(" mBrightnessAdjustmentSamplePending=" + mBrightnessAdjustmentSamplePending);
|
||||
pw.println(" mBrightnessAdjustmentSampleOldLux=" + mBrightnessAdjustmentSampleOldLux);
|
||||
pw.println(" mBrightnessAdjustmentSampleOldBrightness="
|
||||
+ mBrightnessAdjustmentSampleOldBrightness);
|
||||
pw.println(" mShortTermModelValid=" + mShortTermModelValid);
|
||||
|
||||
pw.println();
|
||||
mBrightnessMapper.dump(pw);
|
||||
|
||||
pw.println();
|
||||
mHysteresisLevels.dump(pw);
|
||||
}
|
||||
|
||||
private boolean setLightSensorEnabled(boolean enable) {
|
||||
@@ -441,8 +459,8 @@ class AutomaticBrightnessController {
|
||||
lux = 0;
|
||||
}
|
||||
mAmbientLux = lux;
|
||||
mBrighteningLuxThreshold = mDynamicHysteresis.getBrighteningThreshold(lux);
|
||||
mDarkeningLuxThreshold = mDynamicHysteresis.getDarkeningThreshold(lux);
|
||||
mBrighteningLuxThreshold = mHysteresisLevels.getBrighteningThreshold(lux);
|
||||
mDarkeningLuxThreshold = mHysteresisLevels.getDarkeningThreshold(lux);
|
||||
|
||||
// If the short term model was invalidated and the change is drastic enough, reset it.
|
||||
if (!mShortTermModelValid && mShortTermModelAnchor != -1) {
|
||||
|
||||
@@ -68,10 +68,11 @@ import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.Deque;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -115,6 +116,8 @@ public class BrightnessTracker {
|
||||
private static final int MSG_STOP_SENSOR_LISTENER = 2;
|
||||
private static final int MSG_START_SENSOR_LISTENER = 3;
|
||||
|
||||
private static final SimpleDateFormat FORMAT = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");
|
||||
|
||||
// Lock held while accessing mEvents, is held while writing events to flash.
|
||||
private final Object mEventsLock = new Object();
|
||||
@GuardedBy("mEventsLock")
|
||||
@@ -127,10 +130,10 @@ public class BrightnessTracker {
|
||||
|
||||
private AmbientBrightnessStatsTracker mAmbientBrightnessStatsTracker;
|
||||
|
||||
private UserManager mUserManager;
|
||||
private final UserManager mUserManager;
|
||||
private final Context mContext;
|
||||
private final ContentResolver mContentResolver;
|
||||
private Handler mBgHandler;
|
||||
private final Handler mBgHandler;
|
||||
|
||||
// mBroadcastReceiver, mSensorListener, mSettingsObserver and mSensorRegistered
|
||||
// should only be used on the mBgHandler thread.
|
||||
@@ -164,6 +167,8 @@ public class BrightnessTracker {
|
||||
} else {
|
||||
mInjector = new Injector();
|
||||
}
|
||||
mBgHandler = new TrackerHandler(mInjector.getBackgroundHandler().getLooper());
|
||||
mUserManager = mContext.getSystemService(UserManager.class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -175,8 +180,6 @@ public class BrightnessTracker {
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "Start");
|
||||
}
|
||||
mBgHandler = new TrackerHandler(mInjector.getBackgroundHandler().getLooper());
|
||||
mUserManager = mContext.getSystemService(UserManager.class);
|
||||
mCurrentUserId = ActivityManager.getCurrentUser();
|
||||
mBgHandler.obtainMessage(MSG_BACKGROUND_START, (Float) initialBrightness).sendToTarget();
|
||||
}
|
||||
@@ -649,10 +652,12 @@ public class BrightnessTracker {
|
||||
}
|
||||
}
|
||||
|
||||
public void dump(PrintWriter pw) {
|
||||
public void dump(final PrintWriter pw) {
|
||||
pw.println("BrightnessTracker state:");
|
||||
synchronized (mDataCollectionLock) {
|
||||
pw.println(" mStarted=" + mStarted);
|
||||
pw.println(" mLastBatteryLevel=" + mLastBatteryLevel);
|
||||
pw.println(" mLastBrightness=" + mLastBrightness);
|
||||
pw.println(" mLastSensorReadings.size=" + mLastSensorReadings.size());
|
||||
if (!mLastSensorReadings.isEmpty()) {
|
||||
pw.println(" mLastSensorReadings time span "
|
||||
@@ -665,7 +670,8 @@ public class BrightnessTracker {
|
||||
pw.println(" mEvents.size=" + mEvents.size());
|
||||
BrightnessChangeEvent[] events = mEvents.toArray();
|
||||
for (int i = 0; i < events.length; ++i) {
|
||||
pw.print(" " + events[i].timeStamp + ", " + events[i].userId);
|
||||
pw.print(" " + FORMAT.format(new Date(events[i].timeStamp)));
|
||||
pw.print(", userId=" + events[i].userId);
|
||||
pw.print(", " + events[i].lastBrightness + "->" + events[i].brightness);
|
||||
pw.print(", isUserSetBrightness=" + events[i].isUserSetBrightness);
|
||||
pw.print(", powerBrightnessFactor=" + events[i].powerBrightnessFactor);
|
||||
@@ -680,17 +686,23 @@ public class BrightnessTracker {
|
||||
pw.println("}");
|
||||
}
|
||||
}
|
||||
pw.println(" mWriteBrightnessTrackerStateScheduled="
|
||||
+ mWriteBrightnessTrackerStateScheduled);
|
||||
mBgHandler.runWithScissors(() -> dumpLocal(pw), 1000);
|
||||
if (mAmbientBrightnessStatsTracker != null) {
|
||||
pw.println();
|
||||
mAmbientBrightnessStatsTracker.dump(pw);
|
||||
}
|
||||
}
|
||||
|
||||
private void dumpLocal(PrintWriter pw) {
|
||||
pw.println(" mSensorRegistered=" + mSensorRegistered);
|
||||
}
|
||||
|
||||
public ParceledListSlice<AmbientBrightnessDayStats> getAmbientBrightnessStats(int userId) {
|
||||
if (mAmbientBrightnessStatsTracker != null) {
|
||||
ArrayList<AmbientBrightnessDayStats> stats =
|
||||
mAmbientBrightnessStatsTracker.getUserStats(
|
||||
userId);
|
||||
mAmbientBrightnessStatsTracker.getUserStats(userId);
|
||||
if (stats != null) {
|
||||
return new ParceledListSlice<>(stats);
|
||||
}
|
||||
|
||||
@@ -295,6 +295,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
private boolean mAppliedAutoBrightness;
|
||||
private boolean mAppliedDimming;
|
||||
private boolean mAppliedLowPower;
|
||||
private boolean mAppliedScreenBrightnessOverride;
|
||||
private boolean mAppliedTemporaryBrightness;
|
||||
private boolean mAppliedTemporaryAutoBrightnessAdjustment;
|
||||
private boolean mAppliedBrightnessBoost;
|
||||
|
||||
// Brightness animation ramp rates in brightness units per second
|
||||
private final int mBrightnessRampRateFast;
|
||||
@@ -424,7 +428,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
com.android.internal.R.array.config_dynamicHysteresisDarkLevels);
|
||||
int[] luxHysteresisLevels = resources.getIntArray(
|
||||
com.android.internal.R.array.config_dynamicHysteresisLuxLevels);
|
||||
HysteresisLevels dynamicHysteresis = new HysteresisLevels(
|
||||
HysteresisLevels hysteresisLevels = new HysteresisLevels(
|
||||
brightLevels, darkLevels, luxHysteresisLevels);
|
||||
|
||||
long brighteningLightDebounce = resources.getInteger(
|
||||
@@ -433,8 +437,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
com.android.internal.R.integer.config_autoBrightnessDarkeningLightDebounce);
|
||||
boolean autoBrightnessResetAmbientLuxAfterWarmUp = resources.getBoolean(
|
||||
com.android.internal.R.bool.config_autoBrightnessResetAmbientLuxAfterWarmUp);
|
||||
int ambientLightHorizon = resources.getInteger(
|
||||
com.android.internal.R.integer.config_autoBrightnessAmbientLightHorizon);
|
||||
|
||||
int lightSensorWarmUpTimeConfig = resources.getInteger(
|
||||
com.android.internal.R.integer.config_lightSensorWarmupTime);
|
||||
@@ -457,8 +459,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
lightSensorWarmUpTimeConfig, mScreenBrightnessRangeMinimum,
|
||||
mScreenBrightnessRangeMaximum, dozeScaleFactor, lightSensorRate,
|
||||
initialLightSensorRate, brighteningLightDebounce, darkeningLightDebounce,
|
||||
autoBrightnessResetAmbientLuxAfterWarmUp, ambientLightHorizon,
|
||||
dynamicHysteresis);
|
||||
autoBrightnessResetAmbientLuxAfterWarmUp, hysteresisLevels);
|
||||
} else {
|
||||
mUseSoftwareAutoBrightnessConfig = false;
|
||||
}
|
||||
@@ -776,6 +777,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
|
||||
if (brightness < 0 && mPowerRequest.screenBrightnessOverride > 0) {
|
||||
brightness = mPowerRequest.screenBrightnessOverride;
|
||||
mAppliedScreenBrightnessOverride = true;
|
||||
} else {
|
||||
mAppliedScreenBrightnessOverride = false;
|
||||
}
|
||||
|
||||
final boolean autoBrightnessEnabledInDoze =
|
||||
@@ -784,7 +788,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
&& (state == Display.STATE_ON || autoBrightnessEnabledInDoze)
|
||||
&& brightness < 0
|
||||
&& mAutomaticBrightnessController != null;
|
||||
boolean brightnessIsTemporary = false;
|
||||
|
||||
final boolean userSetBrightnessChanged = updateUserSetScreenBrightness();
|
||||
if (userSetBrightnessChanged) {
|
||||
@@ -795,7 +798,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
// WindowManager or based on the display state.
|
||||
if (mTemporaryScreenBrightness > 0) {
|
||||
brightness = mTemporaryScreenBrightness;
|
||||
brightnessIsTemporary = true;
|
||||
mAppliedTemporaryBrightness = true;
|
||||
} else {
|
||||
mAppliedTemporaryBrightness = false;
|
||||
}
|
||||
|
||||
final boolean autoBrightnessAdjustmentChanged = updateAutoBrightnessAdjustment();
|
||||
@@ -807,9 +812,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
final float autoBrightnessAdjustment;
|
||||
if (!Float.isNaN(mTemporaryAutoBrightnessAdjustment)) {
|
||||
autoBrightnessAdjustment = mTemporaryAutoBrightnessAdjustment;
|
||||
brightnessIsTemporary = true;
|
||||
mAppliedTemporaryAutoBrightnessAdjustment = true;
|
||||
} else {
|
||||
autoBrightnessAdjustment = mAutoBrightnessAdjustment;
|
||||
mAppliedTemporaryAutoBrightnessAdjustment = true;
|
||||
}
|
||||
|
||||
// Apply brightness boost.
|
||||
@@ -819,6 +825,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
if (mPowerRequest.boostScreenBrightness
|
||||
&& brightness != PowerManager.BRIGHTNESS_OFF) {
|
||||
brightness = PowerManager.BRIGHTNESS_ON;
|
||||
mAppliedBrightnessBoost = true;
|
||||
} else {
|
||||
mAppliedBrightnessBoost = false;
|
||||
}
|
||||
|
||||
// If the brightness is already set then it's been overridden by something other than the
|
||||
@@ -948,6 +957,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
// level without it being a noticeable jump since any actual content isn't yet visible.
|
||||
final boolean isDisplayContentVisible =
|
||||
mColorFadeEnabled && mPowerState.getColorFadeLevel() == 1.0f;
|
||||
final boolean brightnessIsTemporary =
|
||||
mAppliedTemporaryBrightness || mAppliedTemporaryAutoBrightnessAdjustment;
|
||||
if (initialRampSkip || hasBrightnessBuckets
|
||||
|| wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) {
|
||||
animateScreenBrightness(brightness, 0);
|
||||
@@ -1586,10 +1597,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
pw.println(" mScreenBrightnessDimConfig=" + mScreenBrightnessDimConfig);
|
||||
pw.println(" mScreenBrightnessRangeMinimum=" + mScreenBrightnessRangeMinimum);
|
||||
pw.println(" mScreenBrightnessRangeMaximum=" + mScreenBrightnessRangeMaximum);
|
||||
pw.println(" mScreenBrightnessDefault=" + mScreenBrightnessDefault);
|
||||
pw.println(" mScreenBrightnessForVrRangeMinimum=" + mScreenBrightnessForVrRangeMinimum);
|
||||
pw.println(" mScreenBrightnessForVrRangeMaximum=" + mScreenBrightnessForVrRangeMaximum);
|
||||
pw.println(" mScreenBrightnessForVrDefault=" + mScreenBrightnessForVrDefault);
|
||||
pw.println(" mUseSoftwareAutoBrightnessConfig=" + mUseSoftwareAutoBrightnessConfig);
|
||||
pw.println(" mAllowAutoBrightnessWhileDozingConfig=" +
|
||||
mAllowAutoBrightnessWhileDozingConfig);
|
||||
pw.println(" mBrightnessRampRateFast=" + mBrightnessRampRateFast);
|
||||
pw.println(" mBrightnessRampRateSlow=" + mBrightnessRampRateSlow);
|
||||
pw.println(" mSkipScreenOnBrightnessRamp=" + mSkipScreenOnBrightnessRamp);
|
||||
pw.println(" mColorFadeFadesConfig=" + mColorFadeFadesConfig);
|
||||
pw.println(" mColorFadeEnabled=" + mColorFadeEnabled);
|
||||
pw.println(" mDisplayBlanksAfterDozeConfig=" + mDisplayBlanksAfterDozeConfig);
|
||||
pw.println(" mBrightnessBucketsInDozeConfig=" + mBrightnessBucketsInDozeConfig);
|
||||
|
||||
mHandler.runWithScissors(new Runnable() {
|
||||
@Override
|
||||
@@ -1603,6 +1624,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
pw.println();
|
||||
pw.println("Display Power Controller Thread State:");
|
||||
pw.println(" mPowerRequest=" + mPowerRequest);
|
||||
pw.println(" mUnfinishedBusiness=" + mUnfinishedBusiness);
|
||||
pw.println(" mWaitingForNegativeProximity=" + mWaitingForNegativeProximity);
|
||||
pw.println(" mProximitySensor=" + mProximitySensor);
|
||||
pw.println(" mProximitySensorEnabled=" + mProximitySensorEnabled);
|
||||
@@ -1615,12 +1637,23 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
pw.println(" mLastUserSetScreenBrightness=" + mLastUserSetScreenBrightness);
|
||||
pw.println(" mCurrentScreenBrightnessSetting=" + mCurrentScreenBrightnessSetting);
|
||||
pw.println(" mPendingScreenBrightnessSetting=" + mPendingScreenBrightnessSetting);
|
||||
pw.println(" mTemporaryScreenBrightness=" + mTemporaryScreenBrightness);
|
||||
pw.println(" mAutoBrightnessAdjustment=" + mAutoBrightnessAdjustment);
|
||||
pw.println(" mTemporaryAutoBrightnessAdjustment=" + mTemporaryAutoBrightnessAdjustment);
|
||||
pw.println(" mPendingAutoBrightnessAdjustment=" + mPendingAutoBrightnessAdjustment);
|
||||
pw.println(" mScreenBrightnessForVr=" + mScreenBrightnessForVr);
|
||||
pw.println(" mAppliedAutoBrightness=" + mAppliedAutoBrightness);
|
||||
pw.println(" mAppliedDimming=" + mAppliedDimming);
|
||||
pw.println(" mAppliedLowPower=" + mAppliedLowPower);
|
||||
pw.println(" mAppliedScreenBrightnessOverride=" + mAppliedScreenBrightnessOverride);
|
||||
pw.println(" mAppliedTemporaryBrightness=" + mAppliedTemporaryBrightness);
|
||||
pw.println(" mDozing=" + mDozing);
|
||||
pw.println(" mSkipRampState=" + skipRampStateToString(mSkipRampState));
|
||||
pw.println(" mInitialAutoBrightness=" + mInitialAutoBrightness);
|
||||
pw.println(" mScreenOnBlockStartRealTime=" + mScreenOnBlockStartRealTime);
|
||||
pw.println(" mScreenOffBlockStartRealTime=" + mScreenOffBlockStartRealTime);
|
||||
pw.println(" mPendingScreenOnUnblocker=" + mPendingScreenOnUnblocker);
|
||||
pw.println(" mPendingScreenOffUnblocker=" + mPendingScreenOffUnblocker);
|
||||
pw.println(" mPendingScreenOff=" + mPendingScreenOff);
|
||||
pw.println(" mReportedToPolicy=" +
|
||||
reportedToPolicyToString(mReportedScreenStateToPolicy));
|
||||
@@ -1677,6 +1710,19 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
}
|
||||
}
|
||||
|
||||
private static String skipRampStateToString(int state) {
|
||||
switch (state) {
|
||||
case RAMP_STATE_SKIP_NONE:
|
||||
return "RAMP_STATE_SKIP_NONE";
|
||||
case RAMP_STATE_SKIP_INITIAL:
|
||||
return "RAMP_STATE_SKIP_INITIAL";
|
||||
case RAMP_STATE_SKIP_AUTOBRIGHT:
|
||||
return "RAMP_STATE_SKIP_AUTOBRIGHT";
|
||||
default:
|
||||
return Integer.toString(state);
|
||||
}
|
||||
}
|
||||
|
||||
private static int clampAbsoluteBrightness(int value) {
|
||||
return MathUtils.constrain(value, PowerManager.BRIGHTNESS_OFF, PowerManager.BRIGHTNESS_ON);
|
||||
}
|
||||
|
||||
@@ -18,6 +18,9 @@ package com.android.server.display;
|
||||
|
||||
import android.util.Slog;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* A helper class for handling access to illuminance hysteresis level values.
|
||||
*/
|
||||
@@ -101,4 +104,11 @@ final class HysteresisLevels {
|
||||
}
|
||||
return levelArray;
|
||||
}
|
||||
|
||||
public void dump(PrintWriter pw) {
|
||||
pw.println("HysteresisLevels");
|
||||
pw.println(" mBrightLevels=" + Arrays.toString(mBrightLevels));
|
||||
pw.println(" mDarkLevels=" + Arrays.toString(mDarkLevels));
|
||||
pw.println(" mLuxLevels=" + Arrays.toString(mLuxLevels));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user