aboutsummaryrefslogtreecommitdiffstats
path: root/sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java')
-rw-r--r--sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java44
1 files changed, 43 insertions, 1 deletions
diff --git a/sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java b/sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java
index 81945f7..81cdca3 100644
--- a/sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java
+++ b/sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java
@@ -23,6 +23,7 @@ import static cyanogenmod.hardware.LiveDisplayManager.MODE_OFF;
import android.os.Parcel;
import android.os.Parcelable;
+import android.util.Range;
import java.util.BitSet;
@@ -50,10 +51,15 @@ public class LiveDisplayConfig implements Parcelable {
private final boolean mDefaultCABC;
private final boolean mDefaultColorEnhancement;
+ private final Range<Integer> mColorTemperatureRange;
+ private final Range<Integer> mColorBalanceRange;
+
public LiveDisplayConfig(BitSet capabilities, int defaultMode,
int defaultDayTemperature, int defaultNightTemperature,
boolean defaultAutoOutdoorMode, boolean defaultAutoContrast,
- boolean defaultCABC, boolean defaultColorEnhancement) {
+ boolean defaultCABC, boolean defaultColorEnhancement,
+ Range<Integer> colorTemperatureRange,
+ Range<Integer> colorBalanceRange) {
super();
mCapabilities = (BitSet) capabilities.clone();
mAllModes.set(MODE_FIRST, MODE_LAST);
@@ -64,6 +70,8 @@ public class LiveDisplayConfig implements Parcelable {
mDefaultAutoOutdoorMode = defaultAutoOutdoorMode;
mDefaultCABC = defaultCABC;
mDefaultColorEnhancement = defaultColorEnhancement;
+ mColorTemperatureRange = colorTemperatureRange;
+ mColorBalanceRange = colorBalanceRange;
}
private LiveDisplayConfig(Parcel parcel) {
@@ -80,6 +88,10 @@ public class LiveDisplayConfig implements Parcelable {
boolean defaultAutoOutdoorMode = false;
boolean defaultCABC = false;
boolean defaultColorEnhancement = false;
+ int minColorTemperature = 0;
+ int maxColorTemperature = 0;
+ int minColorBalance = 0;
+ int maxColorBalance = 0;
if (parcelableVersion >= Build.CM_VERSION_CODES.FIG) {
capabilities = parcel.readLong();
@@ -90,6 +102,10 @@ public class LiveDisplayConfig implements Parcelable {
defaultAutoOutdoorMode = parcel.readInt() == 1;
defaultCABC = parcel.readInt() == 1;
defaultColorEnhancement = parcel.readInt() == 1;
+ minColorTemperature = parcel.readInt();
+ maxColorTemperature = parcel.readInt();
+ minColorBalance = parcel.readInt();
+ maxColorBalance = parcel.readInt();
}
// set temps
@@ -102,6 +118,8 @@ public class LiveDisplayConfig implements Parcelable {
mDefaultAutoOutdoorMode = defaultAutoOutdoorMode;
mDefaultCABC = defaultCABC;
mDefaultColorEnhancement = defaultColorEnhancement;
+ mColorTemperatureRange = Range.create(minColorTemperature, maxColorTemperature);
+ mColorBalanceRange = Range.create(minColorBalance, maxColorBalance);
// Complete parcel info for the concierge
parcelInfo.complete();
@@ -118,6 +136,8 @@ public class LiveDisplayConfig implements Parcelable {
sb.append(" defaultAutoContrast=").append(mDefaultAutoContrast);
sb.append(" defaultCABC=").append(mDefaultCABC);
sb.append(" defaultColorEnhancement=").append(mDefaultColorEnhancement);
+ sb.append(" colorTemperatureRange=").append(mColorTemperatureRange);
+ sb.append(" colorBalanceRange=").append(mColorBalanceRange);
return sb.toString();
}
@@ -141,6 +161,10 @@ public class LiveDisplayConfig implements Parcelable {
out.writeInt(mDefaultAutoOutdoorMode ? 1 : 0);
out.writeInt(mDefaultCABC ? 1 : 0);
out.writeInt(mDefaultColorEnhancement ? 1 : 0);
+ out.writeInt(mColorTemperatureRange.getLower());
+ out.writeInt(mColorTemperatureRange.getUpper());
+ out.writeInt(mColorBalanceRange.getLower());
+ out.writeInt(mColorBalanceRange.getUpper());
// Complete the parcel info for the concierge
parcelInfo.complete();
@@ -243,6 +267,24 @@ public class LiveDisplayConfig implements Parcelable {
return mDefaultColorEnhancement;
}
+ /**
+ * Get the range of supported color temperatures
+ *
+ * @return range in Kelvin
+ */
+ public Range<Integer> getColorTemperatureRange() {
+ return mColorTemperatureRange;
+ }
+
+ /**
+ * Get the range of supported color balance
+ *
+ * @return linear range which maps into the temperature range curve
+ */
+ public Range<Integer> getColorBalanceRange() {
+ return mColorBalanceRange;
+ }
+
/** @hide */
public static final Parcelable.Creator<LiveDisplayConfig> CREATOR =
new Parcelable.Creator<LiveDisplayConfig>() {