aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2019-09-28 23:53:47 -0700
committerGitHub <noreply@github.com>2019-09-28 23:53:47 -0700
commitc9fec8cc993f159eb81803e8c0cd5855d2a9abd3 (patch)
treec3ae5a6890b0797110f397b99812362312c07ff6
parentf5ae18fc0d824dbdce5523128f9ded86bdfa6d08 (diff)
parent73e16427879908e8b46b7c9fe1e87b0df838fa78 (diff)
downloadfrost-c9fec8cc993f159eb81803e8c0cd5855d2a9abd3.tar.gz
frost-c9fec8cc993f159eb81803e8c0cd5855d2a9abd3.tar.bz2
frost-c9fec8cc993f159eb81803e8c0cd5855d2a9abd3.zip
Merge pull request #1559 from AllanWang/desktop-url-convert
Convert desktop urls to mobile ones
-rw-r--r--app/src/main/AndroidManifest.xml19
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt18
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/facebook/FbConst.kt9
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt7
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt28
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt7
-rw-r--r--app/src/main/play/en-US/whatsnew3
-rw-r--r--app/src/main/res/values-ar-rSA/strings.xml1
-rw-r--r--app/src/main/res/values-cs-rCZ/strings.xml1
-rw-r--r--app/src/main/res/values-da-rDK/strings.xml1
-rw-r--r--app/src/main/res/values-de-rDE/strings.xml1
-rw-r--r--app/src/main/res/values-es-rES/strings.xml1
-rw-r--r--app/src/main/res/values-fr-rFR/strings.xml1
-rw-r--r--app/src/main/res/values-gl-rES/strings.xml1
-rw-r--r--app/src/main/res/values-gr-rGR/strings.xml1
-rw-r--r--app/src/main/res/values-hu-rHU/strings.xml1
-rw-r--r--app/src/main/res/values-in-rID/strings.xml1
-rw-r--r--app/src/main/res/values-it-rIT/strings.xml1
-rw-r--r--app/src/main/res/values-nl-rNL/strings.xml1
-rw-r--r--app/src/main/res/values-no-rNO/strings.xml1
-rw-r--r--app/src/main/res/values-pl-rPL/strings.xml1
-rw-r--r--app/src/main/res/values-pt-rBR/strings.xml1
-rw-r--r--app/src/main/res/values-pt-rPT/strings.xml1
-rw-r--r--app/src/main/res/values-ro-rRO/strings.xml1
-rw-r--r--app/src/main/res/values-ru-rRU/strings.xml1
-rw-r--r--app/src/main/res/values-sr-rSP/strings.xml1
-rw-r--r--app/src/main/res/values-sv-rSE/strings.xml1
-rw-r--r--app/src/main/res/values-th-rTH/strings.xml1
-rw-r--r--app/src/main/res/values-tl-rPH/strings.xml1
-rw-r--r--app/src/main/res/values-tr-rTR/strings.xml1
-rw-r--r--app/src/main/res/values-uk-rUA/strings.xml1
-rw-r--r--app/src/main/res/values-vi-rVN/strings.xml1
-rw-r--r--app/src/main/res/values-zh-rTW/strings.xml1
-rw-r--r--app/src/main/res/values/strings.xml1
-rw-r--r--app/src/main/res/xml/frost_changelog.xml1
-rw-r--r--docs/Changelog.md1
37 files changed, 80 insertions, 42 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d30b5177..34ce0f49 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -60,6 +60,20 @@
android:launchMode="singleTop"
android:theme="@style/FrostTheme.Overlay.Slide" />
<activity
+ android:name=".activities.WebOverlayDesktopActivity"
+ android:configChanges="orientation|screenSize|locale"
+ android:hardwareAccelerated="true"
+ android:label="@string/frost_web"
+ android:launchMode="singleTop"
+ android:theme="@style/FrostTheme.Overlay.Slide" />
+ <activity
+ android:name=".activities.WebOverlayMobileActivity"
+ android:configChanges="orientation|screenSize|locale"
+ android:hardwareAccelerated="true"
+ android:label="@string/frost_web"
+ android:launchMode="singleTop"
+ android:theme="@style/FrostTheme.Overlay.Slide" />
+ <activity
android:name=".activities.FrostWebActivity"
android:autoRemoveFromRecents="true"
android:configChanges="orientation|screenSize|locale"
@@ -149,11 +163,6 @@
android:label="@string/frost_notifications"
android:permission="android.permission.BIND_JOB_SERVICE" />
<service
- android:name=".services.FrostRequestService"
- android:enabled="true"
- android:label="@string/frost_requests"
- android:permission="android.permission.BIND_JOB_SERVICE" />
- <service
android:name=".services.LocalService"
android:enabled="true"
android:label="@string/local_service_name"
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt
index 312e7665..628ab5dc 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt
@@ -59,6 +59,9 @@ import com.pitchedapps.frost.enums.OverlayContext
import com.pitchedapps.frost.facebook.FB_URL_BASE
import com.pitchedapps.frost.facebook.FbCookie
import com.pitchedapps.frost.facebook.FbItem
+import com.pitchedapps.frost.facebook.USER_AGENT
+import com.pitchedapps.frost.facebook.USER_AGENT_DESKTOP_CONST
+import com.pitchedapps.frost.facebook.USER_AGENT_MOBILE_CONST
import com.pitchedapps.frost.facebook.formattedFbUrl
import com.pitchedapps.frost.kotlin.subscribeDuringJob
import com.pitchedapps.frost.utils.ARG_URL
@@ -140,12 +143,24 @@ class FrostWebActivity : WebOverlayActivityBase() {
}
/**
+ * Variant that forces a mobile user agent. This is largely internal,
+ * and is only necessary when we are launching from an existing [WebOverlayActivityBase]
+ */
+class WebOverlayMobileActivity : WebOverlayActivityBase(USER_AGENT_MOBILE_CONST)
+
+/**
+ * Variant that forces a desktop user agent. This is largely internal,
+ * and is only necessary when we are launching from an existing [WebOverlayActivityBase]
+ */
+class WebOverlayDesktopActivity : WebOverlayActivityBase(USER_AGENT_DESKTOP_CONST)
+
+/**
* Internal overlay for the app; this is tied with the main task and is singleTop as opposed to singleInstance
*/
class WebOverlayActivity : WebOverlayActivityBase()
@UseExperimental(ExperimentalCoroutinesApi::class)
-abstract class WebOverlayActivityBase : BaseActivity(),
+abstract class WebOverlayActivityBase(private val userAgent: String = USER_AGENT) : BaseActivity(),
ActivityContract, FrostContentContainer,
VideoViewHolder, FileChooserContract by FileChooserDelegate() {
@@ -207,6 +222,7 @@ abstract class WebOverlayActivityBase : BaseActivity(),
}
with(web) {
+ userAgentString = userAgent
Prefs.prevId = Prefs.userId
val authDefer = BiometricUtils.authenticate(this@WebOverlayActivityBase)
launch {
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbConst.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbConst.kt
index c01bce55..8139bebc 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbConst.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbConst.kt
@@ -22,8 +22,9 @@ package com.pitchedapps.frost.facebook
const val FACEBOOK_COM = "facebook.com"
const val FBCDN_NET = "fbcdn.net"
-const val HTTPS_FACEBOOK_COM = "https://$FACEBOOK_COM/"
-const val FB_URL_BASE = "https://m.$FACEBOOK_COM/"
+const val WWW_FACEBOOK_COM = "www.$FACEBOOK_COM"
+const val FACEBOOK_BASE_COM = "m.$FACEBOOK_COM"
+const val FB_URL_BASE = "https://$FACEBOOK_BASE_COM/"
fun profilePictureUrl(id: Long) = "https://graph.facebook.com/$id/picture?type=large"
const val FB_LOGIN_URL = "${FB_URL_BASE}login"
const val FB_HOME_URL = "${FB_URL_BASE}home.php"
@@ -36,10 +37,10 @@ const val FB_HOME_URL = "${FB_URL_BASE}home.php"
*/
// Default user agent
-private const val USER_AGENT_MOBILE_CONST =
+const val USER_AGENT_MOBILE_CONST =
"Mozilla/5.0 (Linux; Android 8.0.0; ONEPLUS A3000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36"
// Desktop agent, for pages like messages
-private const val USER_AGENT_DESKTOP_CONST =
+const val USER_AGENT_DESKTOP_CONST =
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Safari/537.36"
const val USER_AGENT = USER_AGENT_DESKTOP_CONST
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt
index 6292f4f0..76e58465 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt
@@ -78,6 +78,8 @@ class FbUrlFormatter(url: String) {
cleanedUrl = cleanedUrl.substring(0, qm)
}
discardableQueries.forEach { queries.remove(it) }
+ // Convert desktop urls to mobile ones
+ cleanedUrl = cleanedUrl.replace(WWW_FACEBOOK_COM, FACEBOOK_BASE_COM)
if (cleanedUrl.startsWith("/")) cleanedUrl = FB_URL_BASE + cleanedUrl.substring(1)
cleanedUrl = cleanedUrl.replaceFirst(
".facebook.com//",
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 d725acd9..8c5f6db6 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
@@ -57,6 +57,7 @@ import com.pitchedapps.frost.activities.SettingsActivity
import com.pitchedapps.frost.activities.TabCustomizerActivity
import com.pitchedapps.frost.activities.WebOverlayActivity
import com.pitchedapps.frost.activities.WebOverlayActivityBase
+import com.pitchedapps.frost.activities.WebOverlayMobileActivity
import com.pitchedapps.frost.db.CookieEntity
import com.pitchedapps.frost.facebook.FACEBOOK_COM
import com.pitchedapps.frost.facebook.FBCDN_NET
@@ -138,6 +139,12 @@ private inline fun <reified T : WebOverlayActivityBase> Context.launchWebOverlay
fun Context.launchWebOverlay(url: String) = launchWebOverlayImpl<WebOverlayActivity>(url)
+// TODO Currently, default is overlay. Switch this if default changes
+fun Context.launchWebOverlayDesktop(url: String) = launchWebOverlay(url)
+
+fun Context.launchWebOverlayMobile(url: String) =
+ launchWebOverlayImpl<WebOverlayMobileActivity>(url)
+
private fun Context.fadeBundle() = ActivityOptions.makeCustomAnimation(
this,
android.R.anim.fade_in, android.R.anim.fade_out
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt
index 24608a8b..3df3b2c2 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt
@@ -22,15 +22,19 @@ import com.pitchedapps.frost.activities.WebOverlayActivityBase
import com.pitchedapps.frost.contracts.VideoViewHolder
import com.pitchedapps.frost.facebook.FbCookie
import com.pitchedapps.frost.facebook.FbItem
+import com.pitchedapps.frost.facebook.USER_AGENT_DESKTOP_CONST
import com.pitchedapps.frost.facebook.formattedFbUrl
import com.pitchedapps.frost.utils.L
import com.pitchedapps.frost.utils.Prefs
+import com.pitchedapps.frost.utils.isFacebookUrl
import com.pitchedapps.frost.utils.isImageUrl
import com.pitchedapps.frost.utils.isIndependent
import com.pitchedapps.frost.utils.isIndirectImageUrl
import com.pitchedapps.frost.utils.isVideoUrl
import com.pitchedapps.frost.utils.launchImageActivity
import com.pitchedapps.frost.utils.launchWebOverlay
+import com.pitchedapps.frost.utils.launchWebOverlayDesktop
+import com.pitchedapps.frost.utils.launchWebOverlayMobile
import com.pitchedapps.frost.views.FrostWebView
/**
@@ -50,21 +54,22 @@ import com.pitchedapps.frost.views.FrostWebView
* as we have no need of sending a new intent to the same activity
*/
fun FrostWebView.requestWebOverlay(url: String): Boolean {
+ @Suppress("NAME_SHADOWING") val url = url.formattedFbUrl
L.v { "Request web overlay: $url" }
val context = context // finalize reference
if (url.isVideoUrl && context is VideoViewHolder) {
L.d { "Found video through overlay" }
- context.runOnUiThread { context.showVideo(url.formattedFbUrl) }
+ context.runOnUiThread { context.showVideo(url) }
return true
}
if (url.isImageUrl) {
L.d { "Found fb image" }
- context.launchImageActivity(url.formattedFbUrl)
+ context.launchImageActivity(url)
return true
}
if (url.isIndirectImageUrl) {
L.d { "Found indirect fb image" }
- context.launchImageActivity(url.formattedFbUrl, cookie = FbCookie.webCookie)
+ context.launchImageActivity(url, cookie = FbCookie.webCookie)
return true
}
if (!url.isIndependent) {
@@ -72,7 +77,22 @@ fun FrostWebView.requestWebOverlay(url: String): Boolean {
return false
}
if (!Prefs.overlayEnabled) return false
- if (context is WebOverlayActivityBase) return false
+ if (context is WebOverlayActivityBase) {
+ val shouldUseDesktop = url.isFacebookUrl
+ //already overlay; manage user agent
+ if (userAgentString != USER_AGENT_DESKTOP_CONST && shouldUseDesktop) {
+ L._i { "Switch to desktop agent overlay" }
+ context.launchWebOverlayDesktop(url)
+ return true
+ }
+ if (userAgentString == USER_AGENT_DESKTOP_CONST && !shouldUseDesktop) {
+ L._i { "Switch from desktop agent" }
+ context.launchWebOverlayMobile(url)
+ return true
+ }
+ L._i { "return false switch" }
+ return false
+ }
L.v { "Request web overlay passed" }
context.launchWebOverlay(url)
return true
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt
index 721b2c2d..a7e642b1 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt
@@ -23,8 +23,10 @@ import android.webkit.WebResourceResponse
import android.webkit.WebView
import android.webkit.WebViewClient
import ca.allanwang.kau.utils.withAlpha
+import com.pitchedapps.frost.facebook.FACEBOOK_BASE_COM
import com.pitchedapps.frost.facebook.FbCookie
import com.pitchedapps.frost.facebook.FbItem
+import com.pitchedapps.frost.facebook.WWW_FACEBOOK_COM
import com.pitchedapps.frost.facebook.formattedFbUrl
import com.pitchedapps.frost.injectors.CssHider
import com.pitchedapps.frost.injectors.JsActions
@@ -193,6 +195,11 @@ open class FrostWebViewClient(val web: FrostWebView) : BaseWebViewClient() {
if (Prefs.linksInDefaultApp && view.context.resolveActivityForUri(request.url)) {
return true
}
+ // Convert desktop urls to mobile ones
+ if (url.contains("https://www.facebook.com")) {
+ view.loadUrl(url.replace(WWW_FACEBOOK_COM, FACEBOOK_BASE_COM))
+ return true
+ }
return super.shouldOverrideUrlLoading(view, request)
}
}
diff --git a/app/src/main/play/en-US/whatsnew b/app/src/main/play/en-US/whatsnew
index 39bb331f..8e47d7d4 100644
--- a/app/src/main/play/en-US/whatsnew
+++ b/app/src/main/play/en-US/whatsnew
@@ -1,4 +1,5 @@
v2.4.1
+* Convert facebook desktop urls to mobile ones
* Notification tab will keep first page in the same window; fixes marking notifications as read
-* Fix nav and status bar icon colors for custom themes (Android O+) \ No newline at end of file
+* Fix nav and status bar icon colors for custom themes (Android O+)
diff --git a/app/src/main/res/values-ar-rSA/strings.xml b/app/src/main/res/values-ar-rSA/strings.xml
index 2210fa86..4f73b164 100644
--- a/app/src/main/res/values-ar-rSA/strings.xml
+++ b/app/src/main/res/values-ar-rSA/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">مرحبًا %s</string>
<string name="select_facebook_account">قم باختيار حساب فيسبوك</string>
<string name="account_not_found">الحساب الحالي غير موجود في قاعدة البيانات</string>
- <string name="frost_requests">طلبات Frost</string>
<string name="frost_notifications">إشعارات Frost</string>
<string name="requires_custom_theme">يتطلب ثيم مخصص</string>
<string name="subject">الموضوع</string>
diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml
index ce0da721..b7253172 100644
--- a/app/src/main/res/values-cs-rCZ/strings.xml
+++ b/app/src/main/res/values-cs-rCZ/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Vítej %s!</string>
<string name="select_facebook_account">Zvolte Facebookový profil</string>
<string name="account_not_found">Tento účet není v databázi</string>
- <string name="frost_requests">Frost žádosti</string>
<string name="frost_notifications">Frost upozornění</string>
<string name="requires_custom_theme">Vyžaduje vlastní motiv</string>
<string name="subject">Předmět</string>
diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml
index d1839bef..01545155 100644
--- a/app/src/main/res/values-da-rDK/strings.xml
+++ b/app/src/main/res/values-da-rDK/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Velkommen %s</string>
<string name="select_facebook_account">Vælg Facebook-konto</string>
<string name="account_not_found">Aktuel konto er ikke i databasen</string>
- <string name="frost_requests">Frost anmodninger</string>
<string name="frost_notifications">Frost notifikationer</string>
<string name="requires_custom_theme">Kræver brugerdefineret tema</string>
<string name="subject">Emne</string>
diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml
index bfe54112..ffa71028 100644
--- a/app/src/main/res/values-de-rDE/strings.xml
+++ b/app/src/main/res/values-de-rDE/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Willkommen %s</string>
<string name="select_facebook_account">Facebook-Account auswählen</string>
<string name="account_not_found">Der aktuelle Account besteht nicht in der Datenbank</string>
- <string name="frost_requests">Frost Anfragen</string>
<string name="frost_notifications">Frost Benachrichtigungen</string>
<string name="requires_custom_theme">Erfordert benutzerdefiniertes Thema</string>
<string name="subject">Betreff</string>
diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml
index 0c1281c9..a2acd120 100644
--- a/app/src/main/res/values-es-rES/strings.xml
+++ b/app/src/main/res/values-es-rES/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Bienvenido %s</string>
<string name="select_facebook_account">Seleccionar cuenta de Facebook</string>
<string name="account_not_found">El perfil actual no está en la base de datos</string>
- <string name="frost_requests">Solicitudes de Frost</string>
<string name="frost_notifications">Notificaciones de Frost</string>
<string name="requires_custom_theme">Requiere tema personalizado</string>
<string name="subject">Asunto</string>
diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml
index 7b366def..a252bb12 100644
--- a/app/src/main/res/values-fr-rFR/strings.xml
+++ b/app/src/main/res/values-fr-rFR/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Bienvenue %s</string>
<string name="select_facebook_account">Sélectionnez le compte Facebook</string>
<string name="account_not_found">Le compte actuel n’est pas dans la base de données</string>
- <string name="frost_requests">Demandes Frost</string>
<string name="frost_notifications">Notifications Frost</string>
<string name="requires_custom_theme">Nécessite un thème personnalisé</string>
<string name="subject">Sujet</string>
diff --git a/app/src/main/res/values-gl-rES/strings.xml b/app/src/main/res/values-gl-rES/strings.xml
index 5b8985ff..61ae2f58 100644
--- a/app/src/main/res/values-gl-rES/strings.xml
+++ b/app/src/main/res/values-gl-rES/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Benvido/a %s</string>
<string name="select_facebook_account">Seleccionar conta do Facebook</string>
<string name="account_not_found">A conta actual non está na base de datos</string>
- <string name="frost_requests">Solicitudes a Frost</string>
<string name="frost_notifications">Notificacións de Frost</string>
<string name="requires_custom_theme">Cómpre personalizar o tema</string>
<string name="subject">Asunto</string>
diff --git a/app/src/main/res/values-gr-rGR/strings.xml b/app/src/main/res/values-gr-rGR/strings.xml
index cc5866d8..a8d376cf 100644
--- a/app/src/main/res/values-gr-rGR/strings.xml
+++ b/app/src/main/res/values-gr-rGR/strings.xml
@@ -24,7 +24,6 @@
<string name="select_facebook_account">Διάλεξε λογαριασμό Facebook</string>
<string name="account_not_found">Ο συγκεκριμένος λογαριασμός δεν βρίσκεται στη βάση δεδομένων</string>
- <string name="frost_requests">Frost Αιτήματα</string>
<string name="frost_notifications">Frost Ειδοποιήσεις</string>
<string name="requires_custom_theme">Απαιτείται δικό σου θέμα</string>
diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml
index 4ed3523e..bba7ae0a 100644
--- a/app/src/main/res/values-hu-rHU/strings.xml
+++ b/app/src/main/res/values-hu-rHU/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Üdv, %s</string>
<string name="select_facebook_account">Válaszd ki a Facebook-fiókod</string>
<string name="account_not_found">A jelenlegi fiók nem szerepel az adatbázisban</string>
- <string name="frost_requests">Frost kérések</string>
<string name="frost_notifications">Frost értesítések</string>
<string name="requires_custom_theme">Egyéni téma szükséges</string>
<string name="subject">Tárgy</string>
diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml
index 2a92c3cd..5be6d6e3 100644
--- a/app/src/main/res/values-in-rID/strings.xml
+++ b/app/src/main/res/values-in-rID/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Selamat Datang %s</string>
<string name="select_facebook_account">Pilih Akun Facebook</string>
<string name="account_not_found">Akun saat ini tidak ada dalam database</string>
- <string name="frost_requests">Permintaan Frost</string>
<string name="frost_notifications">Pemberitahuan Frost</string>
<string name="requires_custom_theme">Memerlukan tema kustom</string>
<string name="subject">Perihal</string>
diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml
index 5516b5ef..7f3bb2f0 100644
--- a/app/src/main/res/values-it-rIT/strings.xml
+++ b/app/src/main/res/values-it-rIT/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Benvenuto %s</string>
<string name="select_facebook_account">Scegli l\'Account Facebook</string>
<string name="account_not_found">L\'account non è presente nel database</string>
- <string name="frost_requests">Richieste a Frost</string>
<string name="frost_notifications">Notifiche di Frost</string>
<string name="requires_custom_theme">Richiede un tema personalizzato</string>
<string name="subject">Argomento</string>
diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml
index b96867e3..ecc24bdb 100644
--- a/app/src/main/res/values-nl-rNL/strings.xml
+++ b/app/src/main/res/values-nl-rNL/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Welkom %s</string>
<string name="select_facebook_account">Selecteer een Facebook-account</string>
<string name="account_not_found">Het huidige account is niet opgeslagen in de database</string>
- <string name="frost_requests">Frost Verzoeken</string>
<string name="frost_notifications">Frost Notificaties</string>
<string name="requires_custom_theme">Aangepast thema vereist</string>
<string name="subject">Onderwerp</string>
diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml
index b3665284..68a6f26c 100644
--- a/app/src/main/res/values-no-rNO/strings.xml
+++ b/app/src/main/res/values-no-rNO/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Velkommen %s</string>
<string name="select_facebook_account">Velg Facebook-konto</string>
<string name="account_not_found">Gjeldende konto er ikke i databasen</string>
- <string name="frost_requests">Frost forespørsel</string>
<string name="frost_notifications">Frost varsler</string>
<string name="requires_custom_theme">Krever tilpasset tema</string>
<string name="subject">Emne</string>
diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml
index 3a539696..27e05ad7 100644
--- a/app/src/main/res/values-pl-rPL/strings.xml
+++ b/app/src/main/res/values-pl-rPL/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Witaj %s</string>
<string name="select_facebook_account">Wybierz konto Facebooka</string>
<string name="account_not_found">Obecnego konta nie ma w bazie danych</string>
- <string name="frost_requests">Żądania Frost</string>
<string name="frost_notifications">Powiadomienia Frost</string>
<string name="requires_custom_theme">Wymaga motywu niestandardowego</string>
<string name="subject">Temat</string>
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 5f71b2e0..3d2132cc 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Bem-vindo(a) %s</string>
<string name="select_facebook_account">Selecione a conta do Facebook</string>
<string name="account_not_found">A conta atual não está no banco de dados</string>
- <string name="frost_requests">Solicitações de Frost</string>
<string name="frost_notifications">Notificações do Frost</string>
<string name="requires_custom_theme">Requer tema personalizado</string>
<string name="subject">Sujeito</string>
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index 1d0ca4cb..022aef0f 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Olá %s</string>
<string name="select_facebook_account">Selecionar conta de Facebook</string>
<string name="account_not_found">A conta atual não está na base de dados</string>
- <string name="frost_requests">Pedidos Frost</string>
<string name="frost_notifications">Notificações Frost</string>
<string name="requires_custom_theme">Requer tema personalizado</string>
<string name="subject">Assunto</string>
diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml
index 5a887606..2af6e074 100644
--- a/app/src/main/res/values-ro-rRO/strings.xml
+++ b/app/src/main/res/values-ro-rRO/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Bună, %s!</string>
<string name="select_facebook_account">Alege contul Facebook</string>
<string name="account_not_found">Contul curect nu este în baza de date</string>
- <string name="frost_requests">Cerințe Frost</string>
<string name="frost_notifications">Notificări Frost</string>
<string name="requires_custom_theme">Teme custom cerute</string>
<string name="subject">Subiect</string>
diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml
index e8fc5388..066d1d21 100644
--- a/app/src/main/res/values-ru-rRU/strings.xml
+++ b/app/src/main/res/values-ru-rRU/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Добро пожаловать, %s</string>
<string name="select_facebook_account">Выберите учётную запись Facebook</string>
<string name="account_not_found">Учётная запись не существует</string>
- <string name="frost_requests">Требования Frost</string>
<string name="frost_notifications">Приостановить уведомления</string>
<string name="requires_custom_theme">Требования пользовательской темы</string>
<string name="subject">Тема</string>
diff --git a/app/src/main/res/values-sr-rSP/strings.xml b/app/src/main/res/values-sr-rSP/strings.xml
index 5dec35b4..050cd2f4 100644
--- a/app/src/main/res/values-sr-rSP/strings.xml
+++ b/app/src/main/res/values-sr-rSP/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Добродошли %s</string>
<string name="select_facebook_account">Одаберите Фејсбук налог</string>
<string name="account_not_found">Одабрани налог не постоји у бази</string>
- <string name="frost_requests">Фрост Захтеви</string>
<string name="frost_notifications">Фрост нотификације</string>
<string name="requires_custom_theme">Захтева модификовану тему</string>
<string name="subject">Тема</string>
diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml
index 5132c5ee..b28c5dd5 100644
--- a/app/src/main/res/values-sv-rSE/strings.xml
+++ b/app/src/main/res/values-sv-rSE/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Välkommen %s</string>
<string name="select_facebook_account">Välj Facebook-konto</string>
<string name="account_not_found">Kontot existerar inte</string>
- <string name="frost_requests">Frost Requests</string>
<string name="frost_notifications">Frost-Notifikationer</string>
<string name="requires_custom_theme">Kräver anpassat tema</string>
<string name="subject">Ämne</string>
diff --git a/app/src/main/res/values-th-rTH/strings.xml b/app/src/main/res/values-th-rTH/strings.xml
index 62f186d4..377988db 100644
--- a/app/src/main/res/values-th-rTH/strings.xml
+++ b/app/src/main/res/values-th-rTH/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">ยินดีต้อนรับ%s</string>
<string name="select_facebook_account">เลือกบัญชี Facebook</string>
<string name="account_not_found">บัญชีปัจจุบันไม่ได้อยู่ในฐานข้อมูล</string>
- <string name="frost_requests">ร้องขอ Frost</string>
<string name="frost_notifications">การแจ้งเตือน Frost</string>
<string name="requires_custom_theme">ขอชุดรูปแบบที่กำหนดเอง</string>
<string name="subject">เรื่อง</string>
diff --git a/app/src/main/res/values-tl-rPH/strings.xml b/app/src/main/res/values-tl-rPH/strings.xml
index 22cbae5c..830c1fa5 100644
--- a/app/src/main/res/values-tl-rPH/strings.xml
+++ b/app/src/main/res/values-tl-rPH/strings.xml
@@ -23,7 +23,6 @@
<string name="welcome">Maligayang Pagdating %s</string>
<string name="select_facebook_account">Pumili ng Akawnt ng Facebook</string>
<string name="account_not_found">Ang kasalukuyang akawnt ay wala duon sa database</string>
- <string name="frost_requests">Ang mga kahilingan sa Frost</string>
<string name="frost_notifications">Ang mga Notipikasyon ng Frost</string>
<string name="requires_custom_theme">Ang pasadyang tema ay kinakailangan</string>
<string name="subject">Paksa</string>
diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml
index a2f7b562..ac7796c2 100644
--- a/app/src/main/res/values-tr-rTR/strings.xml
+++ b/app/src/main/res/values-tr-rTR/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Hoşgeldiniz %s</string>
<string name="select_facebook_account">Facebook hesabını seç</string>
<string name="account_not_found">Cari hesap veritabanı değil</string>
- <string name="frost_requests">Donma talebi</string>
<string name="frost_notifications">Frost bildirimleri</string>
<string name="requires_custom_theme">Özel Tema gerektirir</string>
<string name="subject">Başlık</string>
diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml
index adb894d5..8c65f743 100644
--- a/app/src/main/res/values-uk-rUA/strings.xml
+++ b/app/src/main/res/values-uk-rUA/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Вітаємо %s</string>
<string name="select_facebook_account">Обрати аккаунт Facebook</string>
<string name="account_not_found">Даний аккаунт не міститься у базі даних</string>
- <string name="frost_requests">Frost запити</string>
<string name="frost_notifications">Frost сповіщення</string>
<string name="requires_custom_theme">Потребує користувацької теми</string>
<string name="subject">Тема</string>
diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml
index 07be8849..02492c5b 100644
--- a/app/src/main/res/values-vi-rVN/strings.xml
+++ b/app/src/main/res/values-vi-rVN/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">Chào mừng %s</string>
<string name="select_facebook_account">Chọn tài khoản Facebook</string>
<string name="account_not_found">Tài khoản không có trong dữ liệu</string>
- <string name="frost_requests">Yêu cầu Frost</string>
<string name="frost_notifications">Thông báo từ Frost</string>
<string name="requires_custom_theme">Yêu cầu gói giao diện riêng</string>
<string name="subject">Chủ đề</string>
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 17034287..f411cf62 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -24,7 +24,6 @@
<string name="welcome">欢迎,%s!</string>
<string name="select_facebook_account">選擇 Facebook 帳戶</string>
<string name="account_not_found">當前帳戶不在資料庫中</string>
- <string name="frost_requests">Frost for Facebook 要求</string>
<string name="frost_notifications">Frost 通知</string>
<string name="requires_custom_theme">需要自訂主題</string>
<string name="subject">主題</string>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c2660c6a..dda6c789 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -26,7 +26,6 @@
<string name="select_facebook_account">Select Facebook Account</string>
<string name="account_not_found">Current account is not in the database</string>
- <string name="frost_requests">Frost Requests</string>
<string name="frost_notifications">Frost Notifications</string>
<string name="requires_custom_theme">Requires custom theme</string>
diff --git a/app/src/main/res/xml/frost_changelog.xml b/app/src/main/res/xml/frost_changelog.xml
index d85d86d1..955e1239 100644
--- a/app/src/main/res/xml/frost_changelog.xml
+++ b/app/src/main/res/xml/frost_changelog.xml
@@ -7,6 +7,7 @@
-->
<version title="v2.4.1" />
+ <item text="Add better support for mobile url conversions" />
<item text="Notification tab will keep first page in the same window; fixes marking notifications as read" />
<item text="Fix nav and status bar icon colors for custom themes (Android O+)" />
<item text="" />
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 3fb5ca1b..29856117 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -1,6 +1,7 @@
# Changelog
## v2.4.1
+* Convert facebook desktop urls to mobile ones
* Notification tab will keep first page in the same window; fixes marking notifications as read
* Fix nav and status bar icon colors for custom themes (Android O+)