Mercury-IM/domain/src/main/java/org/mercury_im/messenger/core/di/module/OpenPgpModule.java

30 lines
960 B
Java

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);
}
}