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

Commit ae466994 authored by Ying Xu's avatar Ying Xu Committed by Gerrit Code Review
Browse files

Merge "Add radio config java library to build file"

parents fd998714 8b55cbe9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := \
    android.hardware.radio-V1.0-java \
    android.hardware.radio-V1.1-java \
    android.hardware.radio-V1.2-java \
    android.hardware.radio.config-V1.0-java \
    android.hardware.radio.deprecated-V1.0-java \
    android.hidl.base-V1.0-java

+8 −76
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
import com.android.internal.telephony.metrics.TelephonyMetrics;
import com.android.internal.telephony.nano.TelephonyProto.SmsSession;
import com.android.internal.telephony.uicc.IccSlotStatus;
import com.android.internal.telephony.uicc.IccUtils;

import java.io.ByteArrayInputStream;
@@ -506,65 +505,20 @@ public class RIL extends BaseCommands implements CommandsInterface {

    @Override
    public void getIccSlotsStatus(Message result) {
        IRadio radioProxy = getRadioProxy(result);
        if (radioProxy != null) {
            android.hardware.radio.V1_2.IRadio radioProxy12 =
                    android.hardware.radio.V1_2.IRadio.castFrom(radioProxy);
            if (radioProxy12 == null) {
        if (result != null) {
            AsyncResult.forMessage(result, null,
                    CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED));
            result.sendToTarget();
        }
            } else {
                RILRequest rr = obtainRequest(RIL_REQUEST_GET_SLOT_STATUS, result,
                        mRILDefaultWorkSource);

                if (RILJ_LOGD) {
                    riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
                }

                try {
                    radioProxy12.getSimSlotsStatus(rr.mSerial);
                } catch (RemoteException | RuntimeException e) {
                    handleRadioProxyExceptionForRR(rr, "getIccSlotStatus", e);
                }
            }
        }
    }

    @Override
    public void setLogicalToPhysicalSlotMapping(int[] physicalSlots, Message result) {
        IRadio radioProxy = getRadioProxy(result);
        if (radioProxy != null) {
            android.hardware.radio.V1_2.IRadio radioProxy12 =
                    android.hardware.radio.V1_2.IRadio.castFrom(radioProxy);
            if (radioProxy12 == null) {
        if (result != null) {
            AsyncResult.forMessage(result, null,
                    CommandException.fromRilErrno(REQUEST_NOT_SUPPORTED));
            result.sendToTarget();
        }
            } else {
                ArrayList<Integer> mapping = new ArrayList<>();
                for (int slot : physicalSlots) {
                    mapping.add(new Integer(slot));
                }

                RILRequest rr = obtainRequest(RIL_REQUEST_SET_LOGICAL_TO_PHYSICAL_SLOT_MAPPING,
                        result, mRILDefaultWorkSource);

                if (RILJ_LOGD) {
                    riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
                }

                try {
                    radioProxy12.setSimSlotsMapping(rr.mSerial, mapping);
                } catch (RemoteException | RuntimeException e) {
                    handleRadioProxyExceptionForRR(rr, "setLogicalToPhysicalSlotMapping", e);
                }
            }
        }
    }

    @Override
