OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.content.browser; | 5 package org.chromium.content.browser; |
6 | 6 |
7 import android.Manifest; | 7 import android.Manifest; |
8 import android.content.Context; | 8 import android.content.Context; |
9 import android.content.pm.PackageManager; | 9 import android.content.pm.PackageManager; |
10 import android.os.Process; | 10 import android.os.Process; |
11 | 11 |
12 import org.chromium.base.ThreadUtils; | 12 import org.chromium.base.ThreadUtils; |
13 import org.chromium.base.annotations.CalledByNative; | 13 import org.chromium.base.annotations.CalledByNative; |
14 import org.chromium.base.annotations.JNINamespace; | 14 import org.chromium.base.annotations.JNINamespace; |
15 import org.chromium.base.annotations.NativeClassQualifiedName; | 15 import org.chromium.base.annotations.NativeClassQualifiedName; |
16 import org.chromium.net.NetworkChangeNotifierAutoDetect; | 16 import org.chromium.net.NetworkChangeNotifierAutoDetect; |
| 17 import org.chromium.net.RegistrationPolicyAlwaysRegister; |
17 | 18 |
18 import java.util.ArrayList; | 19 import java.util.ArrayList; |
19 import java.util.List; | 20 import java.util.List; |
20 | 21 |
21 /** | 22 /** |
22 * Contains the Java code used by the BackgroundSyncNetworkObserverAndroid C++ c
lass. | 23 * Contains the Java code used by the BackgroundSyncNetworkObserverAndroid C++ c
lass. |
23 * | 24 * |
24 * The purpose of this class is to listen for and forward network connectivity e
vents to the | 25 * The purpose of this class is to listen for and forward network connectivity e
vents to the |
25 * BackgroundSyncNetworkObserverAndroid objects even when the application is pau
sed. The standard | 26 * BackgroundSyncNetworkObserverAndroid objects even when the application is pau
sed. The standard |
26 * NetworkChangeNotifier does not listen for connectivity events when the applic
ation is paused. | 27 * NetworkChangeNotifier does not listen for connectivity events when the applic
ation is paused. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 } | 67 } |
67 | 68 |
68 private void registerObserver(final long nativePtr) { | 69 private void registerObserver(final long nativePtr) { |
69 ThreadUtils.assertOnUiThread(); | 70 ThreadUtils.assertOnUiThread(); |
70 if (!canCreateObserver(mContext)) { | 71 if (!canCreateObserver(mContext)) { |
71 return; | 72 return; |
72 } | 73 } |
73 | 74 |
74 // Create the NetworkChangeNotifierAutoDetect if it does not exist alrea
dy. | 75 // Create the NetworkChangeNotifierAutoDetect if it does not exist alrea
dy. |
75 if (mNotifier == null) { | 76 if (mNotifier == null) { |
76 mNotifier = | 77 mNotifier = new NetworkChangeNotifierAutoDetect(this, mContext, |
77 new NetworkChangeNotifierAutoDetect(this, mContext, true /*
always listen */); | 78 new RegistrationPolicyAlwaysRegister()); |
78 } | 79 } |
79 mNativePtrs.add(nativePtr); | 80 mNativePtrs.add(nativePtr); |
80 | 81 |
81 nativeNotifyConnectionTypeChanged( | 82 nativeNotifyConnectionTypeChanged( |
82 nativePtr, mNotifier.getCurrentConnectionType(mNotifier.getCurre
ntNetworkState())); | 83 nativePtr, mNotifier.getCurrentConnectionType(mNotifier.getCurre
ntNetworkState())); |
83 } | 84 } |
84 | 85 |
85 @CalledByNative | 86 @CalledByNative |
86 private void removeObserver(long nativePtr) { | 87 private void removeObserver(long nativePtr) { |
87 ThreadUtils.assertOnUiThread(); | 88 ThreadUtils.assertOnUiThread(); |
(...skipping 20 matching lines...) Expand all Loading... |
108 @Override | 109 @Override |
109 public void onNetworkSoonToDisconnect(int netId) {} | 110 public void onNetworkSoonToDisconnect(int netId) {} |
110 @Override | 111 @Override |
111 public void onNetworkDisconnect(int netId) {} | 112 public void onNetworkDisconnect(int netId) {} |
112 @Override | 113 @Override |
113 public void updateActiveNetworkList(int[] activeNetIds) {} | 114 public void updateActiveNetworkList(int[] activeNetIds) {} |
114 | 115 |
115 @NativeClassQualifiedName("BackgroundSyncNetworkObserverAndroid::Observer") | 116 @NativeClassQualifiedName("BackgroundSyncNetworkObserverAndroid::Observer") |
116 private native void nativeNotifyConnectionTypeChanged(long nativePtr, int ne
wConnectionType); | 117 private native void nativeNotifyConnectionTypeChanged(long nativePtr, int ne
wConnectionType); |
117 } | 118 } |
OLD | NEW |