From 86df98094d202701690d597024558ccaa6d41abd Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 29 Dec 2019 21:54:15 -0800 Subject: Fix townhall loading (#1603) * Fix townhall loading * Clean up logs * Remove extra imports * Optimize imports * Fix query test --- .../com/pitchedapps/frost/fragments/WebFragments.kt | 16 ++++++++++++++++ app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt | 6 +++++- 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'app/src/main/kotlin/com/pitchedapps/frost') 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 -- cgit v1.2.3