diff options
author | Christian Frisson <christian.frisson@gmail.com> | 2016-10-15 22:07:17 +0200 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-27 00:41:41 +0100 |
commit | 27371b3fbcb25d8be26e6a84b12871d0ed20f6ea (patch) | |
tree | 14bb466f02e21e012584fa1bd05dc89cd174cc3e | |
parent | ba57c48121628a3bb8ebf160d8ba3233e1de19ef (diff) | |
download | android_packages_apps_Snap-27371b3fbcb25d8be26e6a84b12871d0ed20f6ea.tar.gz android_packages_apps_Snap-27371b3fbcb25d8be26e6a84b12871d0ed20f6ea.tar.bz2 android_packages_apps_Snap-27371b3fbcb25d8be26e6a84b12871d0ed20f6ea.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 | 6 |
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 8afd59574..80aaa9aa6 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -859,6 +859,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. @@ -885,8 +886,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..418dbbe00 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); @@ -746,7 +748,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( |