summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/drawable-hdpi/ic_settings_filter.pngbin3786 -> 2157 bytes
-rw-r--r--res/drawable-hdpi/ic_settings_filter_on.pngbin0 -> 2311 bytes
-rw-r--r--res/drawable-xhdpi/ic_settings_filter.pngbin4868 -> 2592 bytes
-rw-r--r--res/drawable-xhdpi/ic_settings_filter_on.pngbin0 -> 2731 bytes
-rw-r--r--res/drawable-xxhdpi/ic_settings_filter.pngbin7389 -> 3208 bytes
-rw-r--r--res/drawable-xxhdpi/ic_settings_filter_on.pngbin0 -> 3301 bytes
-rw-r--r--res/values/qcomarrays.xml14
-rw-r--r--res/values/qcomstrings.xml5
-rw-r--r--res/xml/camera_preferences.xml9
-rw-r--r--res/xml/video_preferences.xml9
-rw-r--r--src/com/android/camera/CameraSettings.java1
-rw-r--r--src/com/android/camera/PhotoMenu.java27
-rw-r--r--src/com/android/camera/VideoMenu.java29
13 files changed, 85 insertions, 9 deletions
diff --git a/res/drawable-hdpi/ic_settings_filter.png b/res/drawable-hdpi/ic_settings_filter.png
index 30b9e0a0d..a50d758fb 100644
--- a/res/drawable-hdpi/ic_settings_filter.png
+++ b/res/drawable-hdpi/ic_settings_filter.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_filter_on.png b/res/drawable-hdpi/ic_settings_filter_on.png
new file mode 100644
index 000000000..32835f907
--- /dev/null
+++ b/res/drawable-hdpi/ic_settings_filter_on.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_filter.png b/res/drawable-xhdpi/ic_settings_filter.png
index 6d274327c..1d8d4a55c 100644
--- a/res/drawable-xhdpi/ic_settings_filter.png
+++ b/res/drawable-xhdpi/ic_settings_filter.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_filter_on.png b/res/drawable-xhdpi/ic_settings_filter_on.png
new file mode 100644
index 000000000..c1e518e33
--- /dev/null
+++ b/res/drawable-xhdpi/ic_settings_filter_on.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_filter.png b/res/drawable-xxhdpi/ic_settings_filter.png
index 06bdd140e..4ecb0550a 100644
--- a/res/drawable-xxhdpi/ic_settings_filter.png
+++ b/res/drawable-xxhdpi/ic_settings_filter.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_filter_on.png b/res/drawable-xxhdpi/ic_settings_filter_on.png
new file mode 100644
index 000000000..048c08772
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_settings_filter_on.png
Binary files differ
diff --git a/res/values/qcomarrays.xml b/res/values/qcomarrays.xml
index f54c22971..5b99bdc28 100644
--- a/res/values/qcomarrays.xml
+++ b/res/values/qcomarrays.xml
@@ -788,6 +788,15 @@
<item>On</item>
</string-array>
+ <string-array name="pref_camera_filter_mode_entries" translatable="false">
+ <item>@string/pref_camera_filter_mode_entry_off</item>
+ <item>@string/pref_camera_filter_mode_entry_on</item>
+ </string-array>
+ <string-array name="pref_camera_filter_mode_entryvalues" translatable="false">
+ <item>Off</item>
+ <item>On</item>
+ </string-array>
+
<!-- Camera Preferences Color effect dialog box entries -->
<string-array name="pref_camera_tsmakeup_level_entries" translatable="false">
<item>@string/pref_camera_tsmakeup_entry_off</item>
@@ -816,6 +825,9 @@
<item>@drawable/ic_ts_makeup_off</item>
<item>@drawable/ic_ts_makeup_on</item>
</string-array>
-
+ <string-array name="pref_filter_mode_icons" translatable="false">
+ <item>@drawable/ic_settings_filter</item>
+ <item>@drawable/ic_settings_filter_on</item>
+ </string-array>
</resources>
diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml
index 115a6ffa7..97576fbae 100644
--- a/res/values/qcomstrings.xml
+++ b/res/values/qcomstrings.xml
@@ -471,9 +471,12 @@
<!-- Default color effect setting. -->
<string name="pref_camera_coloreffect_default" translatable="false">none</string>
+ <string name="pref_camera_filter_mode_entry_on">On</string>
+ <string name="pref_camera_filter_mode_entry_off">Off</string>
<!-- Settings screen, Select Color effect title -->
- <string name="pref_camera_coloreffect_title">Color effect</string>
+ <string name="pref_camera_coloreffect_title">Color effect Level</string>
+ <string name="pref_camera_filter_mode_title">Color effect Mode</string>
<!-- Settings screen, Color effect dialog radio button choices -->
<string name="pref_camera_coloreffect_entry_none">None</string>
diff --git a/res/xml/camera_preferences.xml b/res/xml/camera_preferences.xml
index c6e625835..8a0668fa0 100644
--- a/res/xml/camera_preferences.xml
+++ b/res/xml/camera_preferences.xml
@@ -149,6 +149,15 @@
camera:entries="@array/pref_camera_facerc_entries"
camera:entryValues="@array/pref_camera_facerc_entryvalues" />
<IconListPreference
+ camera:key="pref_camera_filter_mode_key"
+ camera:defaultValue="@string/pref_camera_coloreffect_default"
+ camera:title="@string/pref_camera_filter_mode_title"
+ camera:entries="@array/pref_camera_filter_mode_entries"
+ camera:singleIcon="@drawable/ic_settings_filter"
+ camera:icons="@array/pref_filter_mode_icons"
+ camera:largeIcons="@array/pref_filter_mode_icons"
+ camera:entryValues="@array/pref_camera_filter_mode_entryvalues" />
+ <IconListPreference
camera:key="pref_camera_coloreffect_key"
camera:defaultValue="@string/pref_camera_coloreffect_default"
camera:title="@string/pref_camera_coloreffect_title"
diff --git a/res/xml/video_preferences.xml b/res/xml/video_preferences.xml
index f9949d4e1..0184bad1a 100644
--- a/res/xml/video_preferences.xml
+++ b/res/xml/video_preferences.xml
@@ -119,6 +119,15 @@
camera:singleIcon="@drawable/ic_eis_menu"
camera:entryValues="@array/pref_camera_dis_entryvalues" />
<IconListPreference
+ camera:key="pref_camera_filter_mode_key"
+ camera:defaultValue="@string/pref_camera_coloreffect_default"
+ camera:title="@string/pref_camera_filter_mode_title"
+ camera:entries="@array/pref_camera_filter_mode_entries"
+ camera:singleIcon="@drawable/ic_settings_filter"
+ camera:icons="@array/pref_filter_mode_icons"
+ camera:largeIcons="@array/pref_filter_mode_icons"
+ camera:entryValues="@array/pref_camera_filter_mode_entryvalues" />
+ <IconListPreference
camera:key="pref_camera_coloreffect_key"
camera:defaultValue="@string/pref_camera_coloreffect_default"
camera:title="@string/pref_camera_coloreffect_title"
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 407f879cf..180a46097 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -84,6 +84,7 @@ public class CameraSettings {
public static final String KEY_PICTURE_FORMAT = "pref_camera_pictureformat_key";
public static final String KEY_ZSL = "pref_camera_zsl_key";
public static final String KEY_CAMERA_SAVEPATH = "pref_camera_savepath_key";
+ public static final String KEY_FILTER_MODE = "pref_camera_filter_mode_key";
public static final String KEY_COLOR_EFFECT = "pref_camera_coloreffect_key";
public static final String KEY_FACE_DETECTION = "pref_camera_facedetection_key";
public static final String KEY_TOUCH_AF_AEC = "pref_camera_touchafaec_key";
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index 83ceff0b6..2cb544e6e 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -1085,14 +1085,18 @@ public class PhotoMenu extends MenuController
public void initFilterModeButton(View button) {
button.setVisibility(View.INVISIBLE);
final IconListPreference pref = (IconListPreference) mPreferenceGroup
- .findPreference(CameraSettings.KEY_COLOR_EFFECT);
+ .findPreference(CameraSettings.KEY_FILTER_MODE);
if (pref == null)
return;
int[] iconIds = pref.getLargeIconIds();
+ int index = pref.findIndexOfValue(pref.getValue());
int resid = -1;
- // The preference only has a single icon to represent it.
- resid = pref.getSingleIcon();
+ if (!pref.getUseSingleIcon() && iconIds != null) {
+ resid = iconIds[index];
+ } else {
+ resid = pref.getSingleIcon();
+ }
((ImageView) button).setImageResource(resid);
button.setVisibility(View.VISIBLE);
button.setOnClickListener(new OnClickListener() {
@@ -1188,6 +1192,7 @@ public class PhotoMenu extends MenuController
} else if (event.getAction() == MotionEvent.ACTION_UP) {
if (System.currentTimeMillis() - startTime < CLICK_THRESHOLD) {
pref.setValueIndex(j);
+ changeFilterModeControlIcon(pref.getValue());
onSettingChanged(pref);
for (View v1 : views) {
v1.setBackground(null);
@@ -1212,6 +1217,22 @@ public class PhotoMenu extends MenuController
mPreviewMenu = basic;
}
+ private void changeFilterModeControlIcon(String value) {
+ if(!value.equals("")) {
+ if(value.equalsIgnoreCase(mActivity.getString(R.string.pref_camera_coloreffect_entry_none))) {
+ value = mActivity.getString(R.string.pref_camera_filter_mode_entry_off);
+ } else {
+ value = mActivity.getString(R.string.pref_camera_filter_mode_entry_on);
+ }
+ final IconListPreference pref = (IconListPreference) mPreferenceGroup
+ .findPreference(CameraSettings.KEY_FILTER_MODE);
+ pref.setValue(value);
+ int index = pref.getCurrentIndex();
+ ImageView iv = (ImageView) mFilterModeSwitcher;
+ iv.setImageResource(((IconListPreference) pref).getLargeIconIds()[index]);
+ }
+ }
+
public void openFirstLevel() {
if (isMenuBeingShown() || CameraControls.isAnimating()) {
return;
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java
index 6998cbf0e..dcca97d68 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -502,14 +502,18 @@ public class VideoMenu extends MenuController
public void initFilterModeButton(View button) {
button.setVisibility(View.INVISIBLE);
final IconListPreference pref = (IconListPreference) mPreferenceGroup
- .findPreference(CameraSettings.KEY_COLOR_EFFECT);
+ .findPreference(CameraSettings.KEY_FILTER_MODE);
if (pref == null)
return;
int[] iconIds = pref.getLargeIconIds();
+ int index = pref.findIndexOfValue(pref.getValue());
int resid = -1;
- // The preference only has a single icon to represent it.
- resid = pref.getSingleIcon();
+ if (!pref.getUseSingleIcon() && iconIds != null) {
+ resid = iconIds[index];
+ } else {
+ resid = pref.getSingleIcon();
+ }
((ImageView) button).setImageResource(resid);
button.setVisibility(View.VISIBLE);
button.setOnClickListener(new OnClickListener() {
@@ -611,6 +615,7 @@ public class VideoMenu extends MenuController
} else if (event.getAction() == MotionEvent.ACTION_UP) {
if (System.currentTimeMillis() - startTime < CLICK_THRESHOLD) {
pref.setValueIndex(j);
+ changeFilterModeControlIcon(pref.getValue());
for (View v1 : views) {
v1.setBackground(null);
}
@@ -636,6 +641,22 @@ public class VideoMenu extends MenuController
mPreviewMenu = basic;
}
+ private void changeFilterModeControlIcon(String value) {
+ if(!value.equals("")) {
+ if(value.equalsIgnoreCase(mActivity.getString(R.string.pref_camera_coloreffect_entry_none))) {
+ value = mActivity.getString(R.string.pref_camera_filter_mode_entry_off);
+ } else {
+ value = mActivity.getString(R.string.pref_camera_filter_mode_entry_on);
+ }
+ final IconListPreference pref = (IconListPreference) mPreferenceGroup
+ .findPreference(CameraSettings.KEY_FILTER_MODE);
+ pref.setValue(value);
+ int index = pref.getCurrentIndex();
+ ImageView iv = (ImageView) mFilterModeSwitcher;
+ iv.setImageResource(((IconListPreference) pref).getLargeIconIds()[index]);
+ }
+ }
+
public void openFirstLevel() {
if (isMenuBeingShown() || CameraControls.isAnimating())
return;
@@ -787,7 +808,7 @@ public class VideoMenu extends MenuController
public void showUI() {
mFrontBackSwitcher.setVisibility(View.VISIBLE);
final IconListPreference pref = (IconListPreference) mPreferenceGroup
- .findPreference(CameraSettings.KEY_COLOR_EFFECT);
+ .findPreference(CameraSettings.KEY_FILTER_MODE);
if (pref != null) {
mFilterModeSwitcher.setVisibility(View.VISIBLE);
}