diff --git a/app/src/main/java/pokitmons/pokit/MainActivity.kt b/app/src/main/java/pokitmons/pokit/MainActivity.kt index 21b09f3..3c78fe9 100644 --- a/app/src/main/java/pokitmons/pokit/MainActivity.kt +++ b/app/src/main/java/pokitmons/pokit/MainActivity.kt @@ -1,5 +1,6 @@ package pokitmons.pokit +import android.content.ClipData import android.content.ClipboardManager import android.os.Build import android.os.Bundle @@ -73,6 +74,9 @@ class MainActivity : ComponentActivity() { ClipboardLinkManager.setClipboardLink(clipboardTextData) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { clipboardManager.clearPrimaryClip() + } else { + val emptyClip = ClipData.newPlainText("", "") + clipboardManager.setPrimaryClip(emptyClip) } } } diff --git a/feature/home/src/main/java/pokitmons/pokit/home/model/ClipboardLinkManager.kt b/feature/home/src/main/java/pokitmons/pokit/home/model/ClipboardLinkManager.kt index 42550dc..e53f1ff 100644 --- a/feature/home/src/main/java/pokitmons/pokit/home/model/ClipboardLinkManager.kt +++ b/feature/home/src/main/java/pokitmons/pokit/home/model/ClipboardLinkManager.kt @@ -2,16 +2,14 @@ package pokitmons.pokit.home.model import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.SharedFlow +import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.launch -import pokitmons.pokit.core.feature.flow.EventFlow -import pokitmons.pokit.core.feature.flow.MutableEventFlow -import pokitmons.pokit.core.feature.flow.asEventFlow -import java.util.Locale -import java.util.regex.Pattern object ClipboardLinkManager { - private val _clipboardLinkUrl: MutableEventFlow = MutableEventFlow() - val clipboardLinkUrl: EventFlow = _clipboardLinkUrl.asEventFlow() + private val _clipboardLinkUrl: MutableSharedFlow = MutableSharedFlow() + val clipboardLinkUrl: SharedFlow = _clipboardLinkUrl.asSharedFlow() fun setClipboardLink(linkUrl: String) { CoroutineScope(Dispatchers.IO).launch { @@ -20,14 +18,7 @@ object ClipboardLinkManager { } fun checkUrlIsValid(url: String): Boolean { - val urlPattern = ( - "^(http://|https://)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}" + - "(:[0-9]{1,5})?(/.*)?$" - ) - - val pattern = Pattern.compile(urlPattern) - val matcher = pattern.matcher(url.lowercase(Locale.getDefault())) - - return matcher.matches() + val isValidUrl = url.startsWith("http://") || url.startsWith("https://") + return isValidUrl } }