From 4a07d2ed10741e08895c9e9f03738656ddfc33f9 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 2 Jul 2017 17:24:17 -0700 Subject: Adding auto uploads --- .gitignore | 4 ++- .idea/misc.xml | 2 +- .travis.yml | 22 +++++++++------- app/build.gradle | 30 +++++++++++++++++++++- .../kotlin/com/pitchedapps/frost/MainActivity.kt | 9 ++++++- .../com/pitchedapps/frost/SettingsActivity.kt | 2 +- .../com/pitchedapps/frost/fragments/WebFragment.kt | 27 ++++++++++--------- .../com/pitchedapps/frost/settings/Appearance.kt | 2 +- .../kotlin/com/pitchedapps/frost/utils/Prefs.kt | 4 ++- .../kotlin/com/pitchedapps/frost/utils/Utils.kt | 2 +- .../kotlin/com/pitchedapps/frost/utils/iab/IAB.kt | 18 ++++++------- .../com/pitchedapps/frost/utils/iab/IABDialogs.kt | 4 +-- .../pitchedapps/frost/web/FrostWebViewClient.kt | 10 +++----- .../com/pitchedapps/frost/web/FrostWebViewCore.kt | 2 +- build.gradle | 25 +++++++++++++++++- gradle.properties | 2 +- 16 files changed, 113 insertions(+), 52 deletions(-) diff --git a/.gitignore b/.gitignore index 55f44265..b2405399 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,6 @@ /captures .externalNativeBuild *.min.css -.sass-cache/ \ No newline at end of file +.sass-cache/ +files +!files/secrets.tar.enc \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 085136f8..7319f021 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -53,7 +53,7 @@ - + diff --git a/.travis.yml b/.travis.yml index d345c5ef..3e80761f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,16 +11,17 @@ android: - extra-android-m2repository - extra-google-m2repository licenses: - - '.+' +- ".+" before_install: +- openssl aes-256-cbc -K $encrypted_307b34e4ed15_key -iv $encrypted_307b34e4ed15_iv + -in files/secrets.tar.enc -out secrets.tar -d +- tar xvf secrets.tar - chmod +x gradlew - export JAVA8_HOME=/usr/lib/jvm/java-8-oracle - export JAVA_HOME=$JAVA8_HOME - mkdir "$ANDROID_HOME/licenses" || true - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" -before_script: -- echo "apiSecret=$FABRIC_SECRET" > app/fabric.properties after_success: - chmod +x ./generate-apk-release.sh - "./generate-apk-release.sh" @@ -42,15 +43,18 @@ notifications: Download>" sudo: false before_cache: - - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ +- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock +- rm -fr $HOME/.gradle/caches/*/plugin-resolution/ cache: directories: - - $HOME/.gradle/caches/ - - $HOME/.gradle/wrapper/ - - $HOME/.android/build-cache - - $HOME/.m2s + - "$HOME/.gradle/caches/" + - "$HOME/.gradle/wrapper/" + - "$HOME/.android/build-cache" + - "$HOME/.m2s" env: global: - secure: Sob0b0PXhJ5uq+quf74Vl/jWaJ0RVGqTcn83p45iQI/OCEvCLyLk4FojDrtEuu1wUrWNYnv4EpX2WcAUO8+93e93Y3XIfSltXOWnXtM6usSMm7/2iiT1nR0Q6L1mC0rFLvkkhnm1mlq1DGOZKB3eI6WJKx0+/oX3gWUWgmeTsTln7YjQl/QHIk4tJFt3K+DE0fDJfo561OawC2UUPESULv5O/fd4fbnVIcJYJDBciPqT/PNJ+Rx3DqKO3BKam6+ulv5fByCcPaDXiJ7NfWw+ggpgEBZaIoGy/UL6/it1LiDXRE2yHE1kRTjMOmiCd71pL26J0n4c+o2ldTSMz0dScmbA4c+elQDwCjtnXw21B/pNavRvhGX6iqRl2A3z5/ivVf6foSpCSzLm6FZSizAnMBAa0TxmPiM4F3QWvwtF6Rgo7hD/iuTVUW4i6mOIDfTWRPD4Ha6zdkj6OCRZ1OsIuw3OiYZNtlytX7aTyHIC2aoZw0sUkExbE/3fCP1Ej6632zxGjhof8jlvrnFJZacf921Q0/4O52H6KaQM6L0CV+YpPuctsEkFeoZ6xR0WXS9RTmCyGC3J6Qv+GWlbkFyLsphz43HSaGb8pIrljjmP1N7Q/7Oft54yEwbT6s8pXmBymkVeJQuyKTHzg5yyZgddWbiWM20kN6RA8jnykTMy5FU= - secure: gBv1cAGcw8Nv/n+dprdgG/IFuVqPnyNc+MvJBGTf/s7F6tYRHcP+2l+PUr4I07Ao7XtF1w9xLdeU2JbeM40mjACo/SzIrtOIh6Rehdep/VNO3d5p06qykM3sGL2DlWfA5ALFmtRwFZwKMJ0mZKbOd0kYih85CWw17EL//k+HnIodIHlL81h8ke9Y2AgwDgoXrEqn5Ooz9YtYGKyZhTqyqDOkGuab22twVPBC7SP08XT5zCt7YVPUvKCTizGt2EtttQObqJ0CF9YRB2U9tw4fNqD+yIX8eVw6DGgXLCbFlJ09u7M5UXMTMy0KBl4MYnfLRVWQ3koBzADp6C4wQvBx2j3I4Sea/hIpUZ7QpT+aN6krkKzIiSIPLXgbBeZxaDOcLqllVXxUP8t8uYNejd20AMSXh7MjI105aQ8qsFwGMJXteAZGDN1haiUCdtouqbjkB3ZFsRtAzW5/boutcVyZMyiXXjxekQPPrXdizrPGlI/sKTsAfQBqf4e5JVopRG4FLIEwI8WohU4FqgFN5AHiGDrtNpMtt/S7omXgAZ2s3AaF7Liseu5JzGhtbI4vSEYs55wrXZTeXvZ0s+x7aiMAemHZSDFYSyiOs0xTXdANaTQ6W7nBucmwiQyubl+fRf+NpyrKxdU6pgDNjYCUdrOpU11oAG/KR6IhkRbNVYWf4EY= + - secure: UgLMgYKom1vuzTzl/YVkXePP5uMn/YwgY3L39Brm4t1qUj9uSD/0TCrM9t5eO8RFNvro4eoeyS1QwBAkrWqmRcfEac82JRVoGtXT5lh5J95Hunzk1vtKZbFe334i2LWrTVM16jFHeqGwbpppo2yUlHNbRYBT68XAPSWwlEG+d6nqbmhlwnlvbsOVkXw/XHvGrNtO5u8ckFe3sCYK8YZLHRx8ZL1qrBeQOEay4EWL2y8ZrUjREU2pSNC8s9IKEEGSUGwoL9AAc5t3Pp6YpmvQbh2MBT0LStBsLEw/d1CM5cfjC2xVAuQ4cYJ6fLPIsLu4W/my7yEXKkol7hd+4/DKZ/RTp7Em3YxuhFuG5BjPd2PnC84iEUPqzDk2yW2+Rycsl5sqS/nyh/Ufpt//P2Bj5tphZ6aCO50MI3CxXQ+Z3Jm+L2dMm+GIrAIMFKSK11U/5qr5KEhdSBlBvSufubAH0Lu8AhKhw8fycQ3kNiHEzmDDzQl7xsJ2zY/X+TIUvK2lOsRnQZMNT69ts64BcqLSkqgEUcH4hhgzSs4PqZucnAsbVWdF5A/7hTNlozm1NhJfAYziETz8+WxDZ+ZY3j6QYtehO5i1Fsl8PHZcM6mCSfFoJ3SadK6+7UabMxCDvZ2pBhbAATrqYF6+6XnRPhT7r3M2D9dB2L5oVyZxh7KUaxg= + - secure: I2ekUW3wDxBYQAhyhMFKmbi9NrxQRogsaOyu2Nx+/Sgj/oLm9M0WIiTt9gjO7f49LP5vOuVqLzPFbKSgD8bSJ8Lsz/5SJS+QuJScr/44tEwNb5mTFZFDupet1yon+tf1oPJRkaVG0qPHe8DcJiYmaR6/uFWE7Yop4vmM07cpv4mMQmSutjopjYY9aXT6I1xrajKeu+tfVowO9C5IGJbTlVRVgVRbn4//orxFOllJNzP+U0bNw7vxho/DkmWRpnQn23QAfa1VX7YmCCQ7mZtR8XX14481y23yrVj4ZyCtYWaCZiQUIqnpbgwZRa4Rjsl3web5RTOq988LeyQzlVYABz5PhPHTnQpR9XJCAiApPm6nUHF2esaFnqIauoa65V6imFrj2T7VuAVR+JpMVsg5EBH6rJCV6xCioya/YVDzcEkMNzbNxx7KB0KEjSnYWbPsVURz52XTwzMlRSxvvRLcuGdiDorLQ1oYkmk349x6FD6d6EaFWedGI1TB87lBuM4oWKajL5XHctNfzDK4morP8qGAGArYBfx9432rhHSC4NwScOKfPPy1kLaffjZRGvpJ0Ce7f6E1nDCsED0HCCQaK4q3Jd5PcD2z1kBzpz44fD6Vb1TqLsjAUJaCO0Ug5CoCAkNDYbsvhScwqARt8Fktm9Jzp6ZW1IJa9+F/c3NHIGM= + - secure: krvjw0pIKV8P//xqh/gRATIFLgXU0+o5a6U3nZAF5say0+0J6FUs3XNY459XHoLMVT2byw/NYhvv4oIPQNcMlAIgioowJ8BurDfD1EBl8s9P4Did9CFfkk+O16GNeitTDTILhk3/Wc9iVVBX188h9E5JkYhl6v1K3dKroPQDYoju8V0CzFNzgV5QSow+9rGzaL1AG/YodpHJ7rCQRtZbbpdfkpd0jI+zj2fyGPdHmWGPff3lKQB70Or83BM/BvXXkNdzKnwKT3DhN04Wsvq/JxLmXzMYV2xAzqsXytLnWlKEG8EVmb6YXHEKXGQIRhgmonZY1y8nnk3Sati+bpCxvb82G4l1D8zcVEiC/oADHrIyifHqSkbnz+w28UDrptJqcu33ohSIoKWaZapsxfsplt716db/Hc3b52Gpo8hUsSmXDeEQxrUXkGz1DFQoBeOFV2v/DSB0vQzFePYjJ6PcVXmQH5/sDAJB1Hn598eXzipkBF6HTPH3xAdLbwndjfmsnPomM+kVbx1gRNmnax1lr9JOdhIhJgMI2kxK1eST5zimGK0lBOMxjTe5042kGwK3utV5natOVeqWm7barqcBKKezFr1p6NfUqcRcjxQVzlCMtLLJO0mV7r01veV42YhgbRFUEW0nCKocxsW1eMdBBNkYyM/Ve+cT7/h6hgjiXZw= diff --git a/app/build.gradle b/app/build.gradle index b64e5a74..6c4f05bf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,3 +1,6 @@ +import org.eclipse.jgit.api.Git +import org.eclipse.jgit.storage.file.FileRepositoryBuilder + plugins { id 'com.gladed.androidgitversion' version '0.3.4' } @@ -6,16 +9,24 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'io.fabric' +apply plugin: 'com.github.triplet.play' android { compileSdkVersion Integer.parseInt(project.TARGET_SDK) buildToolsVersion project.BUILD_TOOLS androidGitVersion { - codeFormat = 'MMNNPP' +// baseCode ext.commitCount() + codeFormat = 'MMNNPPP' prefix 'v' } + playAccountConfigs { + defaultAccountConfig { + jsonFile = file('./files/gplay-keys.json') + } + } + defaultConfig { applicationId "${project.APP_GROUP}." + project.APP_ID.toLowerCase() minSdkVersion Integer.parseInt(project.MIN_SDK) @@ -34,6 +45,17 @@ android { } signingConfigs { + + def releaseProps = new Properties() + file("../files/play.properties").withInputStream { releaseProps.load(it) } + + release { + storeFile file("../files/play.keystore") + storePassword releaseProps.getProperty('storePassword') + keyAlias releaseProps.getProperty('keyAlias') + keyPassword releaseProps.getProperty('keyPassword') + } + test { storeFile file("../files/test.keystore") storePassword "testkey" @@ -65,6 +87,7 @@ android { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.release resValue "string", "app_name", "Frost" resValue "string", "frost_web", "Frost Web" } @@ -133,4 +156,9 @@ dependencies { compile("com.crashlytics.sdk.android:crashlytics:${CRASHLYTICS}@aar") { transitive = true; } + +} + +play { + track = 'alpha' } \ No newline at end of file diff --git a/app/src/main/kotlin/com/pitchedapps/frost/MainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/MainActivity.kt index f2fb9c29..b8d47027 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/MainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/MainActivity.kt @@ -43,7 +43,6 @@ import com.pitchedapps.frost.facebook.FbTab import com.pitchedapps.frost.facebook.PROFILE_PICTURE_URL import com.pitchedapps.frost.fragments.WebFragment import com.pitchedapps.frost.utils.* -import com.pitchedapps.frost.utils.iab.IAB import com.pitchedapps.frost.utils.iab.validatePro import com.pitchedapps.frost.views.BadgedIcon import com.pitchedapps.frost.web.FrostWebViewSearch @@ -395,6 +394,14 @@ class MainActivity : BaseActivity(), FrostWebViewSearch.SearchContract { FbCookie.switchBackUser { } } + override fun onStart() { + //validate some pro features + if (!Prefs.pro) { + if (Prefs.theme == Theme.CUSTOM.ordinal) Prefs.theme = Theme.DEFAULT.ordinal + } + super.onStart() + } + override fun onBackPressed() { if (searchView?.onBackPressed() ?: false) return if (currentFragment.onBackPressed()) return diff --git a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt index bf100895..e67fc949 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt @@ -69,7 +69,7 @@ class SettingsActivity : KPrefActivity(), IabBroadcastReceiver.IabBroadcastListe } plainText(R.string.restore_purchases) { - descRes = R.string.restore_purchases + descRes = R.string.restore_purchases_desc iicon = GoogleMaterial.Icon.gmd_refresh onClick = { _, _, _ -> this@SettingsActivity.restorePurchases(); true } } diff --git a/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt b/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt index bd8b58ab..b76925f5 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragment.kt @@ -6,7 +6,7 @@ import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import ca.allanwang.kau.utils.withBundle +import ca.allanwang.kau.utils.withArguments import com.pitchedapps.frost.MainActivity import com.pitchedapps.frost.facebook.FbTab import com.pitchedapps.frost.facebook.FeedSort @@ -28,19 +28,18 @@ class WebFragment : Fragment() { private const val ARG_URL_ENUM = "arg_url_enum" private const val ARG_POSITION = "arg_position" - operator fun invoke(data: FbTab, position: Int) = WebFragment().withBundle { - putString(ARG_URL, data.url) - putInt(ARG_POSITION, position) - putSerializable(ARG_URL_ENUM, when (data) { - //If is feed, check if sorting method is specified - FbTab.FEED -> when (FeedSort(Prefs.feedSort)) { - FeedSort.DEFAULT -> data - FeedSort.MOST_RECENT -> FbTab.FEED_MOST_RECENT - FeedSort.TOP -> FbTab.FEED_TOP_STORIES - } - else -> data - }) - } + operator fun invoke(data: FbTab, position: Int) = WebFragment().withArguments( + ARG_URL to data.url, + ARG_POSITION to position, + ARG_URL_ENUM to when (data) { + //If is feed, check if sorting method is specified + FbTab.FEED -> when (FeedSort(Prefs.feedSort)) { + FeedSort.DEFAULT -> data + FeedSort.MOST_RECENT -> FbTab.FEED_MOST_RECENT + FeedSort.TOP -> FbTab.FEED_TOP_STORIES + } + else -> data + }) } // val refresh: SwipeRefreshLayout by lazy { frostWebView.refresh } diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Appearance.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Appearance.kt index d25e0939..135e621f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Appearance.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Appearance.kt @@ -85,7 +85,7 @@ fun SettingsActivity.getAppearancePrefs(): KPrefAdapterBuilder.() -> Unit = { colorPicker(R.string.header_color, { Prefs.customHeaderColor }, { Prefs.customHeaderColor = it - if (Prefs.tintNavBar) frostNavigationBar() + frostNavigationBar() toolbarCanvas.ripple(it, RippleCanvas.MIDDLE, RippleCanvas.END, duration = 500L) reload() shouldRestartMain() diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt index f8060d9d..5f0bdc41 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt @@ -89,8 +89,10 @@ object Prefs : KPref() { /** * Cache like value to determine if user has or had pro * In most cases, [com.pitchedapps.frost.utils.iab.IS_FROST_PRO] should be looked at instead + * This has been renamed to pro for short, but keep in mind that it only reflects the value + * of when it was previously verified */ - var previouslyPro: Boolean by kpref("previously_pro", false) + var pro: Boolean by kpref("previously_pro", false) var debugPro: Boolean by kpref("debug_pro", false) 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 6a99021d..b255c59c 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt @@ -106,7 +106,7 @@ fun Activity.setFrostTheme(forceTransparent: Boolean = false) { fun Activity.setFrostColors(toolbar: Toolbar? = null, themeWindow: Boolean = true, texts: Array = arrayOf(), headers: Array = arrayOf(), backgrounds: Array = arrayOf()) { statusBarColor = Prefs.headerColor.darken(0.1f).withAlpha(255) - navigationBarColor = Prefs.headerColor + if (Prefs.tintNavBar) navigationBarColor = Prefs.headerColor if (themeWindow) window.setBackgroundDrawable(ColorDrawable(Prefs.bgColor)) toolbar?.setBackgroundColor(Prefs.headerColor) toolbar?.setTitleTextColor(Prefs.iconColor) diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IAB.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IAB.kt index d511f773..b4f8af64 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IAB.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/iab/IAB.kt @@ -86,7 +86,7 @@ object IAB { private const val FROST_PRO = "frost_pro" val IS_FROST_PRO: Boolean - get() = (BuildConfig.DEBUG && Prefs.debugPro) || Prefs.previouslyPro + get() = (BuildConfig.DEBUG && Prefs.debugPro) || Prefs.pro private val Context.isFrostPlay: Boolean get() = isFromGooglePlay || BuildConfig.DEBUG @@ -99,15 +99,15 @@ fun SettingsActivity.restorePurchases() { } //called if inventory is not properly retrieved val reset = { - if (Prefs.previouslyPro) { - Prefs.previouslyPro = false + if (Prefs.pro) { + Prefs.pro = false Prefs.theme = Theme.DEFAULT.ordinal } finishRestore(restore) } getInventory(false, true, reset) { val proSku = it.getSkuDetails(FROST_PRO) - Prefs.previouslyPro = proSku != null + Prefs.pro = proSku != null finishRestore(restore) } } @@ -116,7 +116,7 @@ private fun SettingsActivity.finishRestore(snackbar: Snackbar?) { snackbar?.dismiss() materialDialogThemed { title(R.string.purchases_restored) - content(if (Prefs.previouslyPro) R.string.purchases_restored_with_pro else R.string.purchases_restored_without_pro) + content(if (Prefs.pro) R.string.purchases_restored_with_pro else R.string.purchases_restored_without_pro) positiveText(R.string.reload) dismissListener { adapter.notifyAdapterDataSetChanged() } } @@ -126,10 +126,10 @@ private fun SettingsActivity.finishRestore(snackbar: Snackbar?) { * If user has pro, check if it's valid and destroy the helper */ fun Activity.validatePro() { - getInventory(Prefs.previouslyPro, true, { if (Prefs.previouslyPro) playStoreNoLongerPro() }) { + getInventory(Prefs.pro, true, { if (Prefs.pro) playStoreNoLongerPro() }) { val proSku = it.getSkuDetails(FROST_PRO) - if (proSku == null && Prefs.previouslyPro) playStoreNoLongerPro() - else if (proSku != null && !Prefs.previouslyPro) playStoreFoundPro() + if (proSku == null && Prefs.pro) playStoreNoLongerPro() + else if (proSku != null && !Prefs.pro) playStoreFoundPro() } } @@ -153,7 +153,7 @@ fun Activity.openPlayProPurchase(code: Int) { if (!IS_FROST_PRO) playStoreProNotAvailable() else openPlayPurchase(FROST_PRO, code) { - Prefs.previouslyPro = true + Prefs.pro = true } } 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 54355d3e..58c21be4 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 @@ -30,7 +30,7 @@ private fun Activity.playRestart() { fun Activity.playStoreNoLongerPro() { - Prefs.previouslyPro = false + Prefs.pro = false playStoreLog("No Longer Pro") materialDialogThemed { title(R.string.uh_oh) @@ -43,7 +43,7 @@ fun Activity.playStoreNoLongerPro() { } fun Activity.playStoreFoundPro() { - Prefs.previouslyPro = true + Prefs.pro = true L.d("Found pro") materialDialogThemed { title(R.string.found_pro) diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClient.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClient.kt index f12212ed..709ab7ac 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClient.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClient.kt @@ -2,9 +2,7 @@ package com.pitchedapps.frost.web import android.content.Context import android.graphics.Bitmap -import android.view.KeyEvent import android.webkit.WebResourceRequest -import android.webkit.WebResourceResponse import android.webkit.WebView import android.webkit.WebViewClient import com.pitchedapps.frost.LoginActivity @@ -52,8 +50,8 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : WebViewClient() { } view.jsInject(JsActions.LOGIN_CHECK, CssAssets.ROUND_ICONS.maybe(Prefs.showRoundedIcons), - CssHider.PEOPLE_YOU_MAY_KNOW.maybe(!Prefs.showSuggestedFriends), - CssHider.ADS.maybe(!Prefs.showFacebookAds), + CssHider.PEOPLE_YOU_MAY_KNOW.maybe(!Prefs.showSuggestedFriends && Prefs.pro), + CssHider.ADS.maybe(!Prefs.showFacebookAds && Prefs.pro), JsAssets.HEADER_BADGES.maybe(webCore.baseEnum != null)) onPageFinishedActions(url) } @@ -67,9 +65,7 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : WebViewClient() { webCore.jsInject(CssHider.HEADER, Prefs.themeInjector, JsAssets.CLICK_A.maybe(webCore.baseEnum != null), - callback = { - refreshObservable.onNext(false) - }) + callback = { refreshObservable.onNext(false) }) } open fun handleHtml(html: String) { diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewCore.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewCore.kt index b953e092..c2a53837 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewCore.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewCore.kt @@ -44,7 +44,7 @@ class FrostWebViewCore @JvmOverloads constructor( var baseUrl: String? = null - var baseEnum: FbTab? = null + var baseEnum: FbTab? = null //only viewpager items should pass the base enum internal var frostWebClient: FrostWebViewClient? = null init { diff --git a/build.gradle b/build.gradle index d2011ba6..f0daea0d 100644 --- a/build.gradle +++ b/build.gradle @@ -4,11 +4,16 @@ buildscript { repositories { jcenter() maven { url 'https://maven.fabric.io/public' } + maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${KOTLIN}" classpath 'io.fabric.tools:gradle:1.+' + classpath 'com.github.triplet.gradle:play-publisher:1.2.0' + classpath "gradle.plugin.com.zoltu.gradle.plugin:git-versioning:3.0.3" +//https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit +// classpath 'org.eclipse.jgit:org.eclipse.jgit:4.8.0.201706111038-r' } } @@ -32,4 +37,22 @@ task generateChangelogMd() { } def changelogMd = new File("$project.rootDir/docs/Changelog.md") changelogMd.write(sw.toString()) -} \ No newline at end of file +} + +//ext.commitCount = { -> +// def repo +// def count = 0 +// try { +// repo = new FileRepositoryBuilder() +// .readEnvironment() +// .findGitDir(project.projectDir) +// .build() +// } catch (IllegalArgumentException ignore) { +// // No repo found +// return count +// } +// +// def git = Git.wrap(repo) +// def commits = git.log().call() +// return commits.size() +//} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index f0fa5e38..bd2e9955 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ MIN_SDK=21 TARGET_SDK=26 BUILD_TOOLS=26.0.0 -KAU=f4090285eb +KAU=b88a8834dc KOTLIN=1.1.3 MATERIAL_DRAWER=5.9.3 MATERIAL_DRAWER_KT=1.0.4 -- cgit v1.2.3