diff options
author | Christian Frisson <christian.frisson@gmail.com> | 2016-10-15 22:07:17 +0200 |
---|---|---|
committer | Bruno Martins <bgcngm@gmail.com> | 2018-11-20 12:31:36 +0000 |
commit | 7be678558090d0e46fd43e00e714665bf47bdffe (patch) | |
tree | 0232d25ea806ba298cbe43403e7b898f1f20e45c | |
parent | d2a6e94d3bce6628e4d1d6896ec1e033baba6d14 (diff) | |
download | android_packages_apps_Snap-7be678558090d0e46fd43e00e714665bf47bdffe.tar.gz android_packages_apps_Snap-7be678558090d0e46fd43e00e714665bf47bdffe.tar.bz2 android_packages_apps_Snap-7be678558090d0e46fd43e00e714665bf47bdffe.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); |