From b1db4ddbb1bef7289194e9c407e9ae9bba780dd8 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 7 Mar 2019 10:11:42 +0100 Subject: [PATCH] Add Welcome message --- .../android/ui/activity/HomeActivity.kt | 18 ++++++++++++++- .../android/util/Preferences.kt | 23 +++++++++++++++---- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt index 87f5f11c..9711602c 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt @@ -3,12 +3,13 @@ package net.pokeranalytics.android.ui.activity import android.content.Context import android.content.Intent import android.os.Bundle +import androidx.appcompat.app.AlertDialog import com.google.android.material.bottomnavigation.BottomNavigationView import kotlinx.android.synthetic.main.activity_home.* import net.pokeranalytics.android.R import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.adapter.HomePagerAdapter - +import net.pokeranalytics.android.util.Preferences class HomeActivity : PokerAnalyticsActivity() { @@ -44,6 +45,7 @@ class HomeActivity : PokerAnalyticsActivity() { setContentView(R.layout.activity_home) initUI() + checkFirstLaunch() } /** @@ -60,6 +62,20 @@ class HomeActivity : PokerAnalyticsActivity() { } + /** + * Check first launch + */ + private fun checkFirstLaunch() { + if (Preferences.getBoolean(Preferences.Keys.FIRST_LAUNCH, this, true)) { + Preferences.setBoolean(Preferences.Keys.FIRST_LAUNCH, false, this) + val builder = AlertDialog.Builder(this) + .setTitle(String.format(getString(R.string.welcome_in_), getString(R.string.app_name))) + .setMessage(R.string.popup_message_welcome) + .setNegativeButton(R.string.ok, null) + builder.show() + } + } + /** * Display a new fragment */ diff --git a/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt b/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt index d87d9cdf..20e58f93 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt @@ -7,7 +7,8 @@ import java.util.* class Preferences { enum class Keys(var identifier: String) { - CURRENCY_CODE("CurrencyCode") + CURRENCY_CODE("CurrencyCode"), + FIRST_LAUNCH("firstLaunch") } companion object { @@ -15,10 +16,10 @@ class Preferences { var currencyLocale : Locale? = null fun setString(key: Keys, value: String, context: Context) { - val preferences = PreferenceManager.getDefaultSharedPreferences(context) - val editor = preferences.edit() - editor.putString(key.identifier, value) - editor.commit() + val preferences = PreferenceManager.getDefaultSharedPreferences(context) + val editor = preferences.edit() + editor.putString(key.identifier, value) + editor.apply() } fun getString(key: Keys, context: Context) : String? { @@ -26,6 +27,18 @@ class Preferences { return preferences.getString(key.identifier, null) } + fun setBoolean(key: Keys, value: Boolean, context: Context) { + val preferences = PreferenceManager.getDefaultSharedPreferences(context) + val editor = preferences.edit() + editor.putBoolean(key.identifier, value) + editor.apply() + } + + fun getBoolean(key: Keys, context: Context, defaultValue: Boolean? = false) : Boolean { + val preferences = PreferenceManager.getDefaultSharedPreferences(context) + return preferences.getBoolean(key.identifier, defaultValue ?: false) + } + fun setCurrencyCode(currencyCode: String, context: Context) { Preferences.setString(Keys.CURRENCY_CODE, currencyCode, context) currencyLocale = null