翰林优商.apk(点击下载) / NetworkChangeNotifier.java
package aegon.chrome.net;
import aegon.chrome.base.ContextUtils;
import aegon.chrome.base.ObserverList;
import aegon.chrome.base.annotations.JNINamespace;
import aegon.chrome.base.annotations.NativeClassQualifiedName;
import aegon.chrome.base.compat.ApiHelperForM;
import aegon.chrome.net.NetworkChangeNotifierAutoDetect;
import android.net.ConnectivityManager;
import android.os.Build;
import java.util.ArrayList;
import java.util.Iterator;
@JNINamespace("net")
public class NetworkChangeNotifier {
static final /* synthetic */ boolean $assertionsDisabled = false;
private static NetworkChangeNotifier sInstance;
private NetworkChangeNotifierAutoDetect mAutoDetector;
private final ObserverList<ConnectionTypeObserver> mConnectionTypeObservers = new ObserverList<>();
private ConnectivityManager mConnectivityManager;
private int mCurrentConnectionType = 0;
private final ArrayList<Long> mNativeChangeNotifiers = new ArrayList<>();
public interface ConnectionTypeObserver {
void onConnectionTypeChanged(int i);
}
/* JADX WARNING: Can't wrap try/catch for region: R(3:4|5|6) */
/* JADX WARNING: Code restructure failed: missing block: B:5:?, code lost:
r2.mConnectivityManager = (android.net.ConnectivityManager) aegon.chrome.base.ContextUtils.getApplicationContext().getSystemService("connectivity");
*/
/* JADX WARNING: Code restructure failed: missing block: B:6:0x002f, code lost:
return;
*/
/* JADX WARNING: Code restructure failed: missing block: B:7:0x0030, code lost:
r2.mConnectivityManager = null;
*/
/* JADX WARNING: Code restructure failed: missing block: B:9:0x0033, code lost:
return;
*/
/* JADX WARNING: Failed to process nested try/catch */
/* JADX WARNING: Missing exception handler attribute for start block: B:4:0x0023 */
protected NetworkChangeNotifier() {
this.mConnectivityManager = (ConnectivityManager) ContextUtils.getApplicationContext().getSystemService("connectivity");
}
public static void addConnectionTypeObserver(ConnectionTypeObserver connectionTypeObserver) {
getInstance().addConnectionTypeObserverInternal(connectionTypeObserver);
}
private void addConnectionTypeObserverInternal(ConnectionTypeObserver connectionTypeObserver) {
this.mConnectionTypeObservers.addObserver(connectionTypeObserver);
}
private void destroyAutoDetector() {
NetworkChangeNotifierAutoDetect networkChangeNotifierAutoDetect = this.mAutoDetector;
if (networkChangeNotifierAutoDetect != null) {
networkChangeNotifierAutoDetect.destroy();
this.mAutoDetector = null;
}
}
public static void fakeConnectionSubtypeChanged(int i) {
setAutoDetectConnectivityState(false);
getInstance().notifyObserversOfConnectionSubtypeChange(i);
}
public static void fakeDefaultNetwork(long j, int i) {
setAutoDetectConnectivityState(false);
getInstance().notifyObserversOfConnectionTypeChange(i, j);
}
public static void fakeNetworkConnected(long j, int i) {
setAutoDetectConnectivityState(false);
getInstance().notifyObserversOfNetworkConnect(j, i);
}
public static void fakeNetworkDisconnected(long j) {
setAutoDetectConnectivityState(false);
getInstance().notifyObserversOfNetworkDisconnect(j);
}
public static void fakeNetworkSoonToBeDisconnected(long j) {
setAutoDetectConnectivityState(false);
getInstance().notifyObserversOfNetworkSoonToDisconnect(j);
}
public static void fakePurgeActiveNetworkList(long[] jArr) {
setAutoDetectConnectivityState(false);
getInstance().notifyObserversToPurgeActiveNetworkList(jArr);
}
public static void forceConnectivityState(boolean z) {
setAutoDetectConnectivityState(false);
getInstance().forceConnectivityStateInternal(z);
}
private void forceConnectivityStateInternal(boolean z) {
int i = 0;
if ((this.mCurrentConnectionType != 6) != z) {
if (!z) {
i = 6;
}
updateCurrentConnectionType(i);
notifyObserversOfConnectionSubtypeChange(!z);
}
}
public static NetworkChangeNotifierAutoDetect getAutoDetectorForTest() {
return getInstance().mAutoDetector;
}
public static NetworkChangeNotifier getInstance() {
return sInstance;
}
public static NetworkChangeNotifier init() {
if (sInstance == null) {
sInstance = new NetworkChangeNotifier();
}
return sInstance;
}
public static boolean isInitialized() {
return sInstance != null;
}
public static boolean isOnline() {
return getInstance().getCurrentConnectionType() != 6;
}
public static boolean isProcessBoundToNetwork() {
return getInstance().isProcessBoundToNetworkInternal();
}
private boolean isProcessBoundToNetworkInternal() {
if (Build.VERSION.SDK_INT < 21) {
return false;
}
if (Build.VERSION.SDK_INT < 23) {
return ConnectivityManager.getProcessDefaultNetwork() != null;
}
ConnectivityManager connectivityManager = this.mConnectivityManager;
return (connectivityManager == null || ApiHelperForM.getBoundNetworkForProcess(connectivityManager) == null) ? false : true;
}
@NativeClassQualifiedName("NetworkChangeNotifierDelegateAndroid")
private native void nativeNotifyConnectionTypeChanged(long j, int i, long j2);
@NativeClassQualifiedName("NetworkChangeNotifierDelegateAndroid")
private native void nativeNotifyMaxBandwidthChanged(long j, int i);
@NativeClassQualifiedName("NetworkChangeNotifierDelegateAndroid")
private native void nativeNotifyOfNetworkConnect(long j, long j2, int i);
@NativeClassQualifiedName("NetworkChangeNotifierDelegateAndroid")
private native void nativeNotifyOfNetworkDisconnect(long j, long j2);
@NativeClassQualifiedName("NetworkChangeNotifierDelegateAndroid")
private native void nativeNotifyOfNetworkSoonToDisconnect(long j, long j2);
@NativeClassQualifiedName("NetworkChangeNotifierDelegateAndroid")
private native void nativeNotifyPurgeActiveNetworkList(long j, long[] jArr);
private void notifyObserversOfConnectionTypeChange(int i, long j) {
Iterator<Long> it = this.mNativeChangeNotifiers.iterator();
while (it.hasNext()) {
nativeNotifyConnectionTypeChanged(it.next().longValue(), i, j);
}
Iterator<ConnectionTypeObserver> it2 = this.mConnectionTypeObservers.iterator();
while (it2.hasNext()) {
it2.next().onConnectionTypeChanged(i);
}
}
public static void registerToReceiveNotificationsAlways() {
getInstance().setAutoDetectConnectivityStateInternal(true, new RegistrationPolicyAlwaysRegister());
}
public static void removeConnectionTypeObserver(ConnectionTypeObserver connectionTypeObserver) {
getInstance().removeConnectionTypeObserverInternal(connectionTypeObserver);
}
private void removeConnectionTypeObserverInternal(ConnectionTypeObserver connectionTypeObserver) {
this.mConnectionTypeObservers.removeObserver(connectionTypeObserver);
}
static void resetInstanceForTests(NetworkChangeNotifier networkChangeNotifier) {
sInstance = networkChangeNotifier;
}
public static void setAutoDetectConnectivityState(NetworkChangeNotifierAutoDetect.RegistrationPolicy registrationPolicy) {
getInstance().setAutoDetectConnectivityStateInternal(true, registrationPolicy);
}
public static void setAutoDetectConnectivityState(boolean z) {
getInstance().setAutoDetectConnectivityStateInternal(z, new RegistrationPolicyApplicationStatus());
}
private void setAutoDetectConnectivityStateInternal(boolean z, NetworkChangeNotifierAutoDetect.RegistrationPolicy registrationPolicy) {
if (!z) {
destroyAutoDetector();
} else if (this.mAutoDetector == null) {
NetworkChangeNotifierAutoDetect networkChangeNotifierAutoDetect = new NetworkChangeNotifierAutoDetect(new NetworkChangeNotifierAutoDetect.Observer() {
/* class aegon.chrome.net.NetworkChangeNotifier.AnonymousClass1 */
@Override // aegon.chrome.net.NetworkChangeNotifierAutoDetect.Observer
public void onConnectionSubtypeChanged(int i) {
NetworkChangeNotifier.this.notifyObserversOfConnectionSubtypeChange(i);
}
@Override // aegon.chrome.net.NetworkChangeNotifierAutoDetect.Observer
public void onConnectionTypeChanged(int i) {
NetworkChangeNotifier.this.updateCurrentConnectionType(i);
}
@Override // aegon.chrome.net.NetworkChangeNotifierAutoDetect.Observer
public void onNetworkConnect(long j, int i) {
NetworkChangeNotifier.this.notifyObserversOfNetworkConnect(j, i);
}
@Override // aegon.chrome.net.NetworkChangeNotifierAutoDetect.Observer
public void onNetworkDisconnect(long j) {
NetworkChangeNotifier.this.notifyObserversOfNetworkDisconnect(j);
}
@Override // aegon.chrome.net.NetworkChangeNotifierAutoDetect.Observer
public void onNetworkSoonToDisconnect(long j) {
NetworkChangeNotifier.this.notifyObserversOfNetworkSoonToDisconnect(j);
}
@Override // aegon.chrome.net.NetworkChangeNotifierAutoDetect.Observer
public void purgeActiveNetworkList(long[] jArr) {
NetworkChangeNotifier.this.notifyObserversToPurgeActiveNetworkList(jArr);
}
}, registrationPolicy);
this.mAutoDetector = networkChangeNotifierAutoDetect;
NetworkChangeNotifierAutoDetect.NetworkState currentNetworkState = networkChangeNotifierAutoDetect.getCurrentNetworkState();
updateCurrentConnectionType(currentNetworkState.getConnectionType());
notifyObserversOfConnectionSubtypeChange(currentNetworkState.getConnectionSubtype());
}
}
/* access modifiers changed from: private */
/* access modifiers changed from: public */
private void updateCurrentConnectionType(int i) {
this.mCurrentConnectionType = i;
notifyObserversOfConnectionTypeChange(i);
}
public void addNativeObserver(long j) {
this.mNativeChangeNotifiers.add(Long.valueOf(j));
}
public int getCurrentConnectionSubtype() {
try {
NetworkChangeNotifierAutoDetect networkChangeNotifierAutoDetect = this.mAutoDetector;
if (networkChangeNotifierAutoDetect == null) {
return 0;
}
return networkChangeNotifierAutoDetect.getCurrentNetworkState().getConnectionSubtype();
} catch (Throwable unused) {
return 0;
}
}
public int getCurrentConnectionType() {
return this.mCurrentConnectionType;
}
public long getCurrentDefaultNetId() {
NetworkChangeNotifierAutoDetect networkChangeNotifierAutoDetect = this.mAutoDetector;
if (networkChangeNotifierAutoDetect == null) {
return -1;
}
return networkChangeNotifierAutoDetect.getDefaultNetId();
}
public long[] getCurrentNetworksAndTypes() {
NetworkChangeNotifierAutoDetect networkChangeNotifierAutoDetect = this.mAutoDetector;
return networkChangeNotifierAutoDetect == null ? new long[0] : networkChangeNotifierAutoDetect.getNetworksAndTypes();
}
/* access modifiers changed from: package-private */
public void notifyObserversOfConnectionSubtypeChange(int i) {
Iterator<Long> it = this.mNativeChangeNotifiers.iterator();
while (it.hasNext()) {
nativeNotifyMaxBandwidthChanged(it.next().longValue(), i);
}
}
/* access modifiers changed from: package-private */
public void notifyObserversOfConnectionTypeChange(int i) {
notifyObserversOfConnectionTypeChange(i, getCurrentDefaultNetId());
}
/* access modifiers changed from: package-private */
public void notifyObserversOfNetworkConnect(long j, int i) {
Iterator<Long> it = this.mNativeChangeNotifiers.iterator();
while (it.hasNext()) {
nativeNotifyOfNetworkConnect(it.next().longValue(), j, i);
}
}
/* access modifiers changed from: package-private */
public void notifyObserversOfNetworkDisconnect(long j) {
Iterator<Long> it = this.mNativeChangeNotifiers.iterator();
while (it.hasNext()) {
nativeNotifyOfNetworkDisconnect(it.next().longValue(), j);
}
}
/* access modifiers changed from: package-private */
public void notifyObserversOfNetworkSoonToDisconnect(long j) {
Iterator<Long> it = this.mNativeChangeNotifiers.iterator();
while (it.hasNext()) {
nativeNotifyOfNetworkSoonToDisconnect(it.next().longValue(), j);
}
}
/* access modifiers changed from: package-private */
public void notifyObserversToPurgeActiveNetworkList(long[] jArr) {
Iterator<Long> it = this.mNativeChangeNotifiers.iterator();
while (it.hasNext()) {
nativeNotifyPurgeActiveNetworkList(it.next().longValue(), jArr);
}
}
public boolean registerNetworkCallbackFailed() {
NetworkChangeNotifierAutoDetect networkChangeNotifierAutoDetect = this.mAutoDetector;
if (networkChangeNotifierAutoDetect == null) {
return false;
}
return networkChangeNotifierAutoDetect.registerNetworkCallbackFailed();
}
public void removeNativeObserver(long j) {
this.mNativeChangeNotifiers.remove(Long.valueOf(j));
}
}