From 041351b176843d9ba0be2813a16e4623ebfeee65 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 21 Sep 2019 12:22:32 +0200 Subject: introduce app intro and some help screens --- .../de/pixart/messenger/ui/SettingsActivity.java | 35 ++++++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui/SettingsActivity.java') 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 allEntries = getPrefs.getAll(); + for (Map.Entry 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(); + } + + } + } + } } -- cgit v1.2.3