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

Commit 8dd47fcf authored by Mingming Cai's avatar Mingming Cai Committed by Gerrit Code Review
Browse files

Merge "Add CQI and table index to LTE and NR CellSignalStrength"

parents a9f7570d f4753f63
Loading
Loading
Loading
Loading
+45 −7
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.hardware.radio.V1_4.CellInfo.Info;
import android.hardware.radio.V1_5.CellInfo.CellInfoRatSpecificInfo;
import android.os.Parcel;
import android.os.Parcelable;

@@ -351,6 +350,13 @@ public abstract class CellInfo implements Parcelable {
        this.mCellConnectionStatus = ci.connectionStatus;
    }

    /** @hide */
    protected CellInfo(android.hardware.radio.V1_6.CellInfo ci, long timeStamp) {
        this.mRegistered = ci.registered;
        this.mTimeStamp = timeStamp;
        this.mCellConnectionStatus = ci.connectionStatus;
    }

    /** @hide */
    public static CellInfo create(android.hardware.radio.V1_0.CellInfo ci) {
        if (ci == null) return null;
@@ -395,17 +401,49 @@ public abstract class CellInfo implements Parcelable {
    public static CellInfo create(android.hardware.radio.V1_5.CellInfo ci, long timeStamp) {
        if (ci == null) return null;
        switch (ci.ratSpecificInfo.getDiscriminator()) {
            case CellInfoRatSpecificInfo.hidl_discriminator.gsm:
            case android.hardware.radio.V1_5.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.gsm:
                return new CellInfoGsm(ci, timeStamp);
            case android.hardware.radio.V1_5.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.cdma:
                return new CellInfoCdma(ci, timeStamp);
            case android.hardware.radio.V1_5.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.lte:
                return new CellInfoLte(ci, timeStamp);
            case android.hardware.radio.V1_5.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.wcdma:
                return new CellInfoWcdma(ci, timeStamp);
            case android.hardware.radio.V1_5.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.tdscdma:
                return new CellInfoTdscdma(ci, timeStamp);
            case android.hardware.radio.V1_5.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.nr:
                return new CellInfoNr(ci, timeStamp);
            default: return null;
        }
    }

    /** @hide */
    public static CellInfo create(android.hardware.radio.V1_6.CellInfo ci, long timeStamp) {
        if (ci == null) return null;
        switch (ci.ratSpecificInfo.getDiscriminator()) {
            case android.hardware.radio.V1_6.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.gsm:
                return new CellInfoGsm(ci, timeStamp);
            case CellInfoRatSpecificInfo.hidl_discriminator.cdma:
            case android.hardware.radio.V1_6.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.cdma:
                return new CellInfoCdma(ci, timeStamp);
            case CellInfoRatSpecificInfo.hidl_discriminator.lte:
            case android.hardware.radio.V1_6.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.lte:
                return new CellInfoLte(ci, timeStamp);
            case CellInfoRatSpecificInfo.hidl_discriminator.wcdma:
            case android.hardware.radio.V1_6.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.wcdma:
                return new CellInfoWcdma(ci, timeStamp);
            case CellInfoRatSpecificInfo.hidl_discriminator.tdscdma:
            case android.hardware.radio.V1_6.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.tdscdma:
                return new CellInfoTdscdma(ci, timeStamp);
            case CellInfoRatSpecificInfo.hidl_discriminator.nr:
            case android.hardware.radio.V1_6.CellInfo
                    .CellInfoRatSpecificInfo.hidl_discriminator.nr:
                return new CellInfoNr(ci, timeStamp);
            default: return null;
        }
+9 −0
Original line number Diff line number Diff line
@@ -87,6 +87,15 @@ public final class CellInfoCdma extends CellInfo implements Parcelable {
                new CellSignalStrengthCdma(cic.signalStrengthCdma, cic.signalStrengthEvdo);
    }

    /** @hide */
    public CellInfoCdma(android.hardware.radio.V1_6.CellInfo ci, long timeStamp) {
        super(ci, timeStamp);
        final android.hardware.radio.V1_2.CellInfoCdma cic = ci.ratSpecificInfo.cdma();
        mCellIdentityCdma = new CellIdentityCdma(cic.cellIdentityCdma);
        mCellSignalStrengthCdma =
                new CellSignalStrengthCdma(cic.signalStrengthCdma, cic.signalStrengthEvdo);
    }

    /**
     * @return a {@link CellIdentityCdma} instance.
     */
+8 −0
Original line number Diff line number Diff line
@@ -82,6 +82,14 @@ public final class CellInfoGsm extends CellInfo implements Parcelable {
        mCellSignalStrengthGsm = new CellSignalStrengthGsm(cig.signalStrengthGsm);
    }

    /** @hide */
    public CellInfoGsm(android.hardware.radio.V1_6.CellInfo ci, long timeStamp) {
        super(ci, timeStamp);
        final android.hardware.radio.V1_5.CellInfoGsm cig = ci.ratSpecificInfo.gsm();
        mCellIdentityGsm = new CellIdentityGsm(cig.cellIdentityGsm);
        mCellSignalStrengthGsm = new CellSignalStrengthGsm(cig.signalStrengthGsm);
    }

    /**
     * @return a {@link CellIdentityGsm} instance.
     */
+9 −0
Original line number Diff line number Diff line
@@ -91,6 +91,15 @@ public final class CellInfoLte extends CellInfo implements Parcelable {
        mCellConfig = new CellConfigLte();
    }

    /** @hide */
    public CellInfoLte(android.hardware.radio.V1_6.CellInfo ci, long timeStamp) {
        super(ci, timeStamp);
        final android.hardware.radio.V1_6.CellInfoLte cil = ci.ratSpecificInfo.lte();
        mCellIdentityLte = new CellIdentityLte(cil.cellIdentityLte);
        mCellSignalStrengthLte = new CellSignalStrengthLte(cil.signalStrengthLte);
        mCellConfig = new CellConfigLte();
    }

    /**
     * @return a {@link CellIdentityLte} instance.
     */
+8 −0
Original line number Diff line number Diff line
@@ -68,6 +68,14 @@ public final class CellInfoNr extends CellInfo {
        mCellSignalStrength = new CellSignalStrengthNr(cil.signalStrengthNr);
    }

    /** @hide */
    public CellInfoNr(android.hardware.radio.V1_6.CellInfo ci, long timeStamp) {
        super(ci, timeStamp);
        final android.hardware.radio.V1_6.CellInfoNr cil = ci.ratSpecificInfo.nr();
        mCellIdentity = new CellIdentityNr(cil.cellIdentityNr);
        mCellSignalStrength = new CellSignalStrengthNr(cil.signalStrengthNr);
    }

    /**
     * @return a {@link CellIdentityNr} instance.
     */
Loading