More code-plowing. Moved interfaces from data to domain and renamed repository_xmpp to data

This commit is contained in:
Paul Schaub 2019-11-18 18:39:35 +01:00
parent 2755b2de8f
commit cf034939b4
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
43 changed files with 48 additions and 87 deletions

View File

@ -12,7 +12,7 @@ import android.os.Build;
import org.mercury_im.messenger.core.centers.ConnectionCenter;
import org.mercury_im.messenger.core.connection.MercuryConfiguration;
import org.mercury_im.messenger.xmpp.util.ChatAndPossiblyContact;
import org.mercury_im.messenger.core.util.ContactNameUtil;
import org.mercury_im.core.data.util.ContactNameUtil;
import org.mercury_im.messenger.di.component.AppComponent;
import org.mercury_im.messenger.di.component.DaggerAppComponent;
import org.mercury_im.messenger.di.module.AppModule;

View File

@ -9,7 +9,6 @@ sourceSets {
dependencies {
api project(':entity') // Entities
api project(':data') // Repository
// Smack
// Not all of those are needed, but it may be a good idea to define those versions explicitly

View File

@ -1,4 +1,4 @@
package org.mercury_im.messenger.core.util;
package org.mercury_im.core.data.util;
import org.mercury_im.messenger.xmpp.model.ContactModel;
import org.mercury_im.messenger.xmpp.model.EntityModel;

View File

@ -2,7 +2,7 @@ package org.mercury_im.messenger.core.di;
import org.mercury_im.messenger.core.NotificationManager;
import org.mercury_im.messenger.core.centers.ConnectionCenter;
import org.mercury_im.messenger.core.repository.AccountRepository;
import org.mercury_im.core.data.repository.AccountRepository;
import org.mercury_im.messenger.core.stores.EntityCapsStore;
import org.mercury_im.messenger.core.stores.PlainMessageStore;

View File

@ -1,10 +1,29 @@
apply plugin: 'java-library'
dependencies {
api project(":entity")
// Add the generated folder to the source directories so that we can work with generated classes
// This is apparently necessary for use with requery.
sourceSets {
main.java.srcDirs += "${buildDir}/generated/sources/annotationProcessor/java/main/"
}
// RxJava 2
api "io.reactivex.rxjava2:rxjava:$rxJava2Version"
dependencies {
implementation project(":entity")
implementation project(':domain')
// RxJava2
implementation "io.reactivex.rxjava2:rxjava:$rxJava2Version"
// Dagger 2 for dependency injection
implementation "com.google.dagger:dagger:$daggerVersion"
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
// Requery ORM
api "io.requery:requery:$requeryVersion"
annotationProcessor "io.requery:requery-processor:$requeryVersion"
// JUnit for testing
testImplementation "junit:junit:$junitVersion"
}
sourceCompatibility = "8"

View File

@ -1,8 +1,8 @@
package org.mercury_im.messenger.xmpp.repository;
import org.mercury_im.messenger.core.entity.Account;
import org.mercury_im.messenger.core.repository.AccountRepository;
import org.mercury_im.messenger.core.util.Optional;
import org.mercury_im.core.data.repository.AccountRepository;
import org.mercury_im.core.data.util.Optional;
import org.mercury_im.core.util.ThreadUtils;
import org.mercury_im.messenger.xmpp.mapping.AccountMapping;
import org.mercury_im.messenger.xmpp.model.AccountModel;
@ -50,7 +50,6 @@ public class ReactiveXmppAccountRepository
.map(result -> new Optional<>(AccountMapping.modelToEntity(result.firstOrNull())))
.subscribeOn(subscriberScheduler())
.observeOn(observerScheduler());
}
@Override

View File

@ -3,7 +3,6 @@ apply plugin: 'java-library'
dependencies {
implementation project(':entity')
implementation project(':data')
// RxJava2
implementation "io.reactivex.rxjava2:rxjava:$rxJava2Version"

View File

@ -1,7 +1,7 @@
package org.mercury_im.messenger.core.repository;
package org.mercury_im.core.data.repository;
import org.mercury_im.messenger.core.entity.Account;
import org.mercury_im.messenger.core.util.Optional;
import org.mercury_im.core.data.util.Optional;
import java.util.List;

View File

@ -1,7 +1,7 @@
package org.mercury_im.messenger.core.repository;
package org.mercury_im.core.data.repository;
import org.mercury_im.messenger.core.entity.contact.Contact;
import org.mercury_im.messenger.core.util.Optional;
import org.mercury_im.core.data.util.Optional;
import java.util.List;

View File

@ -1,9 +1,9 @@
package org.mercury_im.messenger.core.repository;
package org.mercury_im.core.data.repository;
import org.mercury_im.messenger.core.entity.chat.DirectChat;
import org.mercury_im.messenger.core.entity.contact.Peer;
import org.mercury_im.messenger.core.entity.message.Message;
import org.mercury_im.messenger.core.util.Optional;
import org.mercury_im.core.data.util.Optional;
import java.util.List;

View File

@ -1,8 +1,8 @@
package org.mercury_im.messenger.core.repository;
package org.mercury_im.core.data.repository;
import org.mercury_im.messenger.core.entity.chat.GroupChat;
import org.mercury_im.messenger.core.entity.message.Message;
import org.mercury_im.messenger.core.util.Optional;
import org.mercury_im.core.data.util.Optional;
import java.util.List;

View File

@ -1,4 +1,4 @@
package org.mercury_im.messenger.core.util;
package org.mercury_im.core.data.util;
/**
* Since j.u.Optional is only available on Android since API lvl 24, we need this utility class.

View File

@ -1 +0,0 @@
/build

View File

@ -1,31 +0,0 @@
apply plugin: 'java-library'
// Add the generated folder to the source directories so that we can work with generated classes
// This is apparently necessary for use with requery.
sourceSets {
main.java.srcDirs += "${buildDir}/generated/sources/annotationProcessor/java/main/"
}
dependencies {
implementation project(":entity")
implementation project(':domain')
implementation project(':data')
// RxJava2
api "io.reactivex.rxjava2:rxjava:$rxJava2Version"
// Dagger 2 for dependency injection
implementation "com.google.dagger:dagger:$daggerVersion"
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
// Requery ORM
api "io.requery:requery:$requeryVersion"
annotationProcessor "io.requery:requery-processor:$requeryVersion"
// JUnit for testing
testImplementation "junit:junit:$junitVersion"
}
sourceCompatibility = "8"
targetCompatibility = "8"

View File

@ -1,6 +1,5 @@
include ':entity',
':data',
':repository_xmpp',
':domain',
':transport_xmpp',
':app',

View File

@ -3,7 +3,9 @@ apply plugin: 'java-library'
dependencies {
implementation project(":entity")
implementation project(':domain')
implementation project(":repository_xmpp")
// RxJava2
implementation "io.reactivex.rxjava2:rxjava:$rxJava2Version"
// Smack
// Not all of those are needed, but it may be a good idea to define those versions explicitly

View File

@ -1,4 +1,4 @@
package org.mercury_im.xmpp.connection;
package org.mercury_im.xmpp.domain.connection;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPConnection;

View File

@ -1,4 +1,4 @@
package org.mercury_im.xmpp.connection;
package org.mercury_im.xmpp.domain.connection;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
@ -7,7 +7,7 @@ import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.impl.JidCreate;
import org.mercury_im.core.Messenger;
import org.mercury_im.messenger.core.entity.Account;
import org.mercury_im.xmpp.entity.XmppAuthMethod;
import org.mercury_im.messenger.core.entity.PasswordAuthentication;
public class XmppTcpConnectionFactory extends XmppConnectionFactory<XMPPTCPConnectionConfiguration> {
@ -20,8 +20,8 @@ public class XmppTcpConnectionFactory extends XmppConnectionFactory<XMPPTCPConne
XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder();
configBuilder.setConnectTimeout(20 * 1000);
if (account.getAuthentication() instanceof XmppAuthMethod.AuthPassword) {
XmppAuthMethod.AuthPassword authPassword = (XmppAuthMethod.AuthPassword) account.getAuthentication();
if (account.getAuthentication() instanceof PasswordAuthentication) {
PasswordAuthentication authPassword = (PasswordAuthentication) account.getAuthentication();
EntityBareJid accountAddress = JidCreate.entityBareFromOrThrowUnchecked(account.getAddress());
configBuilder.setXmppAddressAndPassword(accountAddress, authPassword.getPassword());
}

View File

@ -1,4 +1,4 @@
package org.mercury_im.xmpp.connection;
package org.mercury_im.xmpp.domain.connection;
import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.XMPPConnection;

View File

@ -1,4 +1,4 @@
package org.mercury_im.xmpp.connection.message;
package org.mercury_im.xmpp.domain.connection.message;
import org.jivesoftware.smack.chat2.Chat;
import org.jivesoftware.smack.chat2.ChatManager;
@ -10,7 +10,7 @@ import org.mercury_im.core.transport.listener.IncomingDirectMessageListener;
import org.mercury_im.messenger.core.entity.message.Message;
import org.mercury_im.core.MessageCenter;
import org.mercury_im.messenger.core.entity.chat.DirectChat;
import org.mercury_im.xmpp.connection.XmppTcpConnectionMethod;
import org.mercury_im.xmpp.domain.connection.XmppTcpConnectionMethod;
import io.reactivex.Completable;

View File

@ -1,24 +0,0 @@
package org.mercury_im.xmpp.entity;
import org.mercury_im.messenger.core.entity.Account;
public abstract class XmppAuthMethod implements Account.AuthMethod {
public static class AuthPassword extends XmppAuthMethod {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public static AuthPassword fromPassword(String password) {
AuthPassword auth = new AuthPassword();
auth.setPassword(password);
return auth;
}
}
}