diff options
author | Christian Frisson <christian.frisson@gmail.com> | 2016-10-15 22:07:17 +0200 |
---|---|---|
committer | Chippa-a <vusal1372@gmail.com> | 2019-10-25 15:55:25 +0300 |
commit | d5c09400b79344435f6ee233f41463a5a9222607 (patch) | |
tree | c5e057c7980634987dc60f59b3a2424c8b0648f7 | |
parent | 549844a336f688dd81679f5e29b9df80230fa1ef (diff) | |
download | android_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.java | 1 | ||||
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 4 | ||||
-rw-r--r-- | src/com/android/camera/VideoMenu.java | 4 |
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); |