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

Commit acd962f5 authored by Apurva Rajguru's avatar Apurva Rajguru Committed by Steve Kondik
Browse files

Camera: Add framework support for Autoexposure.

parent 22ef2566
Loading
Loading
Loading
Loading
+79 −46
Original line number Original line Diff line number Diff line
@@ -68600,6 +68600,39 @@
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="AUTO_EXPOSURE_CENTER_WEIGHTED"
 type="java.lang.String"
 transient="false"
 volatile="false"
 value="&quot;center-weighted&quot;"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="AUTO_EXPOSURE_FRAME_AVG"
 type="java.lang.String"
 transient="false"
 volatile="false"
 value="&quot;frame-average&quot;"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="AUTO_EXPOSURE_SPOT_METERING"
 type="java.lang.String"
 transient="false"
 volatile="false"
 value="&quot;spot-metering&quot;"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="EFFECT_AQUA"
<field name="EFFECT_AQUA"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
@@ -68798,253 +68831,253 @@
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_ACTION"
<field name="ISO_100"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;action&quot;"
 value="&quot;ISO100&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_AUTO"
<field name="ISO_200"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;auto&quot;"
 value="&quot;ISO200&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_BEACH"
<field name="ISO_400"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;beach&quot;"
 value="&quot;ISO400&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_CANDLELIGHT"
<field name="ISO_800"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;candlelight&quot;"
 value="&quot;ISO800&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_FIREWORKS"
<field name="ISO_AUTO"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;fireworks&quot;"
 value="&quot;auto&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_LANDSCAPE"
<field name="ISO_HJR"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;landscape&quot;"
 value="&quot;ISO_HJR&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_NIGHT"
<field name="LENSSHADE_DISABLE"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;night&quot;"
 value="&quot;disable&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_NIGHT_PORTRAIT"
<field name="LENSSHADE_ENABLE"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;night-portrait&quot;"
 value="&quot;enable&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_PARTY"
<field name="SCENE_MODE_ACTION"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;party&quot;"
 value="&quot;action&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_PORTRAIT"
<field name="SCENE_MODE_AUTO"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;portrait&quot;"
 value="&quot;auto&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_SNOW"
<field name="SCENE_MODE_BEACH"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;snow&quot;"
 value="&quot;beach&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_SPORTS"
<field name="SCENE_MODE_CANDLELIGHT"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;sports&quot;"
 value="&quot;candlelight&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_STEADYPHOTO"
<field name="SCENE_MODE_FIREWORKS"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;steadyphoto&quot;"
 value="&quot;fireworks&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_SUNSET"
<field name="SCENE_MODE_LANDSCAPE"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;sunset&quot;"
 value="&quot;landscape&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SCENE_MODE_THEATRE"
<field name="SCENE_MODE_NIGHT"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;theatre&quot;"
 value="&quot;night&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="ISO_AUTO"
<field name="SCENE_MODE_NIGHT_PORTRAIT"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;auto&quot;"
 value="&quot;night-portrait&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="ISO_HJR"
<field name="SCENE_MODE_PARTY"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;ISO_HJR&quot;"
 value="&quot;party&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="ISO_100"
<field name="SCENE_MODE_PORTRAIT"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;ISO100&quot;"
 value="&quot;portrait&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="ISO_200"
<field name="SCENE_MODE_SNOW"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;ISO200&quot;"
 value="&quot;snow&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="ISO_400"
<field name="SCENE_MODE_SPORTS"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;ISO400&quot;"
 value="&quot;sports&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="ISO_800"
<field name="SCENE_MODE_STEADYPHOTO"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;ISO800&quot;"
 value="&quot;steadyphoto&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="LENSSHADE_ENABLE"
<field name="SCENE_MODE_SUNSET"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;enable&quot;"
 value="&quot;sunset&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="LENSSHADE_DISABLE"
<field name="SCENE_MODE_THEATRE"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
 volatile="false"
 volatile="false"
 value="&quot;disable&quot;"
 value="&quot;theatre&quot;"
 static="true"
 static="true"
 final="true"
 final="true"
 deprecated="not deprecated"
 deprecated="not deprecated"
