OSDN Git Service

Add temporary developer setting to use NuPlayer as default media player
authorLajos Molnar <lajos@google.com>
Fri, 28 Mar 2014 16:48:58 +0000 (09:48 -0700)
committerLajos Molnar <lajos@google.com>
Fri, 28 Mar 2014 18:35:32 +0000 (11:35 -0700)
Bug: 11784824
Change-Id: Id42cc40d08ada06ec9e57e24473f7f833bc90dca

res/values/strings.xml
res/xml/development_prefs.xml
src/com/android/settings/DevelopmentSettings.java

index 1d6c751..2d8f6c6 100644 (file)
     <!-- Preference category for hardware accelerated drawing debugging development settings. [CHAR LIMIT=50] -->
     <string name="debug_hw_drawing_category">Hardware accelerated rendering</string>
 
+    <!-- Preference category for media development settings. [CHAR LIMIT=50] -->
+    <string name="media_category">Media</string>
+
     <!-- Preference category for monitoring debugging development settings. [CHAR LIMIT=25] -->
     <string name="debug_monitoring_category">Monitoring</string>
 
     <!-- UI debug setting: enable various types of OpenGL traces [CHAR LIMIT=25] -->
     <string name="enable_opengl_traces_title">Enable OpenGL traces</string>
 
+    <!-- UI debug setting: force use of NuPlayer [CHAR LIMIT=25] -->
+    <string name="use_nuplayer">Use NuPlayer (experimental)</string>
+    <!-- UI debug setting: force use of NuPlayer summary [CHAR LIMIT=50] -->
+    <string name="use_nuplayer_summary">Use NuPlayer instead of AwesomePlayer</string>
+
     <!-- UI debug setting: show layout bounds information [CHAR LIMIT=25] -->
     <string name="debug_layout">Show layout bounds</string>
     <!-- UI debug setting: show layout bounds information summary [CHAR LIMIT=50] -->
index 50d7075..2a9e125 100644 (file)
 
     </PreferenceCategory>
 
+    <PreferenceCategory android:key="media_category"
+            android:title="@string/media_category">
+
+        <CheckBoxPreference
+                android:key="use_nuplayer"
+                android:title="@string/use_nuplayer"
+                android:summary="@string/use_nuplayer_summary"/>
+
+    </PreferenceCategory>
+
     <PreferenceCategory android:key="debug_monitoring_category"
             android:title="@string/debug_monitoring_category">
 
index 15d5a5f..685dee5 100644 (file)
@@ -115,6 +115,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
     private static final String SHOW_SCREEN_UPDATES_KEY = "show_screen_updates";
     private static final String DISABLE_OVERLAYS_KEY = "disable_overlays";
     private static final String SIMULATE_COLOR_SPACE = "simulate_color_space";
+    private static final String USE_NUPLAYER_KEY = "use_nuplayer";
+    private static final String USE_NUPLAYER_PROPERTY = "persist.sys.media.use-nuplayer";
     private static final String SHOW_CPU_USAGE_KEY = "show_cpu_usage";
     private static final String FORCE_HARDWARE_UI_KEY = "force_hw_ui";
     private static final String FORCE_MSAA_KEY = "force_msaa";
@@ -198,6 +200,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
     private ListPreference mOpenGLTraces;
     private ListPreference mSimulateColorSpace;
 
+    private CheckBoxPreference mUseNuplayer;
+
     private CheckBoxPreference mImmediatelyDestroyActivities;
     private ListPreference mAppProcessLimit;
 
@@ -305,6 +309,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
         mOverlayDisplayDevices = addListPreference(OVERLAY_DISPLAY_DEVICES_KEY);
         mOpenGLTraces = addListPreference(OPENGL_TRACES_KEY);
         mSimulateColorSpace = addListPreference(SIMULATE_COLOR_SPACE);
+        mUseNuplayer = findAndInitCheckboxPref(USE_NUPLAYER_KEY);
 
         mImmediatelyDestroyActivities = (CheckBoxPreference) findPreference(
                 IMMEDIATELY_DESTROY_ACTIVITIES_KEY);
@@ -511,6 +516,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
         updateForceRtlOptions();
         updateWifiDisplayCertificationOptions();
         updateSimulateColorSpace();
+        updateUseNuplayerOptions();
     }
 
     private void resetDangerousOptions() {
@@ -981,6 +987,15 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
         }
     }
 
+    private void updateUseNuplayerOptions() {
+        updateCheckBox(mUseNuplayer, SystemProperties.getBoolean(USE_NUPLAYER_PROPERTY, false));
+    }
+
+    private void writeUseNuplayerOptions() {
+        SystemProperties.set(USE_NUPLAYER_PROPERTY, mUseNuplayer.isChecked() ? "true" : "false");
+        pokeSystemProperties();
+    }
+
     private void updateForceRtlOptions() {
         updateCheckBox(mForceRtlLayout, Settings.Global.getInt(getActivity().getContentResolver(),
                 Settings.Global.DEVELOPMENT_FORCE_RTL, 0) != 0);
@@ -1291,6 +1306,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
             writeForceRtlOptions();
         } else if (preference == mWifiDisplayCertification) {
             writeWifiDisplayCertificationOptions();
+        } else if (preference == mUseNuplayer) {
+            writeUseNuplayerOptions();
         } else {
             return super.onPreferenceTreeClick(preferenceScreen, preference);
         }