summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-08-31 21:31:24 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-08-31 21:31:24 -0700
commit5053f25386fa8e727e981f2e5898f4ff9adaa601 (patch)
treec30b532550a11845714f5414940ebf77dca728f5 /src
parent05f6f3080862895971459a6cb6f689e8b2b84973 (diff)
parent6f2c530d91749ff2b235125c3d134c981970f13d (diff)
downloadLegacyCamera-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.java41
-rw-r--r--src/com/android/camera/VideoCamera.java9
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;