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

Commit 75d31894 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Add ability to override subscriber capabilities.

In a future set of CLs, NPMS will offer to override a handful of
capabilities on a per-subId basis.  Define a no-op version of the
interface to make it easier to add new methods in the future.

Test: bit FrameworksNetTests:android.net.,com.android.server.net.
Test: bit FrameworksTelephonyTests:com.android.internal.telephony.dataconnection.DataConnectionTest
Bug: 64133169
Change-Id: I03dfd98463861f0338c4174e8d8a88c300ea5b55
parent 524fe665
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -18,10 +18,9 @@ package android.net;

/** {@hide} */
oneway interface INetworkPolicyListener {

    void onUidRulesChanged(int uid, int uidRules);
    void onMeteredIfacesChanged(in String[] meteredIfaces);
    void onRestrictBackgroundChanged(boolean restrictBackground);
    void onUidPoliciesChanged(int uid, int uidPolicies);

    void onSubscriptionOverride(int subId, int overrideMask, int overrideValue);
}
+12 −0
Original line number Diff line number Diff line
@@ -114,6 +114,9 @@ public class NetworkPolicyManager {
     */
    public static final String EXTRA_NETWORK_TEMPLATE = "android.net.NETWORK_TEMPLATE";

    public static final int OVERRIDE_UNMETERED = 1 << 0;
    public static final int OVERRIDE_CONGESTED = 1 << 1;

    private final Context mContext;
    private INetworkPolicyManager mService;

@@ -348,4 +351,13 @@ public class NetworkPolicyManager {
    public static String resolveNetworkId(String ssid) {
        return WifiInfo.removeDoubleQuotes(ssid);
    }

    /** {@hide} */
    public static class Listener extends INetworkPolicyListener.Stub {
        @Override public void onUidRulesChanged(int uid, int uidRules) { }
        @Override public void onMeteredIfacesChanged(String[] meteredIfaces) { }
        @Override public void onRestrictBackgroundChanged(boolean restrictBackground) { }
        @Override public void onUidPoliciesChanged(int uid, int uidPolicies) { }
        @Override public void onSubscriptionOverride(int subId, int overrideMask, int overrideValue) { }
    }
}
+2 −14
Original line number Diff line number Diff line
@@ -74,17 +74,9 @@ public class DataSaverControllerImpl implements DataSaverController {
        }
    }

    private final INetworkPolicyListener mPolicyListener = new INetworkPolicyListener.Stub() {
    private final INetworkPolicyListener mPolicyListener = new NetworkPolicyManager.Listener() {
        @Override
        public void onUidRulesChanged(int uid, int uidRules) throws RemoteException {
        }

        @Override
        public void onMeteredIfacesChanged(String[] strings) throws RemoteException {
        }

        @Override
        public void onRestrictBackgroundChanged(final boolean isDataSaving) throws RemoteException {
        public void onRestrictBackgroundChanged(final boolean isDataSaving) {
            mHandler.post(new Runnable() {
                @Override
                public void run() {
@@ -92,10 +84,6 @@ public class DataSaverControllerImpl implements DataSaverController {
                }
            });
        }

        @Override
        public void onUidPoliciesChanged(int uid, int uidPolicies) throws RemoteException {
        }
    };

}
+2 −7
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ import android.net.NetworkConfig;
import android.net.NetworkInfo;
import android.net.NetworkInfo.DetailedState;
import android.net.NetworkMisc;
import android.net.NetworkPolicyManager;
import android.net.NetworkQuotaInfo;
import android.net.NetworkRequest;
import android.net.NetworkSpecifier;
@@ -1478,15 +1479,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
        return true;
    }

    private final INetworkPolicyListener mPolicyListener = new INetworkPolicyListener.Stub() {
    private final INetworkPolicyListener mPolicyListener = new NetworkPolicyManager.Listener() {
        @Override
        public void onUidRulesChanged(int uid, int uidRules) {
            // TODO: notify UID when it has requested targeted updates
        }
        @Override
        public void onMeteredIfacesChanged(String[] meteredIfaces) {
        }
        @Override
        public void onRestrictBackgroundChanged(boolean restrictBackground) {
            // TODO: relocate this specific callback in Tethering.
            if (restrictBackground) {
@@ -1494,9 +1492,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
                mTethering.untetherAll();
            }
        }
        @Override
        public void onUidPoliciesChanged(int uid, int uidPolicies) {
        }
    };

    /**
+1 −6
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@ public final class ConnectivityController extends StateController implements
        }
    };

    private final INetworkPolicyListener mNetPolicyListener = new INetworkPolicyListener.Stub() {
    private final INetworkPolicyListener mNetPolicyListener = new NetworkPolicyManager.Listener() {
        @Override
        public void onUidRulesChanged(int uid, int uidRules) {
            if (DEBUG) {
@@ -210,11 +210,6 @@ public final class ConnectivityController extends StateController implements
            updateTrackedJobs(uid);
        }

        @Override
        public void onMeteredIfacesChanged(String[] meteredIfaces) {
            // We track this via our NetworkCallback
        }

        @Override
        public void onRestrictBackgroundChanged(boolean restrictBackground) {
            if (DEBUG) {