aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-20 14:09:41 -0700
committerAllan Wang <me@allanwang.ca>2017-08-20 14:09:41 -0700
commit238c263376d2db2ef7bff765155832fa95309cf1 (patch)
tree202959e8969f0202fbe6c3a7e1f0a9e821e2609a /app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt
parent62e10aa1295bdcd99e307b22b4747bb5353cd5d7 (diff)
downloadfrost-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.kt20
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)