aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-07-17 12:38:42 -0700
committerGitHub <noreply@github.com>2017-07-17 12:38:42 -0700
commite4679b1663fa78a99c6c8225e454595c6c6f4e38 (patch)
treea777ee782207c89d6e9243399471b9ad936736d0 /app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt
parent7bf93ea74b00ab7e8ceedac2aac6ad08fdf099ab (diff)
downloadfrost-e4679b1663fa78a99c6c8225e454595c6c6f4e38.tar.gz
frost-e4679b1663fa78a99c6c8225e454595c6c6f4e38.tar.bz2
frost-e4679b1663fa78a99c6c8225e454595c6c6f4e38.zip
Fix notifications and long press for albums (#69)v1.3.2
* Allow for album images to be viewed * Update listing info * Web refractoring * Test message notifications * Fix notifications and context press
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt24
1 files changed, 18 insertions, 6 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt
index 45dc83aa..3f2891d0 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt
@@ -1,17 +1,12 @@
package com.pitchedapps.frost.web
-import android.graphics.Bitmap.CompressFormat
import android.webkit.WebResourceRequest
import android.webkit.WebResourceResponse
import android.webkit.WebView
import ca.allanwang.kau.utils.use
-import com.pitchedapps.frost.utils.GlideApp
import com.pitchedapps.frost.utils.L
-import com.pitchedapps.frost.utils.Prefs
import okhttp3.HttpUrl
import java.io.ByteArrayInputStream
-import java.io.ByteArrayOutputStream
-import java.io.InputStream
/**
@@ -62,6 +57,23 @@ fun shouldFrostInterceptRequest(view: WebView, request: WebResourceRequest): Web
return null
}
+/**
+ * Wrapper to ensure that null exceptions are not reached
+ */
+fun WebResourceRequest.query(action: (url: String) -> Boolean): Boolean {
+ return action(url?.path ?: return false)
+}
+
+/**
+ * Generic filter passthrough
+ * If Resource is already nonnull, pass it, otherwise check if filter is met and override the response accordingly
+ */
+fun WebResourceResponse?.filter(request: WebResourceRequest, filter: (url: String) -> Boolean): WebResourceResponse?
+ = this ?: if (request.query { filter(it) }) blankResource else null
+
fun WebResourceResponse?.filterCss(request: WebResourceRequest): WebResourceResponse?
- = this ?: if (request.url.path.endsWith(".css")) blankResource else null
+ = filter(request) { it.endsWith(".css") }
+
+fun WebResourceResponse?.filterImage(request: WebResourceRequest): WebResourceResponse?
+ = filter(request) { it.contains(".jpg") || it.contains(".png") }