diff options
Diffstat (limited to 'media')
-rw-r--r-- | media/java/android/media/tv/tuner/Tuner.java | 10 |
1 files 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 8f991126ce3c..37723f1254ae 100644 --- a/media/java/android/media/tv/tuner/Tuner.java +++ b/media/java/android/media/tv/tuner/Tuner.java @@ -627,10 +627,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)) { |