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

Commit 7c6e2734 authored by Daniel Bright's avatar Daniel Bright
Browse files

Flipping NR signal strengths coming from HAL

The documentation of NrSignalStrength states that some
of the cell signal strength values should be flipped when
taken in from the HAL (this matches what LTE does.)  The
current implementation did not match this behavior, this
change fixes that.

Bug: 144667130
Test: FrameworkTests, RILTest
Change-Id: I086cf6188b7948fa24715c2b2f7a03ba34d0cbd3
Merged-In: I086cf6188b7948fa24715c2b2f7a03ba34d0cbd3
parent 00b85827
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -18,7 +18,9 @@ package com.android.internal.telephony;

import static com.google.common.truth.Truth.assertThat;

import android.hardware.radio.V1_4.NrSignalStrength;
import android.os.Parcel;
import android.telephony.CellInfo;
import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthNr;
import android.test.AndroidTestCase;
@@ -56,6 +58,50 @@ public class CellSignalStrengthNrTest extends AndroidTestCase {
        assertThat(css.getDbm()).isEqualTo(SSRSRP);
    }

    @Test
    public void testGetMethodWithHal() {
        // GIVEN an instance of NrSignalStrength with some positive values
        NrSignalStrength nrSignalStrength = new NrSignalStrength();
        nrSignalStrength.csiRsrp = -CSIRSRP;
        nrSignalStrength.csiRsrq = -CSIRSRQ;
        nrSignalStrength.csiSinr = CSISINR;
        nrSignalStrength.ssRsrp = -SSRSRP;
        nrSignalStrength.ssRsrq = -SSRSRQ;
        nrSignalStrength.ssSinr = SSSINR;

        // THEN the get method should return the correct value
        CellSignalStrengthNr css = new CellSignalStrengthNr(nrSignalStrength);
        assertThat(css.getCsiRsrp()).isEqualTo(CSIRSRP);
        assertThat(css.getCsiRsrq()).isEqualTo(CSIRSRQ);
        assertThat(css.getCsiSinr()).isEqualTo(CSISINR);
        assertThat(css.getSsRsrp()).isEqualTo(SSRSRP);
        assertThat(css.getSsRsrq()).isEqualTo(SSRSRQ);
        assertThat(css.getSsSinr()).isEqualTo(SSSINR);
        assertThat(css.getDbm()).isEqualTo(SSRSRP);
    }

    @Test
    public void testUnavailableValueWithHal() {
        // GIVEN an instance of NrSignalStrength
        NrSignalStrength nrSignalStrength = new NrSignalStrength();
        nrSignalStrength.csiRsrp = CellInfo.UNAVAILABLE;
        nrSignalStrength.csiRsrq = CellInfo.UNAVAILABLE;
        nrSignalStrength.csiSinr = CellInfo.UNAVAILABLE;
        nrSignalStrength.ssRsrp = CellInfo.UNAVAILABLE;
        nrSignalStrength.ssRsrq = CellInfo.UNAVAILABLE;
        nrSignalStrength.ssSinr = CellInfo.UNAVAILABLE;

        // THEN the get method should return unavailable value
        CellSignalStrengthNr css = new CellSignalStrengthNr(nrSignalStrength);
        assertThat(css.getCsiRsrp()).isEqualTo(CellInfo.UNAVAILABLE);
        assertThat(css.getCsiRsrq()).isEqualTo(CellInfo.UNAVAILABLE);
        assertThat(css.getCsiSinr()).isEqualTo(CellInfo.UNAVAILABLE);
        assertThat(css.getSsRsrp()).isEqualTo(CellInfo.UNAVAILABLE);
        assertThat(css.getSsRsrq()).isEqualTo(CellInfo.UNAVAILABLE);
        assertThat(css.getSsSinr()).isEqualTo(CellInfo.UNAVAILABLE);
        assertThat(css.getDbm()).isEqualTo(CellInfo.UNAVAILABLE);
    }

    @Test
    public void testEquals_sameParameters() {
        // GIVEN an instance of CellSignalStrengthNr and another object with the same parameters
+4 −4
Original line number Diff line number Diff line
@@ -1587,11 +1587,11 @@ public class RILTest extends TelephonyTest {
        cellinfo.cellidentity.mnc = MNC_STR;
        cellinfo.cellidentity.operatorNames.alphaLong = ALPHA_LONG;
        cellinfo.cellidentity.operatorNames.alphaShort = ALPHA_SHORT;
        cellinfo.signalStrength.ssRsrp = -RSRP;
        cellinfo.signalStrength.ssRsrq = -RSRQ;
        cellinfo.signalStrength.ssRsrp = RSRP;
        cellinfo.signalStrength.ssRsrq = RSRQ;
        cellinfo.signalStrength.ssSinr = SIGNAL_NOISE_RATIO;
        cellinfo.signalStrength.csiRsrp = -RSRP;
        cellinfo.signalStrength.csiRsrq = -RSRQ;
        cellinfo.signalStrength.csiRsrp = RSRP;
        cellinfo.signalStrength.csiRsrq = RSRQ;
        cellinfo.signalStrength.csiSinr = SIGNAL_NOISE_RATIO;

        android.hardware.radio.V1_4.CellInfo record = new android.hardware.radio.V1_4.CellInfo();