From 9eeba43cfd8a4aa660d790f232ab7adf5abe39bd Mon Sep 17 00:00:00 2001 From: Amy Zhang Date: Thu, 21 Jan 2021 12:52:05 -0800 Subject: [PATCH] Notify TunerService to updateTunerResources when Tuner Client is init This CL also: 1. Fixed some bugs in Tuner Client. 2. Getting rid of the Result return of the getFrontendIds API in TunerService Aidl(Since we decided to use AIDL status channel to return the error message for all the Tuner Service APIs) Test: atest android.media.tv.tuner.cts (LNB test only) Bug: 159067322 Change-Id: I2fd4b8d3e5016438e61a41033e227e1311a24a21 --- media/jni/tuner/LnbClient.cpp | 8 ++++++-- media/jni/tuner/TunerClient.cpp | 13 ++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/media/jni/tuner/LnbClient.cpp b/media/jni/tuner/LnbClient.cpp index 77583b8032c80..df3fd609d72fc 100644 --- a/media/jni/tuner/LnbClient.cpp +++ b/media/jni/tuner/LnbClient.cpp @@ -51,8 +51,12 @@ Result LnbClient::setCallback(sp cb) { return TunerClient::getServiceSpecificErrorCode(s); } - mHidlCallback = new HidlLnbCallback(cb); - return mLnb->setCallback(mHidlCallback); + if (mLnb != NULL) { + mHidlCallback = new HidlLnbCallback(cb); + return mLnb->setCallback(mHidlCallback); + } + + return Result::INVALID_STATE; } Result LnbClient::setVoltage(LnbVoltage voltage) { diff --git a/media/jni/tuner/TunerClient.cpp b/media/jni/tuner/TunerClient.cpp index 498ba0eabb70e..73a2cf29d50e2 100644 --- a/media/jni/tuner/TunerClient.cpp +++ b/media/jni/tuner/TunerClient.cpp @@ -37,7 +37,9 @@ int TunerClient::mTunerVersion; TunerClient::TunerClient() { // Get HIDL Tuner in migration stage. getHidlTuner(); - updateTunerResources(); + if (mTuner != NULL) { + updateTunerResources(); + } // Connect with Tuner Service. ::ndk::SpAIBinder binder(AServiceManager_getService("media.tuner")); mTunerService = ITunerService::fromBinder(binder); @@ -45,6 +47,9 @@ TunerClient::TunerClient() { mTunerService = NULL; if (mTunerService == NULL) { ALOGE("Failed to get tuner service"); + } else { + // TODO: b/178124017 update TRM in TunerService independently. + mTunerService->updateTunerResources(); } } @@ -60,10 +65,8 @@ vector TunerClient::getFrontendIds() { if (mTunerService != NULL) { vector v; - int aidl_return; - Status s = mTunerService->getFrontendIds(&v, &aidl_return); - if (!s.isOk() || aidl_return != (int) Result::SUCCESS - || v.size() == 0) { + Status s = mTunerService->getFrontendIds(&v); + if (getServiceSpecificErrorCode(s) != Result::SUCCESS || v.size() == 0) { ids.clear(); return ids; }