aboutsummaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-09-24 16:28:15 -0400
committerGitHub <noreply@github.com>2017-09-24 16:28:15 -0400
commit251e697e8e3a17370359273c5fcf7cc2a9f33912 (patch)
tree96ca0b2c13066004cbbec464f2d366b1b738de20 /app/src
parentc4453c85557d2dbf24fa72def544335fe5782182 (diff)
downloadfrost-251e697e8e3a17370359273c5fcf7cc2a9f33912.tar.gz
frost-251e697e8e3a17370359273c5fcf7cc2a9f33912.tar.bz2
frost-251e697e8e3a17370359273c5fcf7cc2a9f33912.zip
Enhancement/rating (#334)
* Add rating button after one month * Add rating for pro purchase and clean dialogs * Update kau
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt5
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt10
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IABDialogs.kt36
-rw-r--r--app/src/main/res/values/strings_play_store.xml6
5 files changed, 17 insertions, 42 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
index 53480f86..14ee3904 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
@@ -117,7 +117,7 @@ class MainActivity : BaseActivity(), SearchWebView.SearchContract,
if (BuildConfig.VERSION_CODE > Prefs.versionCode) {
Prefs.versionCode = BuildConfig.VERSION_CODE
if (!BuildConfig.DEBUG) {
- showChangelog(R.xml.frost_changelog, Prefs.textColor) { theme() }
+ frostChangelog()
frostAnswersCustom("Version",
"Version code" to BuildConfig.VERSION_CODE,
"Version name" to BuildConfig.VERSION_NAME,
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
index c51b6fe5..0e0599bf 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
@@ -14,7 +14,6 @@ import ca.allanwang.kau.kpref.activity.KPrefAdapterBuilder
import ca.allanwang.kau.kpref.activity.items.KPrefItemBase
import ca.allanwang.kau.ui.views.RippleCanvas
import ca.allanwang.kau.utils.*
-import ca.allanwang.kau.xml.showChangelog
import com.mikepenz.community_material_typeface_library.CommunityMaterial
import com.mikepenz.google_material_typeface_library.GoogleMaterial
import com.pitchedapps.frost.BuildConfig
@@ -72,7 +71,7 @@ class SettingsActivity : KPrefActivity(), FrostBilling by IABSettings() {
accentColor = { Prefs.accentColor }
}
- override fun onCreateKPrefs(savedInstanceState: android.os.Bundle?): KPrefAdapterBuilder.() -> Unit = {
+ override fun onCreateKPrefs(savedInstanceState: Bundle?): KPrefAdapterBuilder.() -> Unit = {
subItems(R.string.appearance, getAppearancePrefs()) {
descRes = R.string.appearance_desc
iicon = GoogleMaterial.Icon.gmd_palette
@@ -180,7 +179,7 @@ class SettingsActivity : KPrefActivity(), FrostBilling by IABSettings() {
items(Support.values().map { string(it.title) })
itemsCallback { _, _, which, _ -> Support.values()[which].sendEmail(this@SettingsActivity) }
}
- R.id.action_changelog -> showChangelog(R.xml.frost_changelog, Prefs.textColor) { theme() }
+ R.id.action_changelog -> frostChangelog()
else -> return super.onOptionsItemSelected(item)
}
return true
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
index e5e1a706..aeddd20c 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
@@ -16,6 +16,7 @@ import android.widget.TextView
import ca.allanwang.kau.mediapicker.createMediaFile
import ca.allanwang.kau.mediapicker.createPrivateMediaFile
import ca.allanwang.kau.utils.*
+import ca.allanwang.kau.xml.showChangelog
import com.afollestad.materialdialogs.MaterialDialog
import com.bumptech.glide.RequestBuilder
import com.bumptech.glide.load.resource.bitmap.CircleCrop
@@ -197,3 +198,12 @@ fun Context.resolveActivityForUri(uri: Uri): Boolean {
inline val String?.isFacebookUrl
get() = this != null && this.contains(FACEBOOK_COM)
+fun Context.frostChangelog() = showChangelog(R.xml.frost_changelog, Prefs.textColor) {
+ theme()
+ if (System.currentTimeMillis() - Prefs.installDate > 2592000000) { //show after 1 month
+ neutralText(R.string.kau_rate)
+ onNeutral { _, _ -> startPlayStoreLink(R.string.play_store_package_id) }
+ }
+}
+
+
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IABDialogs.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IABDialogs.kt
index e997731b..8ddb46d2 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IABDialogs.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IABDialogs.kt
@@ -78,44 +78,14 @@ fun Activity.playStorePurchaseUnsupported() {
}
}
-fun Activity.playStoreProNotAvailable() {
- L.d("Pro query; store not available")
- materialDialogThemed {
- title(R.string.uh_oh)
- content(R.string.play_store_not_found_pro_query)
- positiveText(R.string.kau_ok)
- neutralText(R.string.kau_play_store)
- onNeutral { _, _ -> startPlayStoreLink(R.string.play_store_package_id) }
- }
-}
-
-fun Activity.playStoreGenericError(text: String? = "Store generic error") {
- if (text != null) playStoreLog("IAB: $text")
- materialDialogThemed {
- title(R.string.uh_oh)
- content(R.string.play_store_billing_error)
- positiveText(R.string.kau_ok)
- }
-}
-
-fun Activity.playStoreAlreadyPurchased(key: String) {
- L.d("Play store already purchased $key")
- materialDialogThemed {
- title(R.string.play_already_purchased)
- content(String.format(string(R.string.play_already_purchased_content), key))
- positiveText(R.string.reload)
- dismissListener {
- this@playStoreAlreadyPurchased.playRestart()
- }
- }
-}
-
fun Activity.playStorePurchasedSuccessfully(key: String) {
L.d("Play store purchased $key successfully")
materialDialogThemed {
title(R.string.play_thank_you)
content(R.string.play_purchased_pro)
positiveText(R.string.kau_ok)
+ neutralText(R.string.kau_rate)
+ onNeutral { _, _ -> startPlayStoreLink(R.string.play_store_package_id) }
}
}
@@ -123,7 +93,7 @@ fun Activity.purchaseRestored() {
L.d("Purchase restored")
materialDialogThemed {
title(R.string.play_thank_you)
- content(R.string.play_purchased_pro)
+ content(R.string.purchases_restored_with_pro)
positiveText(R.string.kau_ok)
}
} \ No newline at end of file
diff --git a/app/src/main/res/values/strings_play_store.xml b/app/src/main/res/values/strings_play_store.xml
index 8d37ee16..36ad6143 100644
--- a/app/src/main/res/values/strings_play_store.xml
+++ b/app/src/main/res/values/strings_play_store.xml
@@ -3,11 +3,7 @@
<string name="found_pro">Found Frost Pro!</string>
<string name="found_pro_desc">Looks like you have frost pro! We\'ll reload the app so you can enjoy the awesome features!</string>
- <string name="play_already_purchased">Already Purchased</string>
- <string name="play_already_purchased_content">Looks like you\'ve already purchased %s. Enjoy!</string>
- <string name="play_purchased_pro">Thank you for your support! Enjoy the pro version.</string>
- <string name="play_store_billing_error">Something went wrong. Please try again later.</string>
- <string name="play_store_not_found_pro_query">This is a pro feature, but this app doesn\'t seem to be installed from the Play Store. Please reinstall if this is an issue.</string>
+ <string name="play_purchased_pro">Thank you for your support! Enjoy all the features in Frost.\n\nIf you like this app, please consider rating it and supporting this open source project.\n\nIf you have comments, please do not hesitate to contact me!</string>
<string name="play_store_not_pro">It seems like you are a pro user, but we couldn\'t find your purchasing info. If this error persists, please try clearing the Play Store cache and reinstalling the app.</string>
<string name="play_store_unsupported">It seems like this app version can\'t purchase pro. Please reinstall from the play store if this is a persistent issue.
\nIf you would like to donate without any additional features, you may do so through PayPal.</string>