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

Commit cfd653db authored by Sooraj Sasindran's avatar Sooraj Sasindran Committed by Automerger Merge Worker
Browse files

Merge "Add test for NR signal threshold boundaries" am: f07955a4 am: baaac8b9

parents b802bd9e baaac8b9
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import static org.mockito.Mockito.mock;

import android.hardware.radio.V1_6.NrSignalStrength;
import android.os.Parcel;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.CellInfo;
import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthNr;
@@ -255,4 +257,41 @@ public class CellSignalStrengthNrTest extends TelephonyTest {
        css.updateLevel(null, mSS);
        assertEquals(1 /* MODERATE */, css.getLevel());
    }

    @Test
    public void testSignalLevel_ThresholdBoundaries() {
        int[] ssRsrpThresholds = {
                -110, /* SIGNAL_STRENGTH_POOR */
                -90,  /* SIGNAL_STRENGTH_MODERATE */
                -80,  /* SIGNAL_STRENGTH_GOOD */
                -65,  /* SIGNAL_STRENGTH_GREAT */
        };
        PersistableBundle bundle = new PersistableBundle();
        bundle.putInt(CarrierConfigManager.KEY_PARAMETERS_USE_FOR_5G_NR_SIGNAL_BAR_INT,
                CellSignalStrengthNr.USE_SSRSRP);
        bundle.putIntArray(CarrierConfigManager.KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY,
                ssRsrpThresholds);

        CellSignalStrengthNr css;

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[0], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_POOR, css.getLevel());

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[1], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_MODERATE, css.getLevel());

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[2], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_GOOD, css.getLevel());

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[3], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_GREAT, css.getLevel());
    }
}