[FUI25] Migrate NetworkPolicyManagerService to use ConnectivityManager

Test: atest NetworkPolicyManagerServiceTest
Bug: 174123988
Change-Id: I6512d3f704f35f2cc3555dcc40b46c7294d3b455
This commit is contained in:
junyulai
2021-03-03 22:42:21 +08:00
parent 0d72b18349
commit a76fc32242
3 changed files with 11 additions and 23 deletions

View File

@@ -431,7 +431,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
private final CarrierConfigManager mCarrierConfigManager;
private final MultipathPolicyTracker mMultipathPolicyTracker;
private IConnectivityManager mConnManager;
private ConnectivityManager mConnManager;
private PowerManagerInternal mPowerManagerInternal;
private PowerWhitelistManager mPowerWhitelistManager;
@@ -711,8 +711,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
new NetworkPolicyManagerInternalImpl());
}
public void bindConnectivityManager(IConnectivityManager connManager) {
mConnManager = Objects.requireNonNull(connManager, "missing IConnectivityManager");
public void bindConnectivityManager() {
mConnManager = Objects.requireNonNull(mContext.getSystemService(ConnectivityManager.class),
"missing ConnectivityManager");
}
@GuardedBy("mUidRulesFirstLock")
@@ -943,7 +944,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
mContext.registerReceiver(mCarrierConfigReceiver, carrierConfigFilter, null, mHandler);
// listen for meteredness changes
mContext.getSystemService(ConnectivityManager.class).registerNetworkCallback(
mConnManager.registerNetworkCallback(
new NetworkRequest.Builder().build(), mNetworkCallback);
mAppStandby.addListener(new NetPolicyAppIdleStateChangeListener());
@@ -1973,13 +1974,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
if (LOGV) Slog.v(TAG, "updateNetworkRulesNL()");
Trace.traceBegin(TRACE_TAG_NETWORK, "updateNetworkRulesNL");
final List<NetworkStateSnapshot> snapshots;
try {
snapshots = mConnManager.getAllNetworkStateSnapshot();
} catch (RemoteException e) {
// Cannot happen, service lives in system_server.
return;
}
final List<NetworkStateSnapshot> snapshots = mConnManager.getAllNetworkStateSnapshot();
// First, generate identities of all connected networks so we can
// quickly compare them against all defined policies below.

View File

@@ -51,7 +51,6 @@ import android.graphics.GraphicsStatsService;
import android.hardware.display.DisplayManagerInternal;
import android.net.ConnectivityManager;
import android.net.ConnectivityModuleConnector;
import android.net.IConnectivityManager;
import android.net.NetworkStackClient;
import android.os.BaseBundle;
import android.os.Binder;
@@ -1107,7 +1106,6 @@ public final class SystemServer {
VcnManagementService vcnManagement = null;
NetworkStatsService networkStats = null;
NetworkPolicyManagerService networkPolicy = null;
IConnectivityManager connectivity = null;
NsdService serviceDiscovery = null;
WindowManagerService wm = null;
SerialService serial = null;
@@ -1631,10 +1629,7 @@ public final class SystemServer {
// services to initialize.
mSystemServiceManager.startServiceFromJar(CONNECTIVITY_SERVICE_INITIALIZER_CLASS,
CONNECTIVITY_SERVICE_APEX_PATH);
connectivity = IConnectivityManager.Stub.asInterface(
ServiceManager.getService(Context.CONNECTIVITY_SERVICE));
// TODO: Use ConnectivityManager instead of ConnectivityService.
networkPolicy.bindConnectivityManager(connectivity);
networkPolicy.bindConnectivityManager();
t.traceEnd();
t.traceBegin("StartVpnManagerService");

View File

@@ -108,7 +108,6 @@ import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.content.pm.UserInfo;
import android.net.ConnectivityManager;
import android.net.IConnectivityManager;
import android.net.INetworkManagementEventObserver;
import android.net.INetworkPolicyListener;
import android.net.LinkProperties;
@@ -242,8 +241,7 @@ public class NetworkPolicyManagerServiceTest {
private @Mock IActivityManager mActivityManager;
private @Mock INetworkManagementService mNetworkManager;
private @Mock IConnectivityManager mConnManager;
private @Mock ConnectivityManager mConnectivityManager;
private @Mock ConnectivityManager mConnManager;
private @Mock NotificationManager mNotifManager;
private @Mock PackageManager mPackageManager;
private @Mock IPackageManager mIpm;
@@ -361,7 +359,7 @@ public class NetworkPolicyManagerServiceTest {
case Context.NOTIFICATION_SERVICE:
return mNotifManager;
case Context.CONNECTIVITY_SERVICE:
return mConnectivityManager;
return mConnManager;
case Context.USER_SERVICE:
return mUserManager;
default:
@@ -390,7 +388,7 @@ public class NetworkPolicyManagerServiceTest {
mFutureIntent = newRestrictBackgroundChangedFuture();
mService = new NetworkPolicyManagerService(mServiceContext, mActivityManager,
mNetworkManager, mIpm, mClock, mPolicyDir, true);
mService.bindConnectivityManager(mConnManager);
mService.bindConnectivityManager();
mPolicyListener = new NetworkPolicyListenerAnswer(mService);
// Sets some common expectations.
@@ -429,7 +427,7 @@ public class NetworkPolicyManagerServiceTest {
when(mUserManager.getUsers()).thenReturn(buildUserInfoList());
when(mNetworkManager.isBandwidthControlEnabled()).thenReturn(true);
when(mNetworkManager.setDataSaverModeEnabled(anyBoolean())).thenReturn(true);
doNothing().when(mConnectivityManager)
doNothing().when(mConnManager)
.registerNetworkCallback(any(), mNetworkCallbackCaptor.capture());
// Create the expected carrier config