Merge "Tuner JNI to use V1_1 ScanCallback"
This commit is contained in:
committed by
Android (Google) Code Review
commit
d44087303d
@@ -993,6 +993,77 @@ Return<void> FrontendCallback::onScanMessage(FrontendScanMessageType type, const
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> FrontendCallback::onScanMessageExt1_1(FrontendScanMessageTypeExt1_1 type,
|
||||
const FrontendScanMessageExt1_1& message) {
|
||||
ALOGD("FrontendCallback::onScanMessageExt1_1, type=%d", type);
|
||||
JNIEnv *env = AndroidRuntime::getJNIEnv();
|
||||
jclass clazz = env->FindClass("android/media/tv/tuner/Tuner");
|
||||
switch(type) {
|
||||
case FrontendScanMessageTypeExt1_1::MODULATION: {
|
||||
jint modulation = -1;
|
||||
switch (message.modulation().getDiscriminator()) {
|
||||
case FrontendModulation::hidl_discriminator::dvbc: {
|
||||
modulation = (jint) message.modulation().dvbc();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::dvbt: {
|
||||
modulation = (jint) message.modulation().dvbt();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::dvbs: {
|
||||
modulation = (jint) message.modulation().dvbs();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::isdbs: {
|
||||
modulation = (jint) message.modulation().isdbs();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::isdbs3: {
|
||||
modulation = (jint) message.modulation().isdbs3();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::isdbt: {
|
||||
modulation = (jint) message.modulation().isdbt();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::atsc: {
|
||||
modulation = (jint) message.modulation().atsc();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::atsc3: {
|
||||
modulation = (jint) message.modulation().atsc3();
|
||||
break;
|
||||
}
|
||||
case FrontendModulation::hidl_discriminator::dtmb: {
|
||||
modulation = (jint) message.modulation().dtmb();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (modulation > 0) {
|
||||
env->CallVoidMethod(
|
||||
mObject,
|
||||
env->GetMethodID(clazz, "onModulationReported", "(I)V"),
|
||||
modulation);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FrontendScanMessageTypeExt1_1::HIGH_PRIORITY: {
|
||||
bool isHighPriority = message.isHighPriority();
|
||||
env->CallVoidMethod(
|
||||
mObject,
|
||||
env->GetMethodID(clazz, "onPriorityReported", "([B)V"),
|
||||
isHighPriority);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return Void();
|
||||
}
|
||||
|
||||
/////////////// Tuner ///////////////////////
|
||||
|
||||
sp<ITuner> JTuner::mTuner;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <android/hardware/tv/tuner/1.1/IFilter.h>
|
||||
#include <android/hardware/tv/tuner/1.1/IFilterCallback.h>
|
||||
#include <android/hardware/tv/tuner/1.1/IFrontend.h>
|
||||
#include <android/hardware/tv/tuner/1.1/IFrontendCallback.h>
|
||||
#include <android/hardware/tv/tuner/1.1/ITuner.h>
|
||||
#include <android/hardware/tv/tuner/1.1/types.h>
|
||||
|
||||
@@ -63,7 +64,6 @@ using ::android::hardware::tv::tuner::V1_0::IDvrCallback;
|
||||
using ::android::hardware::tv::tuner::V1_0::IFilter;
|
||||
using ::android::hardware::tv::tuner::V1_1::IFilterCallback;
|
||||
using ::android::hardware::tv::tuner::V1_0::IFrontend;
|
||||
using ::android::hardware::tv::tuner::V1_0::IFrontendCallback;
|
||||
using ::android::hardware::tv::tuner::V1_0::ILnb;
|
||||
using ::android::hardware::tv::tuner::V1_0::ILnbCallback;
|
||||
using ::android::hardware::tv::tuner::V1_0::ITimeFilter;
|
||||
@@ -73,6 +73,9 @@ using ::android::hardware::tv::tuner::V1_0::LnbId;
|
||||
using ::android::hardware::tv::tuner::V1_0::PlaybackStatus;
|
||||
using ::android::hardware::tv::tuner::V1_0::RecordStatus;
|
||||
using ::android::hardware::tv::tuner::V1_0::Result;
|
||||
using ::android::hardware::tv::tuner::V1_1::FrontendScanMessageExt1_1;
|
||||
using ::android::hardware::tv::tuner::V1_1::FrontendScanMessageTypeExt1_1;
|
||||
using ::android::hardware::tv::tuner::V1_1::IFrontendCallback;
|
||||
|
||||
using MQ = MessageQueue<uint8_t, kSynchronizedReadWrite>;
|
||||
|
||||
@@ -191,6 +194,8 @@ struct FrontendCallback : public IFrontendCallback {
|
||||
virtual Return<void> onEvent(FrontendEventType frontendEventType);
|
||||
virtual Return<void> onScanMessage(
|
||||
FrontendScanMessageType type, const FrontendScanMessage& message);
|
||||
virtual Return<void> onScanMessageExt1_1(
|
||||
FrontendScanMessageTypeExt1_1 type, const FrontendScanMessageExt1_1& messageExt);
|
||||
|
||||
jweak mObject;
|
||||
FrontendId mId;
|
||||
|
||||
Reference in New Issue
Block a user