Move factoryReset to service and protect.
bug:16161518
Change-Id: I02d1bbae1887c62ee426e6f03e8bc1f18c6666bf
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index b341600..e75f337 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -40,7 +40,6 @@
import android.util.ArrayMap;
import android.util.Log;
-import com.android.internal.net.VpnConfig;
import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.util.Protocol;
@@ -2515,30 +2514,9 @@
* @hide
*/
public void factoryReset() {
- // Turn airplane mode off
- setAirplaneMode(false);
-
- // Untether
- for (String tether : getTetheredIfaces()) {
- untether(tether);
- }
-
- // Turn VPN off
try {
- VpnConfig vpnConfig = mService.getVpnConfig();
- if (vpnConfig != null) {
- if (vpnConfig.legacy) {
- mService.prepareVpn(VpnConfig.LEGACY_VPN, VpnConfig.LEGACY_VPN);
- } else {
- // Prevent this app from initiating VPN connections in the future without
- // user intervention.
- mService.setVpnPackageAuthorization(false);
-
- mService.prepareVpn(vpnConfig.user, VpnConfig.LEGACY_VPN);
- }
- }
+ mService.factoryReset();
} catch (RemoteException e) {
- // Well, we tried
}
}
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index 9d9b1bf..d6c0693 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -164,4 +164,6 @@
boolean addVpnAddress(String address, int prefixLength);
boolean removeVpnAddress(String address, int prefixLength);
boolean setUnderlyingNetworksForVpn(in Network[] networks);
+
+ void factoryReset();
}
diff --git a/core/java/android/net/INetworkPolicyManager.aidl b/core/java/android/net/INetworkPolicyManager.aidl
index db7c35c..c722fbc 100644
--- a/core/java/android/net/INetworkPolicyManager.aidl
+++ b/core/java/android/net/INetworkPolicyManager.aidl
@@ -58,4 +58,6 @@
NetworkQuotaInfo getNetworkQuotaInfo(in NetworkState state);
boolean isNetworkMetered(in NetworkState state);
+
+ void factoryReset(String subscriber);
}
diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java
index 25ad9285..bc03637 100644
--- a/core/java/android/net/NetworkPolicyManager.java
+++ b/core/java/android/net/NetworkPolicyManager.java
@@ -187,24 +187,9 @@
* @hide
*/
public void factoryReset(String subscriber) {
- // Turn mobile data limit off
- NetworkPolicy[] policies = getNetworkPolicies();
- NetworkTemplate template = NetworkTemplate.buildTemplateMobileAll(subscriber);
- for (NetworkPolicy policy : policies) {
- if (policy.template.equals(template)) {
- policy.limitBytes = NetworkPolicy.LIMIT_DISABLED;
- policy.inferred = false;
- policy.clearSnooze();
- }
- }
- setNetworkPolicies(policies);
-
- // Turn restrict background data off
- setRestrictBackground(false);
-
- // Remove app's "restrict background data" flag
- for (int uid : getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND)) {
- setUidPolicy(uid, NetworkPolicyManager.POLICY_NONE);
+ try {
+ mService.factoryReset(subscriber);
+ } catch (RemoteException e) {
}
}