Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2787)

Unified Diff: android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java

Issue 1659363003: [Android WebView] Implement support for Network Information API and enable it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove logging Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
index 13a9b0fd3e663c392200019121fbeca7ab63e8a3..8770d3a777725d80ca9e4cd8be905d9fa0410ee8 100644
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
@@ -4,15 +4,18 @@
package com.android.webview.chromium;
+import android.Manifest;
import android.app.ActivityManager;
import android.content.ComponentCallbacks2;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Looper;
+import android.os.Process;
import android.os.StrictMode;
import android.util.Log;
import android.webkit.CookieManager;
@@ -34,6 +37,7 @@ import org.chromium.android_webview.AwContentsStatics;
import org.chromium.android_webview.AwCookieManager;
import org.chromium.android_webview.AwDataReductionProxyManager;
import org.chromium.android_webview.AwDevToolsServer;
+import org.chromium.android_webview.AwNetworkChangeNotifierRegistrationPolicy;
import org.chromium.android_webview.AwQuotaManagerBridge;
import org.chromium.android_webview.AwResource;
import org.chromium.android_webview.AwSettings;
@@ -50,6 +54,7 @@ import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.content.browser.ContentViewStatics;
+import org.chromium.net.NetworkChangeNotifier;
import org.chromium.ui.base.ResourceBundle;
import java.io.File;
@@ -171,6 +176,15 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
AwContents.setAwDrawGLFunctionTable(GraphicsUtils.getDrawGLFunctionTable());
}
+ private void initNetworkChangeNotifier(Context applicationContext) {
+ if (applicationContext.checkPermission(Manifest.permission.ACCESS_NETWORK_STATE,
+ Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_GRANTED) {
+ NetworkChangeNotifier.init(applicationContext);
+ NetworkChangeNotifier.setAutoDetectConnectivityState(
+ new AwNetworkChangeNotifierRegistrationPolicy());
+ }
+ }
+
private void ensureChromiumStartedLocked(boolean onMainThread) {
assert Thread.holdsLock(mLock);
@@ -241,6 +255,7 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
setUpResources(webViewPackageName, context);
ResourceBundle.initializeLocalePaks(context, R.array.locale_paks);
initPlatSupportLibrary();
+ initNetworkChangeNotifier(context);
final int extraBindFlags = 0;
AwBrowserProcess.configureChildProcessLauncher(webViewPackageName, extraBindFlags);
AwBrowserProcess.start(context);
« no previous file with comments | « android_webview/glue/glue.gni ('k') | android_webview/java/src/org/chromium/android_webview/AwContents.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698