Move ConnectivityResources to service-connectivity

The ConnectivityResources class is only usable with QUERY_ALL_PACKAGES
permission, so it is not generally usable in framework-connectivity. It
is also backed by the ServiceConnectivityResources APK, which is
intended as resources for service-connectivity.

Move the class to service-connectivity and update callers. CTS needs a
way to determine the supported keepalive count as it used the
resources from KeepaliveUtils as @hide API, so provide a
ConnectivityManager @hide API for testing.

Bug: 279108992
Test: atest
Change-Id: I3c9a77c580b5ab87c922c32778bce15dc33b4d1d
This commit is contained in:
Remi NGUYEN VAN
2023-02-20 20:10:09 +09:00
committed by Motomu Utsumi
parent e50f1464bb
commit bee2ee14f3
25 changed files with 163 additions and 112 deletions

View File

@@ -134,7 +134,6 @@ import android.net.ConnectivityManager;
import android.net.ConnectivityManager.BlockedReason;
import android.net.ConnectivityManager.NetworkCallback;
import android.net.ConnectivityManager.RestrictBackgroundStatus;
import android.net.ConnectivityResources;
import android.net.ConnectivitySettingsManager;
import android.net.DataStallReportParcelable;
import android.net.DnsResolverServiceManager;
@@ -281,11 +280,13 @@ import com.android.server.connectivity.AutomaticOnOffKeepaliveTracker.AutomaticO
import com.android.server.connectivity.CarrierPrivilegeAuthenticator;
import com.android.server.connectivity.ClatCoordinator;
import com.android.server.connectivity.ConnectivityFlags;
import com.android.server.connectivity.ConnectivityResources;
import com.android.server.connectivity.DnsManager;
import com.android.server.connectivity.DnsManager.PrivateDnsValidationUpdate;
import com.android.server.connectivity.DscpPolicyTracker;
import com.android.server.connectivity.FullScore;
import com.android.server.connectivity.InvalidTagException;
import com.android.server.connectivity.KeepaliveResourceUtil;
import com.android.server.connectivity.KeepaliveTracker;
import com.android.server.connectivity.LingerMonitor;
import com.android.server.connectivity.MockableSystemProperties;
@@ -10046,6 +10047,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
Objects.requireNonNull(cb).asBinder()));
}
@Override
public int[] getSupportedKeepalives() {
enforceAnyPermissionOf(mContext, android.Manifest.permission.NETWORK_SETTINGS,
// Backwards compatibility with CTS 13
android.Manifest.permission.QUERY_ALL_PACKAGES);
return BinderUtils.withCleanCallingIdentity(() ->
KeepaliveResourceUtil.getSupportedKeepalives(mContext));
}
@Override
public void factoryReset() {
enforceSettingsPermission();