aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-14 20:48:39 -0700
committerGitHub <noreply@github.com>2017-08-14 20:48:39 -0700
commit5d9a3fd7fb8f2f9d0f592c89446824980c9841c6 (patch)
treea770b2564b67280fcc9fcc65144bd0b8bd8e2881 /app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
parentab7ec131b62ac1567e983c846c921bd3ada11dd4 (diff)
downloadfrost-5d9a3fd7fb8f2f9d0f592c89446824980c9841c6.tar.gz
frost-5d9a3fd7fb8f2f9d0f592c89446824980c9841c6.tar.bz2
frost-5d9a3fd7fb8f2f9d0f592c89446824980c9841c6.zip
v1.4.5 (#174)v1.4.5
* Update/kau (#125) * Update logger * Clean imports and bring back reactive libs * Update dependencies and make billing async * Misc (#128) * Update null * Attempt to improve transparent theme backgrounds * Update menu * Move injections to visible method and reduce offset * Update searchview and logging * Clean temp strings and add network states * Move console blacklist to web state * Change some logs to info * Move glide loader to onCreate (#135) * Remove commit number increments (#139) * Fix/misc (#140) * Add canadian locale to toLowerCase * Add try catch to JsAssets * Disable error throwing for bad search subject * Log more throwables quietly * Check internet connection before fetching username * Remove name check in frost notifications * Add activity lifecycle logger * Add rxjava to lib showcase * Move network checker to io thread (#150) * Update dependency * Blank * Feature/jsoup debugger (#152) * Create debugger * Update debugger content * Create debugging logic * Finalize and test debugger * Add reload listener * Fix/pro crash without play store (#155) * Update changelog * Check if iab service exists * Add checker before launching play store request * Separate strings * Enhancement/message notifications (#157) * Map message notifs to the headless html extractor * Update strings * Bring im notifs out of alpha * Update changelog * Remove confirmation dialog (#159) * Separate message notifications and add click intents (#171) * Separate message notifications and add click intent for group notifications * Add comments and finalize * Feature/scroll down on message thread (#172) * Add hook for scroll * Update changelog * Add custom navdrawer layout (#173) * Add faq for auto play * Update changelog * Fix page banner bg (#163)
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt16
1 files changed, 10 insertions, 6 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt b/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
index 901ba02d..92cdf503 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
@@ -2,16 +2,18 @@ package com.pitchedapps.frost.dbflow
import android.os.Parcel
import android.os.Parcelable
+import com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork
import com.pitchedapps.frost.facebook.FACEBOOK_COM
-import com.pitchedapps.frost.facebook.FbTab
+import com.pitchedapps.frost.facebook.FbItem
import com.pitchedapps.frost.utils.L
+import com.pitchedapps.frost.utils.logFrostAnswers
import com.raizlabs.android.dbflow.annotation.ConflictAction
import com.raizlabs.android.dbflow.annotation.Database
import com.raizlabs.android.dbflow.annotation.PrimaryKey
import com.raizlabs.android.dbflow.annotation.Table
import com.raizlabs.android.dbflow.kotlinextensions.*
import com.raizlabs.android.dbflow.structure.BaseModel
-import org.jetbrains.anko.doAsync
+import io.reactivex.schedulers.Schedulers
import org.jsoup.Jsoup
import paperparcel.PaperParcel
import java.net.UnknownHostException
@@ -64,20 +66,22 @@ fun removeCookie(id: Long) {
}
fun CookieModel.fetchUsername(callback: (String) -> Unit) {
- doAsync {
+ ReactiveNetwork.checkInternetConnectivity().subscribeOn(Schedulers.io()).subscribe {
+ yes, _ ->
+ if (!yes) return@subscribe callback("")
var result = ""
try {
- result = Jsoup.connect(FbTab.PROFILE.url)
+ result = Jsoup.connect(FbItem.PROFILE.url)
.cookie(FACEBOOK_COM, cookie)
.get().title()
L.d("Fetch username found", result)
} catch (e: Exception) {
if (e !is UnknownHostException)
- L.e(e, "Fetch username failed")
+ e.logFrostAnswers("Fetch username failed")
} finally {
if (result.isBlank() && (name?.isNotBlank() ?: false)) {
callback(name!!)
- return@doAsync
+ return@subscribe
}
if (name != result) {
name = result