From e18379f5d175a179e6335a532fb7ebdcabbdea6d Mon Sep 17 00:00:00 2001 From: Henry Fang Date: Fri, 13 Nov 2020 13:57:42 -0800 Subject: [PATCH] Support blink scan Allow scan again if callback and executor are same as before. bug: 173239634 Test: atest -c TunerTest Change-Id: Iec5ba453b3d3d40c0d96fda5c7288b79898d9aea --- media/java/android/media/tv/tuner/Tuner.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java index 97161e563dadc..27b33ace532a4 100644 --- a/media/java/android/media/tv/tuner/Tuner.java +++ b/media/java/android/media/tv/tuner/Tuner.java @@ -740,10 +740,14 @@ public class Tuner implements AutoCloseable { @Result public int scan(@NonNull FrontendSettings settings, @ScanType int scanType, @NonNull @CallbackExecutor Executor executor, @NonNull ScanCallback scanCallback) { - if (mScanCallback != null || mScanCallbackExecutor != null) { + /** + * Scan can be called again for blink scan if scanCallback and executor are same as before. + */ + if (((mScanCallback != null) && (mScanCallback != scanCallback)) + || ((mScanCallbackExecutor != null) && (mScanCallbackExecutor != executor))) { throw new IllegalStateException( - "Scan already in progress. stopScan must be called before a new scan can be " - + "started."); + "Different Scan session already in progress. stopScan must be called " + + "before a new scan session can be " + "started."); } mFrontendType = settings.getType(); if (mFrontendType == FrontendSettings.TYPE_DTMB) {