Anthony Restaino
8 years ago
committed by
GitHub
4 changed files with 52 additions and 70 deletions
@ -1,70 +0,0 @@ |
|||||||
package acr.browser.lightning.search; |
|
||||||
|
|
||||||
import android.app.Application; |
|
||||||
import android.support.annotation.NonNull; |
|
||||||
|
|
||||||
import com.anthonycr.bonsai.Single; |
|
||||||
import com.anthonycr.bonsai.SingleAction; |
|
||||||
import com.anthonycr.bonsai.SingleSubscriber; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import acr.browser.lightning.database.HistoryItem; |
|
||||||
import acr.browser.lightning.search.suggestions.BaiduSuggestionsModel; |
|
||||||
import acr.browser.lightning.search.suggestions.DuckSuggestionsModel; |
|
||||||
import acr.browser.lightning.search.suggestions.GoogleSuggestionsModel; |
|
||||||
|
|
||||||
class SuggestionsManager { |
|
||||||
|
|
||||||
private static volatile boolean sIsTaskExecuting; |
|
||||||
|
|
||||||
static boolean isRequestInProgress() { |
|
||||||
return sIsTaskExecuting; |
|
||||||
} |
|
||||||
|
|
||||||
@NonNull |
|
||||||
static Single<List<HistoryItem>> createGoogleQueryObservable(@NonNull final String query, |
|
||||||
@NonNull final Application application) { |
|
||||||
return Single.create(new SingleAction<List<HistoryItem>>() { |
|
||||||
@Override |
|
||||||
public void onSubscribe(@NonNull final SingleSubscriber<List<HistoryItem>> subscriber) { |
|
||||||
sIsTaskExecuting = true; |
|
||||||
List<HistoryItem> results = new GoogleSuggestionsModel(application).fetchResults(query); |
|
||||||
subscriber.onItem(results); |
|
||||||
subscriber.onComplete(); |
|
||||||
sIsTaskExecuting = false; |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
@NonNull |
|
||||||
static Single<List<HistoryItem>> createBaiduQueryObservable(@NonNull final String query, |
|
||||||
@NonNull final Application application) { |
|
||||||
return Single.create(new SingleAction<List<HistoryItem>>() { |
|
||||||
@Override |
|
||||||
public void onSubscribe(@NonNull final SingleSubscriber<List<HistoryItem>> subscriber) { |
|
||||||
sIsTaskExecuting = true; |
|
||||||
List<HistoryItem> results = new BaiduSuggestionsModel(application).fetchResults(query); |
|
||||||
subscriber.onItem(results); |
|
||||||
subscriber.onComplete(); |
|
||||||
sIsTaskExecuting = false; |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
@NonNull |
|
||||||
static Single<List<HistoryItem>> createDuckQueryObservable(@NonNull final String query, |
|
||||||
@NonNull final Application application) { |
|
||||||
return Single.create(new SingleAction<List<HistoryItem>>() { |
|
||||||
@Override |
|
||||||
public void onSubscribe(@NonNull final SingleSubscriber<List<HistoryItem>> subscriber) { |
|
||||||
sIsTaskExecuting = true; |
|
||||||
List<HistoryItem> results = new DuckSuggestionsModel(application).fetchResults(query); |
|
||||||
subscriber.onItem(results); |
|
||||||
subscriber.onComplete(); |
|
||||||
sIsTaskExecuting = false; |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -0,0 +1,46 @@ |
|||||||
|
package acr.browser.lightning.search |
||||||
|
|
||||||
|
import acr.browser.lightning.database.HistoryItem |
||||||
|
import acr.browser.lightning.search.suggestions.BaiduSuggestionsModel |
||||||
|
import acr.browser.lightning.search.suggestions.DuckSuggestionsModel |
||||||
|
import acr.browser.lightning.search.suggestions.GoogleSuggestionsModel |
||||||
|
import android.app.Application |
||||||
|
import com.anthonycr.bonsai.Single |
||||||
|
import com.anthonycr.bonsai.SingleAction |
||||||
|
|
||||||
|
internal object SuggestionsManager { |
||||||
|
|
||||||
|
@JvmStatic |
||||||
|
@Volatile var isRequestInProgress: Boolean = false |
||||||
|
|
||||||
|
@JvmStatic |
||||||
|
fun createGoogleQueryObservable(query: String, application: Application) = |
||||||
|
Single.create(SingleAction<List<HistoryItem>> { subscriber -> |
||||||
|
isRequestInProgress = true |
||||||
|
val results = GoogleSuggestionsModel(application).fetchResults(query) |
||||||
|
subscriber.onItem(results) |
||||||
|
subscriber.onComplete() |
||||||
|
isRequestInProgress = false |
||||||
|
}) |
||||||
|
|
||||||
|
@JvmStatic |
||||||
|
fun createBaiduQueryObservable(query: String, application: Application) = |
||||||
|
Single.create(SingleAction<List<HistoryItem>> { subscriber -> |
||||||
|
isRequestInProgress = true |
||||||
|
val results = BaiduSuggestionsModel(application).fetchResults(query) |
||||||
|
subscriber.onItem(results) |
||||||
|
subscriber.onComplete() |
||||||
|
isRequestInProgress = false |
||||||
|
}) |
||||||
|
|
||||||
|
@JvmStatic |
||||||
|
fun createDuckQueryObservable(query: String, application: Application) = |
||||||
|
Single.create(SingleAction<List<HistoryItem>> { subscriber -> |
||||||
|
isRequestInProgress = true |
||||||
|
val results = DuckSuggestionsModel(application).fetchResults(query) |
||||||
|
subscriber.onItem(results) |
||||||
|
subscriber.onComplete() |
||||||
|
isRequestInProgress = false |
||||||
|
}) |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue