Loading res/xml/development_prefs.xml +6 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,12 @@ android:summary="@string/picture_color_mode_desc" android:persistent="false" /> <ListPreference android:key="select_webview_provider" android:title="@string/select_webview_provider_title" android:dialogTitle="@string/select_webview_provider_dialog_title" android:summary="%s" /> <PreferenceCategory android:key="debug_debugging_category" android:title="@string/debug_debugging_category"> Loading src/com/android/settings/DevelopmentSettings.java +51 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityManager; import android.webkit.IWebViewUpdateService; import android.webkit.WebViewProviderInfo; import android.widget.Switch; import android.widget.TextView; Loading Loading @@ -110,6 +112,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final String ENABLE_TERMINAL = "enable_terminal"; private static final String KEEP_SCREEN_ON = "keep_screen_on"; private static final String BT_HCI_SNOOP_LOG = "bt_hci_snoop_log"; private static final String WEBVIEW_PROVIDER_KEY = "select_webview_provider"; private static final String ENABLE_OEM_UNLOCK = "oem_unlock_enable"; private static final String HDCP_CHECKING_KEY = "hdcp_checking"; private static final String HDCP_CHECKING_PROPERTY = "persist.sys.hdcp_checking"; Loading Loading @@ -253,6 +256,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private ListPreference mAnimatorDurationScale; private ListPreference mOverlayDisplayDevices; private ListPreference mOpenGLTraces; private ListPreference mWebViewProvider; private ListPreference mSimulateColorSpace; Loading Loading @@ -389,6 +393,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mMobileDataAlwaysOn = findAndInitSwitchPref(MOBILE_DATA_ALWAYS_ON); mLogdSize = addListPreference(SELECT_LOGD_SIZE_KEY); mUsbConfiguration = addListPreference(USB_CONFIGURATION_KEY); mWebViewProvider = addListPreference(WEBVIEW_PROVIDER_KEY); mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY); mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY); Loading Loading @@ -461,6 +466,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment removePreference(KEY_COLOR_MODE); mColorModePreference = null; } updateWebViewProviderOptions(); } private ListPreference addListPreference(String prefKey) { Loading Loading @@ -669,6 +675,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateSimulateColorSpace(); updateUSBAudioOptions(); updateForceResizableOptions(); updateWebViewProviderOptions(); } private void resetDangerousOptions() { Loading Loading @@ -697,6 +704,35 @@ public class DevelopmentSettings extends SettingsPreferenceFragment pokeSystemProperties(); } private void updateWebViewProviderOptions() { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { WebViewProviderInfo[] providers = webViewUpdateService.getValidWebViewPackages(); String[] options = new String[providers.length]; String[] values = new String[providers.length]; for(int n = 0; n < providers.length; n++) { options[n] = providers[n].description; values[n] = providers[n].packageName; } mWebViewProvider.setEntries(options); mWebViewProvider.setEntryValues(values); String value = webViewUpdateService.getCurrentWebViewPackageName(); if (value == null) { value = ""; } for (int i = 0; i < values.length; i++) { if (value.contentEquals(values[i])) { mWebViewProvider.setValueIndex(i); return; } } } catch(RemoteException e) { } } private void updateHdcpValues() { ListPreference hdcpChecking = (ListPreference) findPreference(HDCP_CHECKING_KEY); if (hdcpChecking != null) { Loading Loading @@ -736,6 +772,18 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mBtHciSnoopLog.isChecked() ? 1 : 0); } private void writeWebViewProviderOptions(Object newValue) { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { webViewUpdateService.changeProviderAndSetting( newValue == null ? "" : newValue.toString()); updateWebViewProviderOptions(); } catch(RemoteException e) { } } private void writeDebuggerOptions() { try { ActivityManagerNative.getDefault().setDebugApp( Loading Loading @@ -1754,6 +1802,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateHdcpValues(); pokeSystemProperties(); return true; } else if (preference == mWebViewProvider) { writeWebViewProviderOptions(newValue); return true; } else if (preference == mLogdSize) { writeLogdSizeOption(newValue); return true; Loading Loading
res/xml/development_prefs.xml +6 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,12 @@ android:summary="@string/picture_color_mode_desc" android:persistent="false" /> <ListPreference android:key="select_webview_provider" android:title="@string/select_webview_provider_title" android:dialogTitle="@string/select_webview_provider_dialog_title" android:summary="%s" /> <PreferenceCategory android:key="debug_debugging_category" android:title="@string/debug_debugging_category"> Loading
src/com/android/settings/DevelopmentSettings.java +51 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityManager; import android.webkit.IWebViewUpdateService; import android.webkit.WebViewProviderInfo; import android.widget.Switch; import android.widget.TextView; Loading Loading @@ -110,6 +112,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final String ENABLE_TERMINAL = "enable_terminal"; private static final String KEEP_SCREEN_ON = "keep_screen_on"; private static final String BT_HCI_SNOOP_LOG = "bt_hci_snoop_log"; private static final String WEBVIEW_PROVIDER_KEY = "select_webview_provider"; private static final String ENABLE_OEM_UNLOCK = "oem_unlock_enable"; private static final String HDCP_CHECKING_KEY = "hdcp_checking"; private static final String HDCP_CHECKING_PROPERTY = "persist.sys.hdcp_checking"; Loading Loading @@ -253,6 +256,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private ListPreference mAnimatorDurationScale; private ListPreference mOverlayDisplayDevices; private ListPreference mOpenGLTraces; private ListPreference mWebViewProvider; private ListPreference mSimulateColorSpace; Loading Loading @@ -389,6 +393,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mMobileDataAlwaysOn = findAndInitSwitchPref(MOBILE_DATA_ALWAYS_ON); mLogdSize = addListPreference(SELECT_LOGD_SIZE_KEY); mUsbConfiguration = addListPreference(USB_CONFIGURATION_KEY); mWebViewProvider = addListPreference(WEBVIEW_PROVIDER_KEY); mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY); mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY); Loading Loading @@ -461,6 +466,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment removePreference(KEY_COLOR_MODE); mColorModePreference = null; } updateWebViewProviderOptions(); } private ListPreference addListPreference(String prefKey) { Loading Loading @@ -669,6 +675,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateSimulateColorSpace(); updateUSBAudioOptions(); updateForceResizableOptions(); updateWebViewProviderOptions(); } private void resetDangerousOptions() { Loading Loading @@ -697,6 +704,35 @@ public class DevelopmentSettings extends SettingsPreferenceFragment pokeSystemProperties(); } private void updateWebViewProviderOptions() { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { WebViewProviderInfo[] providers = webViewUpdateService.getValidWebViewPackages(); String[] options = new String[providers.length]; String[] values = new String[providers.length]; for(int n = 0; n < providers.length; n++) { options[n] = providers[n].description; values[n] = providers[n].packageName; } mWebViewProvider.setEntries(options); mWebViewProvider.setEntryValues(values); String value = webViewUpdateService.getCurrentWebViewPackageName(); if (value == null) { value = ""; } for (int i = 0; i < values.length; i++) { if (value.contentEquals(values[i])) { mWebViewProvider.setValueIndex(i); return; } } } catch(RemoteException e) { } } private void updateHdcpValues() { ListPreference hdcpChecking = (ListPreference) findPreference(HDCP_CHECKING_KEY); if (hdcpChecking != null) { Loading Loading @@ -736,6 +772,18 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mBtHciSnoopLog.isChecked() ? 1 : 0); } private void writeWebViewProviderOptions(Object newValue) { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { webViewUpdateService.changeProviderAndSetting( newValue == null ? "" : newValue.toString()); updateWebViewProviderOptions(); } catch(RemoteException e) { } } private void writeDebuggerOptions() { try { ActivityManagerNative.getDefault().setDebugApp( Loading Loading @@ -1754,6 +1802,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateHdcpValues(); pokeSystemProperties(); return true; } else if (preference == mWebViewProvider) { writeWebViewProviderOptions(newValue); return true; } else if (preference == mLogdSize) { writeLogdSizeOption(newValue); return true; Loading