From 2e22f2ae6a963a2e00dc4b50b4a308c80ebe68e2 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Thu, 27 Sep 2018 20:15:11 -0400 Subject: Fix more lints --- app/src/main/kotlin/com/pitchedapps/frost/injectors/JsAssets.kt | 3 ++- app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/injectors') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsAssets.kt b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsAssets.kt index 21d660b8..980481a4 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsAssets.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsAssets.kt @@ -3,6 +3,7 @@ package com.pitchedapps.frost.injectors import android.webkit.WebView import ca.allanwang.kau.kotlin.lazyContext import com.pitchedapps.frost.utils.L +import java.io.BufferedReader import java.io.FileNotFoundException import java.util.* @@ -19,7 +20,7 @@ enum class JsAssets : InjectorContract { var file = "${name.toLowerCase(Locale.CANADA)}.js" var injector = lazyContext { try { - val content = it.assets.open("js/$file").bufferedReader().use { it.readText() } + val content = it.assets.open("js/$file").bufferedReader().use(BufferedReader::readText) JsBuilder().js(content).single(name).build() } catch (e: FileNotFoundException) { L.e(e) { "JsAssets file not found" } diff --git a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt index e45e86b1..acda2d9b 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt @@ -110,6 +110,6 @@ fun FrostWebViewClient.jsInject(vararg injectors: InjectorContract, */ class JsInjector(val function: String) : InjectorContract { override fun inject(webView: WebView, callback: (() -> Unit)?) { - webView.evaluateJavascript(function, { callback?.invoke() }) + webView.evaluateJavascript(function) { callback?.invoke() } } } \ No newline at end of file -- cgit v1.2.3 From 857fe0a28ccb5b8f7f3caef4ecd477596fe2468c Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Thu, 27 Sep 2018 20:49:45 -0400 Subject: Add tests and move header hider to css --- app/src/main/assets/css/core/core.css | 2 +- app/src/main/assets/css/core/core.scss | 5 +---- app/src/main/assets/css/themes/custom.css | 2 +- app/src/main/assets/css/themes/material_amoled.css | 2 +- app/src/main/assets/css/themes/material_dark.css | 2 +- app/src/main/assets/css/themes/material_glass.css | 2 +- app/src/main/assets/css/themes/material_light.css | 2 +- .../com/pitchedapps/frost/injectors/CssHider.kt | 6 ++--- .../com/pitchedapps/frost/web/DebugWebView.kt | 2 +- .../pitchedapps/frost/web/FrostWebViewClients.kt | 5 +++-- .../com/pitchedapps/frost/facebook/FbDomTest.kt | 26 ++++++++++++++++++++++ 11 files changed, 40 insertions(+), 16 deletions(-) create mode 100644 app/src/test/kotlin/com/pitchedapps/frost/facebook/FbDomTest.kt (limited to 'app/src/main/kotlin/com/pitchedapps/frost/injectors') diff --git a/app/src/main/assets/css/core/core.css b/app/src/main/assets/css/core/core.css index b57ef4be..497dd969 100644 --- a/app/src/main/assets/css/core/core.css +++ b/app/src/main/assets/css/core/core.css @@ -210,7 +210,7 @@ button ._v89 ._54k8._1fl1 { box-shadow: none !important; } -[data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { +[data-sigil=m_login_upsell] [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { display: none !important; } diff --git a/app/src/main/assets/css/core/core.scss b/app/src/main/assets/css/core/core.scss index 15074674..8091e2a6 100644 --- a/app/src/main/assets/css/core/core.scss +++ b/app/src/main/assets/css/core/core.scss @@ -1,6 +1,5 @@ @import "colors"; @import "base"; - @import "core_text"; @import "core_bg"; @import "core_border"; @@ -15,7 +14,7 @@ // box-shadow: none !important; // } -//menu spinner +[data-sigil=m_login_upsell], [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { display: none !important; } @@ -24,8 +23,6 @@ color: $text !important; } - - .excessItem { outline: $divider !important; } diff --git a/app/src/main/assets/css/themes/custom.css b/app/src/main/assets/css/themes/custom.css index ee27be23..c7e31ed5 100644 --- a/app/src/main/assets/css/themes/custom.css +++ b/app/src/main/assets/css/themes/custom.css @@ -210,7 +210,7 @@ button ._v89 ._54k8._1fl1 { box-shadow: none !important; } -[data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { +[data-sigil=m_login_upsell] [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { display: none !important; } diff --git a/app/src/main/assets/css/themes/material_amoled.css b/app/src/main/assets/css/themes/material_amoled.css index 6f044052..7a055429 100644 --- a/app/src/main/assets/css/themes/material_amoled.css +++ b/app/src/main/assets/css/themes/material_amoled.css @@ -210,7 +210,7 @@ button ._v89 ._54k8._1fl1 { box-shadow: none !important; } -[data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { +[data-sigil=m_login_upsell] [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { display: none !important; } diff --git a/app/src/main/assets/css/themes/material_dark.css b/app/src/main/assets/css/themes/material_dark.css index 990b5168..f4e20933 100644 --- a/app/src/main/assets/css/themes/material_dark.css +++ b/app/src/main/assets/css/themes/material_dark.css @@ -210,7 +210,7 @@ button ._v89 ._54k8._1fl1 { box-shadow: none !important; } -[data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { +[data-sigil=m_login_upsell] [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { display: none !important; } diff --git a/app/src/main/assets/css/themes/material_glass.css b/app/src/main/assets/css/themes/material_glass.css index ee16ee2a..bad6bd44 100644 --- a/app/src/main/assets/css/themes/material_glass.css +++ b/app/src/main/assets/css/themes/material_glass.css @@ -210,7 +210,7 @@ button ._v89 ._54k8._1fl1 { box-shadow: none !important; } -[data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { +[data-sigil=m_login_upsell] [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { display: none !important; } diff --git a/app/src/main/assets/css/themes/material_light.css b/app/src/main/assets/css/themes/material_light.css index 55ddebcf..f4a5dee4 100644 --- a/app/src/main/assets/css/themes/material_light.css +++ b/app/src/main/assets/css/themes/material_light.css @@ -210,7 +210,7 @@ button ._v89 ._54k8._1fl1 { box-shadow: none !important; } -[data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { +[data-sigil=m_login_upsell] [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { display: none !important; } 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 6981fd1c..5444fad8 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/CssHider.kt @@ -8,9 +8,9 @@ import android.webkit.WebView * List of elements to hide */ enum class CssHider(vararg val items: String) : InjectorContract { - CORE("[data-sigil=m_login_upsell]", "role=progressbar"), - // HEADER("#header", "[data-sigil=MTopBlueBarHeader]", -// "#header-notices", "[data-sigil*=m-promo-jewel-header]"), + CORE("[data-sigil=m_login_upsell]", "[role=progressbar]"), + HEADER("#header", "#mJewelNav", "[data-sigil=MTopBlueBarHeader]", + "#header-notices", "[data-sigil*=m-promo-jewel-header]"), ADS("article[data-xt*=sponsor]", "article[data-store*=sponsor]"), PEOPLE_YOU_MAY_KNOW("article._d2r"), 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 4c4e5525..ac62f142 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt @@ -82,7 +82,7 @@ class DebugWebView @JvmOverloads constructor( if (url.isFacebookUrl) view.jsInject( CssAssets.ROUND_ICONS.maybe(Prefs.showRoundedIcons), - CssHider.CORE, +// CssHider.CORE, CssHider.COMPOSER.maybe(!Prefs.showComposer), CssHider.PEOPLE_YOU_MAY_KNOW.maybe(!Prefs.showSuggestedFriends), CssHider.SUGGESTED_GROUPS.maybe(!Prefs.showSuggestedGroups), 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 a1fd594f..8824e635 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt @@ -65,7 +65,8 @@ open class FrostWebViewClient(val web: FrostWebView) : BaseWebViewClient() { if (url.isFacebookUrl) view.jsInject( CssAssets.ROUND_ICONS.maybe(Prefs.showRoundedIcons), - CssHider.CORE, +// CssHider.CORE, + CssHider.HEADER, CssHider.COMPOSER.maybe(!Prefs.showComposer), CssHider.PEOPLE_YOU_MAY_KNOW.maybe(!Prefs.showSuggestedFriends), CssHider.SUGGESTED_GROUPS.maybe(!Prefs.showSuggestedGroups), @@ -76,7 +77,7 @@ open class FrostWebViewClient(val web: FrostWebView) : BaseWebViewClient() { JsAssets.CLICK_A, CssHider.ADS.maybe(!Prefs.showFacebookAds), JsAssets.CONTEXT_A, - JsAssets.HEADER_HIDER, +// JsAssets.HEADER_HIDER, JsAssets.MEDIA) else refresh.onNext(false) diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbDomTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbDomTest.kt new file mode 100644 index 00000000..ce748907 --- /dev/null +++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbDomTest.kt @@ -0,0 +1,26 @@ +package com.pitchedapps.frost.facebook + +import com.pitchedapps.frost.internal.authDependent +import com.pitchedapps.frost.internal.testJsoup +import org.junit.BeforeClass +import org.junit.Test +import kotlin.test.assertNotNull + +class FbDomTest { + + companion object { + @BeforeClass + @JvmStatic + fun before() { + authDependent() + } + } + + @Test + fun checkHeaders() { + val doc = testJsoup(FB_URL_BASE) + assertNotNull(doc.getElementById("header")) + assertNotNull(doc.getElementById("mJewelNav")) + } + +} \ No newline at end of file -- cgit v1.2.3 From 0d23df5fe082754f3579eb2b6e91c7fcfb1134b0 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Thu, 27 Sep 2018 23:43:38 -0400 Subject: Update create post selector --- app/src/main/kotlin/com/pitchedapps/frost/injectors/JsActions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/injectors') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsActions.kt b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsActions.kt index b4926355..1ab00153 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsActions.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsActions.kt @@ -17,7 +17,7 @@ enum class JsActions(body: String) : InjectorContract { BASE_HREF("""document.write("");"""), FETCH_BODY("""setTimeout(function(){var e=document.querySelector("main");e||(e=document.querySelector("body")),Frost.handleHtml(e.outerHTML)},1e2);"""), RETURN_BODY("return(document.getElementsByTagName('html')[0].innerHTML);"), - CREATE_POST(clickBySelector("button[name=view_overview]")), + CREATE_POST(clickBySelector("[role=textbox][onclick]")), // CREATE_MSG(clickBySelector("a[rel=dialog]")), /** * Used as a pseudoinjector for maybe functions -- cgit v1.2.3