Loading services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java +78 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.server.net; import static android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_NONE; import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_REJECT_WIFI; import static android.net.NetworkPolicyManager.POLICY_REJECT_CELLULAR; import static android.net.NetworkPolicyManager.POLICY_REJECT_VPN; import android.content.Context; import android.net.NetworkPolicyManager; Loading Loading @@ -83,6 +86,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { pw.println(" Adds a UID to the whitelist for restrict background usage."); pw.println(" add restrict-background-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict background usage."); pw.println(" add restrict-wifi-data-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict Wi-Fi data usage."); pw.println(" add restrict-mobile-data-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict Mobile data usage."); pw.println(" add restrict-vpn-data-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict VPN data usage."); pw.println(" add app-idle-whitelist UID"); pw.println(" Adds a UID to the temporary app idle whitelist."); pw.println(" get restrict-background"); Loading @@ -95,10 +104,22 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { pw.println(" Lists UIDs that are whitelisted for restrict background usage."); pw.println(" list restrict-background-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict background usage."); pw.println(" list restrict-wifi-data-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict Wi-Fi data usage."); pw.println(" list restrict-mobile-data-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict Mobile data usage."); pw.println(" list restrict-vpn-data-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict VPN data usage."); pw.println(" remove restrict-background-whitelist UID"); pw.println(" Removes a UID from the whitelist for restrict background usage."); pw.println(" remove restrict-background-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict background usage."); pw.println(" remove restrict-wifi-data-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict Wi-Fi data usage."); pw.println(" remove restrict-mobile-data-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict Mobile data usage."); pw.println(" remove restrict-vpn-data-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict VPN data usage."); pw.println(" remove app-idle-whitelist UID"); pw.println(" Removes a UID from the temporary app idle whitelist."); pw.println(" set metered-network ID [undefined|true|false]"); Loading Loading @@ -159,6 +180,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return listRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return listRestrictBackgroundBlacklist(); case "restrict-wifi-data-blacklist": return listRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": return listRestrictCellularDataBlacklist(); case "restrict-vpn-data-blacklist": return listRestrictVpnDataBlacklist(); } pw.println("Error: unknown list type '" + type + "'"); return -1; Loading @@ -176,6 +203,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return addRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return addRestrictBackgroundBlacklist(); case "restrict-wifi-data-blacklist": return addRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": return addRestrictCellularDataBlacklist(); case "restrict-vpn-data-blacklist": return addRestrictVpnDataBlacklist(); case "app-idle-whitelist": return addAppIdleWhitelist(); } Loading @@ -195,6 +228,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return removeRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return removeRestrictBackgroundBlacklist(); case "restrict-wifi-data-blacklist": return removeRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": return removeRestrictCellularDataBlacklist(); case "restrict-vpn-data-blacklist": return removeRestrictVpnDataBlacklist(); case "app-idle-whitelist": return removeAppIdleWhitelist(); } Loading Loading @@ -249,6 +288,21 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { POLICY_REJECT_METERED_BACKGROUND); } private int listRestrictWiFiDataBlacklist() throws RemoteException { return listUidPolicies("Restrict Wi-Fi data blacklisted UIDs", POLICY_REJECT_WIFI); } private int listRestrictCellularDataBlacklist() throws RemoteException { return listUidPolicies("Restrict Mobile data blacklisted UIDs", POLICY_REJECT_CELLULAR); } private int listRestrictVpnDataBlacklist() throws RemoteException { return listUidPolicies("Restrict VPN data blacklisted UIDs", POLICY_REJECT_VPN); } private int listAppIdleWhitelist() throws RemoteException { final PrintWriter pw = getOutPrintWriter(); final int[] uids = mInterface.getAppIdleWhitelist(); Loading Loading @@ -314,10 +368,34 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return setUidPolicy(POLICY_REJECT_METERED_BACKGROUND); } private int addRestrictWiFiDataBlacklist() throws RemoteException { return setUidPolicy(POLICY_REJECT_WIFI); } private int addRestrictCellularDataBlacklist() throws RemoteException { return setUidPolicy(POLICY_REJECT_CELLULAR); } private int addRestrictVpnDataBlacklist() throws RemoteException { return setUidPolicy(POLICY_REJECT_VPN); } private int removeRestrictBackgroundBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_METERED_BACKGROUND); } private int removeRestrictWiFiDataBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_WIFI); } private int removeRestrictCellularDataBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_CELLULAR); } private int removeRestrictVpnDataBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_VPN); } private int setAppIdleWhitelist(boolean isWhitelisted) { final int uid = getUidFromNextArg(); if (uid < 0) { Loading Loading
services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java +78 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.server.net; import static android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_NONE; import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_REJECT_WIFI; import static android.net.NetworkPolicyManager.POLICY_REJECT_CELLULAR; import static android.net.NetworkPolicyManager.POLICY_REJECT_VPN; import android.content.Context; import android.net.NetworkPolicyManager; Loading Loading @@ -83,6 +86,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { pw.println(" Adds a UID to the whitelist for restrict background usage."); pw.println(" add restrict-background-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict background usage."); pw.println(" add restrict-wifi-data-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict Wi-Fi data usage."); pw.println(" add restrict-mobile-data-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict Mobile data usage."); pw.println(" add restrict-vpn-data-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict VPN data usage."); pw.println(" add app-idle-whitelist UID"); pw.println(" Adds a UID to the temporary app idle whitelist."); pw.println(" get restrict-background"); Loading @@ -95,10 +104,22 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { pw.println(" Lists UIDs that are whitelisted for restrict background usage."); pw.println(" list restrict-background-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict background usage."); pw.println(" list restrict-wifi-data-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict Wi-Fi data usage."); pw.println(" list restrict-mobile-data-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict Mobile data usage."); pw.println(" list restrict-vpn-data-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict VPN data usage."); pw.println(" remove restrict-background-whitelist UID"); pw.println(" Removes a UID from the whitelist for restrict background usage."); pw.println(" remove restrict-background-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict background usage."); pw.println(" remove restrict-wifi-data-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict Wi-Fi data usage."); pw.println(" remove restrict-mobile-data-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict Mobile data usage."); pw.println(" remove restrict-vpn-data-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict VPN data usage."); pw.println(" remove app-idle-whitelist UID"); pw.println(" Removes a UID from the temporary app idle whitelist."); pw.println(" set metered-network ID [undefined|true|false]"); Loading Loading @@ -159,6 +180,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return listRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return listRestrictBackgroundBlacklist(); case "restrict-wifi-data-blacklist": return listRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": return listRestrictCellularDataBlacklist(); case "restrict-vpn-data-blacklist": return listRestrictVpnDataBlacklist(); } pw.println("Error: unknown list type '" + type + "'"); return -1; Loading @@ -176,6 +203,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return addRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return addRestrictBackgroundBlacklist(); case "restrict-wifi-data-blacklist": return addRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": return addRestrictCellularDataBlacklist(); case "restrict-vpn-data-blacklist": return addRestrictVpnDataBlacklist(); case "app-idle-whitelist": return addAppIdleWhitelist(); } Loading @@ -195,6 +228,12 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return removeRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return removeRestrictBackgroundBlacklist(); case "restrict-wifi-data-blacklist": return removeRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": return removeRestrictCellularDataBlacklist(); case "restrict-vpn-data-blacklist": return removeRestrictVpnDataBlacklist(); case "app-idle-whitelist": return removeAppIdleWhitelist(); } Loading Loading @@ -249,6 +288,21 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { POLICY_REJECT_METERED_BACKGROUND); } private int listRestrictWiFiDataBlacklist() throws RemoteException { return listUidPolicies("Restrict Wi-Fi data blacklisted UIDs", POLICY_REJECT_WIFI); } private int listRestrictCellularDataBlacklist() throws RemoteException { return listUidPolicies("Restrict Mobile data blacklisted UIDs", POLICY_REJECT_CELLULAR); } private int listRestrictVpnDataBlacklist() throws RemoteException { return listUidPolicies("Restrict VPN data blacklisted UIDs", POLICY_REJECT_VPN); } private int listAppIdleWhitelist() throws RemoteException { final PrintWriter pw = getOutPrintWriter(); final int[] uids = mInterface.getAppIdleWhitelist(); Loading Loading @@ -314,10 +368,34 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return setUidPolicy(POLICY_REJECT_METERED_BACKGROUND); } private int addRestrictWiFiDataBlacklist() throws RemoteException { return setUidPolicy(POLICY_REJECT_WIFI); } private int addRestrictCellularDataBlacklist() throws RemoteException { return setUidPolicy(POLICY_REJECT_CELLULAR); } private int addRestrictVpnDataBlacklist() throws RemoteException { return setUidPolicy(POLICY_REJECT_VPN); } private int removeRestrictBackgroundBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_METERED_BACKGROUND); } private int removeRestrictWiFiDataBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_WIFI); } private int removeRestrictCellularDataBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_CELLULAR); } private int removeRestrictVpnDataBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_VPN); } private int setAppIdleWhitelist(boolean isWhitelisted) { final int uid = getUidFromNextArg(); if (uid < 0) { Loading