mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 22:04:26 +00:00
Add setAllowedNetworkTypeBitmap
There are currently two methods that cover the network family types: setPreferredNetworkType and setPreferredNetworkTypeBitmap. They both serve a similar purpose and have been previously interpreted as a suggestion to the modem on the type of networks requested by the OS. This change introduces a new method (setAllowedNetworkTypeBitmap) which will coexist with these methods. This new method must be interpreted as a strict set of Radio Access Technology (RAT) that should be accepted by the modem. For instance, one may first use setAllowedNetworkTypeBitmap to exclude 2G technology from the list of usable RAT. Then, they may use setPreferredNetworkType to describe their preference for 4G. Test: mm Bug: 171791177 Change-Id: I7f5fdf9bf5a80c47e9ad838b740b2d6e40ffea60
This commit is contained in:
@@ -21,6 +21,7 @@ import @1.0::CdmaSmsMessage;
|
||||
import @1.0::GsmSmsMessage;
|
||||
import @1.1::CardPowerState;
|
||||
import @1.2::DataRequestReason;
|
||||
import @1.4::RadioAccessFamily;
|
||||
import @1.5::IRadio;
|
||||
import @1.5::AccessNetwork;
|
||||
import @1.5::DataProfileInfo;
|
||||
@@ -305,4 +306,18 @@ interface IRadio extends @1.5::IRadio {
|
||||
* Response function is IRadioResponse.cancelHandoverResponse()
|
||||
*/
|
||||
oneway cancelHandover(int32_t serial, int32_t callId);
|
||||
|
||||
/**
|
||||
* Requests to set the network type for searching and registering.
|
||||
*
|
||||
* Instruct the radio to *only* accept the types of network provided. This
|
||||
* is stronger than setPreferredNetworkType which is a suggestion.
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
* @param networkTypeBitmap a 32-bit bearer bitmap of RadioAccessFamily
|
||||
*
|
||||
* Response callbask is IRadioResponse.setNetworkTypeBitmapResponse()
|
||||
*/
|
||||
oneway setAllowedNetworkTypeBitmap(
|
||||
uint32_t serial, bitfield<RadioAccessFamily> networkTypeBitmap);
|
||||
};
|
||||
|
||||
@@ -290,4 +290,20 @@ interface IRadioResponse extends @1.5::IRadioResponse {
|
||||
* RadioError:INVALID_CALL_ID
|
||||
*/
|
||||
oneway cancelHandoverResponse(RadioResponseInfo info);
|
||||
|
||||
/**
|
||||
* Callback of IRadio.setAllowedNetworkTypeBitmap(int, bitfield<RadioAccessFamily>)
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:OPERATION_NOT_ALLOWED
|
||||
* RadioError:MODE_NOT_SUPPORTED
|
||||
* RadioError:INTERNAL_ERR
|
||||
* RadioError:INVALID_ARGUMENTS
|
||||
* RadioError:MODEM_ERR
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:NO_RESOURCES
|
||||
*/
|
||||
oneway setAllowedNetworkTypeBitmapResponse(RadioResponseInfo info);
|
||||
};
|
||||
|
||||
@@ -58,7 +58,7 @@ using ::android::hardware::Void;
|
||||
class RadioHidlTest_v1_6;
|
||||
extern ::android::hardware::radio::V1_5::CardStatus cardStatus;
|
||||
|
||||
/* Callback class for radio response v1_5 */
|
||||
/* Callback class for radio response v1_6 */
|
||||
class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioResponse {
|
||||
protected:
|
||||
RadioHidlTest_v1_6& parent_v1_6;
|
||||
@@ -789,6 +789,9 @@ class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioRespon
|
||||
|
||||
Return<void> cancelHandoverResponse(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
|
||||
|
||||
Return<void> setAllowedNetworkTypeBitmapResponse(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
|
||||
};
|
||||
|
||||
/* Callback class for radio indication */
|
||||
|
||||
@@ -1149,3 +1149,10 @@ Return<void> RadioResponse_v1_6::cancelHandoverResponse(
|
||||
parent_v1_6.notify(info.serial);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioResponse_v1_6::setAllowedNetworkTypeBitmapResponse(
|
||||
const ::android::hardware::radio::V1_6::RadioResponseInfo& info) {
|
||||
rspInfo = info;
|
||||
parent_v1_6.notify(info.serial);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user