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

Commit f3c6f0e4 authored by Jack Yu's avatar Jack Yu Committed by android-build-merger
Browse files

Merge "Removed data and voice RAT from service state" am: ced4a317

am: 279a924f

Change-Id: I4712f051f85511426af2207679224266ea0aa29e
parents 3722b690 279a924f
Loading
Loading
Loading
Loading
+25 −7
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
     *
     * @hide
     */
    public final boolean isUsingCarrierAggregation;
    public boolean mIsUsingCarrierAggregation;

    /**
     * @hide
@@ -92,7 +92,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
        this.isNrAvailable = isNrAvailable;
        this.isEnDcAvailable = isEnDcAvailable;
        this.mLteVopsSupportInfo = lteVops;
        this.isUsingCarrierAggregation = isUsingCarrierAggregation;
        this.mIsUsingCarrierAggregation = isUsingCarrierAggregation;
    }

    private DataSpecificRegistrationInfo(Parcel source) {
@@ -101,7 +101,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
        isNrAvailable = source.readBoolean();
        isEnDcAvailable = source.readBoolean();
        mLteVopsSupportInfo = LteVopsSupportInfo.CREATOR.createFromParcel(source);
        isUsingCarrierAggregation = source.readBoolean();
        mIsUsingCarrierAggregation = source.readBoolean();
    }

    @Override
@@ -111,7 +111,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
        dest.writeBoolean(isNrAvailable);
        dest.writeBoolean(isEnDcAvailable);
        mLteVopsSupportInfo.writeToParcel(dest, flags);
        dest.writeBoolean(isUsingCarrierAggregation);
        dest.writeBoolean(mIsUsingCarrierAggregation);
    }

    @Override
@@ -128,7 +128,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
                .append(" isNrAvailable = " + isNrAvailable)
                .append(" isEnDcAvailable = " + isEnDcAvailable)
                .append(" " + mLteVopsSupportInfo.toString())
                .append(" isUsingCarrierAggregation = " + isUsingCarrierAggregation)
                .append(" mIsUsingCarrierAggregation = " + mIsUsingCarrierAggregation)
                .append(" }")
                .toString();
    }
@@ -136,7 +136,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
    @Override
    public int hashCode() {
        return Objects.hash(maxDataCalls, isDcNrRestricted, isNrAvailable, isEnDcAvailable,
                mLteVopsSupportInfo, isUsingCarrierAggregation);
                mLteVopsSupportInfo, mIsUsingCarrierAggregation);
    }

    @Override
@@ -151,7 +151,7 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
                && this.isNrAvailable == other.isNrAvailable
                && this.isEnDcAvailable == other.isEnDcAvailable
                && this.mLteVopsSupportInfo.equals(other.mLteVopsSupportInfo)
                && this.isUsingCarrierAggregation == other.isUsingCarrierAggregation;
                && this.mIsUsingCarrierAggregation == other.mIsUsingCarrierAggregation;
    }

    public static final @NonNull Parcelable.Creator<DataSpecificRegistrationInfo> CREATOR =
@@ -174,4 +174,22 @@ public final class DataSpecificRegistrationInfo implements Parcelable {
    public LteVopsSupportInfo getLteVopsSupportInfo() {
        return mLteVopsSupportInfo;
    }

    /**
     * Set the flag indicating if using carrier aggregation.
     *
     * @param isUsingCarrierAggregation {@code true} if using carrier aggregation.
     * @hide
     */
    public void setIsUsingCarrierAggregation(boolean isUsingCarrierAggregation) {
        mIsUsingCarrierAggregation = isUsingCarrierAggregation;
    }

    /**
     * @return {@code true} if using carrier aggregation.
     * @hide
     */
    public boolean isUsingCarrierAggregation() {
        return mIsUsingCarrierAggregation;
    }
}
+7 −0
Original line number Diff line number Diff line
@@ -368,6 +368,13 @@ public final class NetworkRegistrationInfo implements Parcelable {
     * @hide
     */
    public void setAccessNetworkTechnology(@NetworkType int tech) {
        if (tech == TelephonyManager.NETWORK_TYPE_LTE_CA) {
            // For old device backward compatibility support
            tech = TelephonyManager.NETWORK_TYPE_LTE;
            if (mDataSpecificInfo != null) {
                mDataSpecificInfo.setIsUsingCarrierAggregation(true);
            }
        }
        mAccessNetworkTechnology = tech;
    }

+75 −76
Original line number Diff line number Diff line
@@ -312,18 +312,6 @@ public class ServiceState implements Parcelable {
    private boolean mIsManualNetworkSelection;

    private boolean mIsEmergencyOnly;
    /**
     * TODO: remove mRilVoiceRadioTechnology after completely migrate to
     * {@link TelephonyManager.NetworkType}
     */
    @RilRadioTechnology
    private int mRilVoiceRadioTechnology;
    /**
     * TODO: remove mRilDataRadioTechnology after completely migrate to
     * {@link TelephonyManager.NetworkType}
     */
    @RilRadioTechnology
    private int mRilDataRadioTechnology;

    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
    private boolean mCssIndicator;
@@ -340,9 +328,6 @@ public class ServiceState implements Parcelable {
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
    private int mCdmaEriIconMode;

    @UnsupportedAppUsage
    private boolean mIsUsingCarrierAggregation;

    @FrequencyRange
    private int mNrFrequencyRange;
    private int mChannelNumber;
@@ -420,8 +405,6 @@ public class ServiceState implements Parcelable {
        mDataOperatorAlphaShort = s.mDataOperatorAlphaShort;
        mDataOperatorNumeric = s.mDataOperatorNumeric;
        mIsManualNetworkSelection = s.mIsManualNetworkSelection;
        mRilVoiceRadioTechnology = s.mRilVoiceRadioTechnology;
        mRilDataRadioTechnology = s.mRilDataRadioTechnology;
        mCssIndicator = s.mCssIndicator;
        mNetworkId = s.mNetworkId;
        mSystemId = s.mSystemId;
@@ -430,7 +413,6 @@ public class ServiceState implements Parcelable {
        mCdmaEriIconIndex = s.mCdmaEriIconIndex;
        mCdmaEriIconMode = s.mCdmaEriIconMode;
        mIsEmergencyOnly = s.mIsEmergencyOnly;
        mIsUsingCarrierAggregation = s.mIsUsingCarrierAggregation;
        mChannelNumber = s.mChannelNumber;
        mCellBandwidths = s.mCellBandwidths == null ? null :
                Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length);
@@ -457,8 +439,6 @@ public class ServiceState implements Parcelable {
        mDataOperatorAlphaShort = in.readString();
        mDataOperatorNumeric = in.readString();
        mIsManualNetworkSelection = in.readInt() != 0;
        mRilVoiceRadioTechnology = in.readInt();
        mRilDataRadioTechnology = in.readInt();
        mCssIndicator = (in.readInt() != 0);
        mNetworkId = in.readInt();
        mSystemId = in.readInt();
@@ -467,7 +447,6 @@ public class ServiceState implements Parcelable {
        mCdmaEriIconIndex = in.readInt();
        mCdmaEriIconMode = in.readInt();
        mIsEmergencyOnly = in.readInt() != 0;
        mIsUsingCarrierAggregation = in.readInt() != 0;
        mLteEarfcnRsrpBoost = in.readInt();
        mNetworkRegistrationInfos = new ArrayList<>();
        in.readList(mNetworkRegistrationInfos, NetworkRegistrationInfo.class.getClassLoader());
@@ -486,8 +465,6 @@ public class ServiceState implements Parcelable {
        out.writeString(mDataOperatorAlphaShort);
        out.writeString(mDataOperatorNumeric);
        out.writeInt(mIsManualNetworkSelection ? 1 : 0);
        out.writeInt(mRilVoiceRadioTechnology);
        out.writeInt(mRilDataRadioTechnology);
        out.writeInt(mCssIndicator ? 1 : 0);
        out.writeInt(mNetworkId);
        out.writeInt(mSystemId);
@@ -496,7 +473,6 @@ public class ServiceState implements Parcelable {
        out.writeInt(mCdmaEriIconIndex);
        out.writeInt(mCdmaEriIconMode);
        out.writeInt(mIsEmergencyOnly ? 1 : 0);
        out.writeInt(mIsUsingCarrierAggregation ? 1 : 0);
        out.writeInt(mLteEarfcnRsrpBoost);
        out.writeList(mNetworkRegistrationInfos);
        out.writeInt(mChannelNumber);
@@ -568,7 +544,7 @@ public class ServiceState implements Parcelable {
    @DuplexMode
    public int getDuplexMode() {
        // only support LTE duplex mode
        if (!isLte(mRilDataRadioTechnology)) {
        if (!isLte(getRilDataRadioTechnology())) {
            return DUPLEX_MODE_UNKNOWN;
        }

@@ -850,8 +826,6 @@ public class ServiceState implements Parcelable {
                mDataOperatorAlphaShort,
                mDataOperatorNumeric,
                mIsManualNetworkSelection,
                mRilVoiceRadioTechnology,
                mRilDataRadioTechnology,
                mCssIndicator,
                mNetworkId,
                mSystemId,
@@ -860,7 +834,6 @@ public class ServiceState implements Parcelable {
                mCdmaEriIconIndex,
                mCdmaEriIconMode,
                mIsEmergencyOnly,
                mIsUsingCarrierAggregation,
                mLteEarfcnRsrpBoost,
                mNetworkRegistrationInfos,
                mNrFrequencyRange);
@@ -871,7 +844,7 @@ public class ServiceState implements Parcelable {
        if (!(o instanceof ServiceState)) return false;
        ServiceState s = (ServiceState) o;

        return (mVoiceRegState == s.mVoiceRegState
        return mVoiceRegState == s.mVoiceRegState
                && mDataRegState == s.mDataRegState
                && mIsManualNetworkSelection == s.mIsManualNetworkSelection
                && mChannelNumber == s.mChannelNumber
@@ -882,8 +855,6 @@ public class ServiceState implements Parcelable {
                && equalsHandlesNulls(mDataOperatorAlphaLong, s.mDataOperatorAlphaLong)
                && equalsHandlesNulls(mDataOperatorAlphaShort, s.mDataOperatorAlphaShort)
                && equalsHandlesNulls(mDataOperatorNumeric, s.mDataOperatorNumeric)
                && equalsHandlesNulls(mRilVoiceRadioTechnology, s.mRilVoiceRadioTechnology)
                && equalsHandlesNulls(mRilDataRadioTechnology, s.mRilDataRadioTechnology)
                && equalsHandlesNulls(mCssIndicator, s.mCssIndicator)
                && equalsHandlesNulls(mNetworkId, s.mNetworkId)
                && equalsHandlesNulls(mSystemId, s.mSystemId)
@@ -891,7 +862,6 @@ public class ServiceState implements Parcelable {
                && equalsHandlesNulls(mCdmaDefaultRoamingIndicator,
                        s.mCdmaDefaultRoamingIndicator)
                && mIsEmergencyOnly == s.mIsEmergencyOnly
                && mIsUsingCarrierAggregation == s.mIsUsingCarrierAggregation)
                && (mNetworkRegistrationInfos == null
                ? s.mNetworkRegistrationInfos == null : s.mNetworkRegistrationInfos != null
                && mNetworkRegistrationInfos.containsAll(s.mNetworkRegistrationInfos))
@@ -1035,27 +1005,27 @@ public class ServiceState implements Parcelable {
            .append(", mDataOperatorAlphaShort=").append(mDataOperatorAlphaShort)
            .append(", isManualNetworkSelection=").append(mIsManualNetworkSelection)
            .append(mIsManualNetworkSelection ? "(manual)" : "(automatic)")
            .append(", mRilVoiceRadioTechnology=").append(mRilVoiceRadioTechnology)
            .append("(" + rilRadioTechnologyToString(mRilVoiceRadioTechnology) + ")")
            .append(", mRilDataRadioTechnology=").append(mRilDataRadioTechnology)
            .append("(" + rilRadioTechnologyToString(mRilDataRadioTechnology) + ")")
            .append(", getRilVoiceRadioTechnology=").append(getRilVoiceRadioTechnology())
            .append("(" + rilRadioTechnologyToString(getRilVoiceRadioTechnology()) + ")")
            .append(", getRilDataRadioTechnology=").append(getRilDataRadioTechnology())
            .append("(" + rilRadioTechnologyToString(getRilDataRadioTechnology()) + ")")
            .append(", mCssIndicator=").append(mCssIndicator ? "supported" : "unsupported")
            .append(", mNetworkId=").append(mNetworkId)
            .append(", mSystemId=").append(mSystemId)
            .append(", mCdmaRoamingIndicator=").append(mCdmaRoamingIndicator)
            .append(", mCdmaDefaultRoamingIndicator=").append(mCdmaDefaultRoamingIndicator)
            .append(", mIsEmergencyOnly=").append(mIsEmergencyOnly)
            .append(", mIsUsingCarrierAggregation=").append(mIsUsingCarrierAggregation)
            .append(", isUsingCarrierAggregation=").append(isUsingCarrierAggregation())
            .append(", mLteEarfcnRsrpBoost=").append(mLteEarfcnRsrpBoost)
            .append(", mNetworkRegistrationInfos=").append(mNetworkRegistrationInfos)
            .append(", mNrFrequencyRange=").append(mNrFrequencyRange)
            .append("}").toString();
    }

    private void setNullState(int state) {
        if (DBG) Rlog.d(LOG_TAG, "[ServiceState] setNullState=" + state);
        mVoiceRegState = state;
        mDataRegState = state;
    private void init() {
        if (DBG) Rlog.d(LOG_TAG, "init");
        mVoiceRegState = STATE_OUT_OF_SERVICE;
        mDataRegState = STATE_OUT_OF_SERVICE;
        mChannelNumber = -1;
        mCellBandwidths = new int[0];
        mVoiceOperatorAlphaLong = null;
@@ -1065,8 +1035,6 @@ public class ServiceState implements Parcelable {
        mDataOperatorAlphaShort = null;
        mDataOperatorNumeric = null;
        mIsManualNetworkSelection = false;
        mRilVoiceRadioTechnology = 0;
        mRilDataRadioTechnology = 0;
        mCssIndicator = false;
        mNetworkId = -1;
        mSystemId = -1;
@@ -1075,18 +1043,28 @@ public class ServiceState implements Parcelable {
        mCdmaEriIconIndex = -1;
        mCdmaEriIconMode = -1;
        mIsEmergencyOnly = false;
        mIsUsingCarrierAggregation = false;
        mLteEarfcnRsrpBoost = 0;
        mNetworkRegistrationInfos = new ArrayList<>();
        mNrFrequencyRange = FREQUENCY_RANGE_UNKNOWN;
        addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder()
                .setDomain(NetworkRegistrationInfo.DOMAIN_CS)
                .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
                .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN)
                .build());
        addNetworkRegistrationInfo(new NetworkRegistrationInfo.Builder()
                .setDomain(NetworkRegistrationInfo.DOMAIN_PS)
                .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
                .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN)
                .build());
    }

    public void setStateOutOfService() {
        setNullState(STATE_OUT_OF_SERVICE);
        init();
    }

    public void setStateOff() {
        setNullState(STATE_POWER_OFF);
        init();
        mVoiceRegState = STATE_POWER_OFF;
        mDataRegState = STATE_POWER_OFF;
    }

    public void setState(int state) {
@@ -1304,8 +1282,8 @@ public class ServiceState implements Parcelable {
        m.putString("data-operator-alpha-short", mDataOperatorAlphaShort);
        m.putString("data-operator-numeric", mDataOperatorNumeric);
        m.putBoolean("manual", mIsManualNetworkSelection);
        m.putInt("radioTechnology", mRilVoiceRadioTechnology);
        m.putInt("dataRadioTechnology", mRilDataRadioTechnology);
        m.putInt("radioTechnology", getRilVoiceRadioTechnology());
        m.putInt("dataRadioTechnology", getRadioTechnology());
        m.putBoolean("cssIndicator", mCssIndicator);
        m.putInt("networkId", mNetworkId);
        m.putInt("systemId", mSystemId);
@@ -1313,7 +1291,7 @@ public class ServiceState implements Parcelable {
        m.putInt("cdmaDefaultRoamingIndicator", mCdmaDefaultRoamingIndicator);
        m.putBoolean("emergencyOnly", mIsEmergencyOnly);
        m.putBoolean("isDataRoamingFromRegistration", getDataRoamingFromRegistration());
        m.putBoolean("isUsingCarrierAggregation", mIsUsingCarrierAggregation);
        m.putBoolean("isUsingCarrierAggregation", isUsingCarrierAggregation());
        m.putInt("LteEarfcnRsrpBoost", mLteEarfcnRsrpBoost);
        m.putInt("ChannelNumber", mChannelNumber);
        m.putIntArray("CellBandwidths", mCellBandwidths);
@@ -1323,13 +1301,9 @@ public class ServiceState implements Parcelable {
    /** @hide */
    @TestApi
    public void setRilVoiceRadioTechnology(@RilRadioTechnology int rt) {
        if (rt == RIL_RADIO_TECHNOLOGY_LTE_CA) {
            rt = RIL_RADIO_TECHNOLOGY_LTE;
        }

        this.mRilVoiceRadioTechnology = rt;

        // sync to network registration state
        Rlog.e(LOG_TAG, "ServiceState.setRilVoiceRadioTechnology() called. It's encouraged to "
                + "use addNetworkRegistrationInfo() instead *******");
        // Sync to network registration state
        NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
        if (regState == null) {
@@ -1339,24 +1313,18 @@ public class ServiceState implements Parcelable {
                    .build();
            addNetworkRegistrationInfo(regState);
        }
        regState.setAccessNetworkTechnology(
                rilRadioTechnologyToNetworkType(mRilVoiceRadioTechnology));
        regState.setAccessNetworkTechnology(rilRadioTechnologyToNetworkType(rt));
    }


    /** @hide */
    @TestApi
    public void setRilDataRadioTechnology(@RilRadioTechnology int rt) {
        if (rt == RIL_RADIO_TECHNOLOGY_LTE_CA) {
            rt = RIL_RADIO_TECHNOLOGY_LTE;
            this.mIsUsingCarrierAggregation = true;
        } else {
            this.mIsUsingCarrierAggregation = false;
        }
        this.mRilDataRadioTechnology = rt;
        if (VDBG) Rlog.d(LOG_TAG, "[ServiceState] setRilDataRadioTechnology=" +
                mRilDataRadioTechnology);

        // sync to network registration state
        Rlog.e(LOG_TAG, "ServiceState.setRilDataRadioTechnology() called. It's encouraged to "
                + "use addNetworkRegistrationInfo() instead *******");
        // Sync to network registration state. Always write down the WWAN transport. For AP-assisted
        // mode device, use addNetworkRegistrationInfo() to set the correct transport if RAT
        // is IWLAN.
        NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);

@@ -1367,18 +1335,32 @@ public class ServiceState implements Parcelable {
                    .build();
            addNetworkRegistrationInfo(regState);
        }
        regState.setAccessNetworkTechnology(
                rilRadioTechnologyToNetworkType(mRilDataRadioTechnology));
        regState.setAccessNetworkTechnology(rilRadioTechnologyToNetworkType(rt));
    }

    /** @hide */
    public boolean isUsingCarrierAggregation() {
        return mIsUsingCarrierAggregation;
        NetworkRegistrationInfo nri = getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
        if (nri != null) {
            DataSpecificRegistrationInfo dsri = nri.getDataSpecificInfo();
            if (dsri != null) {
                return dsri.isUsingCarrierAggregation();
            }
        }
        return false;
    }

    /** @hide */
    public void setIsUsingCarrierAggregation(boolean ca) {
        mIsUsingCarrierAggregation = ca;
        NetworkRegistrationInfo nri = getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
        if (nri != null) {
            DataSpecificRegistrationInfo dsri = nri.getDataSpecificInfo();
            if (dsri != null) {
                dsri.setIsUsingCarrierAggregation(ca);
            }
        }
    }

    /**
@@ -1435,12 +1417,29 @@ public class ServiceState implements Parcelable {
    /** @hide */
    @UnsupportedAppUsage
    public int getRilVoiceRadioTechnology() {
        return this.mRilVoiceRadioTechnology;
        NetworkRegistrationInfo wwanRegInfo = getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
        if (wwanRegInfo != null) {
            return networkTypeToRilRadioTechnology(wwanRegInfo.getAccessNetworkTechnology());
        }
        return RIL_RADIO_TECHNOLOGY_UNKNOWN;
    }
    /** @hide */
    @UnsupportedAppUsage
    public int getRilDataRadioTechnology() {
        return this.mRilDataRadioTechnology;
        NetworkRegistrationInfo wwanRegInfo = getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
        NetworkRegistrationInfo wlanRegInfo = getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WLAN);
        if (wlanRegInfo != null
                && wlanRegInfo.getAccessNetworkTechnology() == TelephonyManager.NETWORK_TYPE_IWLAN
                && wlanRegInfo.getRegistrationState()
                == NetworkRegistrationInfo.REGISTRATION_STATE_HOME) {
            return RIL_RADIO_TECHNOLOGY_IWLAN;
        } else if (wwanRegInfo != null) {
            return networkTypeToRilRadioTechnology(wwanRegInfo.getAccessNetworkTechnology());
        }
        return RIL_RADIO_TECHNOLOGY_UNKNOWN;
    }
    /**
     * @hide