aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2020-05-23 21:12:23 -0700
committerGitHub <noreply@github.com>2020-05-23 21:12:23 -0700
commit327ed78db8b7f77891eab88c562132aff93958a4 (patch)
tree5f240c8db9ba2b7d69888a86659a963bcd352c00
parentffce9e645572eefdcd837921214a2be026514b43 (diff)
parenta6a1b8dffd08219c76614e0eeba6e4d92f02aa6b (diff)
downloadfrost-327ed78db8b7f77891eab88c562132aff93958a4.tar.gz
frost-327ed78db8b7f77891eab88c562132aff93958a4.tar.bz2
frost-327ed78db8b7f77891eab88c562132aff93958a4.zip
Merge pull request #1680 from AllanWang/full-size-image
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt4
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/injectors/CssSmallAssets.kt36
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/settings/Feed.kt7
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt4
-rw-r--r--app/src/main/play/en-US/whatsnew7
-rw-r--r--app/src/main/res/values-gr-rGR/strings_pref_feed.xml2
-rw-r--r--app/src/main/res/values/strings_pref_feed.xml6
-rw-r--r--app/src/main/res/xml/frost_changelog.xml9
-rw-r--r--docs/Changelog.md4
11 files changed, 73 insertions, 10 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt b/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt
index 94367853..9630117d 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt
@@ -24,7 +24,7 @@ import com.pitchedapps.frost.utils.Prefs
*
* List of elements to hide
*/
-enum class CssHider(vararg val items: String) : InjectorContract {
+enum class CssHider(private vararg val items: String) : InjectorContract {
CORE("[data-sigil=m_login_upsell]", "[role=progressbar]"),
HEADER(
"#header:not(.mFuturePageHeader):not(.titled)",
@@ -51,7 +51,7 @@ enum class CssHider(vararg val items: String) : InjectorContract {
val injector: JsInjector by lazy {
JsBuilder().css("${items.joinToString(separator = ",")}{display:none !important}")
- .single(name).build()
+ .single("css-hider-$name").build()
}
override fun inject(webView: WebView, prefs: Prefs) =
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssSmallAssets.kt b/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssSmallAssets.kt
new file mode 100644
index 00000000..27b6e278
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssSmallAssets.kt
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2020 Allan Wang
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.pitchedapps.frost.injectors
+
+import android.webkit.WebView
+import com.pitchedapps.frost.utils.Prefs
+
+/**
+ * Small misc inline css assets
+ */
+enum class CssSmallAssets(private val content: String) : InjectorContract {
+ FullSizeImage("div._4prr[style*=\"max-width\"][style*=\"max-height\"]{max-width:none !important;max-height:none !important}")
+ ;
+
+ val injector: JsInjector by lazy {
+ JsBuilder().css(content).single("css-small-assets-$name").build()
+ }
+
+ override fun inject(webView: WebView, prefs: Prefs) {
+ injector.inject(webView, prefs)
+ }
+}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Feed.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Feed.kt
index 15a0633b..22917106 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Feed.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Feed.kt
@@ -97,4 +97,11 @@ fun SettingsActivity.getFeedPrefs(): KPrefAdapterBuilder.() -> Unit = {
}) {
descRes = R.string.facebook_ads_desc
}
+
+ checkbox(R.string.full_size_image, prefs::fullSizeImage, {
+ prefs.fullSizeImage = it
+ shouldRefreshMain()
+ }) {
+ descRes = R.string.full_size_image_desc
+ }
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
index 8b2b5067..1dfd6871 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
@@ -198,6 +198,8 @@ class Prefs(factory: KPrefFactory) : KPref("${BuildConfig.APPLICATION_ID}.prefs"
var showCreateFab: Boolean by kpref("show_create_fab", true)
+ var fullSizeImage: Boolean by kpref("full_size_image", false)
+
inline val mainActivityLayout: MainActivityLayout
get() = MainActivityLayout(mainActivityLayoutType)
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt
index 8d4deef8..199e9cfb 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt
@@ -26,6 +26,7 @@ import android.webkit.WebView
import ca.allanwang.kau.utils.withAlpha
import com.pitchedapps.frost.facebook.USER_AGENT
import com.pitchedapps.frost.injectors.CssHider
+import com.pitchedapps.frost.injectors.CssSmallAssets
import com.pitchedapps.frost.injectors.jsInject
import com.pitchedapps.frost.utils.L
import com.pitchedapps.frost.utils.Prefs
@@ -116,6 +117,7 @@ class DebugWebView @JvmOverloads constructor(
(url?.contains("?sk=h_chr") ?: false) &&
prefs.aggressiveRecents
),
+ CssSmallAssets.FullSizeImage.maybe(prefs.fullSizeImage),
prefs = prefs
)
}
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 973efc4b..9e0c64ab 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt
@@ -29,6 +29,7 @@ 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.CssSmallAssets
import com.pitchedapps.frost.injectors.JsActions
import com.pitchedapps.frost.injectors.JsAssets
import com.pitchedapps.frost.injectors.jsInject
@@ -127,11 +128,12 @@ open class FrostWebViewClient(val web: FrostWebView) : BaseWebViewClient() {
(web.url?.contains("?sk=h_chr") ?: false) &&
prefs.aggressiveRecents
),
+ CssHider.ADS.maybe(!prefs.showFacebookAds),
+ CssSmallAssets.FullSizeImage.maybe(prefs.fullSizeImage),
JsAssets.DOCUMENT_WATCHER,
JsAssets.HORIZONTAL_SCROLLING,
JsAssets.AUTO_RESIZE_TEXTAREA,
JsAssets.CLICK_A,
- CssHider.ADS.maybe(!prefs.showFacebookAds),
JsAssets.CONTEXT_A,
JsAssets.MEDIA,
prefs = prefs
diff --git a/app/src/main/play/en-US/whatsnew b/app/src/main/play/en-US/whatsnew
index cd456c04..b63931c3 100644
--- a/app/src/main/play/en-US/whatsnew
+++ b/app/src/main/play/en-US/whatsnew
@@ -1,5 +1,4 @@
-v2.4.4
+v2.4.5
-* Lots of under the hood fixes
-* Fixed sharing
-* Fix photo downloads for Android Q+ \ No newline at end of file
+* Fix url query encoding
+* Add option to make images full screen (settings > news feed) \ No newline at end of file
diff --git a/app/src/main/res/values-gr-rGR/strings_pref_feed.xml b/app/src/main/res/values-gr-rGR/strings_pref_feed.xml
index 218ccd7e..ea707524 100644
--- a/app/src/main/res/values-gr-rGR/strings_pref_feed.xml
+++ b/app/src/main/res/values-gr-rGR/strings_pref_feed.xml
@@ -9,7 +9,7 @@
<string name="composer_desc">Εμφάνιση Δημιουργίας Δημοσίευσης στο feed δημοσιεύσεων</string>
<string name="suggested_friends">Προτεινόμενοι Φίλοι</string>
- <string name="suggested_friends_desc">Εμφάνισε "Ανθρώπους που ίσως γνωρίζετε" στο feed δημοσιεύσεων</string>
+ <string name="suggested_friends_desc">Εμφάνισε \"Ανθρώπους που ίσως γνωρίζετε\" στο feed δημοσιεύσεων</string>
<string name="suggested_groups">Προτεινόμενες ομάδες</string>
<string name="suggested_groups_desc">Εμφάνισε "Προτεινόμενες ομάδες" στο feed</string>
<string name="show_stories">Εμφάνιση Ιστοριών</string>
diff --git a/app/src/main/res/values/strings_pref_feed.xml b/app/src/main/res/values/strings_pref_feed.xml
index 96112059..330c900c 100644
--- a/app/src/main/res/values/strings_pref_feed.xml
+++ b/app/src/main/res/values/strings_pref_feed.xml
@@ -11,12 +11,14 @@
<string name="create_fab_desc">Show FAB in feed to create new post</string>
<string name="suggested_friends">Suggested Friends</string>
- <string name="suggested_friends_desc">Show "People You May Know" in the feed</string>
+ <string name="suggested_friends_desc">Show \"People You May Know\" in the feed</string>
<string name="suggested_groups">Suggested Groups</string>
- <string name="suggested_groups_desc">Show "Suggested Groups" in the feed</string>
+ <string name="suggested_groups_desc">Show \"Suggested Groups\" in the feed</string>
<string name="show_stories">Show Stories</string>
<string name="show_stories_desc">Show stories in the feed</string>
<string name="facebook_ads">Facebook Ads</string>
<string name="facebook_ads_desc">Show native Facebook ads</string>
+ <string name="full_size_image">Full Size Images</string>
+ <string name="full_size_image_desc">Force news feed images to be full width</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/xml/frost_changelog.xml b/app/src/main/res/xml/frost_changelog.xml
index 2193ace9..2fae701b 100644
--- a/app/src/main/res/xml/frost_changelog.xml
+++ b/app/src/main/res/xml/frost_changelog.xml
@@ -6,6 +6,15 @@
<item text="" />
-->
+ <version title="v2.4.5" />
+ <item text="Fix url query encoding" />
+ <item text="Add option to make images full screen (settings > news feed)" />
+ <item text="" />
+ <item text="" />
+ <item text="" />
+ <item text="" />
+ <item text="" />
+
<version title="v2.4.4" />
<item text="Lots of under the hood fixes" />
<item text="Fixed sharing" />
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 51ef89f8..a0429697 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -1,5 +1,9 @@
# Changelog
+## v2.4.5
+* Fix url query encoding
+* Add option to make images full screen (settings > news feed)
+
## v2.4.4
* Lots of under the hood fixes
* Fixed sharing