diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2015-04-24 23:48:29 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-04-24 23:48:29 -0700 |
commit | 09db6ed4599bb6686e81a45e9fb1e0287c0eb7f7 (patch) | |
tree | 223a3fd12d25156679048e5ea6042b0d8cb84f78 /src/com/android/camera/VideoMenu.java | |
parent | 0f068c5ad5949840ec0f9b156774fa187008bfbd (diff) | |
parent | d52c003516a93991174b09bef3756055e4f3be22 (diff) | |
download | android_packages_apps_Snap-09db6ed4599bb6686e81a45e9fb1e0287c0eb7f7.tar.gz android_packages_apps_Snap-09db6ed4599bb6686e81a45e9fb1e0287c0eb7f7.tar.bz2 android_packages_apps_Snap-09db6ed4599bb6686e81a45e9fb1e0287c0eb7f7.zip |
Merge "SnapdragonCamera: Fix app FC when time lapse and HFR is set to ON"
Diffstat (limited to 'src/com/android/camera/VideoMenu.java')
-rw-r--r-- | src/com/android/camera/VideoMenu.java | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java index a734b24b7..da5c062e8 100644 --- a/src/com/android/camera/VideoMenu.java +++ b/src/com/android/camera/VideoMenu.java @@ -42,8 +42,10 @@ import com.android.camera.ui.ListSubMenu; import com.android.camera.ui.ListMenu; import com.android.camera.ui.TimeIntervalPopup; import com.android.camera.ui.RotateImageView; +import com.android.camera.ui.RotateTextToast; import org.codeaurora.snapcam.R; import android.widget.HorizontalScrollView; +import android.widget.Toast; import android.view.ViewGroup; import android.view.WindowManager; import android.view.Display; @@ -704,12 +706,12 @@ public class VideoMenu extends MenuController @Override // Hit when an item in the second-level popup gets selected public void onListPrefChanged(ListPreference pref) { + onSettingChanged(pref); if (mPopupStatus == POPUP_SECOND_LEVEL) { mListMenu.reloadPreference(); animateFadeOut(mListSubMenu, 2); + ((ListMenu) mListMenu).resetHighlight(); } - super.onSettingChanged(pref); - ((ListMenu) mListMenu).resetHighlight(); } protected void initializePopup() { @@ -809,8 +811,35 @@ public class VideoMenu extends MenuController animateSlideOut(mListMenu, 1); } + // Return true if the preference has the specified key but not the value. + private static boolean notSame(ListPreference pref, String key, String value) { + return (key.equals(pref.getKey()) && !value.equals(pref.getValue())); + } + @Override public void onSettingChanged(ListPreference pref) { + + if (notSame(pref, CameraSettings.KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL, + mActivity.getString(R.string.pref_video_time_lapse_frame_interval_default))) { + ListPreference hfrPref = + mPreferenceGroup.findPreference(CameraSettings.KEY_VIDEO_HIGH_FRAME_RATE); + if (hfrPref != null && !"off".equals(hfrPref.getValue())) { + RotateTextToast.makeText(mActivity, R.string.error_app_unsupported_hfr_selection, + Toast.LENGTH_LONG).show(); + } + setPreference(CameraSettings.KEY_VIDEO_HIGH_FRAME_RATE, "off"); + } + if (notSame(pref, CameraSettings.KEY_VIDEO_HIGH_FRAME_RATE, "off")) { + String defaultValue = + mActivity.getString(R.string.pref_video_time_lapse_frame_interval_default); + ListPreference lapsePref = mPreferenceGroup + .findPreference(CameraSettings.KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL); + if (lapsePref != null && !defaultValue.equals(lapsePref.getValue())) { + RotateTextToast.makeText(mActivity, R.string.error_app_unsupported_hfr_selection, + Toast.LENGTH_LONG).show(); + } + setPreference(CameraSettings.KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL, defaultValue); + } super.onSettingChanged(pref); } |