Loading core/tests/BroadcastRadioTests/src/android/hardware/radio/tests/functional/RadioTunerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,21 @@ public class RadioTunerTest { verify(mCallback, timeout(kTuneCallbackTimeoutMs)).onProgramInfoChanged(any()); } @Test public void testStepLoop() { openTuner(); for (int i = 0; i < 10; i++) { Log.d(TAG, "step loop iteration " + (i + 1)); int ret = mRadioTuner.step(RadioTuner.DIRECTION_DOWN, true); assertEquals(RadioManager.STATUS_OK, ret); verify(mCallback, timeout(kTuneCallbackTimeoutMs)).onProgramInfoChanged(any()); resetCallback(); } } @Test public void testTuneAndGetPI() { openTuner(); Loading services/core/jni/BroadcastRadio/NativeCallbackThread.cpp +10 −4 Original line number Diff line number Diff line Loading @@ -48,15 +48,19 @@ void NativeCallbackThread::threadLoop() { return; } while (!mExiting) { ALOGV("Waiting for task..."); while (true) { Task task; { unique_lock<mutex> lk(mQueueMutex); if (mExiting) break; if (mQueue.empty()) { ALOGV("Waiting for task..."); mQueueCond.wait(lk); if (mExiting) break; if (mQueue.empty()) continue; } task = mQueue.front(); mQueue.pop(); } Loading @@ -74,6 +78,7 @@ void NativeCallbackThread::threadLoop() { ALOGE_IF(res != JNI_OK, "Couldn't detach thread"); ALOGV("Native callback thread %p finished", this); ALOGD_IF(!mQueue.empty(), "Skipped execution of %zu tasks", mQueue.size()); } void NativeCallbackThread::enqueue(const Task &task) { Loading @@ -84,6 +89,7 @@ void NativeCallbackThread::enqueue(const Task &task) { return; } ALOGV("Adding task to the queue..."); mQueue.push(task); mQueueCond.notify_one(); } Loading Loading
core/tests/BroadcastRadioTests/src/android/hardware/radio/tests/functional/RadioTunerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,21 @@ public class RadioTunerTest { verify(mCallback, timeout(kTuneCallbackTimeoutMs)).onProgramInfoChanged(any()); } @Test public void testStepLoop() { openTuner(); for (int i = 0; i < 10; i++) { Log.d(TAG, "step loop iteration " + (i + 1)); int ret = mRadioTuner.step(RadioTuner.DIRECTION_DOWN, true); assertEquals(RadioManager.STATUS_OK, ret); verify(mCallback, timeout(kTuneCallbackTimeoutMs)).onProgramInfoChanged(any()); resetCallback(); } } @Test public void testTuneAndGetPI() { openTuner(); Loading
services/core/jni/BroadcastRadio/NativeCallbackThread.cpp +10 −4 Original line number Diff line number Diff line Loading @@ -48,15 +48,19 @@ void NativeCallbackThread::threadLoop() { return; } while (!mExiting) { ALOGV("Waiting for task..."); while (true) { Task task; { unique_lock<mutex> lk(mQueueMutex); if (mExiting) break; if (mQueue.empty()) { ALOGV("Waiting for task..."); mQueueCond.wait(lk); if (mExiting) break; if (mQueue.empty()) continue; } task = mQueue.front(); mQueue.pop(); } Loading @@ -74,6 +78,7 @@ void NativeCallbackThread::threadLoop() { ALOGE_IF(res != JNI_OK, "Couldn't detach thread"); ALOGV("Native callback thread %p finished", this); ALOGD_IF(!mQueue.empty(), "Skipped execution of %zu tasks", mQueue.size()); } void NativeCallbackThread::enqueue(const Task &task) { Loading @@ -84,6 +89,7 @@ void NativeCallbackThread::enqueue(const Task &task) { return; } ALOGV("Adding task to the queue..."); mQueue.push(task); mQueueCond.notify_one(); } Loading