mirror of
https://github.com/AllanWang/Frost-for-Facebook.git
synced 2024-11-08 20:12:39 +01:00
Add more css hiders (#373)
* Add more css hiders * Add toggles and injectors * Fix composer hider * Update changelog
This commit is contained in:
parent
6bca83c464
commit
1369aa283a
@ -15,6 +15,8 @@ enum class CssHider(vararg val items: String) : InjectorContract {
|
||||
"article[data-store*=sponsor]"
|
||||
),
|
||||
PEOPLE_YOU_MAY_KNOW("article._d2r"),
|
||||
SUGGESTED_GROUPS("article[data-ft*=\"ei\":]"),
|
||||
COMPOSER("#MComposer"),
|
||||
MESSENGER("._s15", "[data-testid=info_panel]", "js_i"),
|
||||
NON_RECENT("article:not([data-store*=actor_name])")
|
||||
;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.pitchedapps.frost.injectors
|
||||
|
||||
import android.webkit.WebView
|
||||
import com.pitchedapps.frost.utils.L
|
||||
import com.pitchedapps.frost.web.FrostWebViewClient
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
@ -55,9 +56,10 @@ fun WebView.jsInject(vararg injectors: InjectorContract, callback: ((Array<Strin
|
||||
val validInjectors = injectors.filter { it != JsActions.EMPTY }
|
||||
if (validInjectors.isEmpty()) return callback(emptyArray())
|
||||
val observables = Array(validInjectors.size, { SingleSubject.create<String>() })
|
||||
Observable.zip<String, Array<String>>(observables.map { it.toObservable() }, { it.map { it.toString() }.toTypedArray() }).subscribeOn(AndroidSchedulers.mainThread()).subscribe({
|
||||
callback(it)
|
||||
})
|
||||
L.d("Injecting ${observables.size} items")
|
||||
Observable.zip<String, Array<String>>(observables.map(SingleSubject<String>::toObservable),
|
||||
{ it.map(Any::toString).toTypedArray() })
|
||||
.subscribeOn(AndroidSchedulers.mainThread()).subscribe({ callback(it) })
|
||||
(0 until validInjectors.size).forEach { i -> validInjectors[i].inject(this, { observables[i].onSuccess(it) }) }
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,13 @@ fun SettingsActivity.getFeedPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
onClick = { _, _, _ -> launchWebOverlay("https://touch.facebook.com/settings/videos"); true }
|
||||
}
|
||||
|
||||
checkbox(R.string.composer, { Prefs.showComposer }, {
|
||||
Prefs.showComposer = it
|
||||
setFrostResult(MainActivity.REQUEST_REFRESH)
|
||||
}) {
|
||||
descRes = R.string.composer_desc
|
||||
}
|
||||
|
||||
header(R.string.pro_features)
|
||||
|
||||
checkbox(R.string.suggested_friends, { Prefs.showSuggestedFriends }, {
|
||||
@ -56,6 +63,14 @@ fun SettingsActivity.getFeedPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
dependsOnPro()
|
||||
}
|
||||
|
||||
checkbox(R.string.suggested_groups, { Prefs.showSuggestedGroups }, {
|
||||
Prefs.showSuggestedGroups = it
|
||||
setFrostResult(MainActivity.REQUEST_REFRESH)
|
||||
}) {
|
||||
descRes = R.string.suggested_groups_desc
|
||||
dependsOnPro()
|
||||
}
|
||||
|
||||
checkbox(R.string.facebook_ads, { Prefs.showFacebookAds }, {
|
||||
Prefs.showFacebookAds = it
|
||||
setFrostResult(MainActivity.REQUEST_REFRESH)
|
||||
|
@ -90,8 +90,12 @@ object Prefs : KPref() {
|
||||
|
||||
var showRoundedIcons: Boolean by kpref("rounded_icons", true)
|
||||
|
||||
var showComposer: Boolean by kpref("status_composer_feed", true)
|
||||
|
||||
var showSuggestedFriends: Boolean by kpref("suggested_friends_feed", true)
|
||||
|
||||
var showSuggestedGroups: Boolean by kpref("suggested_groups_feed", true)
|
||||
|
||||
var showFacebookAds: Boolean by kpref("facebook_ads", true)
|
||||
|
||||
var animate: Boolean by kpref("fancy_animations", true)
|
||||
|
@ -76,7 +76,9 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
|
||||
CssAssets.ROUND_ICONS.maybe(Prefs.showRoundedIcons),
|
||||
CssHider.HEADER,
|
||||
CssHider.CORE,
|
||||
CssHider.COMPOSER.maybe(!Prefs.showComposer),
|
||||
CssHider.PEOPLE_YOU_MAY_KNOW.maybe(!Prefs.showSuggestedFriends && IS_FROST_PRO),
|
||||
CssHider.SUGGESTED_GROUPS.maybe(!Prefs.showSuggestedGroups && IS_FROST_PRO),
|
||||
Prefs.themeInjector,
|
||||
CssHider.NON_RECENT.maybe((webCore.url?.contains("?sk=h_chr") ?: false)
|
||||
&& Prefs.aggressiveRecents))
|
||||
|
@ -7,9 +7,14 @@
|
||||
<string name="aggressive_recents_desc">Filter out additional old posts from Facebook\'s original most recents feed. Disable this if your feed is empty.</string>
|
||||
<string name="autoplay_settings">Video Autoplay Settings</string>
|
||||
<string name="autoplay_settings_desc">Enable/disable video autoplays on data or at all times.\nThese settings are independent of your settings for desktop.</string>
|
||||
<string name="composer">Status Composer</string>
|
||||
<string name="composer_desc">Show status composer in the feed</string>
|
||||
|
||||
<string name="pro_features">Pro Features</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_groups">Suggested Groups</string>
|
||||
<string name="suggested_groups_desc">Show "Suggested Groups" in the feed</string>
|
||||
<string name="facebook_ads">Facebook Ads</string>
|
||||
<string name="facebook_ads_desc">Show native Facebook ads</string>
|
||||
|
||||
|
@ -2,51 +2,58 @@
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
<version title="v"/>
|
||||
<version title="v" />
|
||||
<item text="" />
|
||||
-->
|
||||
|
||||
<version title="v1.5.6"/>
|
||||
<version title="v1.5.7" />
|
||||
<item text="Allow hiding of composer and groups you may knnow" />
|
||||
<item text="" />
|
||||
<item text="" />
|
||||
<item text="" />
|
||||
<item text="" />
|
||||
|
||||
<version title="v1.5.6" />
|
||||
<item text="Greatly improve background notification fetcher" />
|
||||
<item text="Support fetching messages from all accounts" />
|
||||
<item text="Update theme" />
|
||||
|
||||
<version title="v1.5.5"/>
|
||||
<item text="Numerous bug fixes in KAU" />
|
||||
<item text="Set background back to white on non facebook pages" />
|
||||
<item text="Make read notification/message colors more obvious" />
|
||||
<item text="Clean up and small bug fixes" />
|
||||
<item text="Fix facebook link parsing issue for many links" />
|
||||
|
||||
<version title="v1.5.2"/>
|
||||
<item text="Add default download manager to download all files" />
|
||||
<item text="Limit notification sounds when multiple notifications come in" />
|
||||
<item text="Check that job scheduler exists before scheduling notifications" />
|
||||
<version title="v1.5.5" />
|
||||
<item text="Numerous bug fixes in KAU" />
|
||||
<item text="Set background back to white on non facebook pages" />
|
||||
<item text="Make read notification/message colors more obvious" />
|
||||
<item text="Clean up and small bug fixes" />
|
||||
<item text="Fix facebook link parsing issue for many links" />
|
||||
|
||||
<version title="v1.5.1"/>
|
||||
<item text="Release day is here!" />
|
||||
<item text="Add full support for messaging in overlays. We will dynamically launch new overlays when required to." />
|
||||
<item text="Prevent bad messenger intent from launching" />
|
||||
<item text="Add toggle for recents feed. Aggressive loading removes extra posts that are not really recent, whereas disabling it will show exactly what you get on Facebook" />
|
||||
<item text="Add contextual menu items. Easily go to your full list of notifications or messages from the overlay." />
|
||||
<item text="Ensure that bottom bar layout does not hide the web content" />
|
||||
<item text="Add option to share external links to Frost" />
|
||||
<item text="Trigger notification service on each app start" />
|
||||
|
||||
<version title="v1.4.13"/>
|
||||
<item text="Prevent image loading from trimming too many characters" />
|
||||
<item text="Fix most recent mode for news feed" />
|
||||
<item text="Add link to disable video autoplay in settings > newsfeed" />
|
||||
<item text="Update theme" />
|
||||
|
||||
<version title="v1.4.12"/>
|
||||
<item text="Fix new messages not showing" />
|
||||
<item text="Fix theme for sharing and new messages" />
|
||||
<item text="Prevent search bar settings from disabling itself if auto suggestions fail" />
|
||||
<item text="Fix numerous crashes relating to search bar layouts" />
|
||||
<item text="Add debugging for menu" />
|
||||
|
||||
<version title="v1.4.11"/>
|
||||
<version title="v1.5.2" />
|
||||
<item text="Add default download manager to download all files" />
|
||||
<item text="Limit notification sounds when multiple notifications come in" />
|
||||
<item text="Check that job scheduler exists before scheduling notifications" />
|
||||
|
||||
<version title="v1.5.1" />
|
||||
<item text="Release day is here!" />
|
||||
<item text="Add full support for messaging in overlays. We will dynamically launch new overlays when required to." />
|
||||
<item text="Prevent bad messenger intent from launching" />
|
||||
<item text="Add toggle for recents feed. Aggressive loading removes extra posts that are not really recent, whereas disabling it will show exactly what you get on Facebook" />
|
||||
<item text="Add contextual menu items. Easily go to your full list of notifications or messages from the overlay." />
|
||||
<item text="Ensure that bottom bar layout does not hide the web content" />
|
||||
<item text="Add option to share external links to Frost" />
|
||||
<item text="Trigger notification service on each app start" />
|
||||
|
||||
<version title="v1.4.13" />
|
||||
<item text="Prevent image loading from trimming too many characters" />
|
||||
<item text="Fix most recent mode for news feed" />
|
||||
<item text="Add link to disable video autoplay in settings > newsfeed" />
|
||||
<item text="Update theme" />
|
||||
|
||||
<version title="v1.4.12" />
|
||||
<item text="Fix new messages not showing" />
|
||||
<item text="Fix theme for sharing and new messages" />
|
||||
<item text="Prevent search bar settings from disabling itself if auto suggestions fail" />
|
||||
<item text="Fix numerous crashes relating to search bar layouts" />
|
||||
<item text="Add debugging for menu" />
|
||||
|
||||
<version title="v1.4.11" />
|
||||
<item text="Fix url loading bug and add option to launch urls in default browser (behaviour setting)" />
|
||||
<item text="Allow for bottom bar tabs (appearance setting)" />
|
||||
<item text="Allow custom ringtones for notifications and messages (notification setting)" />
|
||||
@ -55,9 +62,9 @@
|
||||
<item text="Fix initial login not sticking" />
|
||||
<item text="Allow back press in login activity" />
|
||||
<item text="Update themes" />
|
||||
|
||||
<version title="v1.4.7"/>
|
||||
<item text="Update secondary background for transparent themes to be more visible." />
|
||||
|
||||
<version title="v1.4.7" />
|
||||
<item text="Update secondary background for transparent themes to be more visible." />
|
||||
<item text="Pressing enter when searching will launch the full search page" />
|
||||
<item text="Add different backgrounds for news feed articles." />
|
||||
<item text="Add option to get image/video from default camera or gallery app." />
|
||||
@ -65,31 +72,31 @@
|
||||
<item text="Remove error dialog for IAB. It will now depend solely on the google services dialogs." />
|
||||
<item text="Fix loading issue for old conversations" />
|
||||
<item text="Add debugger for failed image activities" />
|
||||
|
||||
<version title="v1.4.5"/>
|
||||
<item text="Create more robust IM notification fetcher with a timeout" />
|
||||
|
||||
<version title="v1.4.5" />
|
||||
<item text="Create more robust IM notification fetcher with a timeout" />
|
||||
<item text="Add hidden debugging options for certain views" />
|
||||
<item text="Separate IM and general notification groups" />
|
||||
<item text="Add click actions to group notifications. They will launch the message page or the notification page respectively" />
|
||||
<item text="Add behaviour setting to force message threads to scroll to the bottom after loading." />
|
||||
<item text="Add faq for disabling video auto play" />
|
||||
|
||||
<version title="v1.4.2"/>
|
||||
|
||||
<version title="v1.4.2" />
|
||||
<item text="Experimental: Add notifications for messages; report to me if this drains your battery" />
|
||||
<item text="Add FAQ in the about section" />
|
||||
<item text="Add video uploading" />
|
||||
<item text="Add open link option in context menu" />
|
||||
<item text="Add geolocation" />
|
||||
<item text="Update theme" />
|
||||
<item text="Fix notification titles" />
|
||||
<item text="Fix notification titles" />
|
||||
<item text="ALPHA: Add support for downloading videos (hit the download button)" />
|
||||
<item text="Deny intents for login so the page loads properly (thank you @Zenexer)" />
|
||||
<item text="Reduce injection offset and move injectors to an earlier method" />
|
||||
<item text="Add option to disable media loading on metered network" />
|
||||
<item text="Fix menu section" />
|
||||
<item text="Add more background setters to help transparent themes" />
|
||||
|
||||
<version title="v1.4.1"/>
|
||||
|
||||
<version title="v1.4.1" />
|
||||
<item text="Add intro pages" />
|
||||
<item text="Style new comment highlights" />
|
||||
<item text="Style reaction background" />
|
||||
@ -99,16 +106,16 @@
|
||||
<item text="Update IAB helper" />
|
||||
<item text="Create image viewing and downloading; long press any image!" />
|
||||
<item text="Start filtering out unnecessary loads" />
|
||||
<item text="Fix notification duplicates" />
|
||||
<item text="Fix notification duplicates" />
|
||||
<item text="Fix long pressing album images" />
|
||||
<item text="Add friend request tab in nav bar" />
|
||||
<item text="Add friend request tab in nav bar" />
|
||||
<item text="Aggressively filter nonrecent posts in recents mode" />
|
||||
<item text="Add download option for full sized images" />
|
||||
<item text="Fix rounded icons" />
|
||||
<item text="Fix regex bug for some devices" />
|
||||
<item text="Fix regex bug for some devices" />
|
||||
<item text="Fix notification text" />
|
||||
<item text="Update round icons" />
|
||||
<item text="Allow for multiple result flags in settings to better reload the main view" />
|
||||
<item text="Allow for multiple result flags in settings to better reload the main view" />
|
||||
<item text="Add custom image picker" />
|
||||
<item text="Check if activities can open intent before loading in browser" />
|
||||
<item text="Add url debugging. Long press a button and press debug link to send me an email" />
|
||||
|
@ -9,11 +9,11 @@ import org.junit.Test
|
||||
*/
|
||||
class InjectorTest {
|
||||
|
||||
private fun JsInjector.print()
|
||||
= println(function)
|
||||
|
||||
@Test
|
||||
fun printAdHider() {
|
||||
CssHider.ADS.injector.print()
|
||||
fun printAll() {
|
||||
println("CSS Hider Injectors")
|
||||
CssHider.values().forEach {
|
||||
println("${it.injector.function}\n")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user