show only username when registering account with magic create
This commit is contained in:
parent
98ecac0ffa
commit
d23178acb9
|
@ -38,7 +38,7 @@ public final class Config {
|
|||
|
||||
|
||||
public static final String DOMAIN_LOCK = null; //only allow account creation for this domain
|
||||
public static final String MAGIC_CREATE_DOMAIN = null;
|
||||
public static final String MAGIC_CREATE_DOMAIN = "conversations.im";
|
||||
public static final boolean DISALLOW_REGISTRATION_IN_UI = false; //hide the register checkbox
|
||||
|
||||
public static final boolean ALLOW_NON_TLS_CONNECTIONS = false; //very dangerous. you should have a good reason to set this to true
|
||||
|
|
|
@ -102,6 +102,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
|
||||
private Jid jidToEdit;
|
||||
private boolean mInitMode = false;
|
||||
private boolean mUsernameMode = Config.DOMAIN_LOCK != null;
|
||||
private boolean mShowOptions = false;
|
||||
private Account mAccount;
|
||||
private String messageFingerprint;
|
||||
|
@ -128,20 +129,20 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
return;
|
||||
}
|
||||
final boolean registerNewAccount = mRegisterNew.isChecked() && !Config.DISALLOW_REGISTRATION_IN_UI;
|
||||
if (Config.DOMAIN_LOCK != null && mAccountJid.getText().toString().contains("@")) {
|
||||
if (mUsernameMode && mAccountJid.getText().toString().contains("@")) {
|
||||
mAccountJid.setError(getString(R.string.invalid_username));
|
||||
mAccountJid.requestFocus();
|
||||
return;
|
||||
}
|
||||
final Jid jid;
|
||||
try {
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
jid = Jid.fromParts(mAccountJid.getText().toString(), Config.DOMAIN_LOCK, null);
|
||||
if (mUsernameMode) {
|
||||
jid = Jid.fromParts(mAccountJid.getText().toString(), getUserModeDomain(), null);
|
||||
} else {
|
||||
jid = Jid.fromString(mAccountJid.getText().toString());
|
||||
}
|
||||
} catch (final InvalidJidException e) {
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
if (mUsernameMode) {
|
||||
mAccountJid.setError(getString(R.string.invalid_username));
|
||||
} else {
|
||||
mAccountJid.setError(getString(R.string.invalid_jid));
|
||||
|
@ -175,7 +176,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
}
|
||||
|
||||
if (jid.isDomainJid()) {
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
if (mUsernameMode) {
|
||||
mAccountJid.setError(getString(R.string.invalid_username));
|
||||
} else {
|
||||
mAccountJid.setError(getString(R.string.invalid_jid));
|
||||
|
@ -395,7 +396,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
|
||||
protected boolean jidEdited() {
|
||||
final String unmodified;
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
if (mUsernameMode) {
|
||||
unmodified = this.mAccount.getJid().getLocalpart();
|
||||
} else {
|
||||
unmodified = this.mAccount.getJid().toBareJid().toString();
|
||||
|
@ -427,10 +428,6 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
this.mAccountJid = (AutoCompleteTextView) findViewById(R.id.account_jid);
|
||||
this.mAccountJid.addTextChangedListener(this.mTextWatcher);
|
||||
this.mAccountJidLabel = (TextView) findViewById(R.id.account_jid_label);
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
this.mAccountJidLabel.setText(R.string.username);
|
||||
this.mAccountJid.setHint(R.string.username_hint);
|
||||
}
|
||||
this.mPassword = (EditText) findViewById(R.id.account_password);
|
||||
this.mPassword.addTextChangedListener(this.mTextWatcher);
|
||||
this.mPasswordConfirm = (EditText) findViewById(R.id.account_password_confirm);
|
||||
|
@ -577,6 +574,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
this.mAccount = xmppConnectionService.findAccountByJid(jidToEdit);
|
||||
if (this.mAccount != null) {
|
||||
this.mInitMode |= this.mAccount.isOptionSet(Account.OPTION_REGISTER);
|
||||
this.mUsernameMode |= mAccount.isOptionSet(Account.OPTION_MAGIC_CREATE) && mAccount.isOptionSet(Account.OPTION_REGISTER);
|
||||
if (this.mAccount.getPrivateKeyAlias() != null) {
|
||||
this.mPassword.setHint(R.string.authenticate_with_certificate);
|
||||
if (this.mInitMode) {
|
||||
|
@ -596,7 +594,10 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
this.mCancelButton.setEnabled(false);
|
||||
this.mCancelButton.setTextColor(getSecondaryTextColor());
|
||||
}
|
||||
if (Config.DOMAIN_LOCK == null) {
|
||||
if (mUsernameMode) {
|
||||
this.mAccountJidLabel.setText(R.string.username);
|
||||
this.mAccountJid.setHint(R.string.username_hint);
|
||||
} else {
|
||||
final KnownHostsAdapter mKnownHostsAdapter = new KnownHostsAdapter(this,
|
||||
R.layout.simple_list_item,
|
||||
xmppConnectionService.getKnownHosts());
|
||||
|
@ -606,6 +607,14 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
invalidateOptionsMenu();
|
||||
}
|
||||
|
||||
private String getUserModeDomain() {
|
||||
if (mAccount != null) {
|
||||
return mAccount.getJid().getDomainpart();
|
||||
} else {
|
||||
return Config.DOMAIN_LOCK;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
@ -666,7 +675,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate
|
|||
private void updateAccountInformation(boolean init) {
|
||||
if (init) {
|
||||
this.mAccountJid.getEditableText().clear();
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
if (mUsernameMode) {
|
||||
this.mAccountJid.getEditableText().append(this.mAccount.getJid().getLocalpart());
|
||||
} else {
|
||||
this.mAccountJid.getEditableText().append(this.mAccount.getJid().toBareJid().toString());
|
||||
|
|
Loading…
Reference in a new issue