diff options
author | Allan Wang <me@allanwang.ca> | 2017-08-20 14:09:41 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2017-08-20 14:09:41 -0700 |
commit | 238c263376d2db2ef7bff765155832fa95309cf1 (patch) | |
tree | 202959e8969f0202fbe6c3a7e1f0a9e821e2609a /app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt | |
parent | 62e10aa1295bdcd99e307b22b4747bb5353cd5d7 (diff) | |
download | frost-238c263376d2db2ef7bff765155832fa95309cf1.tar.gz frost-238c263376d2db2ef7bff765155832fa95309cf1.tar.bz2 frost-238c263376d2db2ef7bff765155832fa95309cf1.zip |
Update login logic
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt index 40cef772..4dc7b62d 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt @@ -1,5 +1,7 @@ package com.pitchedapps.frost.facebook +import android.app.Activity +import android.content.Context import android.webkit.CookieManager import com.pitchedapps.frost.dbflow.CookieModel import com.pitchedapps.frost.dbflow.loadFbCookie @@ -7,6 +9,8 @@ import com.pitchedapps.frost.dbflow.removeCookie import com.pitchedapps.frost.dbflow.saveFbCookie import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.Prefs +import com.pitchedapps.frost.utils.cookies +import com.pitchedapps.frost.utils.launchLogin import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.subjects.SingleSubject @@ -83,6 +87,22 @@ object FbCookie { setWebCookie(cookie.cookie, callback) } + /** + * Helper function to remove the current cookies + * and launch the proper login page + */ + fun logout(context: Context) { + val cookies = arrayListOf<CookieModel>() + if (context is Activity) + cookies.addAll(context.cookies().filter { it.id != Prefs.userId }) + logout(Prefs.userId) { + context.launchLogin(cookies, true) + } + } + + /** + * Clear the cookies of the given id + */ fun logout(id: Long, callback: () -> Unit) { L.d("Logging out user $id") removeCookie(id) |