Explicitly foreign key reference account from other tables
This commit is contained in:
parent
c14cc304b1
commit
aebbe29836
|
@ -35,7 +35,10 @@ import org.mercury_im.messenger.android.util.ColorUtil;
|
|||
import org.mercury_im.messenger.core.viewmodel.accounts.FingerprintViewItem;
|
||||
import org.pgpainless.key.OpenPgpV4Fingerprint;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
@ -45,6 +48,8 @@ import io.reactivex.schedulers.Schedulers;
|
|||
|
||||
public class ContactDetailFragment extends Fragment {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(ContactDetailFragment.class.getName());
|
||||
|
||||
@BindView(R.id.contact_avatar)
|
||||
ImageView contactAvatar;
|
||||
|
||||
|
@ -184,6 +189,7 @@ public class ContactDetailFragment extends Fragment {
|
|||
}
|
||||
|
||||
private void setFingerprints(List<FingerprintViewItem> fingerprints) {
|
||||
LOGGER.log(Level.INFO, "Display fingerprints: " + Arrays.asList(fingerprints.toArray()));
|
||||
fingerprintsLayout.setVisibility(fingerprints.isEmpty() ? View.GONE : View.VISIBLE);
|
||||
fingerprintsAdapter.setItems(fingerprints);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.mercury_im.messenger.data.model;
|
|||
import org.jxmpp.jid.EntityBareJid;
|
||||
import org.mercury_im.messenger.data.converter.EntityBareJidConverter;
|
||||
import org.mercury_im.messenger.data.converter.OpenPgpV4FingerprintConverter;
|
||||
import org.mercury_im.messenger.entity.Account;
|
||||
import org.pgpainless.key.OpenPgpV4Fingerprint;
|
||||
|
||||
import java.util.Date;
|
||||
|
@ -11,7 +12,9 @@ import java.util.UUID;
|
|||
import io.requery.Column;
|
||||
import io.requery.Convert;
|
||||
import io.requery.Entity;
|
||||
import io.requery.ForeignKey;
|
||||
import io.requery.Key;
|
||||
import io.requery.ReferentialAction;
|
||||
import io.requery.Table;
|
||||
import io.requery.converter.UUIDConverter;
|
||||
|
||||
|
@ -21,6 +24,7 @@ public class AbstractAnnouncedOpenPgpContactKey {
|
|||
|
||||
@Key
|
||||
@Convert(UUIDConverter.class)
|
||||
@ForeignKey(references = AbstractAccountModel.class, delete = ReferentialAction.CASCADE)
|
||||
UUID accountId;
|
||||
|
||||
@Key
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.mercury_im.messenger.data.model;
|
|||
import org.jxmpp.jid.EntityBareJid;
|
||||
import org.mercury_im.messenger.data.converter.EntityBareJidConverter;
|
||||
import org.mercury_im.messenger.data.converter.OpenPgpV4FingerprintConverter;
|
||||
import org.mercury_im.messenger.entity.Account;
|
||||
import org.pgpainless.key.OpenPgpV4Fingerprint;
|
||||
|
||||
import java.util.Date;
|
||||
|
@ -11,7 +12,9 @@ import java.util.UUID;
|
|||
import io.requery.Column;
|
||||
import io.requery.Convert;
|
||||
import io.requery.Entity;
|
||||
import io.requery.ForeignKey;
|
||||
import io.requery.Key;
|
||||
import io.requery.ReferentialAction;
|
||||
import io.requery.Table;
|
||||
import io.requery.converter.UUIDConverter;
|
||||
|
||||
|
@ -21,6 +24,7 @@ public class AbstractOpenPgpKeyFetchDate {
|
|||
|
||||
@Key
|
||||
@Convert(UUIDConverter.class)
|
||||
@ForeignKey(references = AbstractAccountModel.class, delete = ReferentialAction.CASCADE)
|
||||
UUID accountId;
|
||||
|
||||
@Key
|
||||
|
|
|
@ -5,13 +5,16 @@ import org.jxmpp.jid.EntityBareJid;
|
|||
import org.mercury_im.messenger.data.converter.EntityBareJidConverter;
|
||||
import org.mercury_im.messenger.data.converter.OpenPgpTrustConverter;
|
||||
import org.mercury_im.messenger.data.converter.OpenPgpV4FingerprintConverter;
|
||||
import org.mercury_im.messenger.entity.Account;
|
||||
import org.pgpainless.key.OpenPgpV4Fingerprint;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import io.requery.Convert;
|
||||
import io.requery.Entity;
|
||||
import io.requery.ForeignKey;
|
||||
import io.requery.Key;
|
||||
import io.requery.ReferentialAction;
|
||||
import io.requery.Table;
|
||||
import io.requery.converter.UUIDConverter;
|
||||
|
||||
|
@ -21,6 +24,7 @@ public class AbstractOpenPgpKeyTrust {
|
|||
|
||||
@Key
|
||||
@Convert(UUIDConverter.class)
|
||||
@ForeignKey(references = AbstractAccountModel.class, delete = ReferentialAction.CASCADE)
|
||||
UUID accountId;
|
||||
|
||||
@Key
|
||||
|
|
|
@ -2,13 +2,16 @@ package org.mercury_im.messenger.data.model;
|
|||
|
||||
import org.jxmpp.jid.EntityBareJid;
|
||||
import org.mercury_im.messenger.data.converter.EntityBareJidConverter;
|
||||
import org.mercury_im.messenger.entity.Account;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import io.requery.Column;
|
||||
import io.requery.Convert;
|
||||
import io.requery.Entity;
|
||||
import io.requery.ForeignKey;
|
||||
import io.requery.Key;
|
||||
import io.requery.ReferentialAction;
|
||||
import io.requery.Table;
|
||||
|
||||
@Entity
|
||||
|
@ -17,6 +20,7 @@ public class AbstractOpenPgpPublicKeyRing {
|
|||
|
||||
@Key
|
||||
@Column(name = "account_id", nullable = false)
|
||||
@ForeignKey(references = AbstractAccountModel.class, delete = ReferentialAction.CASCADE)
|
||||
UUID accountId;
|
||||
|
||||
@Key
|
||||
|
|
|
@ -2,13 +2,16 @@ package org.mercury_im.messenger.data.model;
|
|||
|
||||
import org.jxmpp.jid.EntityBareJid;
|
||||
import org.mercury_im.messenger.data.converter.EntityBareJidConverter;
|
||||
import org.mercury_im.messenger.entity.Account;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import io.requery.Column;
|
||||
import io.requery.Convert;
|
||||
import io.requery.Entity;
|
||||
import io.requery.ForeignKey;
|
||||
import io.requery.Key;
|
||||
import io.requery.ReferentialAction;
|
||||
import io.requery.Table;
|
||||
|
||||
@Entity
|
||||
|
@ -17,6 +20,7 @@ public class AbstractOpenPgpSecretKeyRing {
|
|||
|
||||
@Key
|
||||
@Column(name = "account_id", nullable = false)
|
||||
@ForeignKey(references = AbstractAccountModel.class, delete = ReferentialAction.CASCADE)
|
||||
UUID accountId;
|
||||
|
||||
@Key
|
||||
|
|
|
@ -119,10 +119,10 @@ public class LoginViewModel implements MercuryViewModel {
|
|||
Account account = createAccountEntity();
|
||||
|
||||
MercuryConnection connection = connectionManager.createConnection(account);
|
||||
addDisposable(connection.connect()
|
||||
addDisposable(accountRepository.upsertAccount(account).ignoreElement()
|
||||
.andThen(connection.connect())
|
||||
.andThen(connection.login())
|
||||
.andThen(connectionManager.registerConnection(connection))
|
||||
.andThen(accountRepository.insertAccount(account))
|
||||
.subscribeOn(schedulers.getNewThread())
|
||||
.observeOn(schedulers.getUiScheduler())
|
||||
.subscribe(
|
||||
|
@ -140,8 +140,7 @@ public class LoginViewModel implements MercuryViewModel {
|
|||
return account;
|
||||
}
|
||||
|
||||
private void onLoginSuccessful(Account account) {
|
||||
LOGGER.log(Level.FINER, "Successfully added new account " + account);
|
||||
private void onLoginSuccessful() {
|
||||
isLoginSuccessful.onNext(true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue