diff options
-rw-r--r-- | src/com/android/camera/VideoMenu.java | 33 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 3 |
2 files changed, 31 insertions, 5 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); } diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 6e3198390..51487ca52 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -2261,12 +2261,9 @@ public class VideoModule implements CameraModule, (disMode.equals("enable")) || ((hdr != null) && (!hdr.equals("off"))) ) { Log.v(TAG,"HDR/DIS/Time Lapse ON for HFR/HSR selection, turning HFR/HSR off"); - RotateTextToast.makeText(mActivity, R.string.error_app_unsupported_hfr_selection, - Toast.LENGTH_LONG).show(); mParameters.setVideoHighFrameRate("off"); mParameters.set(CameraSettings.KEY_VIDEO_HSR, "off"); mUI.overrideSettings(CameraSettings.KEY_VIDEO_HIGH_FRAME_RATE, "off"); - mUI.initializePopup(mPreferenceGroup); } } |