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

Commit 9ac5aa29 authored by Alberto97's avatar Alberto97 Committed by Gerrit Code Review
Browse files

Add alternate WebView provider package

* Fall back to old config_webViewPackageName value if the alternate
  WebView package is not found.

Change-Id: Ifd33d939e7327c6904a1c461133a4ac6389196e8
parent 757c7394
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -77,7 +77,14 @@ public final class WebViewFactory {
    private static PackageInfo sPackageInfo;

    public static String getWebViewPackageName() {
        return AppGlobals.getInitialApplication().getString(
        Application initialApp = AppGlobals.getInitialApplication();
        String pkg = initialApp.getString(
                com.android.internal.R.string.config_alternateWebViewPackageName);
        /* Attempt to use alternate WebView package first */
        if (isPackageInstalled(initialApp, pkg)) {
            return pkg;
        }
        return initialApp.getString(
                com.android.internal.R.string.config_webViewPackageName);
    }

@@ -413,6 +420,14 @@ public final class WebViewFactory {
        return IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate"));
    }

    private static boolean isPackageInstalled(Context context, String packageName) {
        try {
            return context.getPackageManager().getPackageInfo(packageName, 0) != null;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
    }

    private static native boolean nativeReserveAddressSpace(long addressSpaceToReserve);
    private static native boolean nativeCreateRelroFile(String lib32, String lib64,
                                                        String relro32, String relro64);
+5 −1
Original line number Diff line number Diff line
@@ -2011,9 +2011,13 @@
        string that's stored in 8-bit unpacked format) characters.-->
    <bool translatable="false" name="config_sms_decode_gsm_8bit_data">false</bool>

    <!-- Package name providing WebView implementation. -->
    <!-- Package name providing default WebView implementation. -->
    <string name="config_webViewPackageName" translatable="false">com.android.webview</string>

    <!-- Package name providing alternate WebView implementation.
         Fall back to config_webViewPackageName if not available. -->
    <string name="config_alternateWebViewPackageName" translatable="false">com.google.android.webview</string>

    <!-- If EMS is not supported, framework breaks down EMS into single segment SMS
         and adds page info " x/y". This config is used to set which carrier doesn't
         support EMS and whether page info should be added at the beginning or the end.
+1 −0
Original line number Diff line number Diff line
@@ -1976,6 +1976,7 @@
  <java-symbol type="string" name="websearch" />
  <java-symbol type="drawable" name="ic_media_video_poster" />
  <java-symbol type="string" name="config_webViewPackageName" />
  <java-symbol type="string" name="config_alternateWebViewPackageName" />

  <!-- From SubtitleView -->
  <java-symbol type="dimen" name="subtitle_corner_radius" />