Changes in the CL:
1. Currently |WifiNative.cpp|, uses |hal_tool| to initialize the
function table and |if_tool| to set the interface up when |startHAL|
method is invoked. Use the same sequence in the HIDL'ized HAL.
2. Remove the assertion if the function table initialization fails. This
will result in a failure indication on starting the HAL now.
Bug: 31352200
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I268845ed62158b6a2ff36659f0bb15c4100a7222
Restructured the existing code to create a new class called
|WifiLegacyHal|. This class will be used as a wrapper to invoke
all the legacy HAL functions and handle the "C" style callbacks.
Bug: 31936700
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I63e8543f49886f8446101320a97d1e96e30d1035
Move the implementation to "android::hardware::wifi:V1_0::implementation"
namespace.
This is following the style guidelines in NFC HIDL
implementation(go/aog/279421).
While there,
Run checkstyle to correct formatting issues.
Bug:31936700
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I5600a60a0041b3318ed9289823ec335a8ed8a83d
Changes in the CL:
1. Move the legacy HAL implementation from
"frameworks/opt/net/wifi/wifi_hal_legacy" to
"hardware/interfaces/wifi/1.0/default".
2. Renamed the .rc file and the module name in makefile to
conform to the HIDL style guide.
Files renamed from:
wifi_hal_service.cpp/h -> wifi.cpp/h
wifi_chip_service.cpp/h -> wifi_chip.cpp/h
main.cpp -> service
Bug: 31821133
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: I5e65e2fdb5596346bde6963588031dcea42d633a
Provide a default binderized HAL implementation. The implementation
uses android.hardware.nfc@1.0-impl.so, which in turn loads the
conventional HAL (nfc_nci.default.so). If a device includes package
android.hardware.nfc@1.0-service, the device will automatically use the
binderized implementation of the NFC HAL. If a device includes package
android.hardware.nfc@1.0-impl instead, it will use the default
implementation in hardware/interfaces/nfc/1.0/default.
b/31688271
Test: pass
Change-Id: I31cd93d28705d287975b485092cffd7661599d7c
Signed-off-by: Iliyan Malchev <malchev@google.com>
Convert the existing AIDL binder interface of wpa_supplicant to HIDL.
Summary of changes:
1. Every HIDL method returns an instance of |SupplicantStatus|
along with any others params (for getters). This is needed to return the
equivalent of |Binder::Status| to indicate errors in the args passed,
stale proxy, etc.
2. All constants are changed to enums. There were some constants which
should have been enums in the first place, but wasn't because AIDL did
not support enums. But, there are others which should be standalone
constants, but are enums now because constants are not supported in HIDL.
3. Conform to HIDL style guide.
Bug: 31365276
Test: `mmm -j32 hardware/interfaces/wifi/1.0/`
Change-Id: Iba753e279fd260788d8628ea2f5c2281b5844095
Add comments and cleanup code as per HIDL style guidelines.
Bug: 31550963
Test: Built and ran existing FMQ unit tests and benchmarks.
Change-Id: I0a09ba1fcb520b46e5e6299b473c962c93d815eb
Previously "_hidl_array_offset_*" was redeclared multiple times in the same
scope.
Bug: 31675085
Test: run hidl_test, hidl_test_java
Change-Id: I370956ae3008c05bda66dc5cdc44d33c9883376f
When auto-generating Android.mk for HIDL packages, update-makefiles.sh
now just looks for all directories hosting .hal files, converts them to
HIDL package names, and invokes hidl-gen on these package names to
generate the appropriate Android.mk files.
Change-Id: I8a824672f33be58508ae7c07de463f4f589a9a73
Signed-off-by: Iliyan Malchev <malchev@google.com>
Modify the configure() method so that the implementation does not have
to rely on status_t to return service errors.
b/31367910
b/31348667
Change-Id: I0bc88c396ce4e55ed38b534b7e3ae2c0a4faad62
Signed-off-by: Iliyan Malchev <malchev@google.com>
Simply run:
# hidl_gen converts .hal to .h correctly
make hidl_gen_test
# converted .h can compile
make android.hardware.tests.expression@1.0
to run the tests.
b/30951879: int8_t is same as char, and when emitting output the
character corresponding to that number is emitted instead of
the number itself.
Change-Id: Icacba6b6262cc0026a94f64527b80e2c0e35e72e
Add two instrumentation methods to IFooCallback, to help with timing
measurements in gTest.
The first one, reportResults(), blocks the caller for a given length of
time while waiting for all the other methods to execute, then reports
whether these methods were executed within this length of time, for how
long their caller was blocked, and also how long the execution of the
bodies of each of them took. Note that the execution time for a
method's body is independent of whether it is a oneway or a blocking
method. For example, heyItsTheMeaningOfLife() is a oneway method, so it
returns immediately to the caller (so the caller-blocked time should be
very small). However, if its body takes several seconds to run, then
this is the information that will be returned for
heyItsTheMeaningOfLife() as well.
The second instrumentation method, youBlockedMeFor(), is used by the
caller of IFooCallback to report how long the caller was blocked for.
This information is saved and passed by reportResults() as described
above.
b/30855757 Convert hidl test to gTest
Change-Id: I35ac708e424bcb143fce959609fcc747f1ec37fb
Signed-off-by: Iliyan Malchev <malchev@google.com>