private boolean mUnavailable;
private boolean mHideImsApn;
+ private boolean mAllowAddingApns;
private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() {
@Override
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
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;
@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);