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

Commit b71dd1ef authored by Bonian Chen's avatar Bonian Chen Committed by Android (Google) Code Review
Browse files

Merge "[Settings] Connected carrier should not be forbidden ones" into sc-dev

parents ef963fe0 34d7819b
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -105,13 +105,20 @@ public class NetworkOperatorPreference extends Preference {
        return mCellId.equals(CellInfoUtil.getCellIdentity(cellinfo));
    }

    /**
     * Return true when this preference is for forbidden network
     */
    public boolean isForbiddenNetwork() {
        return ((mForbiddenPlmns != null) && mForbiddenPlmns.contains(getOperatorNumeric()));
    }

    /**
     * Refresh the NetworkOperatorPreference by updating the title and the icon.
     */
    public void refresh() {
        String networkTitle = getOperatorName();

        if ((mForbiddenPlmns != null) && mForbiddenPlmns.contains(getOperatorNumeric())) {
        if (isForbiddenNetwork()) {
            if (DBG) Log.d(TAG, "refresh forbidden network: " + networkTitle);
            networkTitle += " "
                    + getContext().getResources().getString(R.string.forbidden_network);
+21 −10
Original line number Diff line number Diff line
@@ -414,11 +414,23 @@ public class NetworkSelectSettings extends DashboardFragment {
            if (networkList == null || networkList.size() == 0) {
                return;
            }
            // Due to the aggregation of cell between carriers, it's possible to get CellIdentity
            // containing forbidden PLMN.
            // Getting current network from ServiceState is no longer a good idea.
            // Add an additional rule to avoid from showing forbidden PLMN to the user.
            if (mForbiddenPlmns == null) {
                updateForbiddenPlmns();
            }
            for (NetworkRegistrationInfo regInfo : networkList) {
                final CellIdentity cellIdentity = regInfo.getCellIdentity();
                if (cellIdentity != null) {
                if (cellIdentity == null) {
                    continue;
                }
                final NetworkOperatorPreference pref = new NetworkOperatorPreference(
                        getPrefContext(), cellIdentity, mForbiddenPlmns, mShow4GForLTE);
                if (pref.isForbiddenNetwork()) {
                    continue;
                }
                pref.setSummary(R.string.network_connected);
                // Update the signal strength icon, since the default signalStrength value
                // would be zero
@@ -429,7 +441,6 @@ public class NetworkSelectSettings extends DashboardFragment {
            }
        }
    }
    }

    /**
     * Clear all of the preference summary