Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 853a5240 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Settings: Make APN of CT can be edited in default mode"

parents 30fc8944 105a9d01
Loading
Loading
Loading
Loading

res/values/arrays.xml

100644 → 100755
+10 −0
Original line number Diff line number Diff line
@@ -1100,4 +1100,14 @@
        <item>com.android.orange</item>
        <item>com.android.noos</item>
    </string-array>

    <string-array name="plmn_list_for_apn_disable">
        <item>20404</item>
        <item>45403</item>
        <item>45404</item>
        <item>45502</item>
        <item>45507</item>
        <item>46003</item>
        <item>46011</item>
    </string-array>
</resources>
+21 −6
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ public class ApnEditor extends SettingsPreferenceFragment
    private Cursor mCursor;
    private boolean mNewApn;
    private boolean mFirstTime;
    private boolean mApnDisable = false;
    private int mSubId;
    private Resources mRes;
    private TelephonyManager mTelephonyManager;
@@ -206,10 +207,6 @@ public class ApnEditor extends SettingsPreferenceFragment
        mSubId = intent.getIntExtra(ApnSettings.SUB_ID,
                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
        mDisableEditor = intent.getBooleanExtra("DISABLE_EDITOR", false);
        if (mDisableEditor) {
            getPreferenceScreen().setEnabled(false);
            Log.d(TAG, "ApnEditor form is disabled.");
        }

        mFirstTime = icicle == null;

@@ -404,6 +401,24 @@ public class ApnEditor extends SettingsPreferenceFragment
        } else {
            mCarrierEnabled.setEnabled(false);
        }

        String mccMnc = mMcc.getText() + mMnc.getText();
        for (String plmn : getResources().getStringArray(R.array.plmn_list_for_apn_disable)) {
            if (plmn.equals(mccMnc) && !mNewApn) {
                mApnDisable = true;
                Log.d(TAG, "APN is China Telecom's.");
                break;
            }
        }
        if (mDisableEditor) {
            if (mApnDisable) {
                mApn.setEnabled(false);
                Log.d(TAG, "Apn Name can't be edited.");
            } else {
                getPreferenceScreen().setEnabled(false);
                Log.d(TAG, "ApnEditor form is disabled.");
            }
        }
    }

    /**
@@ -550,12 +565,12 @@ public class ApnEditor extends SettingsPreferenceFragment
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        if (mDisableEditor) {
        if (mDisableEditor && !mApnDisable) {
            Log.d(TAG, "Form is disabled. Do not create the options menu.");
            return;
        }
        // If it's a new APN, then cancel will delete the new entry in onPause
        if (!mNewApn) {
        if (!mNewApn && !mDisableEditor) {
            menu.add(0, MENU_DELETE, 0, R.string.menu_delete)
                .setIcon(R.drawable.ic_menu_delete);
        }