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

Commit 01016f7b 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
parent 7c379133
Loading
Loading
Loading
Loading
+13 −19
Original line number Diff line number Diff line
@@ -1406,7 +1406,19 @@ public class RadioResponse extends IRadioResponse.Stub {
    public void requestIccSimAuthenticationResponse(RadioResponseInfo responseInfo,
                                                    android.hardware.radio.V1_0.IccIoResult
                                                            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,
                                         android.hardware.radio.V1_0.RadioCapability rc) {
        RILRequest rr = mRil.processResponse(responseInfo);
+1 −2
Original line number Diff line number Diff line
@@ -1232,8 +1232,7 @@ public abstract class IccRecords extends Handler implements IccConstants {
        }
        if (VDBG) log("getIccSimChallengeResponse: return rsp.authRsp");

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

    /**
+1 −1
Original line number 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.gsm.SmsBroadcastConfigInfo;
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.IccIoResult;
import com.android.internal.telephony.uicc.IccSlotStatus;
import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState;
import com.android.telephony.Rlog;

import java.util.ArrayList;