Implement isAntennaConnected interface of ITuner.
Test: instrumentation Bug: b/36863239 Change-Id: I325cc29a696a6163fd3db1f2a75e64a2b1ddf514
This commit is contained in:
@@ -84,4 +84,6 @@ interface ITuner {
|
||||
* configuration.
|
||||
*/
|
||||
void setAnalogForced(boolean isForced);
|
||||
|
||||
boolean isAntennaConnected();
|
||||
}
|
||||
|
||||
@@ -218,8 +218,11 @@ class TunerAdapter extends RadioTuner {
|
||||
|
||||
@Override
|
||||
public boolean isAntennaConnected() {
|
||||
// TODO(b/36863239): forward to mTuner
|
||||
throw new RuntimeException("Not implemented");
|
||||
try {
|
||||
return mTuner.isAntennaConnected();
|
||||
} catch (RemoteException e) {
|
||||
throw new RuntimeException("service died", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -74,6 +74,8 @@ class Tuner extends ITuner.Stub {
|
||||
private native boolean nativeIsAnalogForced(long nativeContext);
|
||||
private native void nativeSetAnalogForced(long nativeContext, boolean isForced);
|
||||
|
||||
private native boolean nativeIsAntennaConnected(long nativeContext);
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
synchronized (mLock) {
|
||||
@@ -177,6 +179,7 @@ class Tuner extends ITuner.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean startBackgroundScan() {
|
||||
synchronized (mLock) {
|
||||
checkNotClosedLocked();
|
||||
@@ -184,6 +187,7 @@ class Tuner extends ITuner.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RadioManager.ProgramInfo> getProgramList(String filter) {
|
||||
synchronized (mLock) {
|
||||
checkNotClosedLocked();
|
||||
@@ -195,6 +199,7 @@ class Tuner extends ITuner.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAnalogForced() {
|
||||
synchronized (mLock) {
|
||||
checkNotClosedLocked();
|
||||
@@ -202,10 +207,19 @@ class Tuner extends ITuner.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAnalogForced(boolean isForced) {
|
||||
synchronized (mLock) {
|
||||
checkNotClosedLocked();
|
||||
nativeSetAnalogForced(mNativeContext, isForced);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAntennaConnected() {
|
||||
synchronized (mLock) {
|
||||
checkNotClosedLocked();
|
||||
return nativeIsAntennaConnected(mNativeContext);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,6 +319,21 @@ static void nativeSetAnalogForced(JNIEnv *env, jobject obj, jlong nativeContext,
|
||||
convert::ThrowIfFailed(env, halResult);
|
||||
}
|
||||
|
||||
static bool nativeIsAntennaConnected(JNIEnv *env, jobject obj, jlong nativeContext) {
|
||||
ALOGV("nativeIsAntennaConnected()");
|
||||
auto halTuner = getHalTuner(nativeContext);
|
||||
if (halTuner == nullptr) return false;
|
||||
|
||||
bool isConnected = false;
|
||||
Result halResult;
|
||||
auto hidlResult = halTuner->getConfiguration([&](Result result, const BandConfig& config) {
|
||||
halResult = result;
|
||||
isConnected = config.antennaConnected;
|
||||
});
|
||||
convert::ThrowIfFailed(env, hidlResult, halResult);
|
||||
return isConnected;
|
||||
}
|
||||
|
||||
static const JNINativeMethod gTunerMethods[] = {
|
||||
{ "nativeInit", "(I)J", (void*)nativeInit },
|
||||
{ "nativeFinalize", "(J)V", (void*)nativeFinalize },
|
||||
@@ -338,6 +353,7 @@ static const JNINativeMethod gTunerMethods[] = {
|
||||
(void*)nativeGetProgramList },
|
||||
{ "nativeIsAnalogForced", "(J)Z", (void*)nativeIsAnalogForced },
|
||||
{ "nativeSetAnalogForced", "(JZ)V", (void*)nativeSetAnalogForced },
|
||||
{ "nativeIsAntennaConnected", "(J)Z", (void*)nativeIsAntennaConnected },
|
||||
};
|
||||
|
||||
} // namespace Tuner
|
||||
|
||||
@@ -137,9 +137,8 @@ public class RadioTest {
|
||||
}
|
||||
|
||||
private void checkAntenna() {
|
||||
// TODO(b/36863239): enable check when isAntennaConnected is implemented
|
||||
//boolean isConnected = mRadioTuner.isAntennaConnected();
|
||||
//assertTrue(isConnected);
|
||||
boolean isConnected = mRadioTuner.isAntennaConnected();
|
||||
assertTrue(isConnected);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user