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

Commit b425c9dd authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk
Browse files

Fix minor Telephony crashes

These popped up when testing disabled CDMA calls. Probably not all
are related, but fixing them all just to be on the safe side.

Bug: 379356026
Test: m
Flag: EXEMPT bugfix
Change-Id: I9f05c0e1eb9ee211555e2ee24a472324bb18ef36
parent 84f7a57a
Loading
Loading
Loading
Loading
+22 −10
Original line number Diff line number Diff line
@@ -2929,6 +2929,7 @@ public class RILUtils {
     */
    public static CellSignalStrengthGsm convertHalGsmSignalStrength(
            android.hardware.radio.V1_0.GsmSignalStrength ss) {
        if (ss == null) return new CellSignalStrengthGsm();
        CellSignalStrengthGsm ret = new CellSignalStrengthGsm(
                CellSignalStrength.getRssiDbmFromAsu(ss.signalStrength), ss.bitErrorRate,
                ss.timingAdvance);
@@ -2946,6 +2947,7 @@ public class RILUtils {
     */
    public static CellSignalStrengthGsm convertHalGsmSignalStrength(
            android.hardware.radio.network.GsmSignalStrength ss) {
        if (ss == null) return new CellSignalStrengthGsm();
        CellSignalStrengthGsm ret = new CellSignalStrengthGsm(
                CellSignalStrength.getRssiDbmFromAsu(ss.signalStrength), ss.bitErrorRate,
                ss.timingAdvance);
@@ -2966,6 +2968,7 @@ public class RILUtils {
    public static CellSignalStrengthCdma convertHalCdmaSignalStrength(
            android.hardware.radio.V1_0.CdmaSignalStrength cdma,
            android.hardware.radio.V1_0.EvdoSignalStrength evdo) {
        if (cdma == null || evdo == null) return new CellSignalStrengthCdma();
        return new CellSignalStrengthCdma(-cdma.dbm, -cdma.ecio, -evdo.dbm, -evdo.ecio,
                evdo.signalNoiseRatio);
    }
@@ -2980,6 +2983,7 @@ public class RILUtils {
    public static CellSignalStrengthCdma convertHalCdmaSignalStrength(
            android.hardware.radio.network.CdmaSignalStrength cdma,
            android.hardware.radio.network.EvdoSignalStrength evdo) {
        if (cdma == null || evdo == null) return new CellSignalStrengthCdma();
        return new CellSignalStrengthCdma(-cdma.dbm, -cdma.ecio, -evdo.dbm, -evdo.ecio,
                evdo.signalNoiseRatio);
    }
@@ -3443,10 +3447,12 @@ public class RILUtils {
            android.hardware.radio.data.SetupDataCallResult result) {
        if (result == null) return null;
        List<LinkAddress> laList = new ArrayList<>();
        if (result.addresses != null) {
            for (android.hardware.radio.data.LinkAddress la : result.addresses) {
                laList.add(convertToLinkAddress(la.address, la.addressProperties,
                        la.deprecationTime, la.expirationTime));
            }
        }
        List<InetAddress> dnsList = new ArrayList<>();
        if (result.dnses != null) {
            for (String dns : result.dnses) {
@@ -3487,10 +3493,13 @@ public class RILUtils {
            }
        }
        List<QosBearerSession> qosSessions = new ArrayList<>();
        if (result.qosSessions != null) {
            for (android.hardware.radio.data.QosSession session : result.qosSessions) {
                qosSessions.add(convertHalQosBearerSession(session));
            }
        }
        List<TrafficDescriptor> trafficDescriptors = new ArrayList<>();
        if (result.trafficDescriptors != null) {
            for (android.hardware.radio.data.TrafficDescriptor td : result.trafficDescriptors) {
                try {
                    trafficDescriptors.add(convertHalTrafficDescriptor(td));
@@ -3498,6 +3507,7 @@ public class RILUtils {
                    loge("convertHalDataCallResult: Failed to convert traffic descriptor. e=" + e);
                }
            }
        }

        return new DataCallResponse.Builder()
                .setCause(result.cause)
@@ -3675,6 +3685,7 @@ public class RILUtils {
    }

    private static Qos convertHalQos(android.hardware.radio.V1_6.Qos qos) {
        if (qos == null) return null;
        switch (qos.getDiscriminator()) {
            case android.hardware.radio.V1_6.Qos.hidl_discriminator.eps:
                android.hardware.radio.V1_6.EpsQos eps = qos.eps();
@@ -3690,6 +3701,7 @@ public class RILUtils {
    }

    private static Qos convertHalQos(android.hardware.radio.data.Qos qos) {
        if (qos == null) return null;
        switch (qos.getTag()) {
            case android.hardware.radio.data.Qos.eps:
                android.hardware.radio.data.EpsQos eps = qos.getEps();