aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt35
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt3
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/debugger/OfflineWebsite.kt9
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/facebook/requests/Images.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/AdBlocker.kt5
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt5
7 files changed, 37 insertions, 24 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt
index 92cb7609..0ef70bcd 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt
@@ -78,7 +78,12 @@ class AboutActivity : AboutActivityBase(null, {
"subsamplingscaleimageview"
)
- val l = libs.prepareLibraries(this, include, null, false, true, true)
+ val l = libs.prepareLibraries(
+ this, include, emptyArray(),
+ autoDetect = false,
+ checkCachedDetection = true,
+ sort = true
+ )
if (BuildConfig.DEBUG)
l.forEach { KL.d { "Lib ${it.definedName}" } }
return l
@@ -91,18 +96,22 @@ class AboutActivity : AboutActivityBase(null, {
/**
* Frost may not be a library but we're conveying the same info
*/
- val frost = Library().apply {
- libraryName = string(R.string.frost_name)
- author = string(R.string.dev_name)
- libraryWebsite = string(R.string.github_url)
- isOpenSource = true
- libraryDescription = string(R.string.frost_description)
- libraryVersion = BuildConfig.VERSION_NAME
- license = License().apply {
- licenseName = "GNU GPL v3"
- licenseWebsite = "https://www.gnu.org/licenses/gpl-3.0.en.html"
- }
- }
+ val frost = Library(
+ definedName = "frost",
+ libraryName = string(R.string.frost_name),
+ author = string(R.string.dev_name),
+ libraryWebsite = string(R.string.github_url),
+ isOpenSource = true,
+ libraryDescription = string(R.string.frost_description),
+ libraryVersion = BuildConfig.VERSION_NAME,
+ license = License(
+ definedName = "gplv3",
+ licenseName = "GNU GPL v3",
+ licenseWebsite = "https://www.gnu.org/licenses/gpl-3.0.en.html",
+ licenseDescription = "",
+ licenseShortDescription = ""
+ )
+ )
adapter.add(LibraryIItem(frost)).add(AboutLinks())
adapter.onClickListener = { _, _, item, _ ->
if (item is LibraryIItem) {
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt
index 10138595..d7876888 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt
@@ -368,7 +368,7 @@ class ImageActivity : KauBaseActivity() {
imgExtension = getImageExtension(response.header("Content-Type")) ?: ".jpg"
- val body = response.body() ?: throw IOException("Failed to retrieve image body")
+ val body = response.body ?: throw IOException("Failed to retrieve image body")
file.copyFromInputStream(body.byteStream())
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt
index c3d77dc5..823da768 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/WebOverlayActivity.kt
@@ -78,6 +78,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.launch
import okhttp3.HttpUrl
+import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
/**
* Created by Allan Wang on 2017-06-01.
@@ -125,7 +126,7 @@ class FrostWebActivity : WebOverlayActivityBase() {
private fun parseActionSend(): Boolean {
if (intent.action != Intent.ACTION_SEND || intent.type != "text/plain") return true
val text = intent.getStringExtra(Intent.EXTRA_TEXT) ?: return true
- val url = HttpUrl.parse(text)?.toString()
+ val url = text.toHttpUrlOrNull()?.toString()
return if (url == null) {
L.i { "Attempted to share a non-url" }
L._i { "Shared text: $text" }
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/debugger/OfflineWebsite.kt b/app/src/main/kotlin/com/pitchedapps/frost/debugger/OfflineWebsite.kt
index bc453250..75a13295 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/debugger/OfflineWebsite.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/debugger/OfflineWebsite.kt
@@ -31,6 +31,7 @@ import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.withContext
import kotlinx.coroutines.yield
import okhttp3.HttpUrl
+import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.Request
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
@@ -66,8 +67,8 @@ class OfflineWebsite(
* Supplied url without the queries
*/
private val baseUrl: String = baseUrl ?: run {
- val url: HttpUrl = HttpUrl.parse(url) ?: throw IllegalArgumentException("Malformed url")
- return@run "${url.scheme()}://${url.host()}"
+ val url: HttpUrl = url.toHttpUrlOrNull() ?: throw IllegalArgumentException("Malformed url")
+ return@run "${url.scheme}://${url.host}"
}
private val mainFile = File(baseDir, "index.html")
@@ -237,7 +238,7 @@ class OfflineWebsite(
return try {
val file = File(assetDir, fileName(url))
file.createNewFile()
- val stream = request(url).execute().body()?.byteStream()
+ val stream = request(url).execute().body?.byteStream()
?: throw IllegalArgumentException("Response body not found for $url")
file.copyFromInputStream(stream)
true
@@ -252,7 +253,7 @@ class OfflineWebsite(
val file = File(assetDir, fileName(url))
file.createNewFile()
- var content = request(url).execute().body()?.string()
+ var content = request(url).execute().body?.string()
?: throw IllegalArgumentException("Response body not found for $url")
val links = FB_CSS_URL_MATCHER.findAll(content).mapNotNull { it[1] }
val absLinks = links.mapNotNull {
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/requests/Images.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/requests/Images.kt
index 0115d6fc..1028287a 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/requests/Images.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/requests/Images.kt
@@ -36,7 +36,7 @@ suspend fun String.getFullSizedImageUrl(url: String, timeout: Long = 3000): Stri
try {
withTimeout(timeout) {
val redirect = requestBuilder().url(url).get().call()
- .execute().body()?.string() ?: return@withTimeout null
+ .execute().body?.string() ?: return@withTimeout null
FB_REDIRECT_URL_MATCHER.find(redirect)[1]?.formattedFbUrl
}
} catch (e: Exception) {
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/AdBlocker.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/AdBlocker.kt
index d14c6cd3..92b44ffd 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/AdBlocker.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/AdBlocker.kt
@@ -22,6 +22,7 @@ import ca.allanwang.kau.utils.use
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import okhttp3.HttpUrl
+import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
/**
* Created by Allan Wang on 2017-09-24.
@@ -50,8 +51,8 @@ open class AdBlocker(val assetPath: String) {
fun isAd(url: String?): Boolean {
url ?: return false
- val httpUrl = HttpUrl.parse(url) ?: return false
- return isAdHost(httpUrl.host())
+ val httpUrl = url.toHttpUrlOrNull() ?: return false
+ return isAdHost(httpUrl.host)
}
tailrec fun isAdHost(host: String): Boolean {
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 ab910ebc..c4c6b81f 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostRequestInterceptor.kt
@@ -22,6 +22,7 @@ import android.webkit.WebView
import com.pitchedapps.frost.utils.FrostPglAdBlock
import com.pitchedapps.frost.utils.L
import okhttp3.HttpUrl
+import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import java.io.ByteArrayInputStream
/**
@@ -40,8 +41,8 @@ private val blankResource: WebResourceResponse by lazy {
fun WebView.shouldFrostInterceptRequest(request: WebResourceRequest): WebResourceResponse? {
val requestUrl = request.url?.toString() ?: return null
- val httpUrl = HttpUrl.parse(requestUrl) ?: return null
- val host = httpUrl.host()
+ val httpUrl = requestUrl.toHttpUrlOrNull() ?: return null
+ val host = httpUrl.host
val url = httpUrl.toString()
if (host.contains("facebook") || host.contains("fbcdn")) return null
if (FrostPglAdBlock.isAd(host)) return blankResource