Loading res/xml/development_prefs.xml +5 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,11 @@ android:dialogTitle="@string/select_webview_provider_dialog_title" android:summary="%s" /> <SwitchPreference android:key="enable_webview_multiprocess" android:title="@string/enable_webview_multiprocess" android:summary="@string/enable_webview_multiprocess_desc" /> <SwitchPreference android:key="color_temperature" android:title="@string/color_temperature" Loading src/com/android/settings/DevelopmentSettings.java +34 −8 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.StrictMode; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.IMountService; import android.provider.SearchIndexableResource; Loading Loading @@ -115,6 +116,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment 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 WEBVIEW_MULTIPROCESS_KEY = "enable_webview_multiprocess"; 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 @@ -218,6 +220,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private IWindowManager mWindowManager; private IBackupManager mBackupManager; private IWebViewUpdateService mWebViewUpdateService; private DevicePolicyManager mDpm; private UserManager mUm; private WifiManager mWifiManager; Loading Loading @@ -277,6 +280,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private ListPreference mAnimatorDurationScale; private ListPreference mOverlayDisplayDevices; private ListPreference mOpenGLTraces; private SwitchPreference mWebViewMultiprocess; private ListPreference mWebViewProvider; private ListPreference mSimulateColorSpace; Loading Loading @@ -324,6 +329,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window")); mBackupManager = IBackupManager.Stub.asInterface( ServiceManager.getService(Context.BACKUP_SERVICE)); mWebViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); mDpm = (DevicePolicyManager)getActivity().getSystemService(Context.DEVICE_POLICY_SERVICE); mUm = (UserManager) getSystemService(Context.USER_SERVICE); Loading Loading @@ -418,6 +426,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mLogdSize = addListPreference(SELECT_LOGD_SIZE_KEY); mUsbConfiguration = addListPreference(USB_CONFIGURATION_KEY); mWebViewProvider = addListPreference(WEBVIEW_PROVIDER_KEY); mWebViewMultiprocess = findAndInitSwitchPref(WEBVIEW_MULTIPROCESS_KEY); mBluetoothDisableAbsVolume = findAndInitSwitchPref(BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY); mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY); Loading Loading @@ -713,6 +722,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateUSBAudioOptions(); updateForceResizableOptions(); updateEnableFreeformWindowsSupportOptions(); updateWebViewMultiprocessOptions(); updateWebViewProviderOptions(); updateOemUnlockOptions(); if (mColorTemperaturePreference != null) { Loading Loading @@ -748,10 +758,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } private void updateWebViewProviderOptions() { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { WebViewProviderInfo[] providers = webViewUpdateService.getValidWebViewPackages(); WebViewProviderInfo[] providers = mWebViewUpdateService.getValidWebViewPackages(); if (providers == null) { Log.e(TAG, "No WebView providers available"); return; Loading @@ -765,7 +773,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mWebViewProvider.setEntries(options); mWebViewProvider.setEntryValues(values); String value = webViewUpdateService.getCurrentWebViewPackageName(); String value = mWebViewUpdateService.getCurrentWebViewPackageName(); if (value == null) { value = ""; } Loading @@ -780,6 +788,25 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } } private void updateWebViewMultiprocessOptions() { updateSwitchPreference(mWebViewMultiprocess, Settings.Global.getInt(getActivity().getContentResolver(), Settings.Global.WEBVIEW_MULTIPROCESS, 0) != 0); } private void writeWebViewMultiprocessOptions() { boolean value = mWebViewMultiprocess.isChecked(); Settings.Global.putInt(getActivity().getContentResolver(), Settings.Global.WEBVIEW_MULTIPROCESS, value ? 1 : 0); try { String wv_package = mWebViewUpdateService.getCurrentWebViewPackageName(); ActivityManagerNative.getDefault().killPackageDependents( wv_package, UserHandle.USER_ALL); } catch(RemoteException e) { } } private void updateHdcpValues() { ListPreference hdcpChecking = (ListPreference) findPreference(HDCP_CHECKING_KEY); if (hdcpChecking != null) { Loading Loading @@ -820,11 +847,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } private void writeWebViewProviderOptions(Object newValue) { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { webViewUpdateService.changeProviderAndSetting( mWebViewUpdateService.changeProviderAndSetting( newValue == null ? "" : newValue.toString()); updateWebViewProviderOptions(); } catch(RemoteException e) { Loading Loading @@ -1912,6 +1936,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment startBackgroundCheckFragment(); } else if (preference == mBluetoothDisableAbsVolume) { writeBluetoothDisableAbsVolumeOptions(); } else if (preference == mWebViewMultiprocess) { writeWebViewMultiprocessOptions(); } else { return super.onPreferenceTreeClick(preference); } Loading Loading
res/xml/development_prefs.xml +5 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,11 @@ android:dialogTitle="@string/select_webview_provider_dialog_title" android:summary="%s" /> <SwitchPreference android:key="enable_webview_multiprocess" android:title="@string/enable_webview_multiprocess" android:summary="@string/enable_webview_multiprocess_desc" /> <SwitchPreference android:key="color_temperature" android:title="@string/color_temperature" Loading
src/com/android/settings/DevelopmentSettings.java +34 −8 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.StrictMode; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.IMountService; import android.provider.SearchIndexableResource; Loading Loading @@ -115,6 +116,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment 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 WEBVIEW_MULTIPROCESS_KEY = "enable_webview_multiprocess"; 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 @@ -218,6 +220,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private IWindowManager mWindowManager; private IBackupManager mBackupManager; private IWebViewUpdateService mWebViewUpdateService; private DevicePolicyManager mDpm; private UserManager mUm; private WifiManager mWifiManager; Loading Loading @@ -277,6 +280,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private ListPreference mAnimatorDurationScale; private ListPreference mOverlayDisplayDevices; private ListPreference mOpenGLTraces; private SwitchPreference mWebViewMultiprocess; private ListPreference mWebViewProvider; private ListPreference mSimulateColorSpace; Loading Loading @@ -324,6 +329,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window")); mBackupManager = IBackupManager.Stub.asInterface( ServiceManager.getService(Context.BACKUP_SERVICE)); mWebViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); mDpm = (DevicePolicyManager)getActivity().getSystemService(Context.DEVICE_POLICY_SERVICE); mUm = (UserManager) getSystemService(Context.USER_SERVICE); Loading Loading @@ -418,6 +426,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mLogdSize = addListPreference(SELECT_LOGD_SIZE_KEY); mUsbConfiguration = addListPreference(USB_CONFIGURATION_KEY); mWebViewProvider = addListPreference(WEBVIEW_PROVIDER_KEY); mWebViewMultiprocess = findAndInitSwitchPref(WEBVIEW_MULTIPROCESS_KEY); mBluetoothDisableAbsVolume = findAndInitSwitchPref(BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY); mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY); Loading Loading @@ -713,6 +722,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateUSBAudioOptions(); updateForceResizableOptions(); updateEnableFreeformWindowsSupportOptions(); updateWebViewMultiprocessOptions(); updateWebViewProviderOptions(); updateOemUnlockOptions(); if (mColorTemperaturePreference != null) { Loading Loading @@ -748,10 +758,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } private void updateWebViewProviderOptions() { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { WebViewProviderInfo[] providers = webViewUpdateService.getValidWebViewPackages(); WebViewProviderInfo[] providers = mWebViewUpdateService.getValidWebViewPackages(); if (providers == null) { Log.e(TAG, "No WebView providers available"); return; Loading @@ -765,7 +773,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mWebViewProvider.setEntries(options); mWebViewProvider.setEntryValues(values); String value = webViewUpdateService.getCurrentWebViewPackageName(); String value = mWebViewUpdateService.getCurrentWebViewPackageName(); if (value == null) { value = ""; } Loading @@ -780,6 +788,25 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } } private void updateWebViewMultiprocessOptions() { updateSwitchPreference(mWebViewMultiprocess, Settings.Global.getInt(getActivity().getContentResolver(), Settings.Global.WEBVIEW_MULTIPROCESS, 0) != 0); } private void writeWebViewMultiprocessOptions() { boolean value = mWebViewMultiprocess.isChecked(); Settings.Global.putInt(getActivity().getContentResolver(), Settings.Global.WEBVIEW_MULTIPROCESS, value ? 1 : 0); try { String wv_package = mWebViewUpdateService.getCurrentWebViewPackageName(); ActivityManagerNative.getDefault().killPackageDependents( wv_package, UserHandle.USER_ALL); } catch(RemoteException e) { } } private void updateHdcpValues() { ListPreference hdcpChecking = (ListPreference) findPreference(HDCP_CHECKING_KEY); if (hdcpChecking != null) { Loading Loading @@ -820,11 +847,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } private void writeWebViewProviderOptions(Object newValue) { IWebViewUpdateService webViewUpdateService = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate")); try { webViewUpdateService.changeProviderAndSetting( mWebViewUpdateService.changeProviderAndSetting( newValue == null ? "" : newValue.toString()); updateWebViewProviderOptions(); } catch(RemoteException e) { Loading Loading @@ -1912,6 +1936,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment startBackgroundCheckFragment(); } else if (preference == mBluetoothDisableAbsVolume) { writeBluetoothDisableAbsVolumeOptions(); } else if (preference == mWebViewMultiprocess) { writeWebViewMultiprocessOptions(); } else { return super.onPreferenceTreeClick(preference); } Loading