mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-15 10:26:53 -04:00
refactor: Convert SaveNetworkLanguages AsyncTask to run with RxJava
This commit is contained in:
parent
c95b1dd0a2
commit
c359881df8
@ -22,7 +22,6 @@ package org.kiwix.kiwixmobile.library;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.os.AsyncTask;
|
|
||||||
import android.util.Base64;
|
import android.util.Base64;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -57,7 +56,11 @@ import java.util.Set;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import rx.Completable;
|
||||||
import rx.Observable;
|
import rx.Observable;
|
||||||
|
import rx.Subscription;
|
||||||
|
import rx.android.schedulers.AndroidSchedulers;
|
||||||
|
import rx.schedulers.Schedulers;
|
||||||
|
|
||||||
import static org.kiwix.kiwixmobile.utils.NetworkUtils.parseURL;
|
import static org.kiwix.kiwixmobile.utils.NetworkUtils.parseURL;
|
||||||
|
|
||||||
@ -74,6 +77,7 @@ public class LibraryAdapter extends BaseAdapter {
|
|||||||
private final BookDao bookDao;
|
private final BookDao bookDao;
|
||||||
private final LayoutInflater layoutInflater;
|
private final LayoutInflater layoutInflater;
|
||||||
private final BookFilter bookFilter = new BookFilter();
|
private final BookFilter bookFilter = new BookFilter();
|
||||||
|
private Subscription saveNetworkLanguageSubscription;
|
||||||
@Inject BookUtils bookUtils;
|
@Inject BookUtils bookUtils;
|
||||||
|
|
||||||
private void setupDagger() {
|
private void setupDagger() {
|
||||||
@ -305,7 +309,7 @@ public class LibraryAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateNetworkLanguages() {
|
public void updateNetworkLanguages() {
|
||||||
new SaveNetworkLanguages().execute(languages);
|
saveNetworkLanguages();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateLanguageCounts() {
|
private void updateLanguageCounts() {
|
||||||
@ -346,7 +350,7 @@ public class LibraryAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new SaveNetworkLanguages().execute(this.languages);
|
saveNetworkLanguages();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addBooks(List<Book> books) {
|
private void addBooks(List<Book> books) {
|
||||||
@ -454,13 +458,13 @@ public class LibraryAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class SaveNetworkLanguages extends AsyncTask<List<Language>, Object, Void> {
|
private void saveNetworkLanguages() {
|
||||||
@SafeVarargs
|
if (saveNetworkLanguageSubscription != null) {
|
||||||
@Override
|
saveNetworkLanguageSubscription.unsubscribe();
|
||||||
protected final Void doInBackground(List<Language>... params) {
|
|
||||||
networkLanguageDao.saveFilteredLanguages(params[0]);
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
saveNetworkLanguageSubscription = Completable.fromAction(() -> networkLanguageDao.saveFilteredLanguages(languages))
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user