Update GNSS/EVS HALs to use elided interface return values.
Test: mma
Bug: 31830743
Change-Id: Id57944c69de37b20409215ef600b553ce5e2526e
diff --git a/evs/1.0/default/EvsEnumerator.cpp b/evs/1.0/default/EvsEnumerator.cpp
index 9f38041..ba8da00 100644
--- a/evs/1.0/default/EvsEnumerator.cpp
+++ b/evs/1.0/default/EvsEnumerator.cpp
@@ -62,8 +62,7 @@
return Void();
}
-Return<void> EvsEnumerator::openCamera(const hidl_string& cameraId,
- openCamera_cb callback) {
+Return<sp<IEvsCamera>> EvsEnumerator::openCamera(const hidl_string& cameraId) {
ALOGD("openCamera");
// Find the named camera
@@ -78,20 +77,18 @@
if (!pRecord) {
ALOGE("Requested camera %s not found", cameraId.c_str());
- callback(nullptr);
+ return nullptr;
}
else if (pRecord->inUse) {
ALOGE("Cannot open camera %s which is already in use", cameraId.c_str());
- callback(nullptr);
+ return nullptr;
}
else {
/* TODO(b/33492405): Do this, When HIDL can give us back a recognizable pointer
pRecord->inUse = true;
*/
- callback(pRecord->pCamera);
+ return(pRecord->pCamera);
}
-
- return Void();
}
Return<void> EvsEnumerator::closeCamera(const ::android::sp<IEvsCamera>& camera) {
@@ -112,22 +109,20 @@
return Void();
}
-Return<void> EvsEnumerator::openDisplay(openDisplay_cb callback) {
+Return<sp<IEvsDisplay>> EvsEnumerator::openDisplay() {
ALOGD("openDisplay");
// If we already have a display active, then this request must be denied
if (mActiveDisplay != nullptr) {
ALOGW("Rejecting openDisplay request the display is already in use.");
- callback(nullptr);
+ return nullptr;
}
else {
// Create a new display interface and return it
mActiveDisplay = new EvsDisplay();
ALOGD("Returning new EvsDisplay object %p", mActiveDisplay.get());
- callback(mActiveDisplay);
+ return mActiveDisplay;
}
-
- return Void();
}
Return<void> EvsEnumerator::closeDisplay(const ::android::sp<IEvsDisplay>& display) {
diff --git a/evs/1.0/default/EvsEnumerator.h b/evs/1.0/default/EvsEnumerator.h
index 69caa17..90df837 100644
--- a/evs/1.0/default/EvsEnumerator.h
+++ b/evs/1.0/default/EvsEnumerator.h
@@ -34,9 +34,9 @@
public:
// Methods from ::android::hardware::evs::V1_0::IEvsEnumerator follow.
Return<void> getCameraList(getCameraList_cb _hidl_cb) override;
- Return<void> openCamera(const hidl_string& cameraId, openCamera_cb callback) override;
+ Return<sp<IEvsCamera>> openCamera(const hidl_string& cameraId) override;
Return<void> closeCamera(const ::android::sp<IEvsCamera>& carCamera) override;
- Return<void> openDisplay(openDisplay_cb callback) override;
+ Return<sp<IEvsDisplay>> openDisplay() override;
Return<void> closeDisplay(const ::android::sp<IEvsDisplay>& display) override;
// Implementation details
diff --git a/gnss/1.0/default/Gnss.cpp b/gnss/1.0/default/Gnss.cpp
index 66be37e..5e6e65d 100644
--- a/gnss/1.0/default/Gnss.cpp
+++ b/gnss/1.0/default/Gnss.cpp
@@ -385,7 +385,7 @@
preferredTimeMs) == 0);
}
-Return<void> Gnss::getExtensionAGnssRil(getExtensionAGnssRil_cb _hidl_cb) {
+Return<sp<IAGnssRil>> Gnss::getExtensionAGnssRil() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -397,11 +397,10 @@
mGnssRil = new AGnssRil(agpsRilIface);
}
}
- _hidl_cb(mGnssRil);
- return Void();
+ return mGnssRil;
}
-Return<void> Gnss::getExtensionGnssConfiguration(getExtensionGnssConfiguration_cb _hidl_cb) {
+Return<sp<IGnssConfiguration>> Gnss::getExtensionGnssConfiguration() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -415,10 +414,9 @@
mGnssConfig = new GnssConfiguration(gnssConfigIface);
}
}
- _hidl_cb(mGnssConfig);
- return Void();
+ return mGnssConfig;
}
-Return<void> Gnss::getExtensionGnssGeofencing(getExtensionGnssGeofencing_cb _hidl_cb) {
+Return<sp<IGnssGeofencing>> Gnss::getExtensionGnssGeofencing() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -433,11 +431,10 @@
}
}
- _hidl_cb(mGnssGeofencingIface);
- return Void();
+ return mGnssGeofencingIface;
}
-Return<void> Gnss::getExtensionAGnss(getExtensionAGnss_cb _hidl_cb) {
+Return<sp<IAGnss>> Gnss::getExtensionAGnss() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -449,11 +446,10 @@
mAGnssIface = new AGnss(agpsIface);
}
}
- _hidl_cb(mAGnssIface);
- return Void();
+ return mAGnssIface;
}
-Return<void> Gnss::getExtensionGnssNi(getExtensionGnssNi_cb _hidl_cb) {
+Return<sp<IGnssNi>> Gnss::getExtensionGnssNi() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -465,11 +461,10 @@
mGnssNi = new GnssNi(gpsNiIface);
}
}
- _hidl_cb(mGnssNi);
- return Void();
+ return mGnssNi;
}
-Return<void> Gnss::getExtensionGnssMeasurement(getExtensionGnssMeasurement_cb _hidl_cb) {
+Return<sp<IGnssMeasurement>> Gnss::getExtensionGnssMeasurement() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -483,12 +478,10 @@
mGnssMeasurement = new GnssMeasurement(gpsMeasurementIface);
}
}
- _hidl_cb(mGnssMeasurement);
- return Void();
+ return mGnssMeasurement;
}
-Return<void> Gnss::getExtensionGnssNavigationMessage(
- getExtensionGnssNavigationMessage_cb _hidl_cb) {
+Return<sp<IGnssNavigationMessage>> Gnss::getExtensionGnssNavigationMessage() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -504,11 +497,10 @@
}
}
- _hidl_cb(mGnssNavigationMessage);
- return Void();
+ return mGnssNavigationMessage;
}
-Return<void> Gnss::getExtensionXtra(getExtensionXtra_cb _hidl_cb) {
+Return<sp<IGnssXtra>> Gnss::getExtensionXtra() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -522,11 +514,10 @@
}
}
- _hidl_cb(mGnssXtraIface);
- return Void();
+ return mGnssXtraIface;
}
-Return<void> Gnss::getExtensionGnssDebug(getExtensionGnssDebug_cb _hidl_cb) {
+Return<sp<IGnssDebug>> Gnss::getExtensionGnssDebug() {
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
@@ -540,8 +531,7 @@
}
}
- _hidl_cb(mGnssDebug);
- return Void();
+ return mGnssDebug;
}
IGnss* HIDL_FETCH_IGnss(const char* hal) {
diff --git a/gnss/1.0/default/Gnss.h b/gnss/1.0/default/Gnss.h
index a2c8676..e12ac12 100644
--- a/gnss/1.0/default/Gnss.h
+++ b/gnss/1.0/default/Gnss.h
@@ -74,16 +74,15 @@
uint32_t minIntervalMs,
uint32_t preferredAccuracyMeters,
uint32_t preferredTimeMs) override;
- Return<void> getExtensionAGnssRil(getExtensionAGnssRil_cb _hidl_cb) override;
- Return<void> getExtensionGnssGeofencing(getExtensionGnssGeofencing_cb _hidl_cb) override;
- Return<void> getExtensionAGnss(getExtensionAGnss_cb _hidl_cb) override;
- Return<void> getExtensionGnssNi(getExtensionGnssNi_cb _hidl_cb) override;
- Return<void> getExtensionGnssMeasurement(getExtensionGnssMeasurement_cb _hidl_cb) override;
- Return<void> getExtensionGnssNavigationMessage(
- getExtensionGnssNavigationMessage_cb _hidl_cb) override;
- Return<void> getExtensionXtra(getExtensionXtra_cb _hidl_cb) override;
- Return<void> getExtensionGnssDebug(getExtensionGnssDebug_cb _hidl_cb) override;
- Return<void> getExtensionGnssConfiguration(getExtensionGnssConfiguration_cb _hidl_cb) override;
+ Return<sp<IAGnssRil>> getExtensionAGnssRil() override;
+ Return<sp<IGnssGeofencing>> getExtensionGnssGeofencing() override;
+ Return<sp<IAGnss>> getExtensionAGnss() override;
+ Return<sp<IGnssNi>> getExtensionGnssNi() override;
+ Return<sp<IGnssMeasurement>> getExtensionGnssMeasurement() override;
+ Return<sp<IGnssNavigationMessage>> getExtensionGnssNavigationMessage() override;
+ Return<sp<IGnssXtra>> getExtensionXtra() override;
+ Return<sp<IGnssConfiguration>> getExtensionGnssConfiguration() override;
+ Return<sp<IGnssDebug>> getExtensionGnssDebug() override;
/*
* Callback methods to be passed into the conventional GNSS HAL by the default