diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-31 21:31:24 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-31 21:31:24 -0700 |
commit | 5053f25386fa8e727e981f2e5898f4ff9adaa601 (patch) | |
tree | c30b532550a11845714f5414940ebf77dca728f5 /src | |
parent | 05f6f3080862895971459a6cb6f689e8b2b84973 (diff) | |
parent | 6f2c530d91749ff2b235125c3d134c981970f13d (diff) | |
download | LegacyCamera-5053f25386fa8e727e981f2e5898f4ff9adaa601.zip LegacyCamera-5053f25386fa8e727e981f2e5898f4ff9adaa601.tar.gz LegacyCamera-5053f25386fa8e727e981f2e5898f4ff9adaa601.tar.bz2 |
Merge change 23279 into eclair
* changes:
Make the video duration preference text depend on the system property.
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 41 | ||||
-rw-r--r-- | src/com/android/camera/VideoCamera.java | 9 |
2 files changed, 42 insertions, 8 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 78e0724..2432704 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -21,10 +21,12 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.content.res.Resources; import android.hardware.Camera.Parameters; import android.os.Bundle; +import android.os.SystemProperties; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceGroup; +import android.util.Log; import java.util.ArrayList; import java.util.StringTokenizer; @@ -38,12 +40,18 @@ public class CameraSettings extends PreferenceActivity implements "pref_camera_videoquality_key"; public static final String KEY_VIDEO_DURATION = "pref_camera_video_duration_key"; + public static final String KEY_VERSION = "pref_version_key"; + public static final int CURRENT_VERSION = 1; public static final String KEY_PICTURE_SIZE = "pref_camera_picturesize_key"; public static final String KEY_JPEG_QUALITY = "pref_camera_jpegquality_key"; public static final String KEY_FOCUS_MODE = "pref_camera_focusmode_key"; public static final String KEY_FLASH_MODE = "pref_camera_flashmode_key"; public static final boolean DEFAULT_VIDEO_QUALITY_VALUE = true; - public static final int DEFAULT_VIDEO_DURATION_VALUE = 1; // 1 minute + public static final int DEFAULT_VIDEO_DURATION_VALUE = -1; // MMS video length + + // max mms video duration in seconds. + public static final int MMS_VIDEO_DURATION = + SystemProperties.getInt("ro.media.enc.lprof.duration", 60); private ListPreference mVideoQuality; private ListPreference mVideoDuration; @@ -77,8 +85,9 @@ public class CameraSettings extends PreferenceActivity implements mPictureSize = (ListPreference) findPreference(KEY_PICTURE_SIZE); mJpegQuality = (ListPreference) findPreference(KEY_JPEG_QUALITY); mFocusMode = (ListPreference) findPreference(KEY_FOCUS_MODE); - getPreferenceScreen().getSharedPreferences(). - registerOnSharedPreferenceChangeListener(this); + SharedPreferences pref = getPreferenceScreen().getSharedPreferences(); + upgradePreferences(pref); + pref.registerOnSharedPreferenceChangeListener(this); // Get parameters. android.hardware.Camera device; @@ -97,6 +106,12 @@ public class CameraSettings extends PreferenceActivity implements // Create picture size settings. createSettings(mPictureSize, Camera.SUPPORTED_PICTURE_SIZE); + // Modify video duration settings. + // The first entry is for MMS video duration, and we need to fill in the + // device-dependent value (in seconds). + CharSequence[] entries = mVideoDuration.getEntries(); + entries[0] = String.format(entries[0].toString(), MMS_VIDEO_DURATION); + // Set default JPEG quality value if it is empty. if (mJpegQuality.getValue() == null) { mJpegQuality.setValue(getString( @@ -199,4 +214,24 @@ public class CameraSettings extends PreferenceActivity implements updateFocusModeSummary(); } } + + private static final String TAG = "CameraSettings"; + public static void upgradePreferences(SharedPreferences pref) { + int version; + try { + version = pref.getInt(KEY_VERSION, 0); + } catch (Exception ex) { + version = 0; + } + + if (version == 0) { + SharedPreferences.Editor editor = pref.edit(); + // For old version, change 1 to -1 for video duration preference. + if (pref.getString(KEY_VIDEO_DURATION, "1").equals("1")) { + editor.putString(KEY_VIDEO_DURATION, "-1"); + } + editor.putInt(KEY_VERSION, CURRENT_VERSION); + editor.commit(); + } + } } diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java index c5befa6..7d3854b 100644 --- a/src/com/android/camera/VideoCamera.java +++ b/src/com/android/camera/VideoCamera.java @@ -225,6 +225,7 @@ public class VideoCamera extends Activity implements View.OnClickListener, super.onCreate(icicle); mPreferences = PreferenceManager.getDefaultSharedPreferences(this); + CameraSettings.upgradePreferences(mPreferences); readVideoSizePreference(); /* @@ -475,13 +476,11 @@ public class VideoCamera extends Activity implements View.OnClickListener, } else { int minutes = getIntPreference(CameraSettings.KEY_VIDEO_DURATION, CameraSettings.DEFAULT_VIDEO_DURATION_VALUE); - if (minutes == 1) { - // This is a special case: the value 1 means we want to use the + if (minutes == -1) { + // This is a special case: the value -1 means we want to use the // device-dependent duration for MMS messages. The value is // represented in seconds. - int seconds = SystemProperties.getInt( - "ro.media.enc.lprof.duration", 60); - mMaxVideoDurationInMs = 1000 * seconds; + mMaxVideoDurationInMs = 1000 * CameraSettings.MMS_VIDEO_DURATION; } else { // 1 minute = 60000ms mMaxVideoDurationInMs = 60000 * minutes; |