OSDN Git Service

Change Shamu's default video resolution setting.
authorSenpo Hu <senpo@google.com>
Mon, 18 Aug 2014 23:45:45 +0000 (16:45 -0700)
committerSenpo Hu <senpo@google.com>
Wed, 20 Aug 2014 23:29:09 +0000 (16:29 -0700)
Bug: 17060480
Change-Id: I5ce8d2d2960d21856c0f13e9599d80b0edc03ec9

res/values/arrays.xml
res/values/strings.xml
res/xml/camera_preferences.xml
src/com/android/camera/VideoModule.java
src/com/android/camera/settings/Keys.java
src/com/android/camera/settings/SettingsManager.java

index 9ebeea8..db9686e 100644 (file)
    </string-array>
 
     <string-array name="pref_video_quality_entryvalues" translatable="false">
-        <!-- Large size is the default. -->
-        <item>@string/pref_video_quality_default</item>
-        <!-- A medium size -->
-        <item>medium</item>
-        <!-- Small size. -->
-        <item>small</item>
+        <item>@string/pref_video_quality_large</item>
+        <item>@string/pref_video_quality_medium</item>
+        <item>@string/pref_video_quality_small</item>
     </string-array>
 
     <!-- Camera Preferences Picture size dialog box entries -->
index f36f356..4ba7385 100644 (file)
     <!-- The Video quality settings in preference [CHAR LIMIT=21] -->
     <string name="pref_video_quality_title">Video quality</string>
 
-    <!-- The default quality value is 'large'. -->
-    <string name="pref_video_quality_default" translatable="false">large</string>
+    <!-- The value of a camera preference indicating the video quality is 'large'. -->
+    <string name="pref_video_quality_large" translatable="false">large</string>
+    <!-- The value of a camera preference indicating the video quality is 'medium'. -->
+    <string name="pref_video_quality_medium" translatable="false">medium</string>
+    <!-- The value of a camera preference indicating the video quality is 'small'. -->
+    <string name="pref_video_quality_small" translatable="false">small</string>
 
     <!-- Describes the preference dialog for choosing interval between frame capture for
     time lapse recording. Appears at top of the dialog. [CHAR LIMIT=30] -->
index 5e3849e..3266cae 100644 (file)
 
       <!-- BACK camera VIDEO resolution -->
       <ListPreference
-          android:defaultValue="@string/pref_camera_picturesize_default"
+          android:defaultValue="@string/pref_video_quality_large"
           android:entryValues="@array/pref_video_quality_entryvalues"
           android:key="pref_video_quality_back_key"
           android:title="@string/setting_back_camera_video" />
       <!-- FRONT camera VIDEO resolution -->
       <ListPreference
-          android:defaultValue="@string/pref_camera_picturesize_default"
+          android:defaultValue="@string/pref_video_quality_large"
           android:entryValues="@array/pref_video_quality_entryvalues"
           android:key="pref_video_quality_front_key"
           android:title="@string/setting_front_camera_video" />
index c70f6e7..6fe83d2 100644 (file)
@@ -722,6 +722,14 @@ public class VideoModule extends CameraModule
                                    Keys.KEY_VIDEO_QUALITY_BACK)) {
             settingsManager.setToDefault(SettingsManager.SCOPE_GLOBAL,
                                          Keys.KEY_VIDEO_QUALITY_BACK);
+
+            // TODO: Remove this once 4k recording is stable enough on new devices.
+            // Don't set the default resolution to be large if the device supports 4k video.
+            if (CamcorderProfile.hasProfile(mCameraId, CamcorderProfile.QUALITY_2160P)) {
+                settingsManager.set(SettingsManager.SCOPE_GLOBAL,
+                                    Keys.KEY_VIDEO_QUALITY_BACK,
+                                    mAppController.getAndroidContext().getString(R.string.pref_video_quality_medium));
+            }
         }
         if (!settingsManager.isSet(SettingsManager.SCOPE_GLOBAL,
                                    Keys.KEY_VIDEO_QUALITY_FRONT)) {
index 09ba3ed..9490ef3 100644 (file)
@@ -103,11 +103,11 @@ public class Keys {
             context.getResources().getStringArray(R.array.pref_camera_focusmode_entryvalues));
 
         settingsManager.setDefaults(KEY_VIDEO_QUALITY_BACK,
-            context.getString(R.string.pref_video_quality_default),
+            context.getString(R.string.pref_video_quality_large),
             context.getResources().getStringArray(R.array.pref_video_quality_entryvalues));
 
         settingsManager.setDefaults(KEY_VIDEO_QUALITY_FRONT,
-            context.getString(R.string.pref_video_quality_default),
+            context.getString(R.string.pref_video_quality_large),
             context.getResources().getStringArray(R.array.pref_video_quality_entryvalues));
 
         settingsManager.setDefaults(KEY_JPEG_QUALITY,
index 66c8342..a44693e 100644 (file)
@@ -449,7 +449,7 @@ public class SettingsManager {
      * Set a setting to the default value stored in the DefaultsStore.
      */
     public void setToDefault(String scope, String key) {
-       set(scope, key, getStringDefault(key));
+        set(scope, key, getStringDefault(key));
     }
 
     /**