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

Commit 912ca402 authored by Pengquan Meng's avatar Pengquan Meng Committed by android-build-merger
Browse files

Merge "Add signal strength converter" am: b8e4cd87 am: 35bfc604

am: 8c6a0682

Change-Id: I1d54f2d325d68ca0d11f327398e82628f54f1bab
parents b8543da9 8c6a0682
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -76,6 +76,14 @@ public final class CellSignalStrengthNr extends CellSignalStrength implements Pa
        updateLevel(null, null);
    }

    /**
     * @hide
     * @param ss signal strength from modem.
     */
    public CellSignalStrengthNr(android.hardware.radio.V1_4.NrSignalStrength ss) {
        this(ss.csiRsrp, ss.csiRsrq, ss.csiSinr, ss.ssRsrp, ss.ssRsrq, ss.ssSinr);
    }

    /**
     * Reference: 3GPP TS 38.215.
     * Range: -140 dBm to -44 dBm.
+36 −6
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ public class SignalStrength implements Parcelable {
    CellSignalStrengthWcdma mWcdma;
    CellSignalStrengthTdscdma mTdscdma;
    CellSignalStrengthLte mLte;
    CellSignalStrengthNr mNr;

    /**
     * Create a new SignalStrength from a intent notifier Bundle
@@ -116,7 +117,7 @@ public class SignalStrength implements Parcelable {
    public SignalStrength() {
        this(new CellSignalStrengthCdma(), new CellSignalStrengthGsm(),
                new CellSignalStrengthWcdma(), new CellSignalStrengthTdscdma(),
                new CellSignalStrengthLte());
                new CellSignalStrengthLte(), new CellSignalStrengthNr());
    }

    /**
@@ -129,12 +130,14 @@ public class SignalStrength implements Parcelable {
            @NonNull CellSignalStrengthGsm gsm,
            @NonNull CellSignalStrengthWcdma wcdma,
            @NonNull CellSignalStrengthTdscdma tdscdma,
            @NonNull CellSignalStrengthLte lte) {
            @NonNull CellSignalStrengthLte lte,
            @NonNull CellSignalStrengthNr nr) {
        mCdma = cdma;
        mGsm = gsm;
        mWcdma = wcdma;
        mTdscdma = tdscdma;
        mLte = lte;
        mNr = nr;
    }

    /**
@@ -147,7 +150,8 @@ public class SignalStrength implements Parcelable {
                new CellSignalStrengthGsm(signalStrength.gw),
                new CellSignalStrengthWcdma(),
                new CellSignalStrengthTdscdma(signalStrength.tdScdma),
                new CellSignalStrengthLte(signalStrength.lte));
                new CellSignalStrengthLte(signalStrength.lte),
                new CellSignalStrengthNr());
    }

    /**
@@ -160,7 +164,23 @@ public class SignalStrength implements Parcelable {
                new CellSignalStrengthGsm(signalStrength.gsm),
                new CellSignalStrengthWcdma(signalStrength.wcdma),
                new CellSignalStrengthTdscdma(signalStrength.tdScdma),
                new CellSignalStrengthLte(signalStrength.lte));
                new CellSignalStrengthLte(signalStrength.lte),
                new CellSignalStrengthNr());
    }

    /**
     * Constructor for Radio HAL V1.4.
     *
     * @param signalStrength signal strength reported from modem.
     * @hide
     */
    public SignalStrength(android.hardware.radio.V1_4.SignalStrength signalStrength) {
        this(new CellSignalStrengthCdma(signalStrength.cdma, signalStrength.evdo),
                new CellSignalStrengthGsm(signalStrength.gsm),
                new CellSignalStrengthWcdma(signalStrength.wcdma),
                new CellSignalStrengthTdscdma(signalStrength.tdscdma),
                new CellSignalStrengthLte(signalStrength.lte),
                new CellSignalStrengthNr(signalStrength.nr));
    }

    private CellSignalStrength getPrimary() {
@@ -171,6 +191,7 @@ public class SignalStrength implements Parcelable {
        if (mTdscdma.isValid()) return mTdscdma;
        if (mWcdma.isValid()) return mWcdma;
        if (mGsm.isValid()) return mGsm;
        if (mNr.isValid()) return mNr;
        return mLte;
    }

@@ -200,6 +221,7 @@ public class SignalStrength implements Parcelable {
        if (mTdscdma.isValid()) cssList.add(mTdscdma);
        if (mWcdma.isValid()) cssList.add(mWcdma);
        if (mGsm.isValid()) cssList.add(mGsm);
        if (mNr.isValid()) cssList.add(mNr);
        return cssList;
    }

@@ -210,6 +232,7 @@ public class SignalStrength implements Parcelable {
        mWcdma.updateLevel(cc, ss);
        mTdscdma.updateLevel(cc, ss);
        mLte.updateLevel(cc, ss);
        mNr.updateLevel(cc, ss);
    }

    /**
@@ -234,6 +257,7 @@ public class SignalStrength implements Parcelable {
        mWcdma = new CellSignalStrengthWcdma(s.mWcdma);
        mTdscdma = new CellSignalStrengthTdscdma(s.mTdscdma);
        mLte = new CellSignalStrengthLte(s.mLte);
        mNr = new CellSignalStrengthNr(s.mNr);
    }

    /**
@@ -250,6 +274,7 @@ public class SignalStrength implements Parcelable {
        mWcdma = in.readParcelable(CellSignalStrengthWcdma.class.getClassLoader());
        mTdscdma = in.readParcelable(CellSignalStrengthTdscdma.class.getClassLoader());
        mLte = in.readParcelable(CellSignalStrengthLte.class.getClassLoader());
        mNr = in.readParcelable(CellSignalStrengthLte.class.getClassLoader());
    }

    /**
@@ -261,6 +286,7 @@ public class SignalStrength implements Parcelable {
        out.writeParcelable(mWcdma, flags);
        out.writeParcelable(mTdscdma, flags);
        out.writeParcelable(mLte, flags);
        out.writeParcelable(mNr, flags);
    }

    /**
@@ -814,7 +840,7 @@ public class SignalStrength implements Parcelable {
     */
    @Override
    public int hashCode() {
        return Objects.hash(mCdma, mGsm, mWcdma, mTdscdma, mLte);
        return Objects.hash(mCdma, mGsm, mWcdma, mTdscdma, mLte, mNr);
    }

    /**
@@ -830,7 +856,8 @@ public class SignalStrength implements Parcelable {
            && mGsm.equals(s.mGsm)
            && mWcdma.equals(s.mWcdma)
            && mTdscdma.equals(s.mTdscdma)
            && mLte.equals(s.mLte);
            && mLte.equals(s.mLte)
            && mNr.equals(s.mNr);
    }

    /**
@@ -844,6 +871,7 @@ public class SignalStrength implements Parcelable {
            .append(",mWcdma=").append(mWcdma)
            .append(",mTdscdma=").append(mTdscdma)
            .append(",mLte=").append(mLte)
            .append(",mNr=").append(mNr)
            .append(",primary=").append(getPrimary().getClass().getSimpleName())
            .append("}")
            .toString();
@@ -866,6 +894,7 @@ public class SignalStrength implements Parcelable {
        mWcdma = m.getParcelable("Wcdma");
        mTdscdma = m.getParcelable("Tdscdma");
        mLte = m.getParcelable("Lte");
        mNr = m.getParcelable("Nr");
    }

    /**
@@ -885,6 +914,7 @@ public class SignalStrength implements Parcelable {
        m.putParcelable("Wcdma", mWcdma);
        m.putParcelable("Tdscdma", mTdscdma);
        m.putParcelable("Lte", mLte);
        m.putParcelable("Nr", mNr);
    }

    /**