Anthony Restaino
8 years ago
committed by
GitHub
4 changed files with 52 additions and 70 deletions
@ -1,70 +0,0 @@
@@ -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 @@
@@ -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