aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-09-21 12:22:32 +0200
committerChristian Schneppe <christian@pix-art.de>2019-09-21 12:22:32 +0200
commit041351b176843d9ba0be2813a16e4623ebfeee65 (patch)
treed297eb81f4d262d9ef7b5c391c7779770193ce26 /src/main/java/de/pixart/messenger/ui/SettingsActivity.java
parent82ff5d12389321fe7effae29269f902e16f54179 (diff)
introduce app intro and some help screens
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/SettingsActivity.java')
-rw-r--r--src/main/java/de/pixart/messenger/ui/SettingsActivity.java35
1 files changed, 32 insertions, 3 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
index 26b1bfdd9..ba7508556 100644
--- a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
@@ -15,18 +15,20 @@ import android.preference.Preference;
import android.preference.PreferenceCategory;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.appcompat.app.AlertDialog;
import android.util.Log;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.content.ContextCompat;
+
import java.io.File;
import java.security.KeyStoreException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import de.pixart.messenger.Config;
import de.pixart.messenger.R;
@@ -37,6 +39,7 @@ import de.pixart.messenger.services.ExportBackupService;
import de.pixart.messenger.services.MemorizingTrustManager;
import de.pixart.messenger.ui.util.StyledAttributes;
import de.pixart.messenger.utils.TimeframeUtils;
+import me.drakeet.support.toast.ToastCompat;
import rocks.xmpp.addr.Jid;
public class SettingsActivity extends XmppActivity implements
@@ -266,6 +269,15 @@ public class SettingsActivity extends XmppActivity implements
});
}
+ final Preference showIntroAgainPreference = mSettingsFragment.findPreference("show_intro");
+ if (showIntroAgainPreference != null) {
+ showIntroAgainPreference.setSummary(getString(R.string.pref_show_intro_summary));
+ showIntroAgainPreference.setOnPreferenceClickListener(preference -> {
+ showIntroAgain();
+ return true;
+ });
+ }
+
if (Config.ONLY_INTERNAL_STORAGE) {
final Preference cleanCachePreference = mSettingsFragment.findPreference("clean_cache");
if (cleanCachePreference != null) {
@@ -519,4 +531,21 @@ public class SettingsActivity extends XmppActivity implements
Log.d(Config.LOGTAG, "Get number of accounts from file: " + NumberOfAccounts);
return NumberOfAccounts;
}
+
+ private void showIntroAgain() {
+ SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(this.getBaseContext());
+ Map<String, ?> allEntries = getPrefs.getAll();
+ for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
+ if (entry.getKey().contains("intro_shown_on_activity")) {
+ SharedPreferences.Editor e = getPrefs.edit();
+ e.putBoolean(entry.getKey(), true);
+ if (e.commit()) {
+ ToastCompat.makeText(this, R.string.show_intro_again, ToastCompat.LENGTH_SHORT).show();
+ } else {
+ ToastCompat.makeText(this, R.string.show_intro_again_failed, ToastCompat.LENGTH_SHORT).show();
+ }
+
+ }
+ }
+ }
}