aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/dbflow
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-06-19 22:02:24 -0700
committerAllan Wang <me@allanwang.ca>2017-06-19 22:02:24 -0700
commit2d7fa0f6d0c152bb9f3fd30370ef510a0d452d00 (patch)
tree20b9d28ed89ec1d17a42127066a513db33ecb7e3 /app/src/main/kotlin/com/pitchedapps/frost/dbflow
parent7b90fa9819c9b4765f107ea04dd7ac687dc572ad (diff)
downloadfrost-2d7fa0f6d0c152bb9f3fd30370ef510a0d452d00.tar.gz
frost-2d7fa0f6d0c152bb9f3fd30370ef510a0d452d00.tar.bz2
frost-2d7fa0f6d0c152bb9f3fd30370ef510a0d452d00.zip
Check for username if not found on login
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/dbflow')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt28
1 files changed, 28 insertions, 0 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 1d1aa86e..59ef6cd7 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/dbflow/CookiesDb.kt
@@ -2,6 +2,8 @@ package com.pitchedapps.frost.dbflow
import android.os.Parcel
import android.os.Parcelable
+import com.pitchedapps.frost.facebook.FACEBOOK_COM
+import com.pitchedapps.frost.facebook.FbTab
import com.pitchedapps.frost.utils.L
import com.raizlabs.android.dbflow.annotation.ConflictAction
import com.raizlabs.android.dbflow.annotation.Database
@@ -9,6 +11,8 @@ 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 org.jsoup.Jsoup
import paperparcel.PaperParcel
/**
@@ -56,4 +60,28 @@ fun removeCookie(id: Long) {
loadFbCookie(id)?.async?.delete({
L.d("Fb cookie $id deleted")
})
+}
+
+fun CookieModel.fetchUsername(callback: (String) -> Unit) {
+ doAsync {
+ var result = ""
+ try {
+ result = Jsoup.connect(FbTab.PROFILE.url)
+ .cookie(FACEBOOK_COM, cookie)
+ .get().title()
+ L.d("User name found: $result")
+ } catch (e: Exception) {
+ L.e("User name fetching failed: ${e.message}")
+ } finally {
+ if (result.isBlank() && (name?.isNotBlank() ?: false)) {
+ callback(name!!)
+ return@doAsync
+ }
+ if (name != result) {
+ name = result
+ saveFbCookie(this@fetchUsername)
+ }
+ callback(result)
+ }
+ }
} \ No newline at end of file