diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-12-16 23:35:06 +0100 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-12-16 23:35:06 +0100 |
commit | 8f0a1c8cd8593fa4288e849886aa253dea7e8eb6 (patch) | |
tree | 285eb012d2bdcf2d0b49e7a429779698492e2b8a /src/main/java/de/pixart/messenger/ui/EditAccountActivity.java | |
parent | 20f15c02a630d7abb6935418136bd5c6ab109231 (diff) |
remove NFC handling + let edit account handle own jids
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/EditAccountActivity.java | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java index 655f83514..3f9c6c48d 100644 --- a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java +++ b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java @@ -287,6 +287,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat private String mSavedInstanceAccount; private boolean mSavedInstanceInit = false; private Button mClearDevicesButton; + private XmppUri pendingUri = null; public void refreshUiReal() { invalidateOptionsMenu(); @@ -419,11 +420,16 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat @Override protected void processFingerprintVerification(XmppUri uri) { + processFingerprintVerification(uri, true); + } + + + protected void processFingerprintVerification(XmppUri uri, boolean showWarningToast) { if (mAccount != null && mAccount.getJid().toBareJid().equals(uri.getJid()) && uri.hasFingerprints()) { if (xmppConnectionService.verifyFingerprints(mAccount,uri.getFingerprints())) { Toast.makeText(this,R.string.verified_fingerprints,Toast.LENGTH_SHORT).show(); } - } else { + } else if (showWarningToast) { Toast.makeText(this,R.string.invalid_barcode,Toast.LENGTH_SHORT).show(); } } @@ -672,6 +678,14 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat } catch (final InvalidJidException | NullPointerException ignored) { this.jidToEdit = null; } + if (jidToEdit != null && getIntent().getData() != null) { + final XmppUri uri = new XmppUri(getIntent().getData()); + if (xmppConnectionServiceBound) { + processFingerprintVerification(uri, false); + } else { + this.pendingUri = uri; + } + } boolean init = getIntent().getBooleanExtra("init", false); this.mInitMode = init || this.jidToEdit == null; this.messageFingerprint = getIntent().getStringExtra("fingerprint"); @@ -700,6 +714,18 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat } @Override + public void onNewIntent(Intent intent) { + if (intent != null && intent.getData() != null) { + final XmppUri uri = new XmppUri(intent.getData()); + if (xmppConnectionServiceBound) { + processFingerprintVerification(uri, false); + } else { + this.pendingUri = uri; + } + } + } + + @Override public void onSaveInstanceState(final Bundle savedInstanceState) { if (mAccount != null) { savedInstanceState.putString("account", mAccount.getJid().toBareJid().toString()); @@ -734,7 +760,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat } } if (mPendingFingerprintVerificationUri != null) { - processFingerprintVerification(mPendingFingerprintVerificationUri); + processFingerprintVerification(mPendingFingerprintVerificationUri, false); mPendingFingerprintVerificationUri = null; } updateAccountInformation(init); @@ -754,6 +780,10 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat xmppConnectionService.getKnownHosts()); this.mAccountJid.setAdapter(mKnownHostsAdapter); } + if (pendingUri != null) { + processFingerprintVerification(pendingUri, false); + pendingUri = null; + } updateSaveButton(); invalidateOptionsMenu(); } |