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

Commit f4753f63 authored by Mingming Cai's avatar Mingming Cai
Browse files

Add CQI and table index to LTE and NR CellSignalStrength

Bug: 170771377
Test: make
Change-Id: I4c9281d5a606d3371d53020af3470e6f0f04524f
parent deb1024b
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