From 7c608c88625a424e7881116e3e7373c80fd73e28 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sun, 18 Sep 2016 20:26:47 +0200 Subject: recreate activities when theme changed --- .../eu/siacs/conversations/ui/ConferenceDetailsActivity.java | 9 +++++++++ .../eu/siacs/conversations/ui/ContactDetailsActivity.java | 11 ++++++++--- .../java/eu/siacs/conversations/ui/EditAccountActivity.java | 5 ++++- .../java/eu/siacs/conversations/ui/ManageAccountActivity.java | 9 +++++++++ .../eu/siacs/conversations/ui/StartConversationActivity.java | 7 ++++++- 5 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java index e6f7fc5d..7791372a 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java @@ -270,6 +270,15 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers this.mNotifyStatusText = (TextView) findViewById(R.id.notification_status_text); } + @Override + protected void onStart() { + super.onStart(); + final int theme = findTheme(); + if (this.mTheme != theme) { + recreate(); + } + } + @Override public boolean onOptionsItemSelected(MenuItem menuItem) { switch (menuItem.getItemId()) { diff --git a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java index 836e345b..08128094 100644 --- a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java @@ -227,9 +227,14 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd @Override public void onStart() { super.onStart(); - final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); - this.showDynamicTags = preferences.getBoolean("show_dynamic_tags",false); - this.showLastSeen = preferences.getBoolean("last_activity", false); + final int theme = findTheme(); + if (this.mTheme != theme) { + recreate(); + } else { + final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); + this.showDynamicTags = preferences.getBoolean("show_dynamic_tags", false); + this.showLastSeen = preferences.getBoolean("last_activity", false); + } } @Override diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java index c10d2741..83364ca2 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java @@ -587,7 +587,10 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate @Override protected void onStart() { super.onStart(); - if (getIntent() != null) { + final int theme = findTheme(); + if (this.mTheme != theme) { + recreate(); + } else if (getIntent() != null) { try { this.jidToEdit = Jid.fromString(getIntent().getStringExtra("jid")); } catch (final InvalidJidException | NullPointerException ignored) { diff --git a/src/main/java/eu/siacs/conversations/ui/ManageAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/ManageAccountActivity.java index f52ccb19..0f6b58ef 100644 --- a/src/main/java/eu/siacs/conversations/ui/ManageAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ManageAccountActivity.java @@ -102,6 +102,15 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda registerForContextMenu(accountListView); } + @Override + protected void onStart() { + super.onStart(); + final int theme = findTheme(); + if (this.mTheme != theme) { + recreate(); + } + } + @Override public void onSaveInstanceState(final Bundle savedInstanceState) { if (selectedAccount != null) { diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java index 768961c1..ec5559ae 100644 --- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java @@ -282,7 +282,12 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU @Override public void onStart() { super.onStart(); - askForContactsPermissions(); + final int theme = findTheme(); + if (this.mTheme != theme) { + recreate(); + } else { + askForContactsPermissions(); + } } @Override -- cgit v1.2.3