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,9 +132,16 @@ 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
if (position == 0)
spProvider.setSelection(0);
else {
boolean found = false;
for (int pos = 1; pos < spProvider.getAdapter().getCount(); pos++) { for (int pos = 1; pos < spProvider.getAdapter().getCount(); pos++) {
Provider provider = (Provider) spProvider.getItemAtPosition(pos); Provider provider = (Provider) spProvider.getItemAtPosition(pos);
if (provider.imap_host.equals(account.host) && provider.imap_port == account.port) { if (provider.imap_host.equals(account.host) &&
provider.imap_port == account.port) {
found = true;
spProvider.setSelection(pos); spProvider.setSelection(pos);
// This is needed because the spinner might be invisible // This is needed because the spinner might be invisible
@ -143,6 +152,9 @@ public class FragmentIdentity extends FragmentEx {
break; break;
} }
} }
if (!found)
grpAdvanced.setVisibility(View.VISIBLE);
}
// Copy account user name // Copy account user name
etEmail.setText(account.user); etEmail.setText(account.user);

Loading…
Cancel
Save