Loading core/java/android/hardware/radio/ITuner.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -84,4 +84,6 @@ interface ITuner { * configuration. */ void setAnalogForced(boolean isForced); boolean isAntennaConnected(); } core/java/android/hardware/radio/TunerAdapter.java +5 −2 Original line number Diff line number Diff line Loading @@ -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 Loading services/core/java/com/android/server/radio/Tuner.java +14 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -177,6 +179,7 @@ class Tuner extends ITuner.Stub { } } @Override public boolean startBackgroundScan() { synchronized (mLock) { checkNotClosedLocked(); Loading @@ -184,6 +187,7 @@ class Tuner extends ITuner.Stub { } } @Override public List<RadioManager.ProgramInfo> getProgramList(String filter) { synchronized (mLock) { checkNotClosedLocked(); Loading @@ -195,6 +199,7 @@ class Tuner extends ITuner.Stub { } } @Override public boolean isAnalogForced() { synchronized (mLock) { checkNotClosedLocked(); Loading @@ -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); } } } services/core/jni/com_android_server_radio_Tuner.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -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 }, Loading @@ -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 Loading tests/radio/src/android/hardware/radio/tests/RadioTest.java +2 −3 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
core/java/android/hardware/radio/ITuner.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -84,4 +84,6 @@ interface ITuner { * configuration. */ void setAnalogForced(boolean isForced); boolean isAntennaConnected(); }
core/java/android/hardware/radio/TunerAdapter.java +5 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
services/core/java/com/android/server/radio/Tuner.java +14 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -177,6 +179,7 @@ class Tuner extends ITuner.Stub { } } @Override public boolean startBackgroundScan() { synchronized (mLock) { checkNotClosedLocked(); Loading @@ -184,6 +187,7 @@ class Tuner extends ITuner.Stub { } } @Override public List<RadioManager.ProgramInfo> getProgramList(String filter) { synchronized (mLock) { checkNotClosedLocked(); Loading @@ -195,6 +199,7 @@ class Tuner extends ITuner.Stub { } } @Override public boolean isAnalogForced() { synchronized (mLock) { checkNotClosedLocked(); Loading @@ -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); } } }
services/core/jni/com_android_server_radio_Tuner.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -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 }, Loading @@ -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 Loading
tests/radio/src/android/hardware/radio/tests/RadioTest.java +2 −3 Original line number Diff line number Diff line Loading @@ -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 Loading