Loading src/com/android/settings/webview/WebViewUpdateServiceWrapper.java +36 −17 Original line number Diff line number Diff line Loading @@ -20,12 +20,12 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.RemoteException; import android.util.Log; import android.webkit.IWebViewUpdateService; import android.webkit.UserPackage; import android.webkit.WebViewFactory; import android.webkit.WebViewProviderInfo; import android.webkit.WebViewUpdateManager; import android.widget.Toast; import androidx.annotation.Nullable; Loading @@ -44,8 +44,12 @@ public class WebViewUpdateServiceWrapper { */ public PackageInfo getCurrentWebViewPackage() { try { if (android.webkit.Flags.updateServiceIpcWrapper()) { return WebViewUpdateManager.getInstance().getCurrentWebViewPackage(); } else { return WebViewFactory.getUpdateService().getCurrentWebViewPackage(); } catch (RemoteException e) { } } catch (Exception e) { Log.e(TAG, e.toString()); } return null; Loading @@ -59,8 +63,13 @@ public class WebViewUpdateServiceWrapper { public List<ApplicationInfo> getValidWebViewApplicationInfos(Context context) { WebViewProviderInfo[] providers = null; try { if (android.webkit.Flags.updateServiceIpcWrapper()) { providers = context.getSystemService(WebViewUpdateManager.class) .getValidWebViewPackages(); } else { providers = WebViewFactory.getUpdateService().getValidWebViewPackages(); } catch (RemoteException e) { } } catch (Exception e) { } List<ApplicationInfo> pkgs = new ArrayList<>(); for (WebViewProviderInfo provider : providers) { Loading @@ -80,10 +89,15 @@ public class WebViewUpdateServiceWrapper { */ public boolean setWebViewProvider(String packageName) { try { if (android.webkit.Flags.updateServiceIpcWrapper()) { return packageName.equals( WebViewUpdateManager.getInstance().changeProviderAndSetting(packageName)); } else { return packageName.equals( WebViewFactory.getUpdateService().changeProviderAndSetting(packageName)); } catch (RemoteException e) { Log.e(TAG, "RemoteException when trying to change provider to " + packageName, e); } } catch (Exception e) { Log.e(TAG, "Exception when trying to change provider to " + packageName, e); } return false; } Loading Loading @@ -112,18 +126,23 @@ public class WebViewUpdateServiceWrapper { */ @Nullable public String getDefaultWebViewPackageName() { WebViewProviderInfo provider = null; try { if (android.webkit.Flags.updateServiceIpcWrapper()) { WebViewUpdateManager manager = WebViewUpdateManager.getInstance(); if (manager != null) { provider = manager.getDefaultWebViewPackage(); } } else { IWebViewUpdateService service = WebViewFactory.getUpdateService(); if (service != null) { WebViewProviderInfo provider = service.getDefaultWebViewPackage(); if (provider != null) { return provider.packageName; provider = service.getDefaultWebViewPackage(); } } } catch (RemoteException e) { Log.e(TAG, "RemoteException when trying to fetch default WebView package Name", e); } catch (Exception e) { Log.e(TAG, "Exception when trying to fetch default WebView package Name", e); } return null; return provider != null ? provider.packageName : null; } static final int PACKAGE_FLAGS = PackageManager.MATCH_ANY_USER; Loading Loading
src/com/android/settings/webview/WebViewUpdateServiceWrapper.java +36 −17 Original line number Diff line number Diff line Loading @@ -20,12 +20,12 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.RemoteException; import android.util.Log; import android.webkit.IWebViewUpdateService; import android.webkit.UserPackage; import android.webkit.WebViewFactory; import android.webkit.WebViewProviderInfo; import android.webkit.WebViewUpdateManager; import android.widget.Toast; import androidx.annotation.Nullable; Loading @@ -44,8 +44,12 @@ public class WebViewUpdateServiceWrapper { */ public PackageInfo getCurrentWebViewPackage() { try { if (android.webkit.Flags.updateServiceIpcWrapper()) { return WebViewUpdateManager.getInstance().getCurrentWebViewPackage(); } else { return WebViewFactory.getUpdateService().getCurrentWebViewPackage(); } catch (RemoteException e) { } } catch (Exception e) { Log.e(TAG, e.toString()); } return null; Loading @@ -59,8 +63,13 @@ public class WebViewUpdateServiceWrapper { public List<ApplicationInfo> getValidWebViewApplicationInfos(Context context) { WebViewProviderInfo[] providers = null; try { if (android.webkit.Flags.updateServiceIpcWrapper()) { providers = context.getSystemService(WebViewUpdateManager.class) .getValidWebViewPackages(); } else { providers = WebViewFactory.getUpdateService().getValidWebViewPackages(); } catch (RemoteException e) { } } catch (Exception e) { } List<ApplicationInfo> pkgs = new ArrayList<>(); for (WebViewProviderInfo provider : providers) { Loading @@ -80,10 +89,15 @@ public class WebViewUpdateServiceWrapper { */ public boolean setWebViewProvider(String packageName) { try { if (android.webkit.Flags.updateServiceIpcWrapper()) { return packageName.equals( WebViewUpdateManager.getInstance().changeProviderAndSetting(packageName)); } else { return packageName.equals( WebViewFactory.getUpdateService().changeProviderAndSetting(packageName)); } catch (RemoteException e) { Log.e(TAG, "RemoteException when trying to change provider to " + packageName, e); } } catch (Exception e) { Log.e(TAG, "Exception when trying to change provider to " + packageName, e); } return false; } Loading Loading @@ -112,18 +126,23 @@ public class WebViewUpdateServiceWrapper { */ @Nullable public String getDefaultWebViewPackageName() { WebViewProviderInfo provider = null; try { if (android.webkit.Flags.updateServiceIpcWrapper()) { WebViewUpdateManager manager = WebViewUpdateManager.getInstance(); if (manager != null) { provider = manager.getDefaultWebViewPackage(); } } else { IWebViewUpdateService service = WebViewFactory.getUpdateService(); if (service != null) { WebViewProviderInfo provider = service.getDefaultWebViewPackage(); if (provider != null) { return provider.packageName; provider = service.getDefaultWebViewPackage(); } } } catch (RemoteException e) { Log.e(TAG, "RemoteException when trying to fetch default WebView package Name", e); } catch (Exception e) { Log.e(TAG, "Exception when trying to fetch default WebView package Name", e); } return null; return provider != null ? provider.packageName : null; } static final int PACKAGE_FLAGS = PackageManager.MATCH_ANY_USER; Loading