49 lines
1.3 KiB
Java
49 lines
1.3 KiB
Java
package org.mercury_im.messenger.android.di.module;
|
|
|
|
import android.app.Application;
|
|
|
|
import org.mercury_im.messenger.core.SchedulersFacade;
|
|
import org.mercury_im.messenger.data.model.Models;
|
|
import org.mercury_im.messenger.BuildConfig;
|
|
|
|
import javax.inject.Named;
|
|
import javax.inject.Singleton;
|
|
|
|
import dagger.Module;
|
|
import dagger.Provides;
|
|
import io.reactivex.Scheduler;
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
import io.reactivex.schedulers.Schedulers;
|
|
import io.requery.Persistable;
|
|
import io.requery.android.sqlite.DatabaseSource;
|
|
import io.requery.reactivex.ReactiveEntityStore;
|
|
import io.requery.reactivex.ReactiveSupport;
|
|
import io.requery.sql.Configuration;
|
|
import io.requery.sql.EntityDataStore;
|
|
import io.requery.sql.TableCreationMode;
|
|
|
|
@Module
|
|
public class AndroidSchedulersModule {
|
|
|
|
@Provides
|
|
@Named(value = SchedulersFacade.SCHEDULER_IO)
|
|
@Singleton
|
|
static Scheduler provideDatabaseThread() {
|
|
return Schedulers.io();
|
|
}
|
|
|
|
@Provides
|
|
@Named(value = SchedulersFacade.SCHEDULER_UI)
|
|
@Singleton
|
|
static Scheduler providerUIThread() {
|
|
return AndroidSchedulers.mainThread();
|
|
}
|
|
|
|
@Provides
|
|
@Named(value = SchedulersFacade.SCHEDULER_NEW_THREAD)
|
|
@Singleton
|
|
static Scheduler provideNewThread() {
|
|
return Schedulers.newThread();
|
|
}
|
|
}
|