diff options
author | Jack Yoo <jyoo@codeaurora.org> | 2016-10-31 10:12:39 -0700 |
---|---|---|
committer | Jack Yoo <jyoo@codeaurora.org> | 2016-11-09 09:48:02 -0800 |
commit | ea7548840f9152b636e75f36b3ef9cd66f363108 (patch) | |
tree | 1f05d0aa51177f5f3790e3270c52ca79680fb162 | |
parent | 9129e68c256c9381889d4f3a475961feba9eaaa2 (diff) | |
download | android_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.png | bin | 0 -> 1382 bytes | |||
-rw-r--r-- | res/drawable-hdpi/tracking_focus.png | bin | 0 -> 1160 bytes | |||
-rw-r--r-- | res/values/camera2arrays.xml | 6 | ||||
-rw-r--r-- | res/values/qcomstrings.xml | 2 | ||||
-rw-r--r-- | res/xml/capture_preferences.xml | 7 | ||||
-rw-r--r-- | res/xml/setting_menu_preferences.xml | 8 | ||||
-rw-r--r-- | src/com/android/camera/CaptureModule.java | 42 | ||||
-rw-r--r-- | src/com/android/camera/CaptureUI.java | 12 | ||||
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 14 |
9 files changed, 45 insertions, 46 deletions
diff --git a/res/drawable-hdpi/sharp_photo.png b/res/drawable-hdpi/sharp_photo.png Binary files differnew file mode 100644 index 000000000..3730e7247 --- /dev/null +++ b/res/drawable-hdpi/sharp_photo.png diff --git a/res/drawable-hdpi/tracking_focus.png b/res/drawable-hdpi/tracking_focus.png Binary files differnew file mode 100644 index 000000000..7ab23eb05 --- /dev/null +++ b/res/drawable-hdpi/tracking_focus.png 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); } |