From f9bff8720b3d9356c6700a744e06ea974663ddc7 Mon Sep 17 00:00:00 2001 From: abdelrahmani Date: Tue, 13 Jun 2023 13:33:45 +0000 Subject: Disable PacProxyService on devices that doesn't support WebView/JavaScript. PAC proxies rely on the Javascript interpreter in WebView, so devices without WebView cannot support PAC proxies. Change-Id: I0891c1240a20cbb66587c8066e907f8e4ba081ff --- services/java/com/android/server/SystemServer.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'services/java') diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 25bacfc20b36..5fb4716053cb 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -2004,14 +2004,17 @@ public final class SystemServer implements Dumpable { t.traceEnd(); } - t.traceBegin("StartPacProxyService"); - try { - pacProxyService = new PacProxyService(context); - ServiceManager.addService(Context.PAC_PROXY_SERVICE, pacProxyService); - } catch (Throwable e) { - reportWtf("starting PacProxyService", e); + // Devices without WebView/JavaScript cannot support PAC proxies. + if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WEBVIEW)) { + t.traceBegin("StartPacProxyService"); + try { + pacProxyService = new PacProxyService(context); + ServiceManager.addService(Context.PAC_PROXY_SERVICE, pacProxyService); + } catch (Throwable e) { + reportWtf("starting PacProxyService", e); + } + t.traceEnd(); } - t.traceEnd(); t.traceBegin("StartConnectivityService"); // This has to be called after NetworkManagementService, NetworkStatsService -- cgit v1.2.3-59-g8ed1b