Merge "Configure DWB transition time per-device" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ea95e62600
@@ -984,6 +984,9 @@
|
|||||||
<!-- Boolean indicating whether light mode is allowed when DWB is turned on. -->
|
<!-- Boolean indicating whether light mode is allowed when DWB is turned on. -->
|
||||||
<bool name="config_displayWhiteBalanceLightModeAllowed">true</bool>
|
<bool name="config_displayWhiteBalanceLightModeAllowed">true</bool>
|
||||||
|
|
||||||
|
<!-- Duration, in milliseconds, of the display white balance animated transitions. -->
|
||||||
|
<integer name="config_displayWhiteBalanceTransitionTime">3000</integer>
|
||||||
|
|
||||||
<!-- Device states where the sensor based rotation values should be reversed around the Z axis
|
<!-- Device states where the sensor based rotation values should be reversed around the Z axis
|
||||||
for the default display.
|
for the default display.
|
||||||
TODO(b/265312193): Remove this workaround when this bug is fixed.-->
|
TODO(b/265312193): Remove this workaround when this bug is fixed.-->
|
||||||
|
|||||||
@@ -3435,6 +3435,7 @@
|
|||||||
<java-symbol type="array" name="config_displayWhiteBalanceDisplayPrimaries" />
|
<java-symbol type="array" name="config_displayWhiteBalanceDisplayPrimaries" />
|
||||||
<java-symbol type="array" name="config_displayWhiteBalanceDisplayNominalWhite" />
|
<java-symbol type="array" name="config_displayWhiteBalanceDisplayNominalWhite" />
|
||||||
<java-symbol type="bool" name="config_displayWhiteBalanceLightModeAllowed" />
|
<java-symbol type="bool" name="config_displayWhiteBalanceLightModeAllowed" />
|
||||||
|
<java-symbol type="integer" name="config_displayWhiteBalanceTransitionTime" />
|
||||||
|
|
||||||
<!-- Device states where the sensor based rotation values should be reversed around the Z axis
|
<!-- Device states where the sensor based rotation values should be reversed around the Z axis
|
||||||
for the default display.
|
for the default display.
|
||||||
|
|||||||
@@ -107,11 +107,6 @@ public final class ColorDisplayService extends SystemService {
|
|||||||
Matrix.setIdentityM(MATRIX_IDENTITY, 0);
|
Matrix.setIdentityM(MATRIX_IDENTITY, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* The transition time, in milliseconds, for Night Display to turn on/off.
|
|
||||||
*/
|
|
||||||
private static final long TRANSITION_DURATION = 3000L;
|
|
||||||
|
|
||||||
private static final int MSG_USER_CHANGED = 0;
|
private static final int MSG_USER_CHANGED = 0;
|
||||||
private static final int MSG_SET_UP = 1;
|
private static final int MSG_SET_UP = 1;
|
||||||
private static final int MSG_APPLY_NIGHT_DISPLAY_IMMEDIATE = 2;
|
private static final int MSG_APPLY_NIGHT_DISPLAY_IMMEDIATE = 2;
|
||||||
@@ -661,7 +656,7 @@ public final class ColorDisplayService extends SystemService {
|
|||||||
TintValueAnimator valueAnimator = TintValueAnimator.ofMatrix(COLOR_MATRIX_EVALUATOR,
|
TintValueAnimator valueAnimator = TintValueAnimator.ofMatrix(COLOR_MATRIX_EVALUATOR,
|
||||||
from == null ? MATRIX_IDENTITY : from, to);
|
from == null ? MATRIX_IDENTITY : from, to);
|
||||||
tintController.setAnimator(valueAnimator);
|
tintController.setAnimator(valueAnimator);
|
||||||
valueAnimator.setDuration(TRANSITION_DURATION);
|
valueAnimator.setDuration(tintController.getTransitionDurationMilliseconds());
|
||||||
valueAnimator.setInterpolator(AnimationUtils.loadInterpolator(
|
valueAnimator.setInterpolator(AnimationUtils.loadInterpolator(
|
||||||
getContext(), android.R.interpolator.fast_out_slow_in));
|
getContext(), android.R.interpolator.fast_out_slow_in));
|
||||||
valueAnimator.addUpdateListener((ValueAnimator animator) -> {
|
valueAnimator.addUpdateListener((ValueAnimator animator) -> {
|
||||||
|
|||||||
@@ -59,7 +59,8 @@ final class DisplayWhiteBalanceTintController extends TintController {
|
|||||||
private float[] mCurrentColorTemperatureXYZ;
|
private float[] mCurrentColorTemperatureXYZ;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean mSetUp = false;
|
boolean mSetUp = false;
|
||||||
private float[] mMatrixDisplayWhiteBalance = new float[16];
|
private final float[] mMatrixDisplayWhiteBalance = new float[16];
|
||||||
|
private long mTransitionDuration;
|
||||||
private Boolean mIsAvailable;
|
private Boolean mIsAvailable;
|
||||||
// This feature becomes disallowed if the device is in an unsupported strong/light state.
|
// This feature becomes disallowed if the device is in an unsupported strong/light state.
|
||||||
private boolean mIsAllowed = true;
|
private boolean mIsAllowed = true;
|
||||||
@@ -119,6 +120,9 @@ final class DisplayWhiteBalanceTintController extends TintController {
|
|||||||
final int colorTemperature = res.getInteger(
|
final int colorTemperature = res.getInteger(
|
||||||
R.integer.config_displayWhiteBalanceColorTemperatureDefault);
|
R.integer.config_displayWhiteBalanceColorTemperatureDefault);
|
||||||
|
|
||||||
|
mTransitionDuration = res.getInteger(
|
||||||
|
R.integer.config_displayWhiteBalanceTransitionTime);
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
mDisplayColorSpaceRGB = displayColorSpaceRGB;
|
mDisplayColorSpaceRGB = displayColorSpaceRGB;
|
||||||
mDisplayNominalWhiteXYZ = displayNominalWhiteXYZ;
|
mDisplayNominalWhiteXYZ = displayNominalWhiteXYZ;
|
||||||
@@ -231,6 +235,11 @@ final class DisplayWhiteBalanceTintController extends TintController {
|
|||||||
return mIsAvailable;
|
return mIsAvailable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getTransitionDurationMilliseconds() {
|
||||||
|
return mTransitionDuration;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dump(PrintWriter pw) {
|
public void dump(PrintWriter pw) {
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package com.android.server.display.color;
|
package com.android.server.display.color;
|
||||||
|
|
||||||
import android.animation.ValueAnimator;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
|
|
||||||
@@ -24,6 +23,11 @@ import java.io.PrintWriter;
|
|||||||
|
|
||||||
abstract class TintController {
|
abstract class TintController {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The default transition time, in milliseconds, for color transforms to turn on/off.
|
||||||
|
*/
|
||||||
|
private static final long TRANSITION_DURATION = 3000L;
|
||||||
|
|
||||||
private ColorDisplayService.TintValueAnimator mAnimator;
|
private ColorDisplayService.TintValueAnimator mAnimator;
|
||||||
private Boolean mIsActivated;
|
private Boolean mIsActivated;
|
||||||
|
|
||||||
@@ -66,6 +70,10 @@ abstract class TintController {
|
|||||||
return mIsActivated == null;
|
return mIsActivated == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long getTransitionDurationMilliseconds() {
|
||||||
|
return TRANSITION_DURATION;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dump debug information.
|
* Dump debug information.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user