Use kapt, remove retrolambda, migrate database and source to Kotlin

This commit is contained in:
len
2016-03-19 17:48:55 +01:00
parent 0d519b3d16
commit 14f248546a
30 changed files with 878 additions and 1042 deletions

View File

@@ -58,12 +58,15 @@ public abstract class BaseRxActivity<P extends Presenter> extends BaseActivity i
@Override
protected void onCreate(Bundle savedInstanceState) {
final PresenterFactory<P> superFactory = getPresenterFactory();
setPresenterFactory(() -> {
P presenter = superFactory.createPresenter();
App app = (App) getApplication();
app.getComponentReflection().inject(presenter);
((BasePresenter)presenter).setContext(app.getApplicationContext());
return presenter;
setPresenterFactory(new PresenterFactory<P>() {
@Override
public P createPresenter() {
P presenter = superFactory.createPresenter();
App app = (App) BaseRxActivity.this.getApplication();
app.getComponentReflection().inject(presenter);
((BasePresenter) presenter).setContext(app.getApplicationContext());
return presenter;
}
});
super.onCreate(savedInstanceState);

View File

@@ -56,12 +56,15 @@ public abstract class BaseRxFragment<P extends Presenter> extends BaseFragment i
@Override
public void onCreate(Bundle bundle) {
final PresenterFactory<P> superFactory = getPresenterFactory();
setPresenterFactory(() -> {
P presenter = superFactory.createPresenter();
App app = (App) getActivity().getApplication();
app.getComponentReflection().inject(presenter);
((BasePresenter)presenter).setContext(app.getApplicationContext());
return presenter;
setPresenterFactory(new PresenterFactory<P>() {
@Override
public P createPresenter() {
P presenter = superFactory.createPresenter();
App app = (App) BaseRxFragment.this.getActivity().getApplication();
app.getComponentReflection().inject(presenter);
((BasePresenter) presenter).setContext(app.getApplicationContext());
return presenter;
}
});
super.onCreate(bundle);

View File

@@ -220,7 +220,10 @@ public class RxPresenter<View> extends Presenter<View> {
* @param observableFactory a factory that should return an Observable when the startable should run.
*/
public <T> void startable(int startableId, final Func0<Observable<T>> observableFactory) {
restartables.put(startableId, () -> observableFactory.call().subscribe());
restartables.put(startableId, new Func0<Subscription>() {
@Override
public Subscription call() {return observableFactory.call().subscribe();}
});
}
/**
@@ -234,7 +237,10 @@ public class RxPresenter<View> extends Presenter<View> {
public <T> void startable(int startableId, final Func0<Observable<T>> observableFactory,
final Action1<T> onNext, final Action1<Throwable> onError) {
restartables.put(startableId, () -> observableFactory.call().subscribe(onNext, onError));
restartables.put(startableId, new Func0<Subscription>() {
@Override
public Subscription call() {return observableFactory.call().subscribe(onNext, onError);}
});
}
/**
@@ -245,7 +251,10 @@ public class RxPresenter<View> extends Presenter<View> {
* @param onNext a callback that will be called when received data should be delivered to view.
*/
public <T> void startable(int startableId, final Func0<Observable<T>> observableFactory, final Action1<T> onNext) {
restartables.put(startableId, () -> observableFactory.call().subscribe(onNext));
restartables.put(startableId, new Func0<Subscription>() {
@Override
public Subscription call() {return observableFactory.call().subscribe(onNext);}
});
}
/**

View File

@@ -211,7 +211,7 @@ class CataloguePresenter : BasePresenter<CatalogueFragment>() {
val obs = if (query.isNullOrEmpty())
source.pullPopularMangasFromNetwork(nextMangasPage)
else
source.searchMangasFromNetwork(nextMangasPage, query)
source.searchMangasFromNetwork(nextMangasPage, query!!)
return obs.subscribeOn(Schedulers.io())
.doOnNext { lastMangasPage = it }

View File

@@ -37,7 +37,7 @@ class CategoryPresenter : BasePresenter<CategoryActivity>() {
// Get categories as list
restartableLatestCache(GET_CATEGORIES,
{
db.categories.asRxObservable()
db.getCategories().asRxObservable()
.doOnNext { categories -> this.categories = categories }
.observeOn(AndroidSchedulers.mainThread())
}, CategoryActivity::setCategories)
@@ -76,7 +76,7 @@ class CategoryPresenter : BasePresenter<CategoryActivity>() {
*
* @param categories list of categories
*/
fun deleteCategories(categories: List<Category?>?) {
fun deleteCategories(categories: List<Category>) {
db.deleteCategories(categories).asRxObservable().subscribe()
}

View File

@@ -127,7 +127,7 @@ class LibraryPresenter : BasePresenter<LibraryFragment>() {
* @return an observable of the categories.
*/
fun getCategoriesObservable(): Observable<List<Category>> {
return db.categories.asRxObservable()
return db.getCategories().asRxObservable()
.doOnNext { categories -> this.categories = categories }
}
@@ -138,7 +138,7 @@ class LibraryPresenter : BasePresenter<LibraryFragment>() {
* value.
*/
fun getLibraryMangasObservable(): Observable<Map<Int, List<Manga>>> {
return db.libraryMangas.asRxObservable()
return db.getLibraryMangas().asRxObservable()
.flatMap { mangas ->
Observable.from(mangas)
.filter {