Support blink scan

Allow scan again if callback and executor are same as before.

bug: 173239634
Test: atest -c TunerTest
Change-Id: Iec5ba453b3d3d40c0d96fda5c7288b79898d9aea
This commit is contained in:
Henry Fang
2020-11-13 13:57:42 -08:00
parent 976002b688
commit e18379f5d1

View File

@@ -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) {