Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e876f8f8 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by Android (Google) Code Review
Browse files

Merge "Implement isAntennaConnected interface of ITuner."

parents 23c40a60 39ac2148
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -84,4 +84,6 @@ interface ITuner {
     *         configuration.
     */
    void setAnalogForced(boolean isForced);

    boolean isAntennaConnected();
}
+5 −2
Original line number Diff line number Diff line
@@ -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
+14 −0
Original line number Diff line number Diff line
@@ -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);
        }
    }
}
+16 −0
Original line number Diff line number Diff line
@@ -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
+2 −3
Original line number Diff line number Diff line
@@ -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