@@ -5081,28 +5035,6 @@ public class RIL extends BaseCommands implements CommandsInterface {
        p.writeInt(ber);
    }

    /**
     * Convert SlotsStatus defined in 1.2/types.hal to IccSlotStatus type.
     * @param slotsStatus SlotsStatus defined in 1.2/types.hal
     * @return Converted IccSlotStatus object
     */
    @VisibleForTesting
    public static ArrayList<IccSlotStatus> convertHalSlotsStatus(
            ArrayList<android.hardware.radio.V1_2.SimSlotStatus> slotsStatus) {
        ArrayList<IccSlotStatus> iccSlotStatus = new ArrayList<IccSlotStatus>(slotsStatus.size());

        for (android.hardware.radio.V1_2.SimSlotStatus slotStatus : slotsStatus) {
            IccSlotStatus iss = new IccSlotStatus();
            iss.setCardState(slotStatus.cardState);
            iss.setSlotState(slotStatus.slotState);
            iss.logicalSlotIndex = slotStatus.logicalSlotId;
            iss.atr = slotStatus.atr;
            iss.iccid = slotStatus.iccid;
            iccSlotStatus.add(iss);
        }
        return iccSlotStatus;
    }

    /**
     * Convert CellInfo defined in 1.0/types.hal to CellInfo type.
     * @param records List of CellInfo defined in 1.0/types.hal
+0 −19
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import static com.android.internal.telephony.RILConstants.RIL_UNSOL_DATA_CALL_LI
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_ENTER_EMERGENCY_CALLBACK_MODE;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_HARDWARE_CONFIG_CHANGED;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_ICC_SLOT_STATUS;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_LCEDATA_RECV;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_MODEM_RESTART;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_NETWORK_SCAN_RESULT;
@@ -98,7 +97,6 @@ import com.android.internal.telephony.gsm.SsData;
import com.android.internal.telephony.gsm.SuppServiceNotification;
import com.android.internal.telephony.nano.TelephonyProto.SmsSession;
import com.android.internal.telephony.uicc.IccRefreshResponse;
import com.android.internal.telephony.uicc.IccSlotStatus;
import com.android.internal.telephony.uicc.IccUtils;

import java.util.ArrayList;
@@ -649,23 +647,6 @@ public class RadioIndication extends IRadioIndication.Stub {
        mRil.mRilCellInfoListRegistrants.notifyRegistrants(new AsyncResult(null, response, null));
    }

    /**
     * Indicates a change of the ICC slot status
     * @param indicationType RadioIndicationType
     * @param slotsStatus ICC slot status
     */
    public void simSlotsStatusChanged(int indicationType,
            ArrayList<android.hardware.radio.V1_2.SimSlotStatus> slotsStatus) {
        mRil.processIndication(indicationType);

        ArrayList<IccSlotStatus> iccSlotStatus = RIL.convertHalSlotsStatus(slotsStatus);

        if (RIL.RILJ_LOGD) mRil.unsljLogRet(RIL_UNSOL_ICC_SLOT_STATUS, iccSlotStatus);

        mRil.mIccSlotStatusChangedRegistrants.notifyRegistrants(
                new AsyncResult(null, iccSlotStatus, null));
    }

    /** Incremental network scan results */
    public void networkScanResult(int indicationType,
                                  android.hardware.radio.V1_1.NetworkScanResult result) {
+0 −32
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import android.hardware.radio.V1_0.SetupDataCallResult;
import android.hardware.radio.V1_0.VoiceRegStateResult;
import android.hardware.radio.V1_1.KeepaliveStatus;
import android.hardware.radio.V1_2.IRadioResponse;
import android.hardware.radio.V1_2.SimSlotStatus;
import android.os.AsyncResult;
import android.os.Message;
import android.os.SystemClock;
@@ -54,7 +53,6 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
import com.android.internal.telephony.uicc.IccCardApplicationStatus;
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.IccUtils;

import java.util.ArrayList;
@@ -114,22 +112,6 @@ public class RadioResponse extends IRadioResponse.Stub {
        responseIccCardStatus_1_2(responseInfo, cardStatus);
    }

    /**
     * @param responseInfo Response info struct containing response type, serial no. and error
     * @param slotsStatus ICC slot status as defined by SlotsStatus in 1.2/types.hal
     */
    public void getSimSlotsStatusResponse(RadioResponseInfo responseInfo,
            ArrayList<SimSlotStatus> slotsStatus) {
        responseIccSlotStatus(responseInfo, slotsStatus);
    }

    /**
     * @param responseInfo Response info struct containing response type, serial no. and error
     */
    public void setSimSlotsMappingResponse(RadioResponseInfo responseInfo) {
        responseVoid(responseInfo);
    }

    /**
     * @param responseInfo Response info struct containing response type, serial no. and error
     * @param remainingAttempts Number of retries remaining, must be equal to -1 if unknown.
@@ -1332,20 +1314,6 @@ public class RadioResponse extends IRadioResponse.Stub {
        }
    }

    private void responseIccSlotStatus(RadioResponseInfo responseInfo,
            ArrayList<SimSlotStatus> slotsStatus) {
        RILRequest rr = mRil.processResponse(responseInfo);
        if (rr != null) {
            ArrayList<IccSlotStatus> iccSlotStatus = RIL.convertHalSlotsStatus(slotsStatus);

            mRil.riljLog("responseIccSlotStatus: from HIDL: " + iccSlotStatus);
            if (responseInfo.error == RadioError.NONE) {
                sendMessageResponse(rr.mResult, iccSlotStatus);
            }
            mRil.processResponseDone(rr, responseInfo, iccSlotStatus);
        }
    }

    private void responseInts(RadioResponseInfo responseInfo, int ...var) {
        final ArrayList<Integer> ints = new ArrayList<>();
        for (int i = 0; i < var.length; i++) {