Change to add user_visible field to Carriers table.

Also adding config to control if adding APNs is allowed.

Bug: 24519879
Bug: 24681288
Change-Id: I59466f5489606162a10e883ede378e575a189fb3
This commit is contained in:
Amit Mahajan
2015-10-05 11:06:54 -07:00
parent 47e870adc8
commit 5787be339f

View File

@@ -114,6 +114,7 @@ public class ApnSettings extends SettingsPreferenceFragment implements
private boolean mUnavailable;
private boolean mHideImsApn;
private boolean mAllowAddingApns;
private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() {
@Override
@@ -171,6 +172,7 @@ public class ApnSettings extends SettingsPreferenceFragment implements
getSystemService(Context.CARRIER_CONFIG_SERVICE);
PersistableBundle b = configManager.getConfig();
mHideImsApn = b.getBoolean(CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL);
mAllowAddingApns = b.getBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL);
}
@Override
@@ -235,16 +237,16 @@ public class ApnSettings extends SettingsPreferenceFragment implements
final String mccmnc = mSubscriptionInfo == null ? ""
: tm.getSimOperator(mSubscriptionInfo.getSubscriptionId());
Log.d(TAG, "mccmnc = " + mccmnc);
String where = "numeric=\""
+ mccmnc
+ "\" AND NOT (type='ia' AND (apn=\"\" OR apn IS NULL))";
StringBuilder where = new StringBuilder("numeric=\"" + mccmnc +
"\" AND NOT (type='ia' AND (apn=\"\" OR apn IS NULL)) AND user_visible!=0");
if (mHideImsApn) {
where = where + " AND NOT (type='ims')";
where.append(" 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,
Telephony.Carriers.DEFAULT_SORT_ORDER);
"_id", "name", "apn", "type", "mvno_type", "mvno_match_data"}, where.toString(),
null, Telephony.Carriers.DEFAULT_SORT_ORDER);
if (cursor != null) {
IccRecords r = null;
@@ -326,10 +328,12 @@ public class ApnSettings extends SettingsPreferenceFragment implements
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if (!mUnavailable) {
menu.add(0, MENU_NEW, 0,
getResources().getString(R.string.menu_new))
.setIcon(android.R.drawable.ic_menu_add)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
if (mAllowAddingApns) {
menu.add(0, MENU_NEW, 0,
getResources().getString(R.string.menu_new))
.setIcon(android.R.drawable.ic_menu_add)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
menu.add(0, MENU_RESTORE, 0,
getResources().getString(R.string.menu_restore))
.setIcon(android.R.drawable.ic_menu_upload);