Merge "Move ColorDisplayService to color subdirectory"
This commit is contained in:
committed by
Android (Google) Code Review
commit
4ed935a5aa
@@ -5434,7 +5434,7 @@ message MetricsEvent {
|
||||
FIELD_END_BATTERY_PERCENT = 1308;
|
||||
|
||||
// ACTION: Settings > Display > Night Light
|
||||
// SUBTYPE: com.android.server.display.ColorDisplayService.AutoMode value
|
||||
// SUBTYPE: com.android.server.display.color.ColorDisplayService.AutoMode value
|
||||
// CATEGORY: SETTINGS
|
||||
// OS: P
|
||||
ACTION_NIGHT_DISPLAY_AUTO_MODE_CHANGED = 1309;
|
||||
|
||||
@@ -1013,7 +1013,7 @@ HPLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux()
|
||||
HPLcom/android/server/display/AutomaticBrightnessController;->weightIntegral(J)F
|
||||
HPLcom/android/server/display/BrightnessTracker$Injector;->currentTimeMillis()J
|
||||
HPLcom/android/server/display/BrightnessTracker$Injector;->elapsedRealtimeNanos()J
|
||||
HPLcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F
|
||||
HPLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F
|
||||
HPLcom/android/server/display/ColorFade;->draw(F)Z
|
||||
HPLcom/android/server/display/ColorFade;->drawFaded(FF)V
|
||||
HPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds()[I
|
||||
@@ -3413,7 +3413,7 @@ Lcom/android/server/devicepolicy/CryptoTestHelper;
|
||||
Lcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;
|
||||
Lcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;
|
||||
Lcom/android/server/display/AutomaticBrightnessController$Callbacks;
|
||||
Lcom/android/server/display/ColorDisplayService;
|
||||
Lcom/android/server/display/color/ColorDisplayService;
|
||||
Lcom/android/server/display/DisplayAdapter$1;
|
||||
Lcom/android/server/display/DisplayAdapter$2;
|
||||
Lcom/android/server/display/DisplayAdapter$Listener;
|
||||
@@ -3433,7 +3433,7 @@ Lcom/android/server/display/DisplayManagerService$SyncRoot;
|
||||
Lcom/android/server/display/DisplayManagerService;
|
||||
Lcom/android/server/display/DisplayManagerShellCommand;
|
||||
Lcom/android/server/display/DisplayPowerController;
|
||||
Lcom/android/server/display/DisplayTransformManager;
|
||||
Lcom/android/server/display/color/DisplayTransformManager;
|
||||
Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
|
||||
Lcom/android/server/display/LocalDisplayAdapter$HotplugDisplayEventReceiver;
|
||||
Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;
|
||||
@@ -10616,39 +10616,39 @@ PLcom/android/server/display/BrightnessTracker;->stopSensorListener()V
|
||||
PLcom/android/server/display/BrightnessTracker;->writeAmbientBrightnessStats()V
|
||||
PLcom/android/server/display/BrightnessTracker;->writeEvents()V
|
||||
PLcom/android/server/display/BrightnessTracker;->writeEventsLocked(Ljava/io/OutputStream;)V
|
||||
PLcom/android/server/display/ColorDisplayService$2;-><init>(Lcom/android/server/display/ColorDisplayService;Lcom/android/server/display/DisplayTransformManager;)V
|
||||
PLcom/android/server/display/ColorDisplayService$2;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
|
||||
PLcom/android/server/display/ColorDisplayService$3;-><init>(Lcom/android/server/display/ColorDisplayService;Lcom/android/server/display/DisplayTransformManager;[F)V
|
||||
PLcom/android/server/display/ColorDisplayService$3;->onAnimationEnd(Landroid/animation/Animator;)V
|
||||
PLcom/android/server/display/ColorDisplayService$AutoMode;-><init>(Lcom/android/server/display/ColorDisplayService;)V
|
||||
PLcom/android/server/display/ColorDisplayService$AutoMode;-><init>(Lcom/android/server/display/ColorDisplayService;Lcom/android/server/display/ColorDisplayService$1;)V
|
||||
PLcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;-><init>()V
|
||||
PLcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/ColorDisplayService$1;)V
|
||||
PLcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
PLcom/android/server/display/ColorDisplayService$CustomAutoMode$1;-><init>(Lcom/android/server/display/ColorDisplayService$CustomAutoMode;Lcom/android/server/display/ColorDisplayService;)V
|
||||
PLcom/android/server/display/ColorDisplayService$CustomAutoMode;-><init>(Lcom/android/server/display/ColorDisplayService;)V
|
||||
PLcom/android/server/display/ColorDisplayService$CustomAutoMode;->onActivated(Z)V
|
||||
PLcom/android/server/display/ColorDisplayService$CustomAutoMode;->onAlarm()V
|
||||
PLcom/android/server/display/ColorDisplayService$CustomAutoMode;->onStart()V
|
||||
PLcom/android/server/display/ColorDisplayService$CustomAutoMode;->updateActivated()V
|
||||
PLcom/android/server/display/ColorDisplayService$CustomAutoMode;->updateNextAlarm(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
|
||||
PLcom/android/server/display/ColorDisplayService;-><init>(Landroid/content/Context;)V
|
||||
PLcom/android/server/display/ColorDisplayService;->access$1000(Lcom/android/server/display/ColorDisplayService;)Ljava/lang/Boolean;
|
||||
PLcom/android/server/display/ColorDisplayService;->access$602(Lcom/android/server/display/ColorDisplayService;Landroid/animation/ValueAnimator;)Landroid/animation/ValueAnimator;
|
||||
PLcom/android/server/display/ColorDisplayService;->applyTint(Z)V
|
||||
PLcom/android/server/display/ColorDisplayService;->getDateTimeAfter(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
|
||||
PLcom/android/server/display/ColorDisplayService;->getDateTimeBefore(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
|
||||
PLcom/android/server/display/ColorDisplayService;->isUserSetupCompleted(Landroid/content/ContentResolver;I)Z
|
||||
PLcom/android/server/display/ColorDisplayService;->onActivated(Z)V
|
||||
PLcom/android/server/display/ColorDisplayService;->onAutoModeChanged(I)V
|
||||
PLcom/android/server/display/ColorDisplayService;->onBootPhase(I)V
|
||||
PLcom/android/server/display/ColorDisplayService;->onDisplayColorModeChanged(I)V
|
||||
PLcom/android/server/display/ColorDisplayService;->onStart()V
|
||||
PLcom/android/server/display/ColorDisplayService;->onStartUser(I)V
|
||||
PLcom/android/server/display/ColorDisplayService;->onUserChanged(I)V
|
||||
PLcom/android/server/display/ColorDisplayService;->setCoefficientMatrix(Landroid/content/Context;Z)V
|
||||
PLcom/android/server/display/ColorDisplayService;->setMatrix(I[F)V
|
||||
PLcom/android/server/display/ColorDisplayService;->setUp()V
|
||||
PLcom/android/server/display/color/ColorDisplayService$2;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/DisplayTransformManager;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$2;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$3;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/DisplayTransformManager;[F)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$3;->onAnimationEnd(Landroid/animation/Animator;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$AutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$AutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/ColorDisplayService$1;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>()V
|
||||
PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/color/ColorDisplayService$1;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode$1;-><init>(Lcom/android/server/display/color/ColorDisplayService$CustomAutoMode;Lcom/android/server/display/color/ColorDisplayService;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->onActivated(Z)V
|
||||
PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->onAlarm()V
|
||||
PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->onStart()V
|
||||
PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->updateActivated()V
|
||||
PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->updateNextAlarm(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;-><init>(Landroid/content/Context;)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->access$1000(Lcom/android/server/display/color/ColorDisplayService;)Ljava/lang/Boolean;
|
||||
PLcom/android/server/display/color/ColorDisplayService;->access$602(Lcom/android/server/display/color/ColorDisplayService;Landroid/animation/ValueAnimator;)Landroid/animation/ValueAnimator;
|
||||
PLcom/android/server/display/color/ColorDisplayService;->applyTint(Z)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->getDateTimeAfter(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
|
||||
PLcom/android/server/display/color/ColorDisplayService;->getDateTimeBefore(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
|
||||
PLcom/android/server/display/color/ColorDisplayService;->isUserSetupCompleted(Landroid/content/ContentResolver;I)Z
|
||||
PLcom/android/server/display/color/ColorDisplayService;->onActivated(Z)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->onAutoModeChanged(I)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->onBootPhase(I)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->onDisplayColorModeChanged(I)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->onStart()V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->onStartUser(I)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->onUserChanged(I)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->setCoefficientMatrix(Landroid/content/Context;Z)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->setMatrix(I[F)V
|
||||
PLcom/android/server/display/color/ColorDisplayService;->setUp()V
|
||||
PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;-><init>(Landroid/hardware/display/DisplayManagerInternal;ILandroid/view/SurfaceControl;)V
|
||||
PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->dispose()V
|
||||
PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->onDisplayTransaction()V
|
||||
@@ -10878,17 +10878,17 @@ PLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V
|
||||
PLcom/android/server/display/DisplayPowerState;->setScreenBrightness(I)V
|
||||
PLcom/android/server/display/DisplayPowerState;->setScreenState(I)V
|
||||
PLcom/android/server/display/DisplayPowerState;->waitUntilClean(Ljava/lang/Runnable;)Z
|
||||
PLcom/android/server/display/DisplayTransformManager;->applyColorMatrix([F)V
|
||||
PLcom/android/server/display/DisplayTransformManager;->applySaturation(F)V
|
||||
PLcom/android/server/display/DisplayTransformManager;->computeColorMatrixLocked()[F
|
||||
PLcom/android/server/display/DisplayTransformManager;->getColorMatrix(I)[F
|
||||
PLcom/android/server/display/DisplayTransformManager;->needsLinearColorMatrix()Z
|
||||
PLcom/android/server/display/DisplayTransformManager;->needsLinearColorMatrix(I)Z
|
||||
PLcom/android/server/display/DisplayTransformManager;->setColorMatrix(I[F)V
|
||||
PLcom/android/server/display/DisplayTransformManager;->setColorMode(I[F)Z
|
||||
PLcom/android/server/display/DisplayTransformManager;->setDaltonizerMode(I)V
|
||||
PLcom/android/server/display/DisplayTransformManager;->setDisplayColor(I)V
|
||||
PLcom/android/server/display/DisplayTransformManager;->updateConfiguration()V
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->applyColorMatrix([F)V
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->applySaturation(F)V
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->computeColorMatrixLocked()[F
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->getColorMatrix(I)[F
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->needsLinearColorMatrix()Z
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->needsLinearColorMatrix(I)Z
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->setColorMatrix(I[F)V
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->setColorMode(I[F)Z
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->setDaltonizerMode(I)V
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->setDisplayColor(I)V
|
||||
PLcom/android/server/display/color/DisplayTransformManager;->updateConfiguration()V
|
||||
PLcom/android/server/display/HysteresisLevels;-><init>([I[I[I)V
|
||||
PLcom/android/server/display/HysteresisLevels;->getBrighteningThreshold(F)F
|
||||
PLcom/android/server/display/HysteresisLevels;->getDarkeningThreshold(F)F
|
||||
@@ -19436,7 +19436,7 @@ SPLcom/android/server/display/DisplayManagerService;->scheduleTraversalLocked(Z)
|
||||
SPLcom/android/server/display/DisplayManagerService;->sendDisplayEventLocked(II)V
|
||||
SPLcom/android/server/display/DisplayManagerService;->updateDisplayStateLocked(Lcom/android/server/display/DisplayDevice;)Ljava/lang/Runnable;
|
||||
SPLcom/android/server/display/DisplayManagerService;->updateLogicalDisplaysLocked()Z
|
||||
SPLcom/android/server/display/DisplayTransformManager;-><init>()V
|
||||
SPLcom/android/server/display/color/DisplayTransformManager;-><init>()V
|
||||
SPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;-><init>(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)V
|
||||
SPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;->hasMatchingMode(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)Z
|
||||
SPLcom/android/server/display/LocalDisplayAdapter$HotplugDisplayEventReceiver;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Landroid/os/Looper;)V
|
||||
|
||||
@@ -96,7 +96,6 @@ import com.android.server.DisplayThread;
|
||||
import com.android.server.LocalServices;
|
||||
import com.android.server.SystemService;
|
||||
import com.android.server.UiThread;
|
||||
import com.android.server.display.ColorDisplayService.ColorDisplayServiceInternal;
|
||||
import com.android.server.wm.SurfaceAnimationThread;
|
||||
import com.android.server.wm.WindowManagerInternal;
|
||||
|
||||
@@ -357,7 +356,6 @@ public final class DisplayManagerService extends SystemService {
|
||||
publishBinderService(Context.DISPLAY_SERVICE, new BinderService(),
|
||||
true /*allowIsolated*/);
|
||||
publishLocalService(DisplayManagerInternal.class, new LocalService());
|
||||
publishLocalService(DisplayTransformManager.class, new DisplayTransformManager());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1535,13 +1533,6 @@ public final class DisplayManagerService extends SystemService {
|
||||
|
||||
pw.println();
|
||||
mPersistentDataStore.dump(pw);
|
||||
|
||||
final ColorDisplayServiceInternal cds = LocalServices.getService(
|
||||
ColorDisplayServiceInternal.class);
|
||||
if (cds != null) {
|
||||
pw.println();
|
||||
cds.dump(pw);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,5 +2,3 @@ michaelwr@google.com
|
||||
dangittik@google.com
|
||||
hackbod@google.com
|
||||
ogunwale@google.com
|
||||
|
||||
per-file ColorDisplayService.java=christyfranks@google.com
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.server.display;
|
||||
package com.android.server.display.color;
|
||||
|
||||
import android.annotation.UserIdInt;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import com.android.internal.annotations.GuardedBy;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.server.display.ColorDisplayService.ColorTransformController;
|
||||
import com.android.server.display.color.ColorDisplayService.ColorTransformController;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.ref.WeakReference;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.server.display;
|
||||
package com.android.server.display.color;
|
||||
|
||||
import static android.hardware.display.ColorDisplayManager.AUTO_MODE_CUSTOM_TIME;
|
||||
import static android.hardware.display.ColorDisplayManager.AUTO_MODE_DISABLED;
|
||||
@@ -24,9 +24,9 @@ import static android.hardware.display.ColorDisplayManager.COLOR_MODE_BOOSTED;
|
||||
import static android.hardware.display.ColorDisplayManager.COLOR_MODE_NATURAL;
|
||||
import static android.hardware.display.ColorDisplayManager.COLOR_MODE_SATURATED;
|
||||
|
||||
import static com.android.server.display.DisplayTransformManager.LEVEL_COLOR_MATRIX_DISPLAY_WHITE_BALANCE;
|
||||
import static com.android.server.display.DisplayTransformManager.LEVEL_COLOR_MATRIX_NIGHT_DISPLAY;
|
||||
import static com.android.server.display.DisplayTransformManager.LEVEL_COLOR_MATRIX_SATURATION;
|
||||
import static com.android.server.display.color.DisplayTransformManager.LEVEL_COLOR_MATRIX_DISPLAY_WHITE_BALANCE;
|
||||
import static com.android.server.display.color.DisplayTransformManager.LEVEL_COLOR_MATRIX_NIGHT_DISPLAY;
|
||||
import static com.android.server.display.color.DisplayTransformManager.LEVEL_COLOR_MATRIX_SATURATION;
|
||||
|
||||
import android.Manifest;
|
||||
import android.animation.Animator;
|
||||
@@ -233,6 +233,7 @@ public final class ColorDisplayService extends SystemService {
|
||||
public void onStart() {
|
||||
publishBinderService(Context.COLOR_DISPLAY_SERVICE, new BinderService());
|
||||
publishLocalService(ColorDisplayServiceInternal.class, new ColorDisplayServiceInternal());
|
||||
publishLocalService(DisplayTransformManager.class, new DisplayTransformManager());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -632,9 +633,9 @@ public final class ColorDisplayService extends SystemService {
|
||||
@VisibleForTesting
|
||||
void updateDisplayWhiteBalanceStatus() {
|
||||
boolean oldActivated = mDisplayWhiteBalanceTintController.isActivated();
|
||||
mDisplayWhiteBalanceTintController.setActivated(isDisplayWhiteBalanceSettingEnabled() &&
|
||||
!mNightDisplayTintController.isActivated() &&
|
||||
DisplayTransformManager.needsLinearColorMatrix());
|
||||
mDisplayWhiteBalanceTintController.setActivated(isDisplayWhiteBalanceSettingEnabled()
|
||||
&& !mNightDisplayTintController.isActivated()
|
||||
&& DisplayTransformManager.needsLinearColorMatrix());
|
||||
boolean activated = mDisplayWhiteBalanceTintController.isActivated();
|
||||
|
||||
if (mDisplayWhiteBalanceListener != null && oldActivated != activated) {
|
||||
@@ -819,7 +820,7 @@ public final class ColorDisplayService extends SystemService {
|
||||
/**
|
||||
* Get the current color mode from system properties, or return -1 if invalid.
|
||||
*
|
||||
* See {@link com.android.server.display.DisplayTransformManager}
|
||||
* See {@link DisplayTransformManager}
|
||||
*/
|
||||
private @ColorMode int getCurrentColorModeFromSystemProperties() {
|
||||
final int displayColorSetting = SystemProperties.getInt("persist.sys.sf.native_mode", 0);
|
||||
@@ -851,7 +852,7 @@ public final class ColorDisplayService extends SystemService {
|
||||
private void dumpInternal(PrintWriter pw) {
|
||||
pw.println("COLOR DISPLAY MANAGER dumpsys (color_display)");
|
||||
|
||||
pw.println("Night Display:");
|
||||
pw.println("Night display:");
|
||||
if (mNightDisplayTintController.isAvailable(getContext())) {
|
||||
pw.println(" Activated: " + mNightDisplayTintController.isActivated());
|
||||
pw.println(" Color temp: " + mNightDisplayTintController.getColorTemperature());
|
||||
@@ -923,14 +924,15 @@ public final class ColorDisplayService extends SystemService {
|
||||
|
||||
if (mLastActivatedTime != null) {
|
||||
// Maintain the existing activated state if within the current period.
|
||||
if (mLastActivatedTime.isBefore(now) && mLastActivatedTime.isAfter(start)
|
||||
if (mLastActivatedTime.isBefore(now)
|
||||
&& mLastActivatedTime.isAfter(start)
|
||||
&& (mLastActivatedTime.isAfter(end) || now.isBefore(end))) {
|
||||
activate = mNightDisplayTintController.isActivatedSetting();
|
||||
}
|
||||
}
|
||||
|
||||
if (mNightDisplayTintController.isActivatedStateNotSet() || (
|
||||
mNightDisplayTintController.isActivated() != activate)) {
|
||||
if (mNightDisplayTintController.isActivatedStateNotSet()
|
||||
|| (mNightDisplayTintController.isActivated() != activate)) {
|
||||
mNightDisplayTintController.setActivated(activate);
|
||||
}
|
||||
|
||||
@@ -1305,10 +1307,11 @@ public final class ColorDisplayService extends SystemService {
|
||||
}
|
||||
|
||||
final class DisplayWhiteBalanceTintController extends TintController {
|
||||
|
||||
// Three chromaticity coordinates per color: X, Y, and Z
|
||||
private final int NUM_VALUES_PER_PRIMARY = 3;
|
||||
private static final int NUM_VALUES_PER_PRIMARY = 3;
|
||||
// Four colors: red, green, blue, and white
|
||||
private final int NUM_DISPLAY_PRIMARIES_VALS = 4 * NUM_VALUES_PER_PRIMARY;
|
||||
private static final int NUM_DISPLAY_PRIMARIES_VALS = 4 * NUM_VALUES_PER_PRIMARY;
|
||||
|
||||
private final Object mLock = new Object();
|
||||
@VisibleForTesting
|
||||
@@ -1478,25 +1481,25 @@ public final class ColorDisplayService extends SystemService {
|
||||
pw.println(" mTemperatureMax = " + mTemperatureMax);
|
||||
pw.println(" mTemperatureDefault = " + mTemperatureDefault);
|
||||
pw.println(" mCurrentColorTemperature = " + mCurrentColorTemperature);
|
||||
pw.println(" mCurrentColorTemperatureXYZ = " +
|
||||
matrixToString(mCurrentColorTemperatureXYZ, 3));
|
||||
pw.println(" mDisplayColorSpaceRGB RGB-to-XYZ = " +
|
||||
matrixToString(mDisplayColorSpaceRGB.getTransform(), 3));
|
||||
pw.println(" mChromaticAdaptationMatrix = " +
|
||||
matrixToString(mChromaticAdaptationMatrix, 3));
|
||||
pw.println(" mDisplayColorSpaceRGB XYZ-to-RGB = " +
|
||||
matrixToString(mDisplayColorSpaceRGB.getInverseTransform(), 3));
|
||||
pw.println(" mMatrixDisplayWhiteBalance = " +
|
||||
matrixToString(mMatrixDisplayWhiteBalance, 4));
|
||||
pw.println(" mCurrentColorTemperatureXYZ = "
|
||||
+ matrixToString(mCurrentColorTemperatureXYZ, 3));
|
||||
pw.println(" mDisplayColorSpaceRGB RGB-to-XYZ = "
|
||||
+ matrixToString(mDisplayColorSpaceRGB.getTransform(), 3));
|
||||
pw.println(" mChromaticAdaptationMatrix = "
|
||||
+ matrixToString(mChromaticAdaptationMatrix, 3));
|
||||
pw.println(" mDisplayColorSpaceRGB XYZ-to-RGB = "
|
||||
+ matrixToString(mDisplayColorSpaceRGB.getInverseTransform(), 3));
|
||||
pw.println(" mMatrixDisplayWhiteBalance = "
|
||||
+ matrixToString(mMatrixDisplayWhiteBalance, 4));
|
||||
}
|
||||
}
|
||||
|
||||
private ColorSpace.Rgb makeRgbColorSpaceFromXYZ(float[] redGreenBlueXYZ, float[] whiteXYZ) {
|
||||
return new ColorSpace.Rgb(
|
||||
"Display Color Space",
|
||||
redGreenBlueXYZ,
|
||||
whiteXYZ,
|
||||
2.2f // gamma, unused for display white balance
|
||||
"Display Color Space",
|
||||
redGreenBlueXYZ,
|
||||
whiteXYZ,
|
||||
2.2f // gamma, unused for display white balance
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1507,19 +1510,19 @@ public final class ColorDisplayService extends SystemService {
|
||||
}
|
||||
|
||||
DisplayPrimaries primaries = SurfaceControl.getDisplayNativePrimaries(displayToken);
|
||||
if (primaries == null || primaries.red == null || primaries.green == null ||
|
||||
primaries.blue == null || primaries.white == null) {
|
||||
if (primaries == null || primaries.red == null || primaries.green == null
|
||||
|| primaries.blue == null || primaries.white == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return makeRgbColorSpaceFromXYZ(
|
||||
new float[] {
|
||||
primaries.red.X, primaries.red.Y, primaries.red.Z,
|
||||
primaries.green.X, primaries.green.Y, primaries.green.Z,
|
||||
primaries.blue.X, primaries.blue.Y, primaries.blue.Z,
|
||||
new float[]{
|
||||
primaries.red.X, primaries.red.Y, primaries.red.Z,
|
||||
primaries.green.X, primaries.green.Y, primaries.green.Z,
|
||||
primaries.blue.X, primaries.blue.Y, primaries.blue.Z,
|
||||
},
|
||||
new float[] { primaries.white.X, primaries.white.Y, primaries.white.Z }
|
||||
);
|
||||
new float[]{primaries.white.X, primaries.white.Y, primaries.white.Z}
|
||||
);
|
||||
}
|
||||
|
||||
private ColorSpace.Rgb getDisplayColorSpaceFromResources(Resources res) {
|
||||
@@ -1540,7 +1543,7 @@ public final class ColorDisplayService extends SystemService {
|
||||
|
||||
return makeRgbColorSpaceFromXYZ(displayRedGreenBlueXYZ, displayWhiteXYZ);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Local service that allows color transforms to be enabled from other system services.
|
||||
@@ -1572,10 +1575,6 @@ public final class ColorDisplayService extends SystemService {
|
||||
return mDisplayWhiteBalanceTintController.isActivated();
|
||||
}
|
||||
|
||||
public void dump(PrintWriter pw) {
|
||||
mDisplayWhiteBalanceTintController.dump(pw);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a {@link WeakReference<ColorTransformController>} for a newly started activity, and
|
||||
* invokes {@link ColorTransformController#applyAppSaturation(float[], float[])} if needed.
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.server.display;
|
||||
package com.android.server.display.color;
|
||||
|
||||
import android.app.ActivityTaskManager;
|
||||
import android.hardware.display.ColorDisplayManager;
|
||||
@@ -117,12 +117,12 @@ public class DisplayTransformManager {
|
||||
/**
|
||||
* Sets and applies a current color transform matrix for a given level.
|
||||
* <p>
|
||||
* Note: all color transforms are first composed to a single matrix in ascending order based
|
||||
* on level before being applied to the display.
|
||||
* Note: all color transforms are first composed to a single matrix in ascending order based on
|
||||
* level before being applied to the display.
|
||||
*
|
||||
* @param level the level used to identify and compose the color transform (low -> high)
|
||||
* @param value the 4x4 color transform matrix (in column-major order), or {@code null} to
|
||||
* remove the color transform matrix associated with the provided level
|
||||
* remove the color transform matrix associated with the provided level
|
||||
*/
|
||||
public void setColorMatrix(int level, float[] value) {
|
||||
if (value != null && value.length != 16) {
|
||||
@@ -235,13 +235,15 @@ public class DisplayTransformManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true when the specified colorMode requires the color matrix to
|
||||
* work in linear space.
|
||||
* Return true when the specified colorMode requires the color matrix to work in linear space.
|
||||
*/
|
||||
public static boolean needsLinearColorMatrix(int colorMode) {
|
||||
return colorMode != ColorDisplayManager.COLOR_MODE_SATURATED;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets color mode and updates night display transform values.
|
||||
*/
|
||||
public boolean setColorMode(int colorMode, float[] nightDisplayMatrix) {
|
||||
if (colorMode == ColorDisplayManager.COLOR_MODE_NATURAL) {
|
||||
applySaturation(COLOR_SATURATION_NATURAL);
|
||||
@@ -264,8 +266,8 @@ public class DisplayTransformManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the screen is color managed via SurfaceFlinger's
|
||||
* {@link #SURFACE_FLINGER_TRANSACTION_QUERY_COLOR_MANAGED}.
|
||||
* Returns whether the screen is color managed via SurfaceFlinger's {@link
|
||||
* #SURFACE_FLINGER_TRANSACTION_QUERY_COLOR_MANAGED}.
|
||||
*/
|
||||
public boolean isDeviceColorManaged() {
|
||||
final IBinder flinger = ServiceManager.getService(SURFACE_FLINGER);
|
||||
@@ -0,0 +1,4 @@
|
||||
christyfranks@google.com
|
||||
justinklaassen@google.com
|
||||
|
||||
per-file DisplayTransformManager.java=michaelwr@google.com
|
||||
@@ -22,7 +22,7 @@ import android.util.Spline;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
import com.android.server.LocalServices;
|
||||
import com.android.server.display.ColorDisplayService.ColorDisplayServiceInternal;
|
||||
import com.android.server.display.color.ColorDisplayService.ColorDisplayServiceInternal;
|
||||
import com.android.server.display.utils.History;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
@@ -29,8 +29,8 @@ import android.util.Slog;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
import com.android.server.LocalServices;
|
||||
import com.android.server.display.ColorDisplayService;
|
||||
import com.android.server.display.ColorDisplayService.ColorDisplayServiceInternal;
|
||||
import com.android.server.display.color.ColorDisplayService;
|
||||
import com.android.server.display.color.ColorDisplayService.ColorDisplayServiceInternal;
|
||||
import com.android.server.display.whitebalance.DisplayWhiteBalanceController.Callbacks;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
@@ -118,7 +118,7 @@ import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.util.ToBooleanFunction;
|
||||
import com.android.server.AttributeCache;
|
||||
import com.android.server.LocalServices;
|
||||
import com.android.server.display.ColorDisplayService;
|
||||
import com.android.server.display.color.ColorDisplayService;
|
||||
import com.android.server.policy.WindowManagerPolicy;
|
||||
import com.android.server.policy.WindowManagerPolicy.StartingSurface;
|
||||
import com.android.server.wm.RemoteAnimationController.RemoteAnimationRecord;
|
||||
|
||||
@@ -89,8 +89,8 @@ import com.android.server.clipboard.ClipboardService;
|
||||
import com.android.server.connectivity.IpConnectivityMetrics;
|
||||
import com.android.server.coverage.CoverageService;
|
||||
import com.android.server.devicepolicy.DevicePolicyManagerService;
|
||||
import com.android.server.display.ColorDisplayService;
|
||||
import com.android.server.display.DisplayManagerService;
|
||||
import com.android.server.display.color.ColorDisplayService;
|
||||
import com.android.server.dreams.DreamManagerService;
|
||||
import com.android.server.emergency.EmergencyAffordanceService;
|
||||
import com.android.server.gpu.GpuService;
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.server.display;
|
||||
package com.android.server.display.color;
|
||||
|
||||
import static com.android.server.display.AppSaturationController.TRANSLATION_VECTOR;
|
||||
import static com.android.server.display.color.AppSaturationController.TRANSLATION_VECTOR;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
@@ -29,7 +29,7 @@ import android.os.UserHandle;
|
||||
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.server.display.ColorDisplayService.ColorTransformController;
|
||||
import com.android.server.display.color.ColorDisplayService.ColorTransformController;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.server.display;
|
||||
package com.android.server.display.color;
|
||||
|
||||
import static com.google.common.truth.Truth.assertWithMessage;
|
||||
|
||||
@@ -70,7 +70,7 @@ public class ColorDisplayServiceTest {
|
||||
|
||||
private MockTwilightManager mTwilightManager;
|
||||
|
||||
private ColorDisplayService mColorDisplayService;
|
||||
private ColorDisplayService mCds;
|
||||
private ColorDisplayService.BinderService mBinderService;
|
||||
|
||||
@BeforeClass
|
||||
@@ -96,17 +96,17 @@ public class ColorDisplayServiceTest {
|
||||
mTwilightManager = new MockTwilightManager();
|
||||
LocalServices.addService(TwilightManager.class, mTwilightManager);
|
||||
|
||||
mColorDisplayService = new ColorDisplayService(mContext);
|
||||
mBinderService = mColorDisplayService.new BinderService();
|
||||
mCds = new ColorDisplayService(mContext);
|
||||
mBinderService = mCds.new BinderService();
|
||||
LocalServices.addService(ColorDisplayService.ColorDisplayServiceInternal.class,
|
||||
mColorDisplayService.new ColorDisplayServiceInternal());
|
||||
mCds.new ColorDisplayServiceInternal());
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
LocalServices.removeServiceForTest(TwilightManager.class);
|
||||
|
||||
mColorDisplayService = null;
|
||||
mCds = null;
|
||||
|
||||
mTwilightManager = null;
|
||||
|
||||
@@ -1003,7 +1003,7 @@ public class ColorDisplayServiceTest {
|
||||
|
||||
/* Since we are using FakeSettingsProvider which could not trigger observer change,
|
||||
* force an update here.*/
|
||||
mColorDisplayService.updateDisplayWhiteBalanceStatus();
|
||||
mCds.updateDisplayWhiteBalanceStatus();
|
||||
assertDwbActive(false);
|
||||
}
|
||||
|
||||
@@ -1015,12 +1015,12 @@ public class ColorDisplayServiceTest {
|
||||
setAutoModeTwilight(-120 /* sunsetOffset */, -60 /* sunriseOffset */);
|
||||
setActivated(true /* activated */, -30 /* lastActivatedTimeOffset */);
|
||||
|
||||
mColorDisplayService.updateDisplayWhiteBalanceStatus();
|
||||
mCds.updateDisplayWhiteBalanceStatus();
|
||||
assertDwbActive(false);
|
||||
|
||||
/* Disable nightlight */
|
||||
setActivated(false /* activated */, -30 /* lastActivatedTimeOffset */);
|
||||
mColorDisplayService.updateDisplayWhiteBalanceStatus();
|
||||
mCds.updateDisplayWhiteBalanceStatus();
|
||||
assertDwbActive(true);
|
||||
}
|
||||
|
||||
@@ -1031,48 +1031,48 @@ public class ColorDisplayServiceTest {
|
||||
startService();
|
||||
mBinderService.setColorMode(ColorDisplayManager.COLOR_MODE_NATURAL);
|
||||
|
||||
mColorDisplayService.updateDisplayWhiteBalanceStatus();
|
||||
mCds.updateDisplayWhiteBalanceStatus();
|
||||
assertDwbActive(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayWhiteBalance_setTemperatureOverMax() {
|
||||
int max = mColorDisplayService.mDisplayWhiteBalanceTintController.mTemperatureMax;
|
||||
int max = mCds.mDisplayWhiteBalanceTintController.mTemperatureMax;
|
||||
|
||||
ColorDisplayService.ColorDisplayServiceInternal cdsInternal = LocalServices.getService(
|
||||
ColorDisplayService.ColorDisplayServiceInternal.class);
|
||||
cdsInternal.setDisplayWhiteBalanceColorTemperature(max+1);
|
||||
ColorDisplayService.ColorDisplayServiceInternal.class);
|
||||
cdsInternal.setDisplayWhiteBalanceColorTemperature(max + 1);
|
||||
|
||||
assertWithMessage("Unexpected temperature set")
|
||||
.that(mColorDisplayService.mDisplayWhiteBalanceTintController.mCurrentColorTemperature)
|
||||
.that(mCds.mDisplayWhiteBalanceTintController.mCurrentColorTemperature)
|
||||
.isEqualTo(max);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayWhiteBalance_setTemperatureBelowMin() {
|
||||
int min = mColorDisplayService.mDisplayWhiteBalanceTintController.mTemperatureMin;
|
||||
int min = mCds.mDisplayWhiteBalanceTintController.mTemperatureMin;
|
||||
|
||||
ColorDisplayService.ColorDisplayServiceInternal cdsInternal = LocalServices.getService(
|
||||
ColorDisplayService.ColorDisplayServiceInternal.class);
|
||||
ColorDisplayService.ColorDisplayServiceInternal.class);
|
||||
cdsInternal.setDisplayWhiteBalanceColorTemperature(min - 1);
|
||||
|
||||
assertWithMessage("Unexpected temperature set")
|
||||
.that(mColorDisplayService.mDisplayWhiteBalanceTintController.mCurrentColorTemperature)
|
||||
.that(mCds.mDisplayWhiteBalanceTintController.mCurrentColorTemperature)
|
||||
.isEqualTo(min);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayWhiteBalance_setValidTemperature() {
|
||||
int min = mColorDisplayService.mDisplayWhiteBalanceTintController.mTemperatureMin;
|
||||
int max = mColorDisplayService.mDisplayWhiteBalanceTintController.mTemperatureMax;
|
||||
int min = mCds.mDisplayWhiteBalanceTintController.mTemperatureMin;
|
||||
int max = mCds.mDisplayWhiteBalanceTintController.mTemperatureMax;
|
||||
int valToSet = (min + max) / 2;
|
||||
|
||||
ColorDisplayService.ColorDisplayServiceInternal cdsInternal = LocalServices.getService(
|
||||
ColorDisplayService.ColorDisplayServiceInternal.class);
|
||||
ColorDisplayService.ColorDisplayServiceInternal.class);
|
||||
cdsInternal.setDisplayWhiteBalanceColorTemperature(valToSet);
|
||||
|
||||
assertWithMessage("Unexpected temperature set")
|
||||
.that(mColorDisplayService.mDisplayWhiteBalanceTintController.mCurrentColorTemperature)
|
||||
.that(mCds.mDisplayWhiteBalanceTintController.mCurrentColorTemperature)
|
||||
.isEqualTo(valToSet);
|
||||
}
|
||||
|
||||
@@ -1171,14 +1171,14 @@ public class ColorDisplayServiceTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method to start {@link #mColorDisplayService}.
|
||||
* Convenience method to start {@link #mCds}.
|
||||
*/
|
||||
private void startService() {
|
||||
Secure.putIntForUser(mContext.getContentResolver(), Secure.USER_SETUP_COMPLETE, 1, mUserId);
|
||||
|
||||
InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
|
||||
mColorDisplayService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
mColorDisplayService.onStartUser(mUserId);
|
||||
mCds.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
mCds.onStartUser(mUserId);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1224,7 +1224,7 @@ public class ColorDisplayServiceTest {
|
||||
*/
|
||||
private void assertDwbActive(boolean enabled) {
|
||||
assertWithMessage("Incorrect Display White Balance state")
|
||||
.that(mColorDisplayService.mDisplayWhiteBalanceTintController.isActivated())
|
||||
.that(mCds.mDisplayWhiteBalanceTintController.isActivated())
|
||||
.isEqualTo(enabled);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user