Loading packages/Shell/AndroidManifest.xml +2 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,7 @@ <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" /> <!-- System tool permissions granted to the shell. --> <!-- System tool permissions granted to the shell. --> <uses-permission android:name="android.permission.REAL_GET_TASKS" /> <uses-permission android:name="android.permission.REAL_GET_TASKS" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> Loading Loading @@ -109,6 +110,7 @@ <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" /> <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" /> <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> <application android:label="@string/app_label" <application android:label="@string/app_label" android:forceDeviceEncrypted="true" android:forceDeviceEncrypted="true" Loading services/core/java/com/android/server/net/NetworkPolicyManagerService.java +23 −13 Original line number Original line Diff line number Diff line Loading @@ -1742,6 +1742,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { public void setNetworkPolicies(NetworkPolicy[] policies) { public void setNetworkPolicies(NetworkPolicy[] policies) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); final long token = Binder.clearCallingIdentity(); try { maybeRefreshTrustedTime(); maybeRefreshTrustedTime(); synchronized (mRulesLock) { synchronized (mRulesLock) { normalizePoliciesLocked(policies); normalizePoliciesLocked(policies); Loading @@ -1750,6 +1752,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { updateNotificationsLocked(); updateNotificationsLocked(); writePolicyLocked(); writePolicyLocked(); } } } finally { Binder.restoreCallingIdentity(token); } } } void addNetworkPolicyLocked(NetworkPolicy policy) { void addNetworkPolicyLocked(NetworkPolicy policy) { Loading Loading @@ -1851,7 +1856,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @Override @Override public void setRestrictBackground(boolean restrictBackground) { public void setRestrictBackground(boolean restrictBackground) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); final long token = Binder.clearCallingIdentity(); try { maybeRefreshTrustedTime(); maybeRefreshTrustedTime(); synchronized (mRulesLock) { synchronized (mRulesLock) { mRestrictBackground = restrictBackground; mRestrictBackground = restrictBackground; Loading @@ -1860,6 +1866,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { writePolicyLocked(); writePolicyLocked(); } } } finally { Binder.restoreCallingIdentity(token); } mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_CHANGED, restrictBackground ? 1 : 0, 0) mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_CHANGED, restrictBackground ? 1 : 0, 0) .sendToTarget(); .sendToTarget(); } } Loading services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java +3 −18 Original line number Original line Diff line number Diff line Loading @@ -211,12 +211,7 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { if (enabled < 0) { if (enabled < 0) { return enabled; return enabled; } } final long token = Binder.clearCallingIdentity(); try { mInterface.setRestrictBackground(enabled > 0); mInterface.setRestrictBackground(enabled > 0); } finally { Binder.restoreCallingIdentity(token); } return 0; return 0; } } Loading @@ -225,12 +220,7 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { if (uid < 0) { if (uid < 0) { return uid; return uid; } } final long token = Binder.clearCallingIdentity(); try { mInterface.addRestrictBackgroundWhitelistedUid(uid); mInterface.addRestrictBackgroundWhitelistedUid(uid); } finally { Binder.restoreCallingIdentity(token); } return 0; return 0; } } Loading @@ -239,12 +229,7 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { if (uid < 0) { if (uid < 0) { return uid; return uid; } } final long token = Binder.clearCallingIdentity(); try { mInterface.removeRestrictBackgroundWhitelistedUid(uid); mInterface.removeRestrictBackgroundWhitelistedUid(uid); } finally { Binder.restoreCallingIdentity(token); } return 0; return 0; } } Loading Loading
packages/Shell/AndroidManifest.xml +2 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,7 @@ <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" /> <!-- System tool permissions granted to the shell. --> <!-- System tool permissions granted to the shell. --> <uses-permission android:name="android.permission.REAL_GET_TASKS" /> <uses-permission android:name="android.permission.REAL_GET_TASKS" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> Loading Loading @@ -109,6 +110,7 @@ <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" /> <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" /> <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> <application android:label="@string/app_label" <application android:label="@string/app_label" android:forceDeviceEncrypted="true" android:forceDeviceEncrypted="true" Loading
services/core/java/com/android/server/net/NetworkPolicyManagerService.java +23 −13 Original line number Original line Diff line number Diff line Loading @@ -1742,6 +1742,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { public void setNetworkPolicies(NetworkPolicy[] policies) { public void setNetworkPolicies(NetworkPolicy[] policies) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); final long token = Binder.clearCallingIdentity(); try { maybeRefreshTrustedTime(); maybeRefreshTrustedTime(); synchronized (mRulesLock) { synchronized (mRulesLock) { normalizePoliciesLocked(policies); normalizePoliciesLocked(policies); Loading @@ -1750,6 +1752,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { updateNotificationsLocked(); updateNotificationsLocked(); writePolicyLocked(); writePolicyLocked(); } } } finally { Binder.restoreCallingIdentity(token); } } } void addNetworkPolicyLocked(NetworkPolicy policy) { void addNetworkPolicyLocked(NetworkPolicy policy) { Loading Loading @@ -1851,7 +1856,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @Override @Override public void setRestrictBackground(boolean restrictBackground) { public void setRestrictBackground(boolean restrictBackground) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); final long token = Binder.clearCallingIdentity(); try { maybeRefreshTrustedTime(); maybeRefreshTrustedTime(); synchronized (mRulesLock) { synchronized (mRulesLock) { mRestrictBackground = restrictBackground; mRestrictBackground = restrictBackground; Loading @@ -1860,6 +1866,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { writePolicyLocked(); writePolicyLocked(); } } } finally { Binder.restoreCallingIdentity(token); } mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_CHANGED, restrictBackground ? 1 : 0, 0) mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_CHANGED, restrictBackground ? 1 : 0, 0) .sendToTarget(); .sendToTarget(); } } Loading
services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java +3 −18 Original line number Original line Diff line number Diff line Loading @@ -211,12 +211,7 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { if (enabled < 0) { if (enabled < 0) { return enabled; return enabled; } } final long token = Binder.clearCallingIdentity(); try { mInterface.setRestrictBackground(enabled > 0); mInterface.setRestrictBackground(enabled > 0); } finally { Binder.restoreCallingIdentity(token); } return 0; return 0; } } Loading @@ -225,12 +220,7 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { if (uid < 0) { if (uid < 0) { return uid; return uid; } } final long token = Binder.clearCallingIdentity(); try { mInterface.addRestrictBackgroundWhitelistedUid(uid); mInterface.addRestrictBackgroundWhitelistedUid(uid); } finally { Binder.restoreCallingIdentity(token); } return 0; return 0; } } Loading @@ -239,12 +229,7 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { if (uid < 0) { if (uid < 0) { return uid; return uid; } } final long token = Binder.clearCallingIdentity(); try { mInterface.removeRestrictBackgroundWhitelistedUid(uid); mInterface.removeRestrictBackgroundWhitelistedUid(uid); } finally { Binder.restoreCallingIdentity(token); } return 0; return 0; } } Loading