summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ApnSettings.java
diff options
context:
space:
mode:
authorSungmin Choi <sungmin.choi@lge.com>2015-08-28 16:56:31 -0700
committerVineeta Srivastava <vsrivastava@google.com>2015-09-08 17:23:14 -0700
commit9fcc7e1b20b890283dfe9a02999f40637d27dbb2 (patch)
tree0be7f632ce59034ab54b973046a51ee2937701af /src/com/android/settings/ApnSettings.java
parentb83cbe202bd56cf542d898837474757dca3625f2 (diff)
downloadpackages_apps_Settings-9fcc7e1b20b890283dfe9a02999f40637d27dbb2.zip
packages_apps_Settings-9fcc7e1b20b890283dfe9a02999f40637d27dbb2.tar.gz
packages_apps_Settings-9fcc7e1b20b890283dfe9a02999f40637d27dbb2.tar.bz2
Hide or show APNs with type="ims" as CarrierConfig
APN with type="ims" is used to attach IMS APN to the modem. This APN is meaningless and confusing to end users. Most carriers don't care to show this APN from apn list. Some carriers want to show this APN from apn list and others don't. This change hides or shows this as CarrierConfig from the APN list. Bug: 23770219 Change-Id: Ia632f39401d84e8c63ac96f1c3b12aa3d8d2a4e6
Diffstat (limited to 'src/com/android/settings/ApnSettings.java')
-rw-r--r--src/com/android/settings/ApnSettings.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java
index 226f8ab..3b3ce2f 100644
--- a/src/com/android/settings/ApnSettings.java
+++ b/src/com/android/settings/ApnSettings.java
@@ -33,12 +33,14 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
+import android.os.PersistableBundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.Preference;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
import android.provider.Telephony;
+import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.text.TextUtils;
@@ -111,6 +113,8 @@ public class ApnSettings extends SettingsPreferenceFragment implements
private boolean mUnavailable;
+ private boolean mHideImsApn;
+
private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -162,6 +166,11 @@ public class ApnSettings extends SettingsPreferenceFragment implements
mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId);
mUiccController = UiccController.getInstance();
+
+ CarrierConfigManager configManager = (CarrierConfigManager)
+ getSystemService(Context.CARRIER_CONFIG_SERVICE);
+ PersistableBundle b = configManager.getConfig();
+ mHideImsApn = b.getBoolean(CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL);
}
@Override
@@ -226,9 +235,12 @@ public class ApnSettings extends SettingsPreferenceFragment implements
final String mccmnc = mSubscriptionInfo == null ? ""
: tm.getSimOperator(mSubscriptionInfo.getSubscriptionId());
Log.d(TAG, "mccmnc = " + mccmnc);
- final String where = "numeric=\""
+ String where = "numeric=\""
+ mccmnc
+ "\" AND NOT (type='ia' AND (apn=\"\" OR apn IS NULL))";
+ if (mHideImsApn) {
+ where = where + " AND NOT (type='ims')";
+ }
Cursor cursor = getContentResolver().query(Telephony.Carriers.CONTENT_URI, new String[] {
"_id", "name", "apn", "type", "mvno_type", "mvno_match_data"}, where, null,