Merge "Fix brightness curve when user sets slider to min." into rvc-dev

This commit is contained in:
Fiona Campbell
2020-05-19 07:50:42 +00:00
committed by Android (Google) Code Review

View File

@@ -51,6 +51,11 @@ public abstract class BrightnessMappingStrategy {
private static final float MAX_GRAD = 1.0f; private static final float MAX_GRAD = 1.0f;
private static final float SHORT_TERM_MODEL_THRESHOLD_RATIO = 0.6f; private static final float SHORT_TERM_MODEL_THRESHOLD_RATIO = 0.6f;
// Constant that ensures that each step of the curve can increase by up to at least
// MIN_PERMISSABLE_INCREASE. Otherwise when the brightness is set to 0, the curve will never
// increase and will always be 0.
private static final float MIN_PERMISSABLE_INCREASE = 0.004f;
protected boolean mLoggingEnabled; protected boolean mLoggingEnabled;
private static final Plog PLOG = Plog.createSystemPlog(TAG); private static final Plog PLOG = Plog.createSystemPlog(TAG);
@@ -400,7 +405,9 @@ public abstract class BrightnessMappingStrategy {
for (int i = idx+1; i < lux.length; i++) { for (int i = idx+1; i < lux.length; i++) {
float currLux = lux[i]; float currLux = lux[i];
float currBrightness = brightness[i]; float currBrightness = brightness[i];
float maxBrightness = prevBrightness * permissibleRatio(currLux, prevLux); float maxBrightness = MathUtils.max(
prevBrightness * permissibleRatio(currLux, prevLux),
prevBrightness + MIN_PERMISSABLE_INCREASE);
float newBrightness = MathUtils.constrain( float newBrightness = MathUtils.constrain(
currBrightness, prevBrightness, maxBrightness); currBrightness, prevBrightness, maxBrightness);
if (newBrightness == currBrightness) { if (newBrightness == currBrightness) {