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

Commit ad01a690 authored by Suresh Koleti's avatar Suresh Koleti
Browse files

IMS: Add support to show HD tag in network name

Append HD tag to the network name on status bar once device
is registered and volte or video service capabilities are available.

Change-Id: I7a53cee92538a215b67394af8b009cf3470c7e43
CRs-Fixed: 752266
parent 1176973c
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;

import com.android.internal.telephony.dataconnection.DcTrackerBase;
import com.android.internal.telephony.imsphone.ImsPhone;
import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
import com.android.internal.telephony.uicc.IccCardProxy;
import com.android.internal.telephony.uicc.IccRecords;
@@ -1167,4 +1168,28 @@ public abstract class ServiceStateTracker extends Handler {
        return (rat == ServiceState.RIL_RADIO_TECHNOLOGY_LTE ||
            rat == ServiceState.RIL_RADIO_TECHNOLOGY_LTE_CA);
    }

    protected String maybeUpdateHDTagForSpn(boolean showSpn, String spn) {
        if (!showSpn) return spn;
        return maybeUpdateHDTag(spn);
    }

    protected String maybeUpdateHDTagForPlmn(boolean showPlmn, String plmn) {
        if (!showPlmn) return plmn;
        return maybeUpdateHDTag(plmn);
    }

    private String maybeUpdateHDTag(String networkName) {
        if (mPhoneBase.getImsPhone() != null &&
                (((ImsPhone) mPhoneBase.getImsPhone()).isVolteEnabled() ||
                ((ImsPhone) mPhoneBase.getImsPhone()).isVideoCallEnabled())) {
            String hdTag = mPhoneBase.getContext().getText(
                    com.android.internal.R.string.high_definition_tag).toString();
            String originalNwName = networkName.trim();
            networkName = String.format(hdTag, originalNwName);
            Rlog.d(LOG_TAG, "maybeUpdateHDTag: networkName: " + networkName +
                    " original name: " + originalNwName);
        }
        return networkName;
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -597,6 +597,8 @@ public class CdmaServiceStateTracker extends ServiceStateTracker {
                    "of service, set plmn='" + plmn + "'");
        }

        plmn = maybeUpdateHDTagForPlmn(showPlmn, plmn);

        if (mSubId != subId || !TextUtils.equals(plmn, mCurPlmn)) {
            // Allow A blank plmn, "" to set showPlmn to true. Previously, we
            // would set showPlmn to true only if plmn was not empty, i.e. was not
+2 −0
Original line number Diff line number Diff line
@@ -655,6 +655,8 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
        if (subIds != null && subIds.length > 0) {
            subId = subIds[0];
        }
        spn = maybeUpdateHDTagForSpn(showSpn, spn);
        plmn = maybeUpdateHDTagForPlmn(showPlmn, plmn);

        // Update SPN_STRINGS_UPDATED_ACTION IFF any value changes
        if (mSubId != subId ||