Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1d2e899 authored by lifr's avatar lifr Committed by Frank
Browse files

[DU04-1]Remove NetworkPolicyManagerInternal from NetworkStatsService

Expose system APIs for use by NetworkStatsService.

Bug: 211843446
Test: atest NetworkStatsServiceTest NetworkPolicyManagerTest
            NetworkPolicyManagerServiceTest
Change-Id: I56a066b7f4b4c2c8fefdd185c2e50de63b1e2629
parent 8e2a6f76
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -224,8 +224,10 @@ package android.net {
  public class NetworkPolicyManager {
    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getMultipathPreference(@NonNull android.net.Network);
    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getRestrictBackgroundStatus(int);
    method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.telephony.SubscriptionPlan getSubscriptionPlan(@NonNull android.net.NetworkTemplate);
    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderWarningOrLimitReached();
    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
  }
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ interface INetworkPolicyManager {
    int getMultipathPreference(in Network network);

    SubscriptionPlan getSubscriptionPlan(in NetworkTemplate template);
    void onStatsProviderWarningOrLimitReached();
    void notifyStatsProviderWarningOrLimitReached();
    SubscriptionPlan[] getSubscriptionPlans(int subId, String callingPackage);
    void setSubscriptionPlans(int subId, in SubscriptionPlan[] plans, String callingPackage);
    String getSubscriptionPlansOwner(int subId);
+4 −4
Original line number Diff line number Diff line
@@ -546,7 +546,7 @@ public class NetworkPolicyManager {
    @RequiresPermission(anyOf = {
            NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
            android.Manifest.permission.NETWORK_STACK})
    // @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    public SubscriptionPlan getSubscriptionPlan(@NonNull NetworkTemplate template) {
        try {
            return mService.getSubscriptionPlan(template);
@@ -565,10 +565,10 @@ public class NetworkPolicyManager {
    @RequiresPermission(anyOf = {
            NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
            android.Manifest.permission.NETWORK_STACK})
    // @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    public void onStatsProviderWarningOrLimitReached() {
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    public void notifyStatsProviderWarningOrLimitReached() {
        try {
            mService.onStatsProviderWarningOrLimitReached();
            mService.notifyStatsProviderWarningOrLimitReached();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+1 −2
Original line number Diff line number Diff line
@@ -156,7 +156,6 @@ import com.android.net.module.util.BinderUtils;
import com.android.net.module.util.CollectionUtils;
import com.android.net.module.util.NetworkStatsUtils;
import com.android.net.module.util.PermissionUtils;
import com.android.server.LocalServices;

import java.io.File;
import java.io.FileDescriptor;
@@ -2120,7 +2119,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
        public void notifyWarningOrLimitReached() {
            Log.d(TAG, mTag + ": notifyWarningOrLimitReached");
            BinderUtils.withCleanCallingIdentity(() ->
                    mNetworkPolicyManager.onStatsProviderWarningOrLimitReached());
                    mNetworkPolicyManager.notifyStatsProviderWarningOrLimitReached());
        }

        @Override
+1 −1
Original line number Diff line number Diff line
@@ -3472,7 +3472,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
     * {@link NetworkStatsProvider#onSetWarningAndLimit(String, long, long)}.
     */
    @Override
    public void onStatsProviderWarningOrLimitReached() {
    public void notifyStatsProviderWarningOrLimitReached() {
        enforceAnyPermissionOf(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
        // This API may be called before the system is ready.
        synchronized (mNetworkPoliciesSecondLock) {
Loading