From 0fd8e45b5334b88ac978478d17ecdb375e298a32 Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Fri, 18 Dec 2020 18:55:30 +0800 Subject: [PATCH] Remove mobile provision design out from connectivity service In order to support ConnectivityService mainline, module should not use hidden APIs. The logic to get mobile provision is moved to telephony surface since it's only used by telephony. Hence, remove the design out from Connectivity. Bug: 175177794 Test: atest FrameworksNetTests Change-Id: Ic3082fc1c4d7ac998f4e4cff1351e6829d500924 --- .../java/android/net/ConnectivityManager.java | 33 ------ .../android/net/IConnectivityManager.aidl | 4 - .../android/server/ConnectivityService.java | 105 ------------------ 3 files changed, 142 deletions(-) diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 540ea5c159..b358df995c 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -3118,39 +3118,6 @@ public class ConnectivityManager { } } - /** - * Check mobile provisioning. - * - * @param suggestedTimeOutMs, timeout in milliseconds - * - * @return time out that will be used, maybe less that suggestedTimeOutMs - * -1 if an error. - * - * {@hide} - */ - public int checkMobileProvisioning(int suggestedTimeOutMs) { - int timeOutMs = -1; - try { - timeOutMs = mService.checkMobileProvisioning(suggestedTimeOutMs); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - return timeOutMs; - } - - /** - * Get the mobile provisioning url. - * {@hide} - */ - @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) - public String getMobileProvisioningUrl() { - try { - return mService.getMobileProvisioningUrl(); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - /** * Set sign in error notification to visible or invisible * diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl index 95a2f2efeb..7a51e38c38 100644 --- a/core/java/android/net/IConnectivityManager.aidl +++ b/core/java/android/net/IConnectivityManager.aidl @@ -146,10 +146,6 @@ interface IConnectivityManager boolean isVpnLockdownEnabled(int userId); List getVpnLockdownWhitelist(int userId); - int checkMobileProvisioning(int suggestedTimeOutMs); - - String getMobileProvisioningUrl(); - void setProvisioningNotificationVisible(boolean visible, int networkType, in String action); void setAirplaneMode(boolean enable); diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index fe116d9a50..8e7edaf3b7 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -74,7 +74,6 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; -import android.content.res.Configuration; import android.database.ContentObserver; import android.net.CaptivePortal; import android.net.CaptivePortalData; @@ -172,7 +171,6 @@ import android.util.Log; import android.util.Pair; import android.util.SparseArray; import android.util.SparseIntArray; -import android.util.Xml; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; @@ -188,7 +186,6 @@ import com.android.internal.util.AsyncChannel; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.LocationPermissionChecker; import com.android.internal.util.MessageUtils; -import com.android.internal.util.XmlUtils; import com.android.modules.utils.BasicShellCommandHandler; import com.android.net.module.util.LinkPropertiesUtils.CompareOrUpdateResult; import com.android.net.module.util.LinkPropertiesUtils.CompareResult; @@ -219,14 +216,7 @@ import com.google.android.collect.Lists; import libcore.io.IoUtils; -import org.xmlpull.v1.XmlPullParser; -import org.xmlpull.v1.XmlPullParserException; - -import java.io.File; import java.io.FileDescriptor; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; import java.io.PrintWriter; import java.net.Inet4Address; import java.net.InetAddress; @@ -5080,101 +5070,6 @@ public class ConnectivityService extends IConnectivityManager.Stub } } - @Override - public int checkMobileProvisioning(int suggestedTimeOutMs) { - // TODO: Remove? Any reason to trigger a provisioning check? - return -1; - } - - /** Location to an updatable file listing carrier provisioning urls. - * An example: - * - * - * - * http://myserver.com/foo?mdn=%3$s&iccid=%1$s&imei=%2$s - * - */ - private static final String PROVISIONING_URL_PATH = - "/data/misc/radio/provisioning_urls.xml"; - private final File mProvisioningUrlFile = new File(PROVISIONING_URL_PATH); - - /** XML tag for root element. */ - private static final String TAG_PROVISIONING_URLS = "provisioningUrls"; - /** XML tag for individual url */ - private static final String TAG_PROVISIONING_URL = "provisioningUrl"; - /** XML attribute for mcc */ - private static final String ATTR_MCC = "mcc"; - /** XML attribute for mnc */ - private static final String ATTR_MNC = "mnc"; - - private String getProvisioningUrlBaseFromFile() { - XmlPullParser parser; - Configuration config = mContext.getResources().getConfiguration(); - - try (FileReader fileReader = new FileReader(mProvisioningUrlFile)) { - parser = Xml.newPullParser(); - parser.setInput(fileReader); - XmlUtils.beginDocument(parser, TAG_PROVISIONING_URLS); - - while (true) { - XmlUtils.nextElement(parser); - - String element = parser.getName(); - if (element == null) break; - - if (element.equals(TAG_PROVISIONING_URL)) { - String mcc = parser.getAttributeValue(null, ATTR_MCC); - try { - if (mcc != null && Integer.parseInt(mcc) == config.mcc) { - String mnc = parser.getAttributeValue(null, ATTR_MNC); - if (mnc != null && Integer.parseInt(mnc) == config.mnc) { - parser.next(); - if (parser.getEventType() == XmlPullParser.TEXT) { - return parser.getText(); - } - } - } - } catch (NumberFormatException e) { - loge("NumberFormatException in getProvisioningUrlBaseFromFile: " + e); - } - } - } - return null; - } catch (FileNotFoundException e) { - loge("Carrier Provisioning Urls file not found"); - } catch (XmlPullParserException e) { - loge("Xml parser exception reading Carrier Provisioning Urls file: " + e); - } catch (IOException e) { - loge("I/O exception reading Carrier Provisioning Urls file: " + e); - } - return null; - } - - @Override - public String getMobileProvisioningUrl() { - enforceSettingsPermission(); - String url = getProvisioningUrlBaseFromFile(); - if (TextUtils.isEmpty(url)) { - url = mContext.getResources().getString(R.string.mobile_provisioning_url); - log("getMobileProvisioningUrl: mobile_provisioining_url from resource =" + url); - } else { - log("getMobileProvisioningUrl: mobile_provisioning_url from File =" + url); - } - // populate the iccid, imei and phone number in the provisioning url. - if (!TextUtils.isEmpty(url)) { - String phoneNumber = mTelephonyManager.getLine1Number(); - if (TextUtils.isEmpty(phoneNumber)) { - phoneNumber = "0000000000"; - } - url = String.format(url, - mTelephonyManager.getSimSerialNumber() /* ICCID */, - mTelephonyManager.getDeviceId() /* IMEI */, - phoneNumber /* Phone number */); - } - - return url; - } - @Override public void setProvisioningNotificationVisible(boolean visible, int networkType, String action) {