mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
[Hal] Add request/release control event in aidl interface.
Test: compile Bug: 344753047 Change-Id: I1e5628a3105f8ee804ed0f40d386fda872b4442b
This commit is contained in:
@@ -372,6 +372,7 @@
|
||||
</hal>
|
||||
<hal format="aidl" updatable-via-apex="true">
|
||||
<name>android.hardware.nfc</name>
|
||||
<version>1-2</version>
|
||||
<interface>
|
||||
<name>INfc</name>
|
||||
<instance>default</instance>
|
||||
|
||||
@@ -44,4 +44,5 @@ interface INfc {
|
||||
int write(in byte[] data);
|
||||
void setEnableVerboseLogging(in boolean enable);
|
||||
boolean isVerboseLoggingEnabled();
|
||||
android.hardware.nfc.NfcStatus controlGranted();
|
||||
}
|
||||
|
||||
@@ -40,4 +40,6 @@ enum NfcEvent {
|
||||
PRE_DISCOVER_CPLT = 3,
|
||||
HCI_NETWORK_RESET = 4,
|
||||
ERROR = 5,
|
||||
REQUEST_CONTROL = 6,
|
||||
RELEASE_CONTROL = 7,
|
||||
}
|
||||
|
||||
@@ -140,4 +140,13 @@ interface INfc {
|
||||
* @return true if verbose logging flag value is enabled, false if disabled.
|
||||
*/
|
||||
boolean isVerboseLoggingEnabled();
|
||||
|
||||
/**
|
||||
* Requests control of NFCC to libnfc-nci.
|
||||
* If an API request is sent when the framework has no control of NFCC, the request will be
|
||||
* queued until the control is released from HAL.
|
||||
* The control will be taken out of the framework for at most 2 seconds.
|
||||
* @return NfcStatus::OK on success and NfcStatus::FAILED on error.
|
||||
*/
|
||||
NfcStatus controlGranted();
|
||||
}
|
||||
|
||||
@@ -50,4 +50,14 @@ enum NfcEvent {
|
||||
* Error event to notify upper layer when there's an unknown error.
|
||||
*/
|
||||
ERROR = 5,
|
||||
/**
|
||||
* Request control event to notify upper layer when HAL
|
||||
* request control of NFCC to libnfc-nci
|
||||
*/
|
||||
REQUEST_CONTROL = 6,
|
||||
/**
|
||||
* Release control event to notify upper layer when HAL
|
||||
* release control of NFCC to libnfc-nci.
|
||||
*/
|
||||
RELEASE_CONTROL = 7,
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ cc_test {
|
||||
"libbinder_ndk",
|
||||
],
|
||||
static_libs: [
|
||||
"android.hardware.nfc-V1-ndk",
|
||||
"android.hardware.nfc-V2-ndk",
|
||||
],
|
||||
test_suites: [
|
||||
"general-tests",
|
||||
@@ -71,7 +71,7 @@ cc_test {
|
||||
"libstatssocket",
|
||||
],
|
||||
static_libs: [
|
||||
"android.hardware.nfc-V1-ndk",
|
||||
"android.hardware.nfc-V2-ndk",
|
||||
"android.hardware.nfc@1.0",
|
||||
"android.hardware.nfc@1.1",
|
||||
"android.hardware.nfc@1.2",
|
||||
|
||||
@@ -440,6 +440,16 @@ TEST_P(NfcAidl, CheckisVerboseLoggingEnabledAfterSetEnableVerboseLogging) {
|
||||
EXPECT_TRUE(!enabled);
|
||||
}
|
||||
|
||||
TEST_P(NfcAidl, CheckControlGrantedStatus) {
|
||||
int interface_version;
|
||||
EXPECT_TRUE(infc_->getInterfaceVersion(&interface_version).isOk());
|
||||
if (interface_version > 1) {
|
||||
NfcStatus status;
|
||||
EXPECT_TRUE(infc_->controlGranted(&status).isOk());
|
||||
EXPECT_EQ(status, NfcStatus::OK);
|
||||
}
|
||||
}
|
||||
|
||||
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(NfcAidl);
|
||||
INSTANTIATE_TEST_SUITE_P(Nfc, NfcAidl,
|
||||
testing::ValuesIn(::android::getAidlHalInstanceNames(INfc::descriptor)),
|
||||
|
||||
Reference in New Issue
Block a user