Merge f1f2b398ab4157e0ac8c1a4ddae7d1c989a65233 into 35b70c5e9e8d791ae268bac677a3b760b1b4e8bf

This commit is contained in:
Yevhen Babiichuk (DustDFG) 2026-02-20 12:48:57 +01:00 committed by GitHub
commit 0d97ab03b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -85,6 +85,8 @@ import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.disposables.CompositeDisposable;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.observers.DisposableMaybeObserver;
import io.reactivex.rxjava3.observers.DisposableSingleObserver;
import io.reactivex.rxjava3.schedulers.Schedulers;
import io.reactivex.rxjava3.subjects.PublishSubject;
@ -707,12 +709,20 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
.setPositiveButton(R.string.delete, (dialog, which) -> {
final Disposable onDelete = historyRecordManager.deleteSearchHistory(query)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
howManyDeleted -> suggestionPublisher
.onNext(getSearchEditString()),
throwable -> showSnackBarError(new ErrorInfo(throwable,
.subscribeWith(new DisposableSingleObserver<Integer>() {
@Override
public void onSuccess(final Integer howManyDeleted) {
suggestionPublisher.onNext(getSearchEditString());
}
@Override
public void onError(final Throwable e) {
showSnackBarError(new ErrorInfo(e,
UserAction.DELETE_FROM_HISTORY,
"Deleting item failed")));
"Deleting item failed"));
}
});
disposables.add(onDelete);
})
.show();
@ -865,13 +875,24 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
hideKeyboardSearch();
// store search query if search history is enabled
disposables.add(historyRecordManager.onSearched(serviceId, theSearchString)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
ignored -> {
},
throwable -> showSnackBarError(new ErrorInfo(throwable, UserAction.SEARCHED,
theSearchString, serviceId))
.subscribeWith(new DisposableMaybeObserver<Long>() {
@Override
public void onError(final Throwable throwable) {
showSnackBarError(new ErrorInfo(throwable, UserAction.SEARCHED,
theSearchString, serviceId));
}
@Override
public void onComplete() {
}
@Override
public void onSuccess(final Long ignored) {
}
}
));
// load search results
@ -1158,11 +1179,18 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
final String query = suggestionListAdapter.getCurrentList().get(position).query;
final Disposable onDelete = historyRecordManager.deleteSearchHistory(query)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
howManyDeleted -> suggestionPublisher
.onNext(getSearchEditString()),
throwable -> showSnackBarError(new ErrorInfo(throwable,
UserAction.DELETE_FROM_HISTORY, "Deleting item failed")));
.subscribeWith(new DisposableSingleObserver<Integer>() {
@Override
public void onSuccess(final Integer howManyDeleted) {
suggestionPublisher.onNext(getSearchEditString());
}
@Override
public void onError(final Throwable e) {
showSnackBarError(new ErrorInfo(e,
UserAction.DELETE_FROM_HISTORY, "Deleting item failed"));
}
});
disposables.add(onDelete);
}
}