Setup improvements

pull/125/head
M66B 7 years ago
parent 96df682541
commit 6e66ddcd53

@ -730,12 +730,15 @@ public class FragmentAccount extends FragmentEx {
if (savedInstanceState == null) { if (savedInstanceState == null) {
if (account != null) { if (account != null) {
for (int pos = 2; pos < providers.size(); pos++) for (int pos = 2; pos < providers.size(); pos++) {
if (providers.get(pos).imap_host.equals(account.host)) { Provider provider = providers.get(pos);
if (provider.imap_host.equals(account.host) &&
provider.imap_port == account.port) {
spProvider.setTag(pos); spProvider.setTag(pos);
spProvider.setSelection(pos); spProvider.setSelection(pos);
break; break;
} }
}
etHost.setText(account.host); etHost.setText(account.host);
etPort.setText(Long.toString(account.port)); etPort.setText(Long.toString(account.port));
} }

@ -119,6 +119,8 @@ public class FragmentIdentity extends FragmentEx {
@Override @Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) { public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
btnAdvanced.setVisibility(position > 0 ? View.VISIBLE : View.GONE); btnAdvanced.setVisibility(position > 0 ? View.VISIBLE : View.GONE);
if (position == 0)
grpAdvanced.setVisibility(View.GONE);
tilPassword.setPasswordVisibilityToggleEnabled(position == 0); tilPassword.setPasswordVisibilityToggleEnabled(position == 0);
btnSave.setVisibility(position > 0 ? View.VISIBLE : View.GONE); btnSave.setVisibility(position > 0 ? View.VISIBLE : View.GONE);
@ -130,18 +132,28 @@ public class FragmentIdentity extends FragmentEx {
EntityAccount account = (EntityAccount) adapterView.getAdapter().getItem(position); EntityAccount account = (EntityAccount) adapterView.getAdapter().getItem(position);
// Select associated provider // Select associated provider
for (int pos = 1; pos < spProvider.getAdapter().getCount(); pos++) { if (position == 0)
Provider provider = (Provider) spProvider.getItemAtPosition(pos); spProvider.setSelection(0);
if (provider.imap_host.equals(account.host) && provider.imap_port == account.port) { else {
spProvider.setSelection(pos); boolean found = false;
for (int pos = 1; pos < spProvider.getAdapter().getCount(); pos++) {
// This is needed because the spinner might be invisible Provider provider = (Provider) spProvider.getItemAtPosition(pos);
etHost.setText(provider.smtp_host); if (provider.imap_host.equals(account.host) &&
etPort.setText(Integer.toString(provider.smtp_port)); provider.imap_port == account.port) {
cbStartTls.setChecked(provider.starttls); found = true;
break; spProvider.setSelection(pos);
// This is needed because the spinner might be invisible
etHost.setText(provider.smtp_host);
etPort.setText(Integer.toString(provider.smtp_port));
cbStartTls.setChecked(provider.starttls);
break;
}
} }
if (!found)
grpAdvanced.setVisibility(View.VISIBLE);
} }
// Copy account user name // Copy account user name

Loading…
Cancel
Save