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

Commit ff568939 authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by Automerger Merge Worker
Browse files

Add multipath preference, background status API am: 00b8d2cf am: 19efae9f

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1644388

Change-Id: I437cb3ab5a778004c7bc03156b74e9e04f93b55b
parents fd65c236 19efae9f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ package android.net {

  public class NetworkPolicyManager {
    method @NonNull public static String blockedReasonsToString(int);
    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 public static boolean isUidBlocked(int, boolean);
    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 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ interface INetworkPolicyManager {
        3 - enabled
    */
    int getRestrictBackgroundByCaller();
    int getRestrictBackgroundStatus(int uid);

    void setDeviceIdleMode(boolean enabled);
    void setWifiMeteredOverride(String networkId, int meteredOverride);
+26 −2
Original line number Diff line number Diff line
@@ -528,6 +528,26 @@ public class NetworkPolicyManager {
        }
    }

    /**
     * Determines if an UID is subject to metered network restrictions while running in background.
     *
     * @param uid The UID whose status needs to be checked.
     * @return {@link ConnectivityManager#RESTRICT_BACKGROUND_STATUS_DISABLED},
     *         {@link ConnectivityManager##RESTRICT_BACKGROUND_STATUS_ENABLED},
     *         or {@link ConnectivityManager##RESTRICT_BACKGROUND_STATUS_WHITELISTED} to denote
     *         the current status of the UID.
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @RequiresPermission(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK)
    public int getRestrictBackgroundStatus(int uid) {
        try {
            return mService.getRestrictBackgroundStatus(uid);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Override connections to be temporarily marked as either unmetered or congested,
     * along with automatic timeouts if desired.
@@ -663,11 +683,15 @@ public class NetworkPolicyManager {
    }

    /**
     * Get multipath preference for the given network.
     * Gets a hint on whether it is desirable to use multipath data transfer on the given network.
     *
     * @return One of the ConnectivityManager.MULTIPATH_PREFERENCE_* constants.
     *
     * @hide
     */
    public int getMultipathPreference(Network network) {
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @RequiresPermission(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK)
    public int getMultipathPreference(@NonNull Network network) {
        try {
            return mService.getMultipathPreference(network);
        } catch (RemoteException e) {
+1 −14
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@ import android.os.PersistableBundle;
import android.os.Process;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.ServiceManager;
import android.os.ServiceSpecificException;
import android.os.UserHandle;
import android.provider.Settings;
@@ -842,7 +841,6 @@ public class ConnectivityManager {

    private final Context mContext;

    private INetworkPolicyManager mNPManager;
    private final TetheringManager mTetheringManager;

    /**
@@ -4794,17 +4792,6 @@ public class ConnectivityManager {
    public @interface RestrictBackgroundStatus {
    }

    private INetworkPolicyManager getNetworkPolicyManager() {
        synchronized (this) {
            if (mNPManager != null) {
                return mNPManager;
            }
            mNPManager = INetworkPolicyManager.Stub.asInterface(ServiceManager
                    .getService(Context.NETWORK_POLICY_SERVICE));
            return mNPManager;
        }
    }

    /**
     * Determines if the calling application is subject to metered network restrictions while
     * running on background.
@@ -4815,7 +4802,7 @@ public class ConnectivityManager {
     */
    public @RestrictBackgroundStatus int getRestrictBackgroundStatus() {
        try {
            return getNetworkPolicyManager().getRestrictBackgroundByCaller();
            return mService.getRestrictBackgroundStatusByCaller();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+2 −0
Original line number Diff line number Diff line
@@ -220,4 +220,6 @@ interface IConnectivityManager

    void setProfileNetworkPreference(in UserHandle profile, int preference,
            in IOnCompleteListener listener);

    int getRestrictBackgroundStatusByCaller();
}
Loading