diff options
author | Allan Wang <me@allanwang.ca> | 2017-06-19 22:02:24 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2017-06-19 22:02:24 -0700 |
commit | 2d7fa0f6d0c152bb9f3fd30370ef510a0d452d00 (patch) | |
tree | 20b9d28ed89ec1d17a42127066a513db33ecb7e3 /app/src/main/kotlin/com/pitchedapps/frost/dbflow | |
parent | 7b90fa9819c9b4765f107ea04dd7ac687dc572ad (diff) | |
download | frost-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.kt | 28 |
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 |