+38 −0
Original line number Original line Diff line number Diff line
@@ -681,6 +681,7 @@ public class Camera {
        private static final String KEY_GPS_TIMESTAMP = "gps-timestamp";
        private static final String KEY_GPS_TIMESTAMP = "gps-timestamp";
        private static final String KEY_WHITE_BALANCE = "whitebalance";
        private static final String KEY_WHITE_BALANCE = "whitebalance";
        private static final String KEY_EFFECT = "effect";
        private static final String KEY_EFFECT = "effect";
        private static final String KEY_AUTO_EXPOSURE = "auto-exposure";
        private static final String KEY_ANTIBANDING = "antibanding";
        private static final String KEY_ANTIBANDING = "antibanding";
        private static final String KEY_SCENE_MODE = "scene-mode";
        private static final String KEY_SCENE_MODE = "scene-mode";
        private static final String KEY_FLASH_MODE = "flash-mode";
        private static final String KEY_FLASH_MODE = "flash-mode";
@@ -711,6 +712,11 @@ public class Camera {
        public static final String EFFECT_BLACKBOARD = "blackboard";
        public static final String EFFECT_BLACKBOARD = "blackboard";
        public static final String EFFECT_AQUA = "aqua";
        public static final String EFFECT_AQUA = "aqua";


        // Values for auto exposure settings.
        public static final String AUTO_EXPOSURE_FRAME_AVG = "frame-average";
        public static final String AUTO_EXPOSURE_CENTER_WEIGHTED = "center-weighted";
        public static final String AUTO_EXPOSURE_SPOT_METERING = "spot-metering";

        // Values for antibanding settings.
        // Values for antibanding settings.
        public static final String ANTIBANDING_AUTO = "auto";
        public static final String ANTIBANDING_AUTO = "auto";
        public static final String ANTIBANDING_50HZ = "50hz";
        public static final String ANTIBANDING_50HZ = "50hz";
@@ -1345,6 +1351,38 @@ public class Camera {
            return split(str);
            return split(str);
        }
        }


         /**
         * Gets the current auto exposure setting.
         *
         * @return one of AUTO_EXPOSURE_XXX string constant. null if auto exposure
         *         setting is not supported.
         * @hide
         */
        public String getAutoExposure() {
            return get(KEY_AUTO_EXPOSURE);
        }

        /**
         * Sets the current auto exposure setting.
         *
         * @param value AUTO_EXPOSURE_XXX string constants.
         * @hide
         */
        public void setAutoExposure(String value) {
            set(KEY_AUTO_EXPOSURE, value);
        }

       /**
         * Gets the supported auto exposure setting.
         *
         * @return a List of AUTO_EXPOSURE_XXX string constants. null if auto exposure
         *         setting is not supported.
         * @hide
         */
        public List<String> getSupportedAutoexposure() {
            String str = get(KEY_AUTO_EXPOSURE + SUPPORTED_VALUES_SUFFIX);
            return split(str);
        }


        /**
        /**
         * Gets the current antibanding setting.
         * Gets the current antibanding setting.
+8 −0
Original line number Original line Diff line number Diff line
@@ -157,6 +157,9 @@ public:
    // Supported color effect settings.
    // Supported color effect settings.
    // Example value: "none,mono,sepia". Read only.
    // Example value: "none,mono,sepia". Read only.
    static const char KEY_SUPPORTED_EFFECTS[];
    static const char KEY_SUPPORTED_EFFECTS[];
    //Auto exposure settings.
    static const char KEY_AUTO_EXPOSURE[];
    static const char KEY_SUPPORTED_AUTO_EXPOSURE[];
    // Current antibanding setting.
    // Current antibanding setting.
    // Example value: "auto" or ANTIBANDING_XXX constants. Read/write.
    // Example value: "auto" or ANTIBANDING_XXX constants. Read/write.
    static const char KEY_ANTIBANDING[];
    static const char KEY_ANTIBANDING[];
@@ -212,6 +215,11 @@ public:
    static const char EFFECT_BLACKBOARD[];
    static const char EFFECT_BLACKBOARD[];
    static const char EFFECT_AQUA[];
    static const char EFFECT_AQUA[];


    // Values for auto exposure settings.
    static const char AUTO_EXPOSURE_FRAME_AVG[];
    static const char AUTO_EXPOSURE_CENTER_WEIGHTED[];
    static const char AUTO_EXPOSURE_SPOT_METERING[];

    // Values for antibanding settings.
    // Values for antibanding settings.
    static const char ANTIBANDING_AUTO[];
    static const char ANTIBANDING_AUTO[];
    static const char ANTIBANDING_50HZ[];
    static const char ANTIBANDING_50HZ[];
+7 −0
Original line number Original line Diff line number Diff line
@@ -48,6 +48,8 @@ const char CameraParameters::KEY_WHITE_BALANCE[] = "whitebalance";
const char CameraParameters::KEY_SUPPORTED_WHITE_BALANCE[] = "whitebalance-values";
const char CameraParameters::KEY_SUPPORTED_WHITE_BALANCE[] = "whitebalance-values";
const char CameraParameters::KEY_EFFECT[] = "effect";
const char CameraParameters::KEY_EFFECT[] = "effect";
const char CameraParameters::KEY_SUPPORTED_EFFECTS[] = "effect-values";
const char CameraParameters::KEY_SUPPORTED_EFFECTS[] = "effect-values";
const char CameraParameters::KEY_AUTO_EXPOSURE[] = "auto-exposure";
const char CameraParameters::KEY_SUPPORTED_AUTO_EXPOSURE[] = "auto-exposure-values";
const char CameraParameters::KEY_ANTIBANDING[] = "antibanding";
const char CameraParameters::KEY_ANTIBANDING[] = "antibanding";
const char CameraParameters::KEY_SUPPORTED_ANTIBANDING[] = "antibanding-values";
const char CameraParameters::KEY_SUPPORTED_ANTIBANDING[] = "antibanding-values";
const char CameraParameters::KEY_SCENE_MODE[] = "scene-mode";
const char CameraParameters::KEY_SCENE_MODE[] = "scene-mode";
@@ -82,6 +84,11 @@ const char CameraParameters::EFFECT_WHITEBOARD[] = "whiteboard";
const char CameraParameters::EFFECT_BLACKBOARD[] = "blackboard";
const char CameraParameters::EFFECT_BLACKBOARD[] = "blackboard";
const char CameraParameters::EFFECT_AQUA[] = "aqua";
const char CameraParameters::EFFECT_AQUA[] = "aqua";


// Values for auto exposure settings.
const char CameraParameters::AUTO_EXPOSURE_FRAME_AVG[] = "frame-average";
const char CameraParameters::AUTO_EXPOSURE_CENTER_WEIGHTED[] = "center-weighted";
const char CameraParameters::AUTO_EXPOSURE_SPOT_METERING[] = "spot-metering";

// Values for antibanding settings.
// Values for antibanding settings.
const char CameraParameters::ANTIBANDING_AUTO[] = "auto";
const char CameraParameters::ANTIBANDING_AUTO[] = "auto";
const char CameraParameters::ANTIBANDING_50HZ[] = "50hz";
const char CameraParameters::ANTIBANDING_50HZ[] = "50hz";