summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Frisson <christian.frisson@gmail.com>2016-10-15 22:07:17 +0200
committerChippa-a <vusal1372@gmail.com>2019-10-25 15:55:25 +0300
commitd5c09400b79344435f6ee233f41463a5a9222607 (patch)
treec5e057c7980634987dc60f59b3a2424c8b0648f7
parent549844a336f688dd81679f5e29b9df80230fa1ef (diff)
downloadandroid_packages_apps_Snap-d5c09400b79344435f6ee233f41463a5a9222607.tar.gz
android_packages_apps_Snap-d5c09400b79344435f6ee233f41463a5a9222607.tar.bz2
android_packages_apps_Snap-d5c09400b79344435f6ee233f41463a5a9222607.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.java4
3 files changed, 7 insertions, 2 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 64d72700a..37a95d3fb 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -825,6 +825,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.
@@ -851,8 +852,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 5838bf677..7168fab46 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -489,6 +489,7 @@ public class VideoMenu extends MenuController
return;
}
// Each entry has a corresponding icon.
+ index = index % iconIds.length;
resid = iconIds[index];
} else {
// The preference only has a single icon to represent it.
@@ -508,8 +509,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);