summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/qcomarrays.xml2
-rw-r--r--res/values/qcomstrings.xml3
-rw-r--r--src/com/android/camera/CameraSettings.java11
-rw-r--r--src/com/android/camera/PhotoMenu.java5
-rw-r--r--src/com/android/camera/PhotoModule.java47
5 files changed, 57 insertions, 11 deletions
diff --git a/res/values/qcomarrays.xml b/res/values/qcomarrays.xml
index ae2201c58..9b71634a2 100644
--- a/res/values/qcomarrays.xml
+++ b/res/values/qcomarrays.xml
@@ -590,6 +590,7 @@
<item>@string/pref_camera_advanced_feature_entry_optizoom</item>
<item>@string/pref_camera_advanced_feature_entry_FSSR</item>
<item>@string/pref_camera_advanced_feature_entry_trueportrait</item>
+ <item>@string/pref_camera_advanced_feature_entry_multi_touch_focus</item>
</string-array>
<string-array name="pref_camera_advanced_features_entryvalues" translatable="false">
@@ -600,6 +601,7 @@
<item>@string/pref_camera_advanced_feature_value_optizoom_on</item>
<item>@string/pref_camera_advanced_feature_value_FSSR_on</item>
<item>@string/pref_camera_advanced_feature_value_trueportrait_on</item>
+ <item>@string/pref_camera_advanced_feature_value_multi_touch_focus_on</item>
</string-array>
<!-- Camera Preferences Long Shot dialog box entries -->
diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml
index 40cd2b69c..93a39003d 100644
--- a/res/values/qcomstrings.xml
+++ b/res/values/qcomstrings.xml
@@ -147,6 +147,7 @@
<string name="pref_camera_advanced_feature_entry_optizoom">Opti Zoom</string>
<string name="pref_camera_advanced_feature_entry_FSSR">FSSR</string>
<string name="pref_camera_advanced_feature_entry_trueportrait">True Portrait</string>
+ <string name="pref_camera_advanced_feature_entry_multi_touch_focus">Multi-touch Focus</string>
<!-- Auto exposure entry values. Do not translate. -->
<string name="pref_camera_advanced_feature_value_none">none</string>
@@ -156,12 +157,14 @@
<string name="pref_camera_advanced_feature_value_optizoom_on">opti-zoom-on</string>
<string name="pref_camera_advanced_feature_value_FSSR_on">FSSR-on</string>
<string name="pref_camera_advanced_feature_value_trueportrait_on">true-portrait-on</string>
+ <string name="pref_camera_advanced_feature_value_multi_touch_focus_on">multi-touch-focus-on</string>
<string name="pref_camera_advanced_feature_value_ubifocus_off">af-bracket-off</string>
<string name="pref_camera_advanced_feature_value_refocus_off">re-focus-off</string>
<string name="pref_camera_advanced_feature_value_chromaflash_off">chroma-flash-off</string>
<string name="pref_camera_advanced_feature_value_optizoom_off">opti-zoom-off</string>
<string name="pref_camera_advanced_feature_value_FSSR_off">FSSR-off</string>
<string name="pref_camera_advanced_feature_value_trueportrait_off">true-portrait-off</string>
+ <string name="pref_camera_advanced_feature_value_multi_touch_focus_off">multi-touch-focus-off</string>
<!-- Settings screen, ZSL location dialog choices -->
<string name="pref_camera_zsl_entry_off">Off</string>
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index ad0bbc544..3a63d0bfe 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -123,6 +123,7 @@ public class CameraSettings {
private static final String KEY_QC_SUPPORTED_OZ_MODES = "opti-zoom-values";
private static final String KEY_QC_SUPPORTED_FSSR_MODES = "FSSR-values";
private static final String KEY_QC_SUPPORTED_TP_MODES = "true-portrait-values";
+ private static final String KEY_QC_SUPPORTED_MTF_MODES = "multi-touch-focus-values";
private static final String KEY_QC_SUPPORTED_FACE_RECOGNITION_MODES = "face-recognition-values";
private static final String KEY_QC_SUPPORTED_DIS_MODES = "dis-values";
private static final String KEY_QC_SUPPORTED_SEE_MORE_MODES = "see-more-values";
@@ -141,6 +142,7 @@ public class CameraSettings {
public static final String KEY_QC_OPTI_ZOOM = "opti-zoom";
public static final String KEY_QC_FSSR = "FSSR";
public static final String KEY_QC_TP = "true-portrait";
+ public static final String KEY_QC_MULTI_TOUCH_FOCUS = "multi-touch-focus";
public static final String KEY_QC_FACE_RECOGNITION = "face-recognition";
public static final String KEY_QC_DIS_MODE = "dis";
public static final String KEY_QC_CDS_MODE = "cds-mode";
@@ -358,6 +360,7 @@ public class CameraSettings {
str += ',' + params.get(KEY_QC_SUPPORTED_OZ_MODES);
str += ',' + params.get(KEY_QC_SUPPORTED_FSSR_MODES);
str += ',' + params.get(KEY_QC_SUPPORTED_TP_MODES);
+ str += ',' + params.get(KEY_QC_SUPPORTED_MTF_MODES);
str += ',' + mContext.getString(R.string.pref_camera_advanced_feature_default);
str += ',' + params.get(KEY_QC_SUPPORTED_RE_FOCUS_MODES);
return split(str);
@@ -411,6 +414,14 @@ public class CameraSettings {
return split(str);
}
+ public static List<String> getSupportedMultiTouchFocusModes(Parameters params) {
+ String str = params.get(KEY_QC_SUPPORTED_MTF_MODES);
+ if (str == null) {
+ return null;
+ }
+ return split(str);
+ }
+
// Splits a comma delimited string to an ArrayList of String.
// Return null if the passing string is null or the size is 0.
private static ArrayList<String> split(String str) {
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index deeea89ee..2118af801 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -334,6 +334,8 @@ public class PhotoMenu extends PieController
pref_camera_advanced_feature_value_FSSR_on);
String truePortraitOn = mActivity.getString(R.string.
pref_camera_advanced_feature_value_trueportrait_on);
+ String multiTouchFocusOn = mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_multi_touch_focus_on);
if ((zsl != null) && Parameters.ZSL_OFF.equals(zsl)) {
popup3.overrideSettings(CameraSettings.KEY_ADVANCED_FEATURES,
@@ -352,7 +354,8 @@ public class PhotoMenu extends PieController
advancedFeatures.equals(reFocusOn) ||
advancedFeatures.equals(optiZoomOn) ||
advancedFeatures.equals(fssrOn) ||
- advancedFeatures.equals(truePortraitOn))) {
+ advancedFeatures.equals(truePortraitOn) ||
+ advancedFeatures.equals(multiTouchFocusOn))) {
popup3.setPreferenceEnabled(CameraSettings.KEY_FOCUS_MODE,false);
popup3.setPreferenceEnabled(CameraSettings.KEY_FLASH_MODE,false);
popup3.setPreferenceEnabled(CameraSettings.KEY_AE_BRACKET_HDR,false);
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index f701fb407..8b0f939f6 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1580,6 +1580,8 @@ public class PhotoModule
pref_camera_advanced_feature_value_FSSR_on);
String truPortraitOn = mActivity.getString(R.string.
pref_camera_advanced_feature_value_trueportrait_on);
+ String multiTouchFocusOn = mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_multi_touch_focus_on);
String optiZoom =
mParameters.get(CameraSettings.KEY_QC_OPTI_ZOOM);
String chromaFlash =
@@ -1588,11 +1590,12 @@ public class PhotoModule
mParameters.get(CameraSettings.KEY_QC_AF_BRACKETING);
String fssr =
mParameters.get(CameraSettings.KEY_QC_FSSR);
- String continuousShot =
- mParameters.get("long-shot");
String truePortrait =
mParameters.get(CameraSettings.KEY_QC_TP);
-
+ String multiTouchFocus =
+ mParameters.get(CameraSettings.KEY_QC_MULTI_TOUCH_FOCUS);
+ String continuousShot =
+ mParameters.get("long-shot");
if ((continuousShot != null) && continuousShot.equals(continuousShotOn)) {
String pictureFormat = mActivity.getString(R.string.
pref_camera_picture_format_value_jpeg);
@@ -1611,6 +1614,7 @@ public class PhotoModule
mUI.overrideSettings(CameraSettings.KEY_PICTURE_FORMAT, null);
}
if ((ubiFocus != null && ubiFocus.equals(ubiFocusOn)) ||
+ (multiTouchFocus != null && multiTouchFocus.equals(multiTouchFocusOn)) ||
(reFocus != null && reFocus.equals(reFocusOn)) ||
(chromaFlash != null && chromaFlash.equals(chromaFlashOn)) ||
(optiZoom != null && optiZoom.equals(optiZoomOn)) ||
@@ -2557,7 +2561,8 @@ public class PhotoModule
String reFocus,
String optiZoom,
String fssr,
- String truePortrait) {
+ String truePortrait,
+ String multiTouchFocus) {
if (CameraUtil.isSupported(ubiFocus,
CameraSettings.getSupportedAFBracketingModes(mParameters))) {
mParameters.set(CameraSettings.KEY_QC_AF_BRACKETING, ubiFocus);
@@ -2582,6 +2587,10 @@ public class PhotoModule
CameraSettings.getSupportedTruePortraitModes(mParameters))) {
mParameters.set(CameraSettings.KEY_QC_TP, truePortrait);
}
+ if(CameraUtil.isSupported(multiTouchFocus,
+ CameraSettings.getSupportedMultiTouchFocusModes(mParameters))) {
+ mParameters.set(CameraSettings.KEY_QC_MULTI_TOUCH_FOCUS, multiTouchFocus);
+ }
}
/** This can run on a background thread, so don't do UI updates here.*/
@@ -2815,6 +2824,8 @@ public class PhotoModule
pref_camera_advanced_feature_value_FSSR_off);
String truePortraitOff = mActivity.getString(R.string.
pref_camera_advanced_feature_value_trueportrait_off);
+ String multiTouchFocusOff = mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_multi_touch_focus_off);
if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_ubifocus_on))) {
@@ -2823,7 +2834,8 @@ public class PhotoModule
reFocusOff,
optiZoomOff,
fssrOff,
- truePortraitOff);
+ truePortraitOff,
+ multiTouchFocusOff);
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_chromaflash_on))) {
qcomUpdateAdvancedFeatures(ubiFocusOff,
@@ -2831,7 +2843,8 @@ public class PhotoModule
reFocusOff,
optiZoomOff,
fssrOff,
- truePortraitOff);
+ truePortraitOff,
+ multiTouchFocusOff);
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_refocus_on))) {
qcomUpdateAdvancedFeatures(ubiFocusOff,
@@ -2839,7 +2852,8 @@ public class PhotoModule
advancedFeature,
optiZoomOff,
fssrOff,
- truePortraitOff);
+ truePortraitOff,
+ multiTouchFocusOff);
mRefocus = true;
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_optizoom_on))) {
@@ -2848,7 +2862,8 @@ public class PhotoModule
reFocusOff,
advancedFeature,
fssrOff,
- truePortraitOff);
+ truePortraitOff,
+ multiTouchFocusOff);
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_FSSR_on))) {
qcomUpdateAdvancedFeatures(ubiFocusOff,
@@ -2856,7 +2871,8 @@ public class PhotoModule
reFocusOff,
optiZoomOff,
advancedFeature,
- truePortraitOff);
+ truePortraitOff,
+ multiTouchFocusOff);
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_trueportrait_on))) {
qcomUpdateAdvancedFeatures(ubiFocusOff,
@@ -2864,6 +2880,16 @@ public class PhotoModule
reFocusOff,
optiZoomOff,
fssrOff,
+ advancedFeature,
+ multiTouchFocusOff);
+ } else if (advancedFeature.equals(mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_multi_touch_focus_on))) {
+ qcomUpdateAdvancedFeatures(ubiFocusOff,
+ chromaFlashOff,
+ reFocusOff,
+ optiZoomOff,
+ fssrOff,
+ truePortraitOff,
advancedFeature);
} else {
qcomUpdateAdvancedFeatures(ubiFocusOff,
@@ -2871,7 +2897,8 @@ public class PhotoModule
reFocusOff,
optiZoomOff,
fssrOff,
- truePortraitOff);
+ truePortraitOff,
+ multiTouchFocusOff);
}
}
// Set auto exposure parameter.