Avoid using fromServiceSpecificError on success paths
Test: atest android.media.tv.tuner.cts
Test: manual sample tis
Bug: 184782012
Change-Id: If096ed0116cab77d368a8f3a73251099e9a0cb21
diff --git a/services/tuner/TunerFilter.cpp b/services/tuner/TunerFilter.cpp
index 39a6723..d3d138d 100644
--- a/services/tuner/TunerFilter.cpp
+++ b/services/tuner/TunerFilter.cpp
@@ -471,7 +471,7 @@
res = r;
if (res == Result::SUCCESS) {
TunerFilterSharedHandleInfo info{
- .handle = dupToAidl(hidl_handle(avMemory.getNativeHandle())),
+ .handle = dupToAidl(avMemory),
.size = static_cast<int64_t>(avMemSize),
};
*_aidl_return = move(info);
@@ -480,7 +480,10 @@
}
});
- return Status::fromServiceSpecificError(static_cast<int32_t>(res));
+ if (res != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(res));
+ }
+ return Status::ok();
}
Status TunerFilter::releaseAvHandle(
@@ -497,7 +500,6 @@
return Status::ok();
}
-
Status TunerFilter::start() {
if (mFilter == nullptr) {
ALOGE("IFilter is not initialized");
diff --git a/services/tuner/TunerLnb.cpp b/services/tuner/TunerLnb.cpp
index 4a5acf5..77248d4 100644
--- a/services/tuner/TunerLnb.cpp
+++ b/services/tuner/TunerLnb.cpp
@@ -48,7 +48,10 @@
sp<ILnbCallback> lnbCallback = new LnbCallback(tunerLnbCallback);
Result status = mLnb->setCallback(lnbCallback);
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ if (status != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ }
+ return Status::ok();
}
Status TunerLnb::setVoltage(int voltage) {
@@ -58,7 +61,10 @@
}
Result status = mLnb->setVoltage(static_cast<LnbVoltage>(voltage));
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ if (status != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ }
+ return Status::ok();
}
Status TunerLnb::setTone(int tone) {
@@ -68,7 +74,10 @@
}
Result status = mLnb->setTone(static_cast<LnbTone>(tone));
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ if (status != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ }
+ return Status::ok();
}
Status TunerLnb::setSatellitePosition(int position) {
@@ -78,7 +87,10 @@
}
Result status = mLnb->setSatellitePosition(static_cast<LnbPosition>(position));
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ if (status != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ }
+ return Status::ok();
}
Status TunerLnb::sendDiseqcMessage(const vector<uint8_t>& diseqcMessage) {
@@ -88,7 +100,10 @@
}
Result status = mLnb->sendDiseqcMessage(diseqcMessage);
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ if (status != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ }
+ return Status::ok();
}
Status TunerLnb::close() {
diff --git a/services/tuner/TunerTimeFilter.cpp b/services/tuner/TunerTimeFilter.cpp
index 25e1ad9..ea9da30 100644
--- a/services/tuner/TunerTimeFilter.cpp
+++ b/services/tuner/TunerTimeFilter.cpp
@@ -38,7 +38,10 @@
}
Result status = mTimeFilter->setTimeStamp(timeStamp);
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ if (status != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ }
+ return Status::ok();
}
Status TunerTimeFilter::clearTimeStamp() {
@@ -48,7 +51,10 @@
}
Result status = mTimeFilter->clearTimeStamp();
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ if (status != Result::SUCCESS) {
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ }
+ return Status::ok();
}
Status TunerTimeFilter::getSourceTime(int64_t* _aidl_return) {
@@ -66,8 +72,9 @@
});
if (status != Result::SUCCESS) {
*_aidl_return = (int64_t)Constant64Bit::INVALID_PRESENTATION_TIME_STAMP;
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
}
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ return Status::ok();
}
Status TunerTimeFilter::getTimeStamp(int64_t* _aidl_return) {
@@ -85,8 +92,9 @@
});
if (status != Result::SUCCESS) {
*_aidl_return = (int64_t)Constant64Bit::INVALID_PRESENTATION_TIME_STAMP;
+ return Status::fromServiceSpecificError(static_cast<int32_t>(status));
}
- return Status::fromServiceSpecificError(static_cast<int32_t>(status));
+ return Status::ok();
}
Status TunerTimeFilter::close() {