Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fadc89a6 authored by Fiona Campbell's avatar Fiona Campbell Committed by Android (Google) Code Review
Browse files

Merge "Add WP transition duration configurations" into main

parents fc1331de ceba5c61
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1026,6 +1026,12 @@
    <!-- Duration, in milliseconds, of the display white balance animated transitions. -->
    <integer name="config_displayWhiteBalanceTransitionTime">3000</integer>

    <!-- Duration, in milliseconds, of the display white balance animated transitions when increasing cct. -->
    <integer name="config_displayWhiteBalanceTransitionTimeIncrease">1000</integer>

    <!-- Duration, in milliseconds, of the display white balance animated transitions when decreasing cct. -->
    <integer name="config_displayWhiteBalanceTransitionTimeDecrease">40000</integer>

    <!-- Device states where the sensor based rotation values should be reversed around the Z axis
         for the default display.
         TODO(b/265312193): Remove this workaround when this bug is fixed.-->
+2 −0
Original line number Diff line number Diff line
@@ -3486,6 +3486,8 @@
  <java-symbol type="array" name="config_displayWhiteBalanceDisplaySteps" />
  <java-symbol type="bool" name="config_displayWhiteBalanceLightModeAllowed" />
  <java-symbol type="integer" name="config_displayWhiteBalanceTransitionTime" />
  <java-symbol type="integer" name="config_displayWhiteBalanceTransitionTimeIncrease" />
  <java-symbol type="integer" name="config_displayWhiteBalanceTransitionTimeDecrease" />

  <!-- Device states where the sensor based rotation values should be reversed around the Z axis
       for the default display.
+7 −3
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ import com.android.internal.util.DumpUtils;
import com.android.server.DisplayThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
import com.android.server.display.feature.DisplayManagerFlags;
import com.android.server.twilight.TwilightListener;
import com.android.server.twilight.TwilightManager;
import com.android.server.twilight.TwilightState;
@@ -148,10 +149,12 @@ public final class ColorDisplayService extends SystemService {
            1f, 1f, 1f, 1f
    };

    private final DisplayManagerFlags mDisplayManagerFlags = new DisplayManagerFlags();

    @VisibleForTesting
    final DisplayWhiteBalanceTintController mDisplayWhiteBalanceTintController =
            new DisplayWhiteBalanceTintController(
                    LocalServices.getService(DisplayManagerInternal.class));
                    LocalServices.getService(DisplayManagerInternal.class), mDisplayManagerFlags);
    private final NightDisplayTintController mNightDisplayTintController =
            new NightDisplayTintController();
    private final TintController mGlobalSaturationTintController =
@@ -716,15 +719,16 @@ public final class ColorDisplayService extends SystemService {
                        tintController.computeMatrixForCct(to));
                tintController.setAppliedCct(to);
            } else {
                final long duration = tintController.getTransitionDurationMilliseconds(to > from);
                Slog.d(TAG, tintController.getClass().getSimpleName() + " animation started: toCct="
                        + to + " fromCct=" + from);
                        + to + " fromCct=" + from + " with duration=" + duration);
                ValueAnimator valueAnimator = ValueAnimator.ofInt(from, to);
                tintController.setAnimator(valueAnimator);
                final CctEvaluator evaluator = tintController.getEvaluator();
                if (evaluator != null) {
                    valueAnimator.setEvaluator(evaluator);
                }
                valueAnimator.setDuration(tintController.getTransitionDurationMilliseconds());
                valueAnimator.setDuration(duration);
                valueAnimator.setInterpolator(AnimationUtils.loadInterpolator(
                        getContext(), android.R.interpolator.linear));
                valueAnimator.addUpdateListener((ValueAnimator animator) -> {
+26 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.view.SurfaceControl.DisplayPrimaries;

import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.display.feature.DisplayManagerFlags;

import java.io.PrintWriter;

@@ -65,6 +66,8 @@ final class DisplayWhiteBalanceTintController extends ColorTemperatureTintContro
    boolean mSetUp = false;
    private final float[] mMatrixDisplayWhiteBalance = new float[16];
    private long mTransitionDuration;
    private long mTransitionDurationIncrease;
    private long mTransitionDurationDecrease;
    private Boolean mIsAvailable;
    // This feature becomes disallowed if the device is in an unsupported strong/light state.
    private boolean mIsAllowed = true;
@@ -74,8 +77,12 @@ final class DisplayWhiteBalanceTintController extends ColorTemperatureTintContro

    private final DisplayManagerInternal mDisplayManagerInternal;

    DisplayWhiteBalanceTintController(DisplayManagerInternal dm) {
    private final DisplayManagerFlags mDisplayManagerFlags;

    DisplayWhiteBalanceTintController(DisplayManagerInternal dm,
            DisplayManagerFlags displayManagerFlags) {
        mDisplayManagerInternal = dm;
        mDisplayManagerFlags = displayManagerFlags;
    }

    @Override
@@ -139,6 +146,16 @@ final class DisplayWhiteBalanceTintController extends ColorTemperatureTintContro
        mTransitionDuration = res.getInteger(
                R.integer.config_displayWhiteBalanceTransitionTime);

        if (!mDisplayManagerFlags.isAdaptiveTone2Enabled()) {
            mTransitionDurationDecrease = mTransitionDuration;
            mTransitionDurationIncrease = mTransitionDuration;
        } else {
            mTransitionDurationIncrease = res.getInteger(
                    R.integer.config_displayWhiteBalanceTransitionTimeIncrease);
            mTransitionDurationDecrease = res.getInteger(
                    R.integer.config_displayWhiteBalanceTransitionTimeDecrease);
        }

        int[] cctRangeMinimums = res.getIntArray(
                R.array.config_displayWhiteBalanceDisplayRangeMinimums);
        int[] steps = res.getIntArray(R.array.config_displayWhiteBalanceDisplaySteps);
@@ -322,6 +339,11 @@ final class DisplayWhiteBalanceTintController extends ColorTemperatureTintContro
        return mTransitionDuration;
    }

    @Override
    public long getTransitionDurationMilliseconds(boolean isIncreasing) {
        return isIncreasing ? mTransitionDurationIncrease : mTransitionDurationDecrease;
    }

    @Override
    public void dump(PrintWriter pw) {
        synchronized (mLock) {
@@ -348,6 +370,9 @@ final class DisplayWhiteBalanceTintController extends ColorTemperatureTintContro
            pw.println("    mMatrixDisplayWhiteBalance = "
                    + matrixToString(mMatrixDisplayWhiteBalance, 4));
            pw.println("    mIsAllowed = " + mIsAllowed);
            pw.println("    mTransitionDuration = " + mTransitionDuration);
            pw.println("    mTransitionDurationIncrease = " + mTransitionDurationIncrease);
            pw.println("    mTransitionDurationDecrease = " + mTransitionDurationDecrease);
        }
    }

+4 −0
Original line number Diff line number Diff line
@@ -75,6 +75,10 @@ abstract class TintController {
        return TRANSITION_DURATION;
    }

    public long getTransitionDurationMilliseconds(boolean direction) {
        return TRANSITION_DURATION;
    }

    /**
     * Dump debug information.
     */
Loading