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

Commit 7ce3ee71 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Manual network selection by RAN type" am: b25740f0 am: f0200c74

Change-Id: Id05b24ad970121c1a5bb65801ecdece56311408a
parents 757ab566 f0200c74
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -640,17 +640,11 @@ a64467bae843569f0d465c5be7f0c7a5b987985b55a3ef4794dd5afc68538650 android.hardwar
619fc9839ec6e369cfa9b28e3e9412e6885720ff8f9b5750c1b6ffb905120391 android.hardware.wifi.supplicant@1.3::ISupplicantStaIfaceCallback
c9273429fcf98d797d3bb07fdba6f1be95bf960f9255cde169fd1ca4db85f856 android.hardware.wifi.supplicant@1.3::ISupplicantStaNetwork
9b0a3ab6f4f74b971ed094426d8a443e29b512ff03e1ab50c07156396cdb2483 android.hardware.wifi.supplicant@1.3::types
##
# BEGIN Radio HAL Merge Conflict Avoidance Buffer - STOPSHIP if present
##
2fc83babe7cd7c6d5f1013f84019d761d2ac0eb38bdade7f9b01f5dc577de8f8 android.hardware.radio@1.5::types
603851ca0f5360778049902fc7486d0ff60065b16e83b99f076487667aba1928 android.hardware.radio@1.5::IRadio
50e22cd55ad5499e68e81541bbc67bd10e59c1b9f3ff8cc7ba70dcb0d2918381 android.hardware.radio@1.5::types
8cc3306e8cd755d04521d1611b217b9d13a2a76d2af57cbea8f875333b3363f7 android.hardware.radio@1.5::IRadio
e96ae1c3a9c0689002ec2318e9c587f4f607c16a75a3cd38788b77eb91072021 android.hardware.radio@1.5::IRadioIndication
04cce8fdae2b03becda4ee6fe17cb032fd7d30152f8ab36f642d794e4f5f6999 android.hardware.radio@1.5::IRadioResponse
7b77721a7716e163f5cc5f2830ed5616b953fcf0e5406f69de0fde5ce95e4184 android.hardware.radio@1.5::IRadioResponse
2fd107f3de1b7e36825e241a88dfae8edf3a77c166cb746f00ddf6440ab78db1 android.hardware.radio.config@1.3::types
a2977755bc5f1ef47f04b7f2400632efda6218e1515dba847da487145cfabc4f android.hardware.radio.config@1.3::IRadioConfig
742360c775313438b0f82256eac62fb5bbc76a6ae6f388573f3aa142fb2c1eea android.hardware.radio.config@1.3::IRadioConfigIndication
0006ab8e8b0910cbd3bbb08d5f17d5fac7d65a2bdad5f2334e4851db9d1e6fa8 android.hardware.radio.config@1.3::IRadioConfigResponse
 No newline at end of file
##
# END Radio HAL Merge Conflict Avoidance Buffer - STOPSHIP if present
##
+27 −8
Original line number Diff line number Diff line
@@ -16,10 +16,10 @@

package android.hardware.radio@1.5;

import @1.2::DataRequestReason;
import @1.0::CdmaSmsMessage;
import @1.4::IRadio;
import @1.2::DataRequestReason;
import @1.4::DataProfileInfo;
import @1.4::IRadio;
import @1.5::AccessNetwork;
import @1.5::BarringInfo;
import @1.5::DataProfileInfo;
@@ -27,6 +27,7 @@ import @1.5::IndicationFilter;
import @1.5::LinkAddress;
import @1.5::NetworkScanRequest;
import @1.5::PersoSubstate;
import @1.5::RadioAccessNetworks;
import @1.5::RadioAccessSpecifier;
import @1.5::SignalThresholdInfo;

@@ -266,16 +267,23 @@ interface IRadio extends @1.4::IRadio {
     */
    oneway getDataRegistrationState_1_5(int32_t serial);

    /**
     * Requests that deactivates one category of the device personalization.
    /*
     * Manually select a specified network.
     * This request must not respond until the new operator is selected and registered.
     * Per TS 23.122, the RAN is just the initial suggested value.
     * If registration fails, the RAN is not available afterwards, or the RAN is not within
     * the network types specified by IRadio::setPreferredNetworkTypeBitmap, then the modem
     * will need to select the next best RAN for network registration.
     *
     * @param serial Serial number of request.
     * @param persoType SIM personalization type.
     * @param controlKey depersonalization code corresponding to persoType
     * @param operatorNumeric String specifying MCCMNC of network to select (eg "310170").
     * @param ran Initial suggested radio access network type. If value is UNKNOWN, the modem
     *     will select the next best RAN for network registration.
     *
     * Response function is IRadioResponse.supplySimDepersonalizationResponse()
     * Response function is IRadioResponse.setNetworkSelectionModeManualResponse_1_5()
     */
    oneway supplySimDepersonalization(int32_t serial, PersoSubstate persoType, string controlKey);
    oneway setNetworkSelectionModeManual_1_5(int32_t serial, string operatorNumeric,
            RadioAccessNetworks ran);

    /**
     * Send an SMS message. Identical to sendCdmaSms,
@@ -287,4 +295,15 @@ interface IRadio extends @1.4::IRadio {
     * Response callback is IRadioResponse.sendCdmaSMSExpectMoreResponse()
     */
    oneway sendCdmaSmsExpectMore(int32_t serial, CdmaSmsMessage sms);

    /**
     * Requests that deactivates one category of the device personalization.
     *
     * @param serial Serial number of request.
     * @param persoType SIM personalization type.
     * @param controlKey depersonalization code corresponding to persoType
     *
     * Response function is IRadioResponse.supplySimDepersonalizationResponse()
     */
    oneway supplySimDepersonalization(int32_t serial, PersoSubstate persoType, string controlKey);
};
+35 −11
Original line number Diff line number Diff line
@@ -21,9 +21,10 @@ import @1.0::SendSmsResult;
import @1.4::IRadioResponse;
import @1.5::BarringInfo;
import @1.5::CellInfo;
import @1.5::PersoSubstate;
import @1.5::RegStateResult;
import @1.5::SetupDataCallResult;
import @1.4::SetupDataCallResult;
import @1.5::PersoSubstate;

/**
 * Interface declaring response functions to solicited radio requests.
@@ -176,7 +177,6 @@ interface IRadioResponse extends @1.4::IRadioResponse {
    oneway getBarringInfoResponse(RadioResponseInfo info, vec<BarringInfo> barringInfos);

    /**
     * @param info Response info struct containing response type, serial no. and error
     * @param voiceRegResponse Current Voice registration response as defined by RegStateResult
     *        in types.hal
     *
@@ -215,27 +215,29 @@ interface IRadioResponse extends @1.4::IRadioResponse {
     */
    oneway getCellInfoListResponse_1_5(RadioResponseInfo info, vec<CellInfo> cellInfo);


    /**
     * @param info Response info struct containing response type, serial no. and error
     * @param persoType SIM Personalisation type
     * @param remainingRetries Positive values indicates number of retries remaining,
     * must be equal to -1 if number of retries are infinite.
     *
     * Valid errors returned:
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:PASSWORD_INCORRECT (code is invalid)
     *   RadioError:ILLEGAL_SIM_OR_ME
     *   RadioError:OPERATION_NOT_ALLOWED
     *   RadioError:INVALID_STATE
     *   RadioError:NO_MEMORY
     *   RadioError:INVALID_SIM_STATE
     *   RadioError:INTERNAL_ERR
     *   RadioError:SYSTEM_ERR
     *   RadioError:MODEM_ERR
     *   RadioError:INVALID_ARGUMENTS
     *   RadioError:NO_RESOURCES
     *   RadioError:MODEM_ERR
     *   RadioError:REQUEST_NOT_SUPPORTED
     *   RadioError:NO_RESOURCES
     *   RadioError:CANCELLED
     *
     * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
     * no retries needed, such as illegal SIM or ME.
     */
    oneway supplySimDepersonalizationResponse(RadioResponseInfo info,
        PersoSubstate persoType, int32_t remainingRetries);
    oneway setNetworkSelectionModeManualResponse_1_5(RadioResponseInfo info);

    /**
     * @param info Response info struct containing response type, serial no. and error
@@ -267,4 +269,26 @@ interface IRadioResponse extends @1.4::IRadioResponse {
     *   RadioError:SIM_ABSENT
     */
    oneway sendCdmaSmsExpectMoreResponse(RadioResponseInfo info, SendSmsResult sms);

    /**
     * @param info Response info struct contatining response type, serial no. and error
     * @param persoType SIM Personalisation type
     * @param remainingRetries postiive values indicates number of retries remaining,
     * must be equal to -1 if number of retries is infinite.
     *
     * Valid errors returned:
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:PASSWORD_INCORRECT (code is invalid)
     *   RadioError:NO_MEMORY
     *   RadioError:INVALID_SIM_STATE
     *   RadioError:INTERNAL_ERR
     *   RadioError:SYSTEM_ERR
     *   RadioError:MODEM_ERR
     *   RadioError:INVALID_ARGUMENTS
     *   RadioError:NO_RESOURCES
     *   RadioError:REQUEST_NOT_SUPPORTED
     */
    oneway supplySimDepersonalizationResponse(RadioResponseInfo info,
        PersoSubstate persoType, int32_t remainingRetries);
};
+5 −1
Original line number Diff line number Diff line
@@ -17,9 +17,9 @@
package android.hardware.radio@1.5;

import @1.0::ApnAuthType;
import @1.0::CdmaSignalStrength;
import @1.0::DataProfileId;
import @1.0::DataProfileInfoType;
import @1.0::CdmaSignalStrength;
import @1.0::EvdoSignalStrength;
import @1.0::GsmSignalStrength;
import @1.0::LteSignalStrength;
@@ -167,7 +167,11 @@ enum AccessNetwork : @1.4::AccessNetwork {
};

enum RadioAccessNetworks : @1.1::RadioAccessNetworks {
    UNKNOWN = 0,
    /** Next Generation Radio Access Network */
    NGRAN = 4,
    /** CDMA 2000 Network */
    CDMA2000 = 5,
};

/**
+33 −1
Original line number Diff line number Diff line
@@ -879,6 +879,9 @@ TEST_F(RadioHidlTest_v1_5, setupDataCall_1_5) {
    }
}

/*
 * Test IRadio.setInitialAttachApn_1_5() for the response returned.
 */
TEST_F(RadioHidlTest_v1_5, setInitialAttachApn_1_5) {
    serial = GetRandomSerialNumber();

@@ -919,6 +922,9 @@ TEST_F(RadioHidlTest_v1_5, setInitialAttachApn_1_5) {
    }
}

/*
 * Test IRadio.setDataProfile_1_5() for the response returned.
 */
TEST_F(RadioHidlTest_v1_5, setDataProfile_1_5) {
    serial = GetRandomSerialNumber();

@@ -991,6 +997,32 @@ TEST_F(RadioHidlTest_v1_5, setRadioPower_1_5_emergencyCall_cancalled) {
    EXPECT_EQ(RadioError::NONE, radioRsp_v1_5->rspInfo.error);
}

/*
 * Test IRadio.setNetworkSelectionModeManual_1_5() for the response returned.
 */
TEST_F(RadioHidlTest_v1_5, setNetworkSelectionModeManual_1_5) {
    serial = GetRandomSerialNumber();

    // can't camp on nonexistent MCCMNC, so we expect this to fail.
    Return<void> res = radio_v1_5->setNetworkSelectionModeManual_1_5(
            serial, "123456", android::hardware::radio::V1_5::RadioAccessNetworks::GERAN);
    EXPECT_EQ(std::cv_status::no_timeout, wait());
    EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type);
    EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial);

    if (cardStatus.base.base.cardState == CardState::ABSENT) {
        ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error,
                                     {RadioError::NONE, RadioError::ILLEGAL_SIM_OR_ME,
                                      RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE},
                                     CHECK_GENERAL_ERROR));
    } else if (cardStatus.base.base.cardState == CardState::PRESENT) {
        ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error,
                                     {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE,
                                      RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE},
                                     CHECK_GENERAL_ERROR));
    }
}

/*
 * Test IRadio.sendCdmaSmsExpectMore() for the response returned.
 */
Loading