diff options
author | junjiez <junjiez@codeaurora.org> | 2017-09-08 16:33:32 +0800 |
---|---|---|
committer | zhuw <zhuw@codeaurora.org> | 2017-10-19 13:52:30 +0800 |
commit | cef1351155f01f810d1fd564f0b5fcfdf9194ebe (patch) | |
tree | 6912e493bd6e897329211917ebd19a1c52313164 | |
parent | d666f32f4ef1ce511cecf275e76ace21f58d2fbd (diff) | |
download | android_packages_apps_Snap-cef1351155f01f810d1fd564f0b5fcfdf9194ebe.tar.gz android_packages_apps_Snap-cef1351155f01f810d1fd564f0b5fcfdf9194ebe.tar.bz2 android_packages_apps_Snap-cef1351155f01f810d1fd564f0b5fcfdf9194ebe.zip |
SnapdragonCamera:Add exposure mode
add exposure mode option to dev options
in Camera2
Change-Id: I23d1cfb0e7b03816bfdadea4bebdfc59788a49f7
CRs-Fixed: 2128685
-rwxr-xr-x[-rw-r--r--] | res/values/camera2arrays.xml | 12 | ||||
-rwxr-xr-x[-rw-r--r--] | res/values/qcomstrings.xml | 10 | ||||
-rw-r--r-- | res/xml/capture_preferences.xml | 7 | ||||
-rwxr-xr-x[-rw-r--r--] | res/xml/setting_menu_preferences.xml | 9 | ||||
-rwxr-xr-x | src/com/android/camera/CaptureModule.java | 12 | ||||
-rwxr-xr-x[-rw-r--r--] | src/com/android/camera/SettingsManager.java | 1 | ||||
-rw-r--r-- | version.mk | 2 |
7 files changed, 52 insertions, 1 deletions
diff --git a/res/values/camera2arrays.xml b/res/values/camera2arrays.xml index 6f8b0caf0..31bfe6987 100644..100755 --- a/res/values/camera2arrays.xml +++ b/res/values/camera2arrays.xml @@ -1111,4 +1111,16 @@ for time lapse recording --> <item>@string/pref_camera2_afmode_value_continuous_picture</item> <item>@string/pref_camera2_afmode_value_edof</item> </string-array> + + <string-array name="pref_camera2_exposure_metering_entries" translatable="false"> + <item>@string/pref_camera2_exposure_metering_entry_frame_average</item> + <item>@string/pref_camera2_exposure_metering_entry_center_weighted</item> + <item>@string/pref_camera2_exposure_metering_entry_spot_meteting</item> + </string-array> + + <string-array name="pref_camera2_exposure_metering_entryvalues" translatable="false"> + <item>@string/pref_camera2_exposure_metering_entryvalue_frame_average</item> + <item>@string/pref_camera2_exposure_metering_entryvalue_center_weighted</item> + <item>@string/pref_camera2_exposure_metering_entryvalue_spot_meteting</item> + </string-array> </resources> diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml index 210053e0f..142af9059 100644..100755 --- a/res/values/qcomstrings.xml +++ b/res/values/qcomstrings.xml @@ -1207,5 +1207,15 @@ <string name="pref_camera2_afmode_value_continuous_video" translatable="false">3</string> <string name="pref_camera2_afmode_value_continuous_picture" translatable="false">4</string> <string name="pref_camera2_afmode_value_edof" translatable="false">5</string> + + <string name="pref_camera2_exposure_metering_title" translatable="true">ExposureMetering</string> + <string name="pref_camera2_exposure_metering_default" translatable="true">0</string> + <string name="pref_camera2_exposure_metering_entry_frame_average" translatable="false">FrameAverage</string> + <string name="pref_camera2_exposure_metering_entry_center_weighted" translatable="false">CenterWeighted</string> + <string name="pref_camera2_exposure_metering_entry_spot_meteting" translatable="false">SpotMeteting</string> + <string name="pref_camera2_exposure_metering_entryvalue_frame_average" translatable="false">0</string> + <string name="pref_camera2_exposure_metering_entryvalue_center_weighted" translatable="false">1</string> + <string name="pref_camera2_exposure_metering_entryvalue_spot_meteting" translatable="false">2</string> + </resources> diff --git a/res/xml/capture_preferences.xml b/res/xml/capture_preferences.xml index 4207ecf76..8095a9ab0 100644 --- a/res/xml/capture_preferences.xml +++ b/res/xml/capture_preferences.xml @@ -393,4 +393,11 @@ camera:title="@string/pref_camera2_afmode_title" camera:entries="@array/pref_camera2_afmode_entries" camera:entryValues="@array/pref_camera2_afmode_entryvalues"/> + + <ListPreference + camera:key="pref_camera2_exposure_metering_key" + camera:defaultValue="@string/pref_camera2_exposure_metering_default" + camera:title="@string/pref_camera2_exposure_metering_title" + camera:entries="@array/pref_camera2_exposure_metering_entries" + camera:entryValues="@array/pref_camera2_exposure_metering_entryvalues" /> </PreferenceGroup> diff --git a/res/xml/setting_menu_preferences.xml b/res/xml/setting_menu_preferences.xml index a8a2ce07f..b65b77bea 100644..100755 --- a/res/xml/setting_menu_preferences.xml +++ b/res/xml/setting_menu_preferences.xml @@ -392,5 +392,14 @@ android:layout="@layout/preference" android:summary="%s" android:title="@string/pref_camera2_afmode_title" /> + + <ListPreference + android:defaultValue="@string/pref_camera2_exposure_metering_default" + android:entries="@array/pref_camera2_exposure_metering_entries" + android:entryValues="@array/pref_camera2_exposure_metering_entryvalues" + android:key="pref_camera2_exposure_metering_key" + android:layout="@layout/preference" + android:summary="%s" + android:title="@string/pref_camera2_exposure_metering_title" /> </PreferenceCategory> </PreferenceScreen> diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 5d2335118..03ec05859 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -251,6 +251,9 @@ public class CaptureModule implements CameraModule, PhotoController, public static final CaptureRequest.Key<Integer> sharpness_control = new CaptureRequest.Key<>( "org.codeaurora.qcamera3.sharpness.strength", Integer.class); + public static final CaptureRequest.Key<Integer> exposure_metering = new CaptureRequest.Key<>( + "org.codeaurora.qcamera3.exposure_metering.exposure_metering_mode", Integer.class); + private boolean[] mTakingPicture = new boolean[MAX_NUM_CAM]; private int mControlAFMode = CameraMetadata.CONTROL_AF_MODE_CONTINUOUS_PICTURE; private int mLastResultAFState = -1; @@ -2128,6 +2131,7 @@ public class CaptureModule implements CameraModule, PhotoController, applyAntiBandingLevel(builder); applySharpnessControlModes(builder); applyAfModes(builder); + applyExposureMeteringModes(builder); applyHistogram(builder); } @@ -4041,6 +4045,14 @@ public class CaptureModule implements CameraModule, PhotoController, } } + private void applyExposureMeteringModes(CaptureRequest.Builder request) { + String value = mSettingsManager.getValue(SettingsManager.KEY_EXPOSURE_METERING_MODE); + if (value != null) { + int intValue = Integer.parseInt(value); + request.set(CaptureModule.exposure_metering, intValue); + } + } + private void applyHistogram(CaptureRequest.Builder request) { String value = mSettingsManager.getValue(SettingsManager.KEY_HISTOGRAM); if (value != null ) { diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 6a365e88b..568186c4d 100644..100755 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -148,6 +148,7 @@ public class SettingsManager implements ListMenu.SettingsListener { public static final String KEY_ZOOM = "pref_camera2_zoom_key"; public static final String KEY_SHARPNESS_CONTROL_MODE = "pref_camera2_sharpness_control_key"; public static final String KEY_AF_MODE = "pref_camera2_afmode_key"; + public static final String KEY_EXPOSURE_METERING_MODE = "pref_camera2_exposure_metering_key"; public static final HashMap<String, Integer> KEY_ISO_INDEX = new HashMap<String, Integer>(); public static final String KEY_BSGC_DETECTION = "pref_camera2_bsgc_key"; diff --git a/version.mk b/version.mk index abac85c0c..c728d1a70 100644 --- a/version.mk +++ b/version.mk @@ -40,7 +40,7 @@ # base_version_build is 3 digits and auto-increment for fixing CR. base_version_major := 2 base_version_minor := 00 -base_version_build := 001 +base_version_build := 002 ##################################################### ##################################################### |