Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a95604de authored by Kristian Monsen's avatar Kristian Monsen Committed by Android (Google) Code Review
Browse files

Merge "Adding developer toggle for using Chromium WebView." into jb-mr2-dev

parents e68959de 8dc6d08f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -4002,6 +4002,11 @@
    <string name="show_all_anrs_summary">Show App Not Responding dialog
        for background apps</string>

    <!-- UI debug setting: use experimental WebView [CHAR LIMIT=25] -->
    <string name="experimental_webview">Use Experimental WebView</string>
    <!-- UI debug setting: use experimental WebView summary [CHAR LIMIT=50] -->
    <string name="experimental_webview_summary">Apps will use the newest (beta) WebView</string>

    <!-- Activity title for network data usage summary. [CHAR LIMIT=25] -->
    <string name="data_usage_summary_title">Data usage</string>
    <!-- Title for option to pick visible time range from a list available usage periods. [CHAR LIMIT=25] -->
+5 −0
Original line number Diff line number Diff line
@@ -234,6 +234,11 @@
            android:title="@string/show_all_anrs"
            android:summary="@string/show_all_anrs_summary"/>

        <CheckBoxPreference
            android:key="experimental_webview"
            android:title="@string/experimental_webview"
            android:summary="@string/experimental_webview_summary"/>

     </PreferenceCategory>

</PreferenceScreen>
+31 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ import android.preference.PreferenceScreen;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import android.webkit.WebViewFactory;
import android.view.Gravity;
import android.view.HardwareRenderer;
import android.view.IWindowManager;
@@ -130,6 +131,8 @@ public class DevelopmentSettings extends PreferenceFragment

    private static final String SHOW_ALL_ANRS_KEY = "show_all_anrs";

    private static final String WEBVIEW_EXPERIMENTAL_KEY = "experimental_webview";

    private static final String TAG_CONFIRM_ENFORCE = "confirm_enforce";

    private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
@@ -183,6 +186,7 @@ public class DevelopmentSettings extends PreferenceFragment
    private ListPreference mAppProcessLimit;

    private CheckBoxPreference mShowAllANRs;
    private CheckBoxPreference mExperimentalWebView;

    private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();
    private final ArrayList<CheckBoxPreference> mResetCbPrefs
@@ -275,6 +279,15 @@ public class DevelopmentSettings extends PreferenceFragment
        mAllPrefs.add(mShowAllANRs);
        mResetCbPrefs.add(mShowAllANRs);

        if (WebViewFactory.isExperimentalWebViewAvailable()) {
            mExperimentalWebView = findAndInitCheckboxPref(WEBVIEW_EXPERIMENTAL_KEY);
        } else {
            Preference experimentalWebView = findPreference(WEBVIEW_EXPERIMENTAL_KEY);
            if (experimentalWebView != null) {
                getPreferenceScreen().removePreference(experimentalWebView);
            }
        }

        Preference hdcpChecking = findPreference(HDCP_CHECKING_KEY);
        if (hdcpChecking != null) {
            mAllPrefs.add(hdcpChecking);
@@ -431,6 +444,7 @@ public class DevelopmentSettings extends PreferenceFragment
        updateImmediatelyDestroyActivitiesOptions();
        updateAppProcessLimitOptions();
        updateShowAllANRsOptions();
        updateExperimentalWebViewOptions();
        updateVerifyAppsOverUsbOptions();
        updateBugreportOptions();
    }
@@ -957,6 +971,21 @@ public class DevelopmentSettings extends PreferenceFragment
            getActivity().getContentResolver(), Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0);
    }

    private void writeExperimentalWebViewOptions() {
        if (mExperimentalWebView != null) {
            SystemProperties.set(WebViewFactory.WEBVIEW_EXPERIMENTAL_PROPERTY,
                    mExperimentalWebView.isChecked() ? "true" : null);
            pokeSystemProperties();
        }
    }

    private void updateExperimentalWebViewOptions() {
        if (mExperimentalWebView != null) {
            updateCheckBox(mExperimentalWebView, SystemProperties.getBoolean(
                    WebViewFactory.WEBVIEW_EXPERIMENTAL_PROPERTY, false));
        }
    }

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (buttonView == mEnabledSwitch) {
@@ -1071,6 +1100,8 @@ public class DevelopmentSettings extends PreferenceFragment
            writeImmediatelyDestroyActivitiesOptions();
        } else if (preference == mShowAllANRs) {
            writeShowAllANRsOptions();
        } else if (preference == mExperimentalWebView) {
            writeExperimentalWebViewOptions();
        } else if (preference == mForceHardwareUi) {
            writeHardwareUiOptions();
        } else if (preference == mForceMsaa) {