summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Yoo <jyoo@codeaurora.org>2016-10-31 10:12:39 -0700
committerJack Yoo <jyoo@codeaurora.org>2016-11-09 09:48:02 -0800
commitea7548840f9152b636e75f36b3ef9cd66f363108 (patch)
tree1f05d0aa51177f5f3790e3270c52ca79680fb162
parent9129e68c256c9381889d4f3a475961feba9eaaa2 (diff)
downloadandroid_packages_apps_Snap-ea7548840f9152b636e75f36b3ef9cd66f363108.tar.gz
android_packages_apps_Snap-ea7548840f9152b636e75f36b3ef9cd66f363108.tar.bz2
android_packages_apps_Snap-ea7548840f9152b636e75f36b3ef9cd66f363108.zip
SnapdragonCamera: Scene mode change
Adding Sharpshooter, Stillmore scene mode menu Moving Tracking focus to the scene mode Change-Id: I5afb2499e767d90f0e0e6408168961bcda4e55bb CRs-Fixed: 1083651
-rw-r--r--res/drawable-hdpi/sharp_photo.pngbin0 -> 1382 bytes
-rw-r--r--res/drawable-hdpi/tracking_focus.pngbin0 -> 1160 bytes
-rw-r--r--res/values/camera2arrays.xml6
-rw-r--r--res/values/qcomstrings.xml2
-rw-r--r--res/xml/capture_preferences.xml7
-rw-r--r--res/xml/setting_menu_preferences.xml8
-rw-r--r--src/com/android/camera/CaptureModule.java42
-rw-r--r--src/com/android/camera/CaptureUI.java12
-rw-r--r--src/com/android/camera/SettingsManager.java14
9 files changed, 45 insertions, 46 deletions
diff --git a/res/drawable-hdpi/sharp_photo.png b/res/drawable-hdpi/sharp_photo.png
new file mode 100644
index 000000000..3730e7247
--- /dev/null
+++ b/res/drawable-hdpi/sharp_photo.png
Binary files differ
diff --git a/res/drawable-hdpi/tracking_focus.png b/res/drawable-hdpi/tracking_focus.png
new file mode 100644
index 000000000..7ab23eb05
--- /dev/null
+++ b/res/drawable-hdpi/tracking_focus.png
Binary files differ
diff --git a/res/values/camera2arrays.xml b/res/values/camera2arrays.xml
index 5bb98d2eb..80c695d58 100644
--- a/res/values/camera2arrays.xml
+++ b/res/values/camera2arrays.xml
@@ -154,6 +154,8 @@
<item>103</item>
<item>105</item>
<item>106</item>
+ <item>107</item>
+ <item>108</item>
<item>104</item>
</string-array>
@@ -178,6 +180,8 @@
<item>@string/pref_camera_scenemode_entry_bestpicture</item>
<item>@string/pref_camera_scenemode_entry_chromaflash</item>
<item>@string/pref_camera_scenemode_entry_blurbuster</item>
+ <item>@string/pref_camera_scenemode_entry_sharpshooter</item>
+ <item>@string/pref_camera_scenemode_entry_trackingfocus</item>
<item>@string/pref_camera_scenemode_entry_panorama</item>
</string-array>
@@ -201,6 +205,8 @@
<item>@drawable/pick_the_best_photo</item>
<item>@drawable/chroma_flash</item>
<item>@drawable/blur_buster</item>
+ <item>@drawable/sharp_photo</item>
+ <item>@drawable/tracking_focus</item>
<item>@drawable/scene_panorama</item>
</array>
diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml
index 64bd8127a..34c9b32cf 100644
--- a/res/values/qcomstrings.xml
+++ b/res/values/qcomstrings.xml
@@ -1026,6 +1026,8 @@
<string name="pref_camera_scenemode_entry_bestpicture" translatable="true">BestPicture</string>
<string name="pref_camera_scenemode_entry_chromaflash" translatable="true">ChromaFlash</string>
<string name="pref_camera_scenemode_entry_blurbuster" translatable="true">BlurBuster</string>
+ <string name="pref_camera_scenemode_entry_sharpshooter" translatable="true">SharpPhoto</string>
+ <string name="pref_camera_scenemode_entry_trackingfocus" translatable="true">TrackingFocus</string>
<string name="pref_camera_scenemode_entry_panorama" translatable="true">Panorama</string>
<string name="bestpicture_done" translatable="true">DONE</string>
<string name="bestpicture_at_least_one_picture" translatable="true">At least, one picture has to be chosen.</string>
diff --git a/res/xml/capture_preferences.xml b/res/xml/capture_preferences.xml
index 07c3df83e..f3603c443 100644
--- a/res/xml/capture_preferences.xml
+++ b/res/xml/capture_preferences.xml
@@ -270,13 +270,6 @@
camera:singleIcon="@drawable/ic_settings_facerec"
camera:title="@string/pref_camera_facedetection_title"/>
- <ListPreference
- camera:defaultValue="off"
- camera:key="pref_camera2_trackingfocus_key"
- camera:entries="@array/pref_camera2_trackingfocus_entries"
- camera:entryValues="@array/pref_camera2_trackingfocus_entryvalues"
- camera:title="@string/pref_camera2_trackingfocus_title"/>
-
<IconListPreference
camera:defaultValue="@string/pref_camera_hfr_default"
camera:entries="@array/pref_camera_hfr_entries"
diff --git a/res/xml/setting_menu_preferences.xml b/res/xml/setting_menu_preferences.xml
index ba140f4ff..92b5db8c8 100644
--- a/res/xml/setting_menu_preferences.xml
+++ b/res/xml/setting_menu_preferences.xml
@@ -252,13 +252,6 @@
android:layout="@layout/preference"
android:summary="%s"
android:title="@string/pref_camera_hfr_title" />
-
- <SwitchPreference
- android:defaultValue="false"
- android:icon="@drawable/tracking_focus"
- android:key="pref_camera2_trackingfocus_key"
- android:layout="@layout/preference"
- android:title="@string/pref_camera2_trackingfocus_title" />
</PreferenceCategory>
<PreferenceCategory
@@ -271,7 +264,6 @@
android:key="pref_camera2_restore_default_key"
android:layout="@layout/preference"
android:title="@string/pref_camera2_restore_default" />
-
<Preference
android:defaultValue="false"
android:icon="@drawable/version_info"
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 7e7b60414..1f33c1022 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -85,6 +85,7 @@ import com.android.camera.PhotoModule.NamedImages;
import com.android.camera.PhotoModule.NamedImages.NamedEntity;
import com.android.camera.imageprocessor.filter.SharpshooterFilter;
import com.android.camera.imageprocessor.filter.StillmoreFilter;
+import com.android.camera.imageprocessor.filter.UbifocusFilter;
import com.android.camera.ui.CountDownView;
import com.android.camera.ui.ModuleSwitcher;
import com.android.camera.ui.RotateTextToast;
@@ -1875,14 +1876,25 @@ public class CaptureModule implements CameraModule, PhotoController,
if(scene != null && !scene.equalsIgnoreCase("0")) {
filters.add(FrameProcessor.FILTER_MAKEUP);
}
- String trackingFocus = mSettingsManager.getValue(SettingsManager.KEY_TRACKINGFOCUS);
- if(trackingFocus != null && trackingFocus.equalsIgnoreCase("on")) {
+ if(isTrackingFocusSettingOn()) {
filters.add(FrameProcessor.LISTENER_TRACKING_FOCUS);
}
return filters;
}
+ public boolean isTrackingFocusSettingOn() {
+ String scene = mSettingsManager.getValue(SettingsManager.KEY_SCENE_MODE);
+ try {
+ int mode = Integer.parseInt(scene);
+ if (mode == SettingsManager.SCENE_MODE_TRACKINGFOCUS_INT) {
+ return true;
+ }
+ } catch (Exception e) {
+ }
+ return false;
+ }
+
public void setRefocusLastTaken(final boolean value) {
mIsRefocus = value;
mActivity.runOnUiThread(new Runnable() {
@@ -1895,18 +1907,17 @@ public class CaptureModule implements CameraModule, PhotoController,
private int getPostProcFilterId(int mode) {
if (mode == SettingsManager.SCENE_MODE_OPTIZOOM_INT) {
return PostProcessor.FILTER_OPTIZOOM;
- } else if (mode == SettingsManager.SCENE_MODE_NIGHT_INT && SharpshooterFilter.isSupportedStatic()) {
- return PostProcessor.FILTER_SHARPSHOOTER;
+ } else if (mode == SettingsManager.SCENE_MODE_NIGHT_INT && StillmoreFilter.isSupportedStatic()) {
+ return PostProcessor.FILTER_STILLMORE;
} else if (mode == SettingsManager.SCENE_MODE_CHROMAFLASH_INT && ChromaflashFilter.isSupportedStatic()) {
return PostProcessor.FILTER_CHROMAFLASH;
} else if (mode == SettingsManager.SCENE_MODE_BLURBUSTER_INT && BlurbusterFilter.isSupportedStatic()) {
return PostProcessor.FILTER_BLURBUSTER;
- } else if (mode == SettingsManager.SCENE_MODE_UBIFOCUS_INT) {
+ } else if (mode == SettingsManager.SCENE_MODE_UBIFOCUS_INT && UbifocusFilter.isSupportedStatic()) {
return PostProcessor.FILTER_UBIFOCUS;
- }// else if (mode == SettingsManager.SCENE_MODE_AUTO_INT && StillmoreFilter.isSupportedStatic()) {
- // return PostProcessor.FILTER_STILLMORE;
- //TODO: Need to put this back
- else if (mode == SettingsManager.SCENE_MODE_BESTPICTURE_INT) {
+ } else if (mode == SettingsManager.SCENE_MODE_SHARPSHOOTER_INT && SharpshooterFilter.isSupportedStatic()) {
+ return PostProcessor.FILTER_SHARPSHOOTER;
+ } else if (mode == SettingsManager.SCENE_MODE_BESTPICTURE_INT) {
return PostProcessor.FILTER_BESTPICTURE;
}
return PostProcessor.FILTER_NONE;
@@ -1969,7 +1980,6 @@ public class CaptureModule implements CameraModule, PhotoController,
private void openProcessors() {
String scene = mSettingsManager.getValue(SettingsManager.KEY_SCENE_MODE);
boolean isFlashOn = false;
- boolean isTrackingFocusOn = false;
boolean isMakeupOn = false;
boolean isSelfieMirrorOn = false;
if(mPostProcessor != null) {
@@ -1985,16 +1995,12 @@ public class CaptureModule implements CameraModule, PhotoController,
if(flashMode != null && flashMode.equalsIgnoreCase("on")) {
isFlashOn = true;
}
- String trackingFocus = mSettingsManager.getValue(SettingsManager.KEY_TRACKINGFOCUS);
- if(trackingFocus != null && trackingFocus.equalsIgnoreCase("on")) {
- isTrackingFocusOn = true;
- }
if (scene != null) {
int mode = Integer.parseInt(scene);
Log.d(TAG, "Chosen postproc filter id : " + getPostProcFilterId(mode));
- mPostProcessor.onOpen(getPostProcFilterId(mode), isFlashOn, isTrackingFocusOn, isMakeupOn, isSelfieMirrorOn);
+ mPostProcessor.onOpen(getPostProcFilterId(mode), isFlashOn, isTrackingFocusSettingOn(), isMakeupOn, isSelfieMirrorOn);
} else {
- mPostProcessor.onOpen(PostProcessor.FILTER_NONE, isFlashOn, isTrackingFocusOn, isMakeupOn, isSelfieMirrorOn);
+ mPostProcessor.onOpen(PostProcessor.FILTER_NONE, isFlashOn, isTrackingFocusSettingOn(), isMakeupOn, isSelfieMirrorOn);
}
}
if(mFrameProcessor != null) {
@@ -3597,6 +3603,10 @@ public class CaptureModule implements CameraModule, PhotoController,
} else {
createSessions();
}
+
+ if(isTrackingFocusSettingOn()) {
+ mUI.resetTrackingFocus();
+ }
}
private Size getOptimalPreviewSize(Size pictureSize, Size[] prevSizes, int screenW, int
diff --git a/src/com/android/camera/CaptureUI.java b/src/com/android/camera/CaptureUI.java
index b980bf7ef..7c426073d 100644
--- a/src/com/android/camera/CaptureUI.java
+++ b/src/com/android/camera/CaptureUI.java
@@ -343,8 +343,7 @@ public class CaptureUI implements FocusOverlayManager.FocusUI,
mTrackingFocusRenderer = new TrackingFocusRenderer(mActivity, mModule, this);
mRenderOverlay.addRenderer(mTrackingFocusRenderer);
}
- String trackingFocus = mSettingsManager.getValue(SettingsManager.KEY_TRACKINGFOCUS);
- if(trackingFocus != null && trackingFocus.equalsIgnoreCase("on")) {
+ if(mModule.isTrackingFocusSettingOn()) {
mTrackingFocusRenderer.setVisible(true);
} else {
mTrackingFocusRenderer.setVisible(false);
@@ -409,8 +408,7 @@ public class CaptureUI implements FocusOverlayManager.FocusUI,
initFilterModeButton();
initFlashButton();
setMakeupButtonIcon();
- String trackingFocus = mSettingsManager.getValue(SettingsManager.KEY_TRACKINGFOCUS);
- if(trackingFocus != null && trackingFocus.equalsIgnoreCase("on")) {
+ if(mModule.isTrackingFocusSettingOn()) {
mTrackingFocusRenderer.setVisible(false);
mTrackingFocusRenderer.setVisible(true);
} else {
@@ -576,8 +574,7 @@ public class CaptureUI implements FocusOverlayManager.FocusUI,
}
public void resetTrackingFocus() {
- String trackingFocus = mSettingsManager.getValue(SettingsManager.KEY_TRACKINGFOCUS);
- if(trackingFocus != null && trackingFocus.equalsIgnoreCase("on")) {
+ if(mModule.isTrackingFocusSettingOn()) {
mTrackingFocusRenderer.setVisible(false);
mTrackingFocusRenderer.setVisible(true);
}
@@ -1030,8 +1027,7 @@ public class CaptureUI implements FocusOverlayManager.FocusUI,
}
private FocusIndicator getFocusIndicator() {
- String trackingFocus = mSettingsManager.getValue(SettingsManager.KEY_TRACKINGFOCUS);
- if (trackingFocus != null && trackingFocus.equalsIgnoreCase("on")) {
+ if (mModule.isTrackingFocusSettingOn()) {
if (mPieRenderer != null) {
mPieRenderer.clear();
}
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java
index 01f371cf9..0cacaa594 100644
--- a/src/com/android/camera/SettingsManager.java
+++ b/src/com/android/camera/SettingsManager.java
@@ -53,10 +53,13 @@ import com.android.camera.imageprocessor.filter.BestpictureFilter;
import com.android.camera.imageprocessor.filter.BlurbusterFilter;
import com.android.camera.imageprocessor.filter.ChromaflashFilter;
import com.android.camera.imageprocessor.filter.OptizoomFilter;
+import com.android.camera.imageprocessor.filter.SharpshooterFilter;
+import com.android.camera.imageprocessor.filter.StillmoreFilter;
import com.android.camera.imageprocessor.filter.TrackingFocusFrameListener;
import com.android.camera.imageprocessor.filter.UbifocusFilter;
import com.android.camera.ui.ListMenu;
import com.android.camera.ui.PanoCaptureProcessView;
+import com.android.camera.ui.TrackingFocusRenderer;
import com.android.camera.util.SettingTranslation;
import org.codeaurora.snapcam.R;
@@ -89,6 +92,8 @@ public class SettingsManager implements ListMenu.SettingsListener {
public static final int SCENE_MODE_PANORAMA_INT = 104;
public static final int SCENE_MODE_CHROMAFLASH_INT = 105;
public static final int SCENE_MODE_BLURBUSTER_INT = 106;
+ public static final int SCENE_MODE_SHARPSHOOTER_INT = 107;
+ public static final int SCENE_MODE_TRACKINGFOCUS_INT = 108;
public static final String SCENE_MODE_DUAL_STRING = "100";
public static final String KEY_CAMERA_SAVEPATH = "pref_camera2_savepath_key";
public static final String KEY_RECORD_LOCATION = "pref_camera2_recordlocation_key";
@@ -97,7 +102,6 @@ public class SettingsManager implements ListMenu.SettingsListener {
public static final String KEY_FLASH_MODE = "pref_camera2_flashmode_key";
public static final String KEY_WHITE_BALANCE = "pref_camera2_whitebalance_key";
public static final String KEY_MAKEUP = "pref_camera2_makeup_key";
- public static final String KEY_TRACKINGFOCUS = "pref_camera2_trackingfocus_key";
public static final String KEY_MONO_ONLY = "pref_camera2_mono_only_key";
public static final String KEY_MONO_PREVIEW = "pref_camera2_mono_preview_key";
public static final String KEY_CLEARSIGHT = "pref_camera2_clearsight_key";
@@ -529,7 +533,6 @@ public class SettingsManager implements ListMenu.SettingsListener {
ListPreference audioEncoder = mPreferenceGroup.findPreference(KEY_AUDIO_ENCODER);
ListPreference noiseReduction = mPreferenceGroup.findPreference(KEY_NOISE_REDUCTION);
ListPreference faceDetection = mPreferenceGroup.findPreference(KEY_FACE_DETECTION);
- ListPreference trackingfocus = mPreferenceGroup.findPreference(KEY_TRACKINGFOCUS);
if (whiteBalance != null) {
if (filterUnsupportedOptions(whiteBalance, getSupportedWhiteBalanceModes(cameraId))) {
@@ -616,11 +619,6 @@ public class SettingsManager implements ListMenu.SettingsListener {
}
}
- if (trackingfocus != null) {
- if (!TrackingFocusFrameListener.isSupportedStatic())
- removePreference(mPreferenceGroup, KEY_TRACKINGFOCUS);
- }
-
// filter dynamic lists.
// These list can be changed run-time
filterHFROptions();
@@ -1019,6 +1017,8 @@ public class SettingsManager implements ListMenu.SettingsListener {
if (PanoCaptureProcessView.isSupportedStatic() && cameraId == CaptureModule.BAYER_ID) modes.add(SCENE_MODE_PANORAMA_INT + "");
if (ChromaflashFilter.isSupportedStatic() && cameraId == CaptureModule.BAYER_ID) modes.add(SCENE_MODE_CHROMAFLASH_INT + "");
if (BlurbusterFilter.isSupportedStatic()) modes.add(SCENE_MODE_BLURBUSTER_INT + "");
+ if (SharpshooterFilter.isSupportedStatic()) modes.add(SCENE_MODE_SHARPSHOOTER_INT + "");
+ if (TrackingFocusFrameListener.isSupportedStatic()) modes.add(SCENE_MODE_TRACKINGFOCUS_INT + "");
for (int mode : sceneModes) {
modes.add("" + mode);
}