diff options
Diffstat (limited to 'sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java')
-rw-r--r-- | sdk/src/java/cyanogenmod/hardware/LiveDisplayConfig.java | 44 |
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>() { |