diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2018-11-09 20:52:42 +0300 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2018-11-09 20:52:42 +0300 |
commit | e335c596003c080e87f4aeea258ea9e26a88129f (patch) | |
tree | ddb065a7f13bf1b01e1c186c34dda1037ffa0932 /src/quicksy/java | |
parent | 5012ff3545a443c4f9317bb9ff38275c33715330 (diff) |
suggest previously assigned nick in Enter Name Activity
Diffstat (limited to 'src/quicksy/java')
-rw-r--r-- | src/quicksy/java/eu/siacs/conversations/ui/EnterNameActivity.java | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/quicksy/java/eu/siacs/conversations/ui/EnterNameActivity.java b/src/quicksy/java/eu/siacs/conversations/ui/EnterNameActivity.java index 0702aa052..136cb8e31 100644 --- a/src/quicksy/java/eu/siacs/conversations/ui/EnterNameActivity.java +++ b/src/quicksy/java/eu/siacs/conversations/ui/EnterNameActivity.java @@ -6,23 +6,29 @@ import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.View; +import java.util.concurrent.atomic.AtomicBoolean; + import eu.siacs.conversations.R; import eu.siacs.conversations.databinding.ActivityEnterNameBinding; import eu.siacs.conversations.entities.Account; +import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.utils.AccountUtils; -public class EnterNameActivity extends XmppActivity { +public class EnterNameActivity extends XmppActivity implements XmppConnectionService.OnAccountUpdate { private ActivityEnterNameBinding binding; private Account account; + private AtomicBoolean setNick = new AtomicBoolean(false); + @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_enter_name); setSupportActionBar((Toolbar) this.binding.toolbar); this.binding.next.setOnClickListener(this::next); + this.setNick.set(savedInstanceState != null && savedInstanceState.getBoolean("set_nick",false)); } private void next(View view) { @@ -43,12 +49,33 @@ public class EnterNameActivity extends XmppActivity { } @Override - protected void refreshUiReal() { + public void onSaveInstanceState(Bundle savedInstanceState) { + savedInstanceState.putBoolean("set_nick", this.setNick.get()); + super.onSaveInstanceState(savedInstanceState); + } + @Override + protected void refreshUiReal() { + checkSuggestPreviousNick(); } @Override void onBackendConnected() { this.account = AccountUtils.getFirst(xmppConnectionService); + checkSuggestPreviousNick(); + } + + private void checkSuggestPreviousNick() { + String displayName = this.account == null ? null : this.account.getDisplayName(); + if (displayName != null) { + if (setNick.compareAndSet(false, true) && this.binding.name.getText().length() == 0) { + this.binding.name.getText().append(displayName); + } + } + } + + @Override + public void onAccountUpdate() { + refreshUi(); } } |