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

Commit 9ee9b28f authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix getHalVersion overriding UNSUPPORTED version" into main

parents cd2f1e72 401e7cf4
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -95,8 +95,17 @@ public class HalVersion implements Comparable<HalVersion> {
        return less(ver) || equals(ver);
    }

    /**
     * @return True if the version is between (excluding the two provided versions)
     */
    public boolean between(HalVersion greaterThan, HalVersion lessThan) {
        return greater(greaterThan) && less(lessThan);
    }

    @Override
    public String toString() {
        if (equals(UNSUPPORTED)) return "UNSUPPORTED";
        if (equals(UNKNOWN)) return "UNKNOWN";
        return major + "." + minor;
    }
}
+22 −14
Original line number Diff line number Diff line
@@ -949,8 +949,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
                        break;
                }

                if (serviceProxy.isEmpty()
                        && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) {
                if (serviceProxy.isEmpty() && mHalVersion.get(service).between(
                        RADIO_HAL_VERSION_UNSUPPORTED, RADIO_HAL_VERSION_2_0)) {
                    try {
                        mHalVersion.put(service, RADIO_HAL_VERSION_1_6);
                        serviceProxy.setHidl(mHalVersion.get(service),
@@ -960,8 +960,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
                    }
                }

                if (serviceProxy.isEmpty()
                        && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) {
                if (serviceProxy.isEmpty() && mHalVersion.get(service).between(
                        RADIO_HAL_VERSION_UNSUPPORTED, RADIO_HAL_VERSION_2_0)) {
                    try {
                        mHalVersion.put(service, RADIO_HAL_VERSION_1_5);
                        serviceProxy.setHidl(mHalVersion.get(service),
@@ -971,8 +971,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
                    }
                }

                if (serviceProxy.isEmpty()
                        && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) {
                if (serviceProxy.isEmpty() && mHalVersion.get(service).between(
                        RADIO_HAL_VERSION_UNSUPPORTED, RADIO_HAL_VERSION_2_0)) {
                    try {
                        mHalVersion.put(service, RADIO_HAL_VERSION_1_4);
                        serviceProxy.setHidl(mHalVersion.get(service),
@@ -982,8 +982,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
                    }
                }

                if (serviceProxy.isEmpty()
                        && mHalVersion.get(service).less(RADIO_HAL_VERSION_2_0)) {
                if (serviceProxy.isEmpty() && mHalVersion.get(service).between(
                            RADIO_HAL_VERSION_UNKNOWN, RADIO_HAL_VERSION_2_0)) {
                    riljLoge("IRadio <1.4 is no longer supported.");
                }

@@ -1047,10 +1047,16 @@ public class RIL extends BaseCommands implements CommandsInterface {
                    }
                } else {
                    mDisabledRadioServices.get(service).add(mPhoneId);
                    if (isRadioServiceSupported(service)) {
                        mHalVersion.put(service, RADIO_HAL_VERSION_UNKNOWN);
                        riljLoge("getRadioServiceProxy: set " + serviceToString(service) + " for "
                                + HIDL_SERVICE_NAME[mPhoneId] + " as disabled\n"
                                + android.util.Log.getStackTraceString(new RuntimeException()));
                    } else {
                        mHalVersion.put(service, RADIO_HAL_VERSION_UNSUPPORTED);
                        riljLog("getRadioServiceProxy: set " + serviceToString(service) + " for "
                                + HIDL_SERVICE_NAME[mPhoneId] + " as disabled (unsupported)");
                    }
                }
            }
        } catch (RemoteException e) {
@@ -1611,7 +1617,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
    @Override
    public void supplySimDepersonalization(PersoSubState persoType, String controlKey,
            Message result) {
        if (mHalVersion.get(HAL_SERVICE_SIM).less(RADIO_HAL_VERSION_1_5)
        if (mHalVersion.get(HAL_SERVICE_SIM).between(
                    RADIO_HAL_VERSION_UNKNOWN, RADIO_HAL_VERSION_1_5)
                && PersoSubState.PERSOSUBSTATE_SIM_NETWORK == persoType) {
            supplyNetworkDepersonalization(controlKey, result);
            return;
@@ -3012,7 +3019,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
    @Override
    public void setAllowedNetworkTypesBitmap(
            @TelephonyManager.NetworkTypeBitMask int networkTypeBitmask, Message result) {
        if (mHalVersion.get(HAL_SERVICE_NETWORK).less(RADIO_HAL_VERSION_1_6)) {
        if (mHalVersion.get(HAL_SERVICE_NETWORK).between(
                RADIO_HAL_VERSION_UNKNOWN, RADIO_HAL_VERSION_1_6)) {
            // For older HAL, redirects the call to setPreferredNetworkType.
            setPreferredNetworkType(
                    RadioAccessFamily.getNetworkTypeFromRaf(networkTypeBitmask), result);