summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/VideoMenu.java
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-03-20 04:08:53 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-03-20 04:08:53 -0700
commit40164962c72f9a5032a07fc03fee4f791eb7d62b (patch)
treec621effc008f40bb75941271df8075dfab14a970 /src/com/android/camera/VideoMenu.java
parent37b6e1a34e0f1020bc353bd691048db7664d2b8d (diff)
parent3689f9ecffe9fa18c91d4a6d479b2329efe3752e (diff)
downloadandroid_packages_apps_Snap-40164962c72f9a5032a07fc03fee4f791eb7d62b.tar.gz
android_packages_apps_Snap-40164962c72f9a5032a07fc03fee4f791eb7d62b.tar.bz2
android_packages_apps_Snap-40164962c72f9a5032a07fc03fee4f791eb7d62b.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.java33
1 files changed, 31 insertions, 2 deletions
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java
index 2706357ef..de8d5e4e2 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;
@@ -653,12 +655,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() {
@@ -758,8 +760,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);
}