From 49c7e865d7fdce6f068d094675f604cbf4b0ecc1 Mon Sep 17 00:00:00 2001 From: Henry Fang Date: Fri, 13 Nov 2020 13:57:42 -0800 Subject: Support blink scan Allow scan again if callback and executor are same as before. bug: 173239634 Test: atest -c TunerTest Change-Id: Iec5ba453b3d3d40c0d96fda5c7288b79898d9aea Merged-In: Iec5ba453b3d3d40c0d96fda5c7288b79898d9aea --- media/java/android/media/tv/tuner/Tuner.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'media') diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java index e148d0e29b5a..12490f5bddd1 100644 --- a/media/java/android/media/tv/tuner/Tuner.java +++ b/media/java/android/media/tv/tuner/Tuner.java @@ -616,10 +616,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 (checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND)) { -- cgit v1.2.3