aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2021-09-12 20:01:28 -0700
committerGitHub <noreply@github.com>2021-09-12 20:01:28 -0700
commitc77455ca08695a3d3470452d69bdead5dc961f4b (patch)
treeb5e9ef2b512105bd6e70d8f8d7d0b7ad22e39ba4
parent57f761d401dd23ec7699d21cfab174f4133f4cf3 (diff)
parent039d7a7c199c4d991dd143f3b096a0707100f6a3 (diff)
downloadfrost-c77455ca08695a3d3470452d69bdead5dc961f4b.tar.gz
frost-c77455ca08695a3d3470452d69bdead5dc961f4b.tar.bz2
frost-c77455ca08695a3d3470452d69bdead5dc961f4b.zip
Merge pull request #1802 from AllanWang/fix/multiple-accounts
Fix multi account switching
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt21
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt2
-rw-r--r--app/src/main/play/en-US/whatsnew7
-rw-r--r--app/src/main/res/values/styles.xml2
-rw-r--r--app/src/main/res/xml/frost_changelog.xml8
-rw-r--r--docs/Changelog.md4
9 files changed, 30 insertions, 20 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt
index 19e54f68..3766aef7 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt
@@ -500,7 +500,7 @@ abstract class BaseMainActivity :
)
positiveButton(R.string.kau_yes) {
this@BaseMainActivity.launch {
- fbCookie.logout(this@BaseMainActivity)
+ fbCookie.logout(this@BaseMainActivity, deleteCookie = true)
}
}
negativeButton(R.string.kau_no)
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
index bce3aa48..8bf3345e 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
@@ -233,8 +233,8 @@ class SettingsActivity : KPrefActivity() {
@SuppressLint("MissingSuperCall")
override fun onCreate(savedInstanceState: Bundle?) {
- activityThemer.setFrostTheme(forceTransparent = true)
super.onCreate(savedInstanceState)
+ activityThemer.setFrostTheme(forceTransparent = true)
animate = prefs.animate
themeExterior(false)
}
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 ea1b0946..1a714374 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbCookie.kt
@@ -48,8 +48,11 @@ class FbCookie @Inject internal constructor(
) {
companion object {
- private const val FB_COOKIE_DOMAIN = HTTPS_FACEBOOK_COM
- private const val MESSENGER_COOKIE_DOMAIN = HTTPS_MESSENGER_COM
+ /**
+ * Domain information. Dot prefix still matters for Android browsers.
+ */
+ private const val FB_COOKIE_DOMAIN = ".$FACEBOOK_COM"
+ private const val MESSENGER_COOKIE_DOMAIN = ".$MESSENGER_COM"
}
/**
@@ -135,22 +138,24 @@ class FbCookie @Inject internal constructor(
* Helper function to remove the current cookies
* and launch the proper login page
*/
- suspend fun logout(context: Context) {
+ suspend fun logout(context: Context, deleteCookie: Boolean = true) {
val cookies = arrayListOf<CookieEntity>()
if (context is Activity)
cookies.addAll(context.cookies().filter { it.id != prefs.userId })
- logout(prefs.userId)
+ logout(prefs.userId, deleteCookie)
context.launchLogin(cookies, true)
}
/**
* Clear the cookies of the given id
*/
- suspend fun logout(id: Long) {
+ suspend fun logout(id: Long, deleteCookie: Boolean = true) {
L.d { "Logging out user" }
- cookieDao.deleteById(id)
- L.d { "Fb cookie deleted" }
- L._d { id }
+ if (deleteCookie) {
+ cookieDao.deleteById(id)
+ L.d { "Fb cookie deleted" }
+ L._d { id }
+ }
reset()
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
index ec8aec6c..4ba87209 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
@@ -133,7 +133,7 @@ private inline fun <reified T : WebOverlayActivityBase> Context.launchWebOverlay
if (argUrl.isFacebookUrl && argUrl.contains("/logout.php")) {
L.d { "Logout php found" }
ctxCoroutine.launch {
- fbCookie.logout(this@launchWebOverlayImpl)
+ fbCookie.logout(this@launchWebOverlayImpl, deleteCookie = false)
}
} else if (!(prefs.linksInDefaultApp && resolveActivityForUri(Uri.parse(argUrl)))) {
startActivity<T>(
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt
index 0d7bbb79..9a853dae 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt
@@ -121,7 +121,7 @@ class FrostJSI(val web: FrostWebView) {
fun loadLogin() {
L.d { "Sign up button found; load login" }
context.ctxCoroutine.launch {
- fbCookie.logout(context)
+ fbCookie.logout(context, deleteCookie = false)
}
}
diff --git a/app/src/main/play/en-US/whatsnew b/app/src/main/play/en-US/whatsnew
index dc12e80e..1f46ec04 100644
--- a/app/src/main/play/en-US/whatsnew
+++ b/app/src/main/play/en-US/whatsnew
@@ -1,5 +1,4 @@
-v3.0.0
+v3.1.0
-* Removed email support. Please use GitHub for all inquiries as I no longer have time to look through all emails
-* Added initial support for messenger.com (settings > appearance > main activity tabs)
-* Fix swipe to refresh not disabling for certain pages \ No newline at end of file
+* Fix multi account signin
+* Only clear out cookies on explicit logout; Facebook logout redirects no longer erase cookies \ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index fcacacc3..17b12dcc 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -49,7 +49,7 @@
<style name="FrostTheme.Video" parent="FrostTheme.Overlay.Fade" />
- <style name="FrostTheme.Settings" parent="FrostTheme">
+ <style name="FrostTheme.Settings" parent="FrostTheme.Transparent">
<item name="android:windowAnimationStyle">@style/KauSlideInFadeOut</item>
</style>
diff --git a/app/src/main/res/xml/frost_changelog.xml b/app/src/main/res/xml/frost_changelog.xml
index bdece3ae..9a917099 100644
--- a/app/src/main/res/xml/frost_changelog.xml
+++ b/app/src/main/res/xml/frost_changelog.xml
@@ -6,13 +6,15 @@
<item text="" />
-->
+ <version title="v3.1.0" />
+ <item text="Fix multi account signin" />
+ <item text="Only clear out cookies on explicit logout; Facebook logout redirects no longer erase cookies" />
+ <item text="" />
+
<version title="v3.0.0" />
<item text="Removed email support. Please use GitHub for all inquiries as I no longer have time to look through all emails" />
<item text="Added initial support for messenger.com (settings > appearance > main activity tabs)" />
<item text="Fix swipe to refresh not disabling for certain pages" />
- <item text="" />
- <item text="" />
- <item text="" />
<version title="v2.4.7" />
<item text="Fix theme not always sticking on refresh" />
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 9f4712c5..346b7087 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -1,5 +1,9 @@
# Changelog
+## v3.1.0
+* Fix multi account signin
+* Only clear out cookies on explicit logout; Facebook logout redirects no longer erase cookies
+
## v3.0.0
* Removed email support. Please use GitHub for all inquiries as I no longer have time to look through all emails
* Added initial support for messenger.com (settings > appearance > main activity tabs)