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

Commit e690300e authored by Chen Xu's avatar Chen Xu Committed by Android (Google) Code Review
Browse files

Merge "fix the issue that sending wrong preferred networktype to RIL"

parents 89173cbb 5105c8d5
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ import android.telephony.ServiceState;
import android.telephony.SmsManager;
import android.telephony.TelephonyHistogram;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyManager.PrefNetworkMode;
import android.telephony.data.ApnSetting;
import android.telephony.data.DataCallResponse;
import android.telephony.data.DataProfile;
@@ -2576,7 +2577,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
    }

    @Override
    public void setPreferredNetworkType(int networkType , Message result) {
    public void setPreferredNetworkType(@PrefNetworkMode int networkType , Message result) {
        IRadio radioProxy = getRadioProxy(result);
        if (radioProxy != null) {
            RILRequest rr = obtainRequest(RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE, result,
@@ -2600,7 +2601,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
                        (android.hardware.radio.V1_4.IRadio) radioProxy;
                try {
                    radioProxy14.setPreferredNetworkTypeBitmap(
                            rr.mSerial, RadioAccessFamily.getRafFromNetworkType(networkType));
                            rr.mSerial, convertToHalRadioAccessFamily(networkType));
                } catch (RemoteException | RuntimeException e) {
                    handleRadioProxyExceptionForRR(rr, "setPreferredNetworkTypeBitmap", e);
                }
@@ -2608,6 +2609,13 @@ public class RIL extends BaseCommands implements CommandsInterface {
        }
    }

    private static int convertToHalRadioAccessFamily(@PrefNetworkMode int networkMode) {
        // android.hardware.radio.V1_0.RadioAccessFamily is one bit shift
        // from TelephonyManager.NetworkTypeBitMask
        int networkTypeBitmask = RadioAccessFamily.getRafFromNetworkType(networkMode);
        return networkTypeBitmask << 1;
    }

    @Override
    public void getPreferredNetworkType(Message result) {
        IRadio radioProxy = getRadioProxy(result);