修改以下两个文件:
一 . vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/apn/ApnEditor.java
if (!isUserEdited && (mApnData.getInteger(USER_EDITABLE_INDEX, 1) == 0|| apnTypesMatch(mReadOnlyApnTypes, mApnData.getString(TYPE_INDEX)))) {Log.d(TAG, "onCreate: apnTypesMatch; read-only APN");
- mReadOnlyApn = true;
- disableAllFields();
+ //delete begin
+ mReadOnlyApn = false;
+ //disableAllFields();
+ //delete end} else if (!ArrayUtils.isEmpty(mReadOnlyApnFields)) {
- disableFields(mReadOnlyApnFields);
+ //disableFields(mReadOnlyApnFields); }for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
boolean validateAndSaveApnData() {Log.d(TAG, "validateAndSaveApnData");
- // Nothing to do if it's a read only APN
- if (mReadOnlyApn) {
- return true;
- }
+ // Nothing to do if it's a read only APN
+ //if (mReadOnlyApn) {
+ // return true;
+ //}String name = checkNotSet(mName.getText());String apn = checkNotSet(mApn.getText());
二. vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/apn/ApnSettings.java
// if no apn type can be edited, do not allow adding APNsif (ApnEditor.hasAllApns(readOnlyApnTypes)) {Log.d(TAG, "not allowing adding APN because all APN types are read only");
- mAllowAddingApns = false;
+ mAllowAddingApns = true; //false-true}}mHidePresetApnDetails = b.getBoolean(CarrierConfigManager.KEY_HIDE_PRESET_APN_DETAILS_BOOL);
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {if (!mUnavailable) {/// M: Don't allow to add new APN when restoring APN.
- if (mAllowAddingApns && !mRestoreOngoing) {
+ //if (mAllowAddingApns && !mRestoreOngoing) {menu.add(0, MENU_NEW, 0,getResources().getString(R.string.menu_new)).setIcon(R.drawable.ic_add_24dp).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);`