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

Commit 175442fc authored by Baligh Uddin's avatar Baligh Uddin Committed by Android (Google) Code Review
Browse files

Revert "Revert "Act on no-prefered-apn-on-connect config option.""

Revert the revert - change is good.

This reverts commit 859e774e

Change-Id: Icb71779f30f5fe1ee7ed73c88e547507cbc0c31f
parent 859e774e
Loading
Loading
Loading
Loading
+15 −1
Original line number Original line Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.ContentValues;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.ConnectivityManager;
@@ -2127,7 +2128,20 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
        String operator = (r != null) ? r.getOperatorNumeric() : "";
        String operator = (r != null) ? r.getOperatorNumeric() : "";
        int radioTech = mPhone.getServiceState().getRilRadioTechnology();
        int radioTech = mPhone.getServiceState().getRilRadioTechnology();


        if (canSetPreferApn && mPreferredApn != null &&
        // This is a workaround for a bug (7305641) where we don't failover to other
        // suitable APNs if our preferred APN fails.  On prepaid ATT sims we need to
        // failover to a provisioning APN, but once we've used their default data
        // connection we are locked to it for life.  This change allows ATT devices
        // to say they don't want to use preferred at all.
        boolean usePreferred = true;
        try {
            usePreferred = ! mPhone.getContext().getResources().getBoolean(com.android.
                    internal.R.bool.config_dontPreferApn);
        } catch (Resources.NotFoundException e) {
            usePreferred = true;
        }

        if (usePreferred && canSetPreferApn && mPreferredApn != null &&
                mPreferredApn.canHandleType(requestedApnType)) {
                mPreferredApn.canHandleType(requestedApnType)) {
            if (DBG) {
            if (DBG) {
                log("buildWaitingApns: Preferred APN:" + operator + ":"
                log("buildWaitingApns: Preferred APN:" + operator + ":"