From bd351e85b5b2c615ab7699940680beba081fc598 Mon Sep 17 00:00:00 2001 From: Philipp Heckel Date: Thu, 1 Jan 2026 16:59:38 -0500 Subject: [PATCH] Move extractBaseUrl --- app/src/main/java/io/heckel/ntfy/msg/ApiService.kt | 8 -------- .../io/heckel/ntfy/msg/DownloadAttachmentWorker.kt | 10 ++-------- .../main/java/io/heckel/ntfy/msg/DownloadIconWorker.kt | 10 ++-------- .../main/java/io/heckel/ntfy/msg/UserActionWorker.kt | 10 ++-------- app/src/main/java/io/heckel/ntfy/util/Util.kt | 8 ++++++++ 5 files changed, 14 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/io/heckel/ntfy/msg/ApiService.kt b/app/src/main/java/io/heckel/ntfy/msg/ApiService.kt index a4aa7671..de0140d9 100644 --- a/app/src/main/java/io/heckel/ntfy/msg/ApiService.kt +++ b/app/src/main/java/io/heckel/ntfy/msg/ApiService.kt @@ -10,7 +10,6 @@ import io.heckel.ntfy.db.User import io.heckel.ntfy.tls.SSLManager import io.heckel.ntfy.util.* import okhttp3.* -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.RequestBody.Companion.toRequestBody import java.io.IOException import java.net.URLEncoder @@ -250,12 +249,5 @@ class ApiService(private val context: Context) { } return builder } - - private fun extractBaseUrl(url: String): String { - val httpUrl = url.toHttpUrlOrNull() ?: return "" - val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}" - val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else "" - return schemeAndHost + maybePort - } } } diff --git a/app/src/main/java/io/heckel/ntfy/msg/DownloadAttachmentWorker.kt b/app/src/main/java/io/heckel/ntfy/msg/DownloadAttachmentWorker.kt index e37186fb..3db7c879 100644 --- a/app/src/main/java/io/heckel/ntfy/msg/DownloadAttachmentWorker.kt +++ b/app/src/main/java/io/heckel/ntfy/msg/DownloadAttachmentWorker.kt @@ -16,7 +16,7 @@ import io.heckel.ntfy.db.* import io.heckel.ntfy.tls.SSLManager import io.heckel.ntfy.util.Log import io.heckel.ntfy.util.ensureSafeNewFile -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import io.heckel.ntfy.util.extractBaseUrl import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response @@ -35,13 +35,7 @@ class DownloadAttachmentWorker(private val context: Context, params: WorkerParam .writeTimeout(15, TimeUnit.SECONDS) .build() } - - private fun extractBaseUrl(url: String): String { - val httpUrl = url.toHttpUrlOrNull() ?: return "" - val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}" - val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else "" - return schemeAndHost + maybePort - } + private val notifier = NotificationService(context) private lateinit var repository: Repository private lateinit var subscription: Subscription diff --git a/app/src/main/java/io/heckel/ntfy/msg/DownloadIconWorker.kt b/app/src/main/java/io/heckel/ntfy/msg/DownloadIconWorker.kt index 8f933bc6..974eecb3 100644 --- a/app/src/main/java/io/heckel/ntfy/msg/DownloadIconWorker.kt +++ b/app/src/main/java/io/heckel/ntfy/msg/DownloadIconWorker.kt @@ -10,8 +10,8 @@ import io.heckel.ntfy.app.Application import io.heckel.ntfy.db.* import io.heckel.ntfy.tls.SSLManager import io.heckel.ntfy.util.Log +import io.heckel.ntfy.util.extractBaseUrl import io.heckel.ntfy.util.sha256 -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response @@ -31,13 +31,7 @@ class DownloadIconWorker(private val context: Context, params: WorkerParameters) .writeTimeout(15, TimeUnit.SECONDS) .build() } - - private fun extractBaseUrl(url: String): String { - val httpUrl = url.toHttpUrlOrNull() ?: return "" - val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}" - val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else "" - return schemeAndHost + maybePort - } + private val notifier = NotificationService(context) private lateinit var repository: Repository private lateinit var subscription: Subscription diff --git a/app/src/main/java/io/heckel/ntfy/msg/UserActionWorker.kt b/app/src/main/java/io/heckel/ntfy/msg/UserActionWorker.kt index c0ea5c21..ca985947 100644 --- a/app/src/main/java/io/heckel/ntfy/msg/UserActionWorker.kt +++ b/app/src/main/java/io/heckel/ntfy/msg/UserActionWorker.kt @@ -10,7 +10,7 @@ import io.heckel.ntfy.msg.NotificationService.Companion.ACTION_BROADCAST import io.heckel.ntfy.msg.NotificationService.Companion.ACTION_HTTP import io.heckel.ntfy.tls.SSLManager import io.heckel.ntfy.util.Log -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import io.heckel.ntfy.util.extractBaseUrl import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody @@ -29,13 +29,7 @@ class UserActionWorker(private val context: Context, params: WorkerParameters) : .writeTimeout(15, TimeUnit.SECONDS) .build() } - - private fun extractBaseUrl(url: String): String { - val httpUrl = url.toHttpUrlOrNull() ?: return "" - val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}" - val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else "" - return schemeAndHost + maybePort - } + private val notifier = NotificationService(context) private val broadcaster = BroadcastService(context) private lateinit var repository: Repository diff --git a/app/src/main/java/io/heckel/ntfy/util/Util.kt b/app/src/main/java/io/heckel/ntfy/util/Util.kt index 6d7ba987..31a34879 100644 --- a/app/src/main/java/io/heckel/ntfy/util/Util.kt +++ b/app/src/main/java/io/heckel/ntfy/util/Util.kt @@ -35,6 +35,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch +import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.MediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.RequestBody @@ -77,6 +78,13 @@ fun shortUrl(url: String) = url .replace("http://", "") .replace("https://", "") +fun extractBaseUrl(url: String): String { + val httpUrl = url.toHttpUrlOrNull() ?: return "" + val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}" + val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else "" + return schemeAndHost + maybePort +} + fun splitTopicUrl(topicUrl: String): Pair { if (topicUrl.lastIndexOf("/") == -1) throw Exception("Invalid argument $topicUrl") return Pair(topicUrl.substringBeforeLast("/"), topicUrl.substringAfterLast("/"))