diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-09-21 12:22:32 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-09-21 12:22:32 +0200 |
commit | 041351b176843d9ba0be2813a16e4623ebfeee65 (patch) | |
tree | d297eb81f4d262d9ef7b5c391c7779770193ce26 /src/main/java/de/pixart/messenger/ui/SettingsActivity.java | |
parent | 82ff5d12389321fe7effae29269f902e16f54179 (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.java | 35 |
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(); + } + + } + } + } } |