summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Frisson <christian.frisson@gmail.com>2016-10-15 22:07:17 +0200
committerRashed Abdel-Tawab <rashed@linux.com>2017-02-20 13:28:34 -0500
commitb2f33fadfdcfb6cbe76d8e644dc0f145b02144b7 (patch)
tree516137d0c8fc5666500c6c049f357d0f5450103f
parentf7854a13095c9db87c6781b894123286bd8f63e1 (diff)
downloadandroid_packages_apps_Snap-b2f33fadfdcfb6cbe76d8e644dc0f145b02144b7.tar.gz
android_packages_apps_Snap-b2f33fadfdcfb6cbe76d8e644dc0f145b02144b7.tar.bz2
android_packages_apps_Snap-b2f33fadfdcfb6cbe76d8e644dc0f145b02144b7.zip
Snap: Allow switching beyond just 2 cameras
Some devices have dual rear cameras, which means that they will have more than just 2 camera ID's (0 and 1). For example, the LG G5 has 0, 1 and 2. Allow Snap to run cycle through more than just 0 and 1 Change-Id: I50d8b6c02c97961990b1fbf69b9cf706c422381c
-rw-r--r--src/com/android/camera/MenuController.java1
-rw-r--r--src/com/android/camera/PhotoMenu.java4
-rw-r--r--src/com/android/camera/VideoMenu.java6
3 files changed, 8 insertions, 3 deletions
diff --git a/src/com/android/camera/MenuController.java b/src/com/android/camera/MenuController.java
index 97240cb18..63815f9b7 100644
--- a/src/com/android/camera/MenuController.java
+++ b/src/com/android/camera/MenuController.java
@@ -104,6 +104,7 @@ public class MenuController {
return;
}
}
+ index = index % ((IconListPreference) pref).getLargeIconIds().length;
((ImageView) switcher).setImageResource(pref.getLargeIconIds()[index]);
}
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index 24ffea253..72b282f2b 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -765,6 +765,7 @@ public class PhotoMenu extends MenuController
int index = pref.findIndexOfValue(pref.getValue());
if (!pref.getUseSingleIcon() && iconIds != null) {
// Each entry has a corresponding icon.
+ index = index % iconIds.length;
resid = iconIds[index];
} else {
// The preference only has a single icon to represent it.
@@ -790,8 +791,9 @@ public class PhotoMenu extends MenuController
CharSequence[] values = pref.getEntryValues();
index = (index + 1) % values.length;
pref.setValueIndex(index);
+ int iconListLength = ((IconListPreference) pref).getLargeIconIds().length;
((ImageView) v).setImageResource(
- ((IconListPreference) pref).getLargeIconIds()[index]);
+ ((IconListPreference) pref).getLargeIconIds()[index % iconListLength]);
if (prefKey.equals(CameraSettings.KEY_CAMERA_ID))
mListener.onCameraPickerClicked(index);
reloadPreference(pref);
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java
index 87897bd59..cb9d03f03 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -435,6 +435,7 @@ public class VideoMenu extends MenuController
int index = pref.findIndexOfValue(pref.getValue());
if (!pref.getUseSingleIcon() && iconIds != null) {
// Each entry has a corresponding icon.
+ index = index % iconIds.length;
resid = iconIds[index];
} else {
// The preference only has a single icon to represent it.
@@ -454,8 +455,9 @@ public class VideoMenu extends MenuController
CharSequence[] values = pref.getEntryValues();
index = (index + 1) % values.length;
pref.setValueIndex(index);
+ int iconListLength = ((IconListPreference) pref).getLargeIconIds().length;
((ImageView) v).setImageResource(
- ((IconListPreference) pref).getLargeIconIds()[index]);
+ ((IconListPreference) pref).getLargeIconIds()[index % iconListLength]);
if (prefKey.equals(CameraSettings.KEY_CAMERA_ID))
mListener.onCameraPickerClicked(index);
reloadPreference(pref);
@@ -678,7 +680,7 @@ public class VideoMenu extends MenuController
mPrevSavedVideoCDS = cds;
}
- if ((tnr != null) && !tnr.equals("off")) {
+ if ((tnr != null) && !tnr.equals("off")) {
mListMenu.setPreferenceEnabled(
CameraSettings.KEY_VIDEO_CDS_MODE,false);
mListMenu.overrideSettings(