From 251e697e8e3a17370359273c5fcf7cc2a9f33912 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 24 Sep 2017 16:28:15 -0400 Subject: Enhancement/rating (#334) * Add rating button after one month * Add rating for pro purchase and clean dialogs * Update kau --- .../pitchedapps/frost/activities/MainActivity.kt | 2 +- .../frost/activities/SettingsActivity.kt | 5 ++- .../kotlin/com/pitchedapps/frost/utils/Utils.kt | 10 ++++++ .../com/pitchedapps/frost/utils/iab/IABDialogs.kt | 36 ++-------------------- 4 files changed, 16 insertions(+), 37 deletions(-) (limited to 'app/src/main/kotlin') 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 -- cgit v1.2.3