Snap for 6439596 from 683512d947d6a6dde21c295b692afb76ec69199f to qt-aml-tzdata-release
Change-Id: I79a94becfc7978905a7b565c9d93f9d1c953b39b
diff --git a/java/com/android/server/ethernet/EthernetNetworkFactory.java b/java/com/android/server/ethernet/EthernetNetworkFactory.java
index 3cda13f..b8ed845 100644
--- a/java/com/android/server/ethernet/EthernetNetworkFactory.java
+++ b/java/com/android/server/ethernet/EthernetNetworkFactory.java
@@ -21,7 +21,6 @@
import static com.android.internal.util.Preconditions.checkNotNull;
import android.annotation.NonNull;
-import android.annotation.Nullable;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.IpConfiguration;
@@ -54,7 +53,6 @@
import java.io.FileDescriptor;
import java.lang.Math;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.Objects;
/**
* {@link NetworkFactory} that represents Ethernet networks.
@@ -157,7 +155,7 @@
}
NetworkInterfaceState iface = new NetworkInterfaceState(
- ifaceName, hwAddress, mHandler, mContext, capabilities, this);
+ ifaceName, hwAddress, mHandler, mContext, capabilities);
iface.setIpConfig(ipConfiguration);
mTrackingInterfaces.put(ifaceName, iface);
@@ -248,17 +246,16 @@
private final Handler mHandler;
private final Context mContext;
private final NetworkInfo mNetworkInfo;
- private final NetworkFactory mNetworkFactory;
private static String sTcpBufferSizes = null; // Lazy initialized.
private boolean mLinkUp;
private LinkProperties mLinkProperties = new LinkProperties();
- private volatile @Nullable IIpClient mIpClient;
- private @Nullable IpClientCallbacksImpl mIpClientCallback;
- private @Nullable NetworkAgent mNetworkAgent;
- private @Nullable IpConfiguration mIpConfig;
+ private volatile IIpClient mIpClient;
+ private IpClientCallbacksImpl mIpClientCallback;
+ private NetworkAgent mNetworkAgent;
+ private IpConfiguration mIpConfig;
/**
* An object to contain all transport type information, including base network score and
@@ -357,15 +354,13 @@
}
NetworkInterfaceState(String ifaceName, String hwAddress, Handler handler, Context context,
- @NonNull NetworkCapabilities capabilities, NetworkFactory networkFactory) {
+ @NonNull NetworkCapabilities capabilities) {
name = ifaceName;
mCapabilities = checkNotNull(capabilities);
mHandler = handler;
mContext = context;
- mNetworkFactory = networkFactory;
int legacyType = ConnectivityManager.TYPE_NONE;
int[] transportTypes = mCapabilities.getTransportTypes();
-
if (transportTypes.length > 0) {
legacyType = getLegacyType(transportTypes[0]);
} else {
@@ -381,14 +376,7 @@
}
void setIpConfig(IpConfiguration ipConfig) {
- if (Objects.equals(this.mIpConfig, ipConfig)) {
- if (DBG) Log.d(TAG, "ipConfig have not changed,so ignore setIpConfig");
- return;
- }
this.mIpConfig = ipConfig;
- if (mNetworkInfo.getDetailedState() != DetailedState.DISCONNECTED) {
- restart();
- }
}
boolean statisified(NetworkCapabilities requestedCapabilities) {
@@ -474,7 +462,7 @@
// Create our NetworkAgent.
mNetworkAgent = new NetworkAgent(mHandler.getLooper(), mContext,
NETWORK_TYPE, mNetworkInfo, mCapabilities, mLinkProperties,
- getNetworkScore(), mNetworkFactory.getSerialNumber()) {
+ getNetworkScore()) {
public void unwanted() {
if (this == mNetworkAgent) {
stop();
@@ -599,12 +587,6 @@
}
}
- void restart(){
- if (DBG) Log.d(TAG, "reconnecting Etherent");
- stop();
- start();
- }
-
@Override
public String toString() {
return getClass().getSimpleName() + "{ "
diff --git a/java/com/android/server/ethernet/EthernetServiceImpl.java b/java/com/android/server/ethernet/EthernetServiceImpl.java
index fda3c3c..d5beec1 100644
--- a/java/com/android/server/ethernet/EthernetServiceImpl.java
+++ b/java/com/android/server/ethernet/EthernetServiceImpl.java
@@ -21,7 +21,6 @@
import android.net.IEthernetManager;
import android.net.IEthernetServiceListener;
import android.net.IpConfiguration;
-import android.net.NetworkStack;
import android.os.Binder;
import android.os.Handler;
import android.os.HandlerThread;
@@ -58,6 +57,12 @@
"EthernetService");
}
+ private void enforceConnectivityInternalPermission() {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.CONNECTIVITY_INTERNAL,
+ "ConnectivityService");
+ }
+
private void enforceUseRestrictedNetworksPermission() {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS,
@@ -112,7 +117,7 @@
Log.w(TAG, "System isn't ready enough to change ethernet configuration");
}
- NetworkStack.checkNetworkStackPermission(mContext);
+ enforceConnectivityInternalPermission();
if (mTracker.isRestrictedInterface(iface)) {
enforceUseRestrictedNetworksPermission();