Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/iNPUTmice/Conversations.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2018-11-09 20:52:42 +0300
committerDaniel Gultsch <daniel@gultsch.de>2018-11-09 20:52:42 +0300
commite335c596003c080e87f4aeea258ea9e26a88129f (patch)
treeddb065a7f13bf1b01e1c186c34dda1037ffa0932 /src/quicksy/java
parent5012ff3545a443c4f9317bb9ff38275c33715330 (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.java31
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();
}
}