diff options
Diffstat (limited to 'app/src/main/kotlin')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragments.kt | 16 | ||||
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt | 6 |
2 files changed, 21 insertions, 1 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragments.kt b/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragments.kt index 0a3884ff..a6b4eae7 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragments.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/fragments/WebFragments.kt @@ -60,4 +60,20 @@ class WebFragment : BaseFragment() { } super.updateFab(contract) } + + override fun onBackPressed(): Boolean { + if (baseEnum == FbItem.MENU) { + val core = core + val web = core as? WebView + if (web != null && web.canGoBack() && !web.canGoBackOrForward(-2)) { + // If menu item + we are at the second last entry, reload the base + // To properly inflate the menu + // Related to https://github.com/AllanWang/Frost-for-Facebook/issues/1593 + core.clearHistory() + core.reloadBase(true) + return true + } + } + return super.onBackPressed() + } } 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 8c5f6db6..2060cf12 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt @@ -352,7 +352,11 @@ val dependentSegments = arrayOf( * mid* or id* for newer threads, which can be launched in new windows * or a hash for old threads, which must be loaded on old threads */ - "messages/read/?tid=id", "messages/read/?tid=mid" + "messages/read/?tid=id", "messages/read/?tid=mid", + // For some reason townhall doesn't load independently + // This will allow it to load, but going back unfortunately messes up the menu client + // See https://github.com/AllanWang/Frost-for-Facebook/issues/1593 + "/townhall/" ) inline val String?.isExplicitIntent |