Revert "Revert "Add setNullCipherAndIntegrityEnabled to IRadioNetwork""

This reverts commit eee413c667.

A fix was applied in frameworks/opt/Telephony.

Bug: b/237529943
Test: m
Change-Id: I40f1c4a92d492acc3ee6724090676fcd6b9f12e7
This commit is contained in:
Yomna Nasser
2022-11-15 23:30:07 +00:00
parent 7375390e59
commit 9140b2ca7c
8 changed files with 51 additions and 0 deletions

View File

@@ -74,4 +74,5 @@ interface IRadioNetwork {
oneway void triggerEmergencyNetworkScan(int serial, in android.hardware.radio.network.EmergencyNetworkScanTrigger request);
oneway void cancelEmergencyNetworkScan(int serial, boolean resetScan);
oneway void exitEmergencyMode(in int serial);
oneway void setNullCipherAndIntegrityEnabled(in int serial, in boolean enabled);
}

View File

@@ -73,4 +73,5 @@ interface IRadioNetworkResponse {
oneway void triggerEmergencyNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
oneway void exitEmergencyModeResponse(in android.hardware.radio.RadioResponseInfo info);
oneway void cancelEmergencyNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
oneway void setNullCipherAndIntegrityEnabledResponse(in android.hardware.radio.RadioResponseInfo info);
}

View File

@@ -482,4 +482,24 @@ oneway interface IRadioNetwork {
* Response function is IRadioEmergencyResponse.exitEmergencyModeResponse()
*/
void exitEmergencyMode(in int serial);
/**
* Set if null encryption and integrity modes are enabled. If the value of enabled is false
* the modem must not allow any network communications with null ciphering or null integrity
* modes. In case of an emergency call, the modem must bypass this setting.
*
* Null ciphering and integrity modes include (but are not limited to):
* 2G: A5/0
* 3G: UEA0 and UIA0
* 4G: EEA0 and EIA0
* 5G: NEA0 and NIA0
*
*
* @param serial Serial number of the request.
* @param enabled To allow null encryption/integrity, set to true.
* Otherwise, false.
*
* Response callback is IRadioResponse.setNullCipherAndIntegrityEnabledResponse()
*/
void setNullCipherAndIntegrityEnabled(in int serial, in boolean enabled);
}

View File

@@ -632,4 +632,14 @@ oneway interface IRadioNetworkResponse {
* RadioError:MODEM_ERR
*/
void cancelEmergencyNetworkScanResponse(in RadioResponseInfo info);
/**
* @param info Response info struct containing response type, serial no. and error
*
* Valid errors returned:
* RadioError:NONE
* RadioError:RADIO_NOT_AVAILABLE
* RadioError:MODEM_ERR
*/
void setNullCipherAndIntegrityEnabledResponse(in RadioResponseInfo info);
}

View File

@@ -100,6 +100,8 @@ class RadioNetwork : public RadioCompatBase,
::ndk::ScopedAStatus cancelEmergencyNetworkScan(int32_t serial, bool resetScan) override;
::ndk::ScopedAStatus exitEmergencyMode(int32_t serial) override;
::ndk::ScopedAStatus setNullCipherAndIntegrityEnabled(int32_t serial, bool enabled) override;
protected:
std::shared_ptr<::aidl::android::hardware::radio::network::IRadioNetworkResponse> respond();

View File

@@ -340,4 +340,11 @@ ScopedAStatus RadioNetwork::exitEmergencyMode(int32_t serial) {
return ok();
}
ScopedAStatus RadioNetwork::setNullCipherAndIntegrityEnabled(int32_t serial, bool) {
LOG_CALL << serial;
LOG(ERROR) << " setNullCipherAndIntegrityEnabled is unsupported by HIDL HALs";
respond()->setNullCipherAndIntegrityEnabledResponse(notSupported(serial));
return ok();
}
} // namespace android::hardware::radio::compat

View File

@@ -293,3 +293,10 @@ ndk::ScopedAStatus RadioNetworkResponse::cancelEmergencyNetworkScanResponse(
parent_network.notify(info.serial);
return ndk::ScopedAStatus::ok();
}
ndk::ScopedAStatus RadioNetworkResponse::setNullCipherAndIntegrityEnabledResponse(
const RadioResponseInfo& info) {
rspInfo = info;
parent_network.notify(info.serial);
return ndk::ScopedAStatus::ok();
}

View File

@@ -158,6 +158,9 @@ class RadioNetworkResponse : public BnRadioNetworkResponse {
virtual ndk::ScopedAStatus cancelEmergencyNetworkScanResponse(
const RadioResponseInfo& info) override;
virtual ndk::ScopedAStatus setNullCipherAndIntegrityEnabledResponse(
const RadioResponseInfo& info) override;
};
/* Callback class for radio network indication */