am 9fcc7e1b: Hide or show APNs with type="ims" as CarrierConfig

* commit '9fcc7e1b20b890283dfe9a02999f40637d27dbb2':
  Hide or show APNs with type="ims" as CarrierConfig
This commit is contained in:
Sungmin Choi
2015-09-09 17:58:29 +00:00
committed by Android Git Automerger

View File

@@ -33,12 +33,14 @@ import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.os.PersistableBundle;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceGroup; import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.provider.Telephony; import android.provider.Telephony;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.text.TextUtils; import android.text.TextUtils;
@@ -111,6 +113,8 @@ public class ApnSettings extends SettingsPreferenceFragment implements
private boolean mUnavailable; private boolean mUnavailable;
private boolean mHideImsApn;
private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() { private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
@@ -162,6 +166,11 @@ public class ApnSettings extends SettingsPreferenceFragment implements
mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId); mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId);
mUiccController = UiccController.getInstance(); 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 @Override
@@ -226,9 +235,12 @@ public class ApnSettings extends SettingsPreferenceFragment implements
final String mccmnc = mSubscriptionInfo == null ? "" final String mccmnc = mSubscriptionInfo == null ? ""
: tm.getSimOperator(mSubscriptionInfo.getSubscriptionId()); : tm.getSimOperator(mSubscriptionInfo.getSubscriptionId());
Log.d(TAG, "mccmnc = " + mccmnc); Log.d(TAG, "mccmnc = " + mccmnc);
final String where = "numeric=\"" String where = "numeric=\""
+ mccmnc + mccmnc
+ "\" AND NOT (type='ia' AND (apn=\"\" OR apn IS NULL))"; + "\" 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[] { Cursor cursor = getContentResolver().query(Telephony.Carriers.CONTENT_URI, new String[] {
"_id", "name", "apn", "type", "mvno_type", "mvno_match_data"}, where, null, "_id", "name", "apn", "type", "mvno_type", "mvno_match_data"}, where, null,