2019-11-23 21:16:03 +01:00
|
|
|
package org.mercury_im.messenger.data.di;
|
|
|
|
|
|
|
|
import org.mercury_im.messenger.data.mapping.AccountMapping;
|
|
|
|
import org.mercury_im.messenger.data.mapping.DirectChatMapping;
|
2020-01-06 03:41:37 +01:00
|
|
|
import org.mercury_im.messenger.data.mapping.EntityCapsMapping;
|
2019-12-01 23:13:25 +01:00
|
|
|
import org.mercury_im.messenger.data.mapping.GroupChatMapping;
|
|
|
|
import org.mercury_im.messenger.data.mapping.MessagePayloadMapping;
|
2019-12-07 02:04:31 +01:00
|
|
|
import org.mercury_im.messenger.data.mapping.MessageMapping;
|
|
|
|
import org.mercury_im.messenger.data.mapping.MessagePayloadContainerMapping;
|
2019-11-23 21:16:03 +01:00
|
|
|
import org.mercury_im.messenger.data.mapping.PeerMapping;
|
|
|
|
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
|
|
|
|
import dagger.Module;
|
|
|
|
import dagger.Provides;
|
|
|
|
|
|
|
|
@Module
|
|
|
|
public class MappingModule {
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
2019-12-01 23:13:25 +01:00
|
|
|
static AccountMapping provideAccountMapping() {
|
2019-11-23 21:16:03 +01:00
|
|
|
return new AccountMapping();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
2019-12-01 23:13:25 +01:00
|
|
|
static PeerMapping providePeerMapping() {
|
|
|
|
return new PeerMapping(provideAccountMapping());
|
2019-11-23 21:16:03 +01:00
|
|
|
}
|
|
|
|
|
2019-12-01 23:13:25 +01:00
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static DirectChatMapping provideDirectChatMapping() {
|
|
|
|
return new DirectChatMapping(providePeerMapping());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static GroupChatMapping provideGroupChatMapping() {
|
|
|
|
return new GroupChatMapping(provideAccountMapping());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static MessageMapping provideMessageMapping() {
|
|
|
|
return new MessageMapping(provideMessagePayloadMapping());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
2019-12-07 02:04:31 +01:00
|
|
|
static MessagePayloadContainerMapping provideMessagePayloadMapping() {
|
|
|
|
return new MessagePayloadContainerMapping(provideMessageContentMapping());
|
2019-12-01 23:13:25 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
2019-12-07 02:04:31 +01:00
|
|
|
static MessagePayloadMapping provideMessageContentMapping() {
|
|
|
|
return new MessagePayloadMapping();
|
2019-11-23 21:16:03 +01:00
|
|
|
}
|
2020-01-06 03:41:37 +01:00
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static EntityCapsMapping provideEntityCapsMapping() {
|
|
|
|
return new EntityCapsMapping();
|
|
|
|
}
|
2019-11-23 21:16:03 +01:00
|
|
|
}
|