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

Commit bd671d56 authored by Mingming Cai's avatar Mingming Cai
Browse files

Remove unnecessary Base64 encode and decode

The HAL has returned base64 for SIM authentication. Therefoere,
it's unnecessary to decode in RadioResponse and re-encode it at
the end of getIccSimChallengeResponse.

Bug: 149492696
Test: CarrierApiTest, SimRestrictedApisTest, IccRecordsTest
Change-Id: I9ef5578b434bdf61606dc8075363fc31988b611f
Merged-In: I9ef5578b434bdf61606dc8075363fc31988b611f
(cherry picked from commit 01016f7b)
parent 192d33cb
Loading
Loading
Loading
Loading
+13 −19
Original line number Original line Diff line number Diff line
@@ -1406,7 +1406,19 @@ public class RadioResponse extends IRadioResponse.Stub {
    public void requestIccSimAuthenticationResponse(RadioResponseInfo responseInfo,
    public void requestIccSimAuthenticationResponse(RadioResponseInfo responseInfo,
                                                    android.hardware.radio.V1_0.IccIoResult
                                                    android.hardware.radio.V1_0.IccIoResult
                                                            result) {
                                                            result) {
        responseICC_IOBase64(responseInfo, result);
        RILRequest rr = mRil.processResponse(responseInfo);

        if (rr != null) {
            IccIoResult ret = new IccIoResult(
                    result.sw1,
                    result.sw2,
                    TextUtils.isEmpty(result.simResponse)
                            ? null : result.simResponse.getBytes());
            if (responseInfo.error == RadioError.NONE) {
                sendMessageResponse(rr.mResult, ret);
            }
            mRil.processResponseDone(rr, responseInfo, ret);
        }
    }
    }


    /**
    /**
@@ -2471,24 +2483,6 @@ public class RadioResponse extends IRadioResponse.Stub {
        }
        }
    }
    }


    private void responseICC_IOBase64(RadioResponseInfo responseInfo,
                                      android.hardware.radio.V1_0.IccIoResult result) {
        RILRequest rr = mRil.processResponse(responseInfo);

        if (rr != null) {
            IccIoResult ret = new IccIoResult(
                    result.sw1,
                    result.sw2,
                    (!(result.simResponse).equals(""))
                            ? android.util.Base64.decode(result.simResponse,
                            android.util.Base64.DEFAULT) : (byte[]) null);
            if (responseInfo.error == RadioError.NONE) {
                sendMessageResponse(rr.mResult, ret);
            }
            mRil.processResponseDone(rr, responseInfo, ret);
        }
    }

    private void responseRadioCapability(RadioResponseInfo responseInfo,
    private void responseRadioCapability(RadioResponseInfo responseInfo,
                                         android.hardware.radio.V1_0.RadioCapability rc) {
                                         android.hardware.radio.V1_0.RadioCapability rc) {
        RILRequest rr = mRil.processResponse(responseInfo);
        RILRequest rr = mRil.processResponse(responseInfo);
+1 −2
Original line number Original line Diff line number Diff line
@@ -1232,8 +1232,7 @@ public abstract class IccRecords extends Handler implements IccConstants {
        }
        }
        if (VDBG) log("getIccSimChallengeResponse: return rsp.authRsp");
        if (VDBG) log("getIccSimChallengeResponse: return rsp.authRsp");


        return android.util.Base64.encodeToString(rsp.authRsp.payload,
        return rsp.authRsp.payload != null ? new String(rsp.authRsp.payload) : null;
                android.util.Base64.NO_WRAP);
    }
    }


    /**
    /**
+1 −1
Original line number Original line Diff line number Diff line
@@ -67,10 +67,10 @@ import com.android.internal.telephony.UUSInfo;
import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
import com.android.internal.telephony.gsm.SuppServiceNotification;
import com.android.internal.telephony.gsm.SuppServiceNotification;
import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState;
import com.android.internal.telephony.uicc.IccCardStatus;
import com.android.internal.telephony.uicc.IccCardStatus;
import com.android.internal.telephony.uicc.IccIoResult;
import com.android.internal.telephony.uicc.IccIoResult;
import com.android.internal.telephony.uicc.IccSlotStatus;
import com.android.internal.telephony.uicc.IccSlotStatus;
import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState;
import com.android.telephony.Rlog;
import com.android.telephony.Rlog;


import java.util.ArrayList;
import java.util.ArrayList;