Add an experimental webview setting to dev options.

Bug:12492817

Add an experimental webview setting to developer options to enable
data reduction proxy.

Change-Id: I6e0931b39c8dd129622129589ae67352c8396cd2
This commit is contained in:
Selim Gurun
2014-05-05 16:02:41 -07:00
parent 0e0122a999
commit 029c13e1d9
3 changed files with 39 additions and 5 deletions

View File

@@ -60,6 +60,7 @@ import android.view.HardwareRenderer;
import android.view.IWindowManager;
import android.view.View;
import android.view.accessibility.AccessibilityManager;
import android.webkit.WebView;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.TextView;
@@ -144,6 +145,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
private static final String SHOW_ALL_ANRS_KEY = "show_all_anrs";
private static final String WEBVIEW_DATA_REDUCTION_PROXY_KEY = "webview_data_reduction_proxy";
private static final String PROCESS_STATS = "proc_stats";
private static final String TAG_CONFIRM_ENFORCE = "confirm_enforce";
@@ -209,6 +212,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
private CheckBoxPreference mShowAllANRs;
private CheckBoxPreference mWebViewDataReductionProxy;
private PreferenceScreen mProcessStats;
private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();
@@ -340,6 +345,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
mProcessStats = (PreferenceScreen) findPreference(PROCESS_STATS);
mAllPrefs.add(mProcessStats);
mWebViewDataReductionProxy = findAndInitCheckboxPref(WEBVIEW_DATA_REDUCTION_PROXY_KEY);
}
private ListPreference addListPreference(String prefKey) {
@@ -515,6 +522,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
updateImmediatelyDestroyActivitiesOptions();
updateAppProcessLimitOptions();
updateShowAllANRsOptions();
updateWebViewDataReductionProxyOptions();
updateVerifyAppsOverUsbOptions();
updateBugreportOptions();
updateForceRtlOptions();
@@ -1193,6 +1201,20 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
getActivity().getContentResolver(), Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0);
}
private void writeWebViewDataReductionProxyOptions() {
Settings.Secure.putInt(getActivity().getContentResolver(),
Settings.Secure.WEBVIEW_DATA_REDUCTION_PROXY,
mWebViewDataReductionProxy.isChecked() ? 1 : 0);
Intent intent = new Intent(WebView.DATA_REDUCTION_PROXY_SETTING_CHANGED);
getActivity().sendBroadcast(intent);
}
private void updateWebViewDataReductionProxyOptions() {
updateCheckBox(mWebViewDataReductionProxy, Settings.Secure.getInt(
getActivity().getContentResolver(),
Settings.Secure.WEBVIEW_DATA_REDUCTION_PROXY, 0) != 0);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (buttonView == mEnabledSwitch) {
@@ -1309,6 +1331,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
writeImmediatelyDestroyActivitiesOptions();
} else if (preference == mShowAllANRs) {
writeShowAllANRsOptions();
} else if (preference == mWebViewDataReductionProxy) {
writeWebViewDataReductionProxyOptions();
} else if (preference == mForceHardwareUi) {
writeHardwareUiOptions();
} else if (preference == mForceMsaa) {