package org.mercury_im.messenger.core.di.module; import org.jivesoftware.smackx.ox.crypto.OpenPgpProvider; import org.jivesoftware.smackx.ox.crypto.PainlessOpenPgpProvider; import org.jivesoftware.smackx.ox.store.definition.OpenPgpStore; import org.mercury_im.messenger.core.SchedulersFacade; import org.mercury_im.messenger.core.data.repository.OpenPgpRepository; import org.mercury_im.messenger.core.store.crypto.MercuryOpenPgpStore; import javax.inject.Singleton; import dagger.Module; import dagger.Provides; @Module public class OpenPgpModule { @Provides @Singleton static OpenPgpStore provideOpenPgpStore(OpenPgpRepository openPgpRepository, SchedulersFacade schedulersFacade) { return new MercuryOpenPgpStore(openPgpRepository, schedulersFacade); } @Provides @Singleton static OpenPgpProvider provideOpenPgpProvider(OpenPgpStore openPgpStore) { return new PainlessOpenPgpProvider(openPgpStore); } }