diff options
author | Allan Wang <me@allanwang.ca> | 2017-09-24 16:28:15 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-24 16:28:15 -0400 |
commit | 251e697e8e3a17370359273c5fcf7cc2a9f33912 (patch) | |
tree | 96ca0b2c13066004cbbec464f2d366b1b738de20 /app/src | |
parent | c4453c85557d2dbf24fa72def544335fe5782182 (diff) | |
download | frost-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')
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> |