From c648f54b518604f5ed3fa75f38d1f68b563f013e Mon Sep 17 00:00:00 2001 From: greenart7c3 <115044884+greenart7c3@users.noreply.github.com> Date: Wed, 26 Apr 2023 10:03:51 -0300 Subject: [PATCH] created HttpClient class --- .../ui/components/TranslatableRichTextViewer.kt | 7 ++----- .../vitorpamplona/amethyst/ServiceManager.kt | 3 ++- .../amethyst/service/HttpClient.kt | 17 +++++++++++++++++ .../amethyst/service/Nip05Verifier.kt | 6 ++---- .../service/lnurl/LightningAddressResolver.kt | 7 +++---- .../amethyst/ui/actions/ImageSaver.kt | 7 +++---- .../amethyst/ui/actions/ImageUploader.kt | 7 +++---- .../amethyst/ui/actions/NewPostViewModel.kt | 3 +-- .../ui/actions/NewUserMetadataViewModel.kt | 3 +-- .../amethyst/ui/actions/SaveToGallery.kt | 6 ++---- .../ui/components/ExpandableRichTextViewer.kt | 7 ++----- .../amethyst/ui/components/InvoiceRequest.kt | 2 +- .../amethyst/ui/components/RichTextViewer.kt | 8 +++----- .../amethyst/ui/components/ZoomableImageView.kt | 9 ++++----- .../amethyst/ui/note/ChatroomMessageCompose.kt | 6 ++---- .../ui/note/NIP05VerificationDisplay.kt | 17 ++++++++--------- .../amethyst/ui/note/NoteCompose.kt | 11 ++++------- .../vitorpamplona/amethyst/ui/note/PollNote.kt | 10 +++------- .../amethyst/ui/screen/ThreadFeedView.kt | 8 +++----- .../ui/screen/loggedIn/AccountViewModel.kt | 2 +- .../ui/screen/loggedIn/ChatroomScreen.kt | 7 +++---- .../ui/screen/loggedIn/ProfileScreen.kt | 14 ++++++-------- .../ui/components/TranslatableRichTextViewer.kt | 7 ++----- 23 files changed, 78 insertions(+), 96 deletions(-) create mode 100644 app/src/main/java/com/vitorpamplona/amethyst/service/HttpClient.kt diff --git a/app/src/fdroid/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt b/app/src/fdroid/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt index a64a9e012..5f4659d44 100644 --- a/app/src/fdroid/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt +++ b/app/src/fdroid/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt @@ -5,7 +5,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.navigation.NavController import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel -import java.net.Proxy @Composable fun TranslatableRichTextViewer( @@ -15,8 +14,7 @@ fun TranslatableRichTextViewer( tags: List>?, backgroundColor: Color, accountViewModel: AccountViewModel, - navController: NavController, - proxy: Proxy? + navController: NavController ) = ExpandableRichTextViewer( content, canPreview, @@ -24,6 +22,5 @@ fun TranslatableRichTextViewer( tags, backgroundColor, accountViewModel, - navController, - proxy + navController ) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt index fbff99b63..a4db5f033 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt @@ -2,6 +2,7 @@ package com.vitorpamplona.amethyst import com.vitorpamplona.amethyst.model.Account import com.vitorpamplona.amethyst.model.LocalCache +import com.vitorpamplona.amethyst.service.HttpClient import com.vitorpamplona.amethyst.service.NostrAccountDataSource import com.vitorpamplona.amethyst.service.NostrChannelDataSource import com.vitorpamplona.amethyst.service.NostrChatroomListDataSource @@ -25,7 +26,7 @@ object ServiceManager { fun start() { val myAccount = account - + HttpClient.start(account) if (myAccount != null) { Client.connect(myAccount.activeRelays() ?: myAccount.convertLocalRelays()) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/HttpClient.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/HttpClient.kt new file mode 100644 index 000000000..cf627893d --- /dev/null +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/HttpClient.kt @@ -0,0 +1,17 @@ +package com.vitorpamplona.amethyst.service + +import com.vitorpamplona.amethyst.model.Account +import okhttp3.OkHttpClient +import java.net.Proxy + +object HttpClient { + private var proxy: Proxy? = null + + fun start(account: Account?) { + this.proxy = account?.proxy + } + + fun getHttpClient(): OkHttpClient { + return OkHttpClient.Builder().proxy(proxy).build() + } +} diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/Nip05Verifier.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/Nip05Verifier.kt index fd86dc1eb..e86a85633 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/Nip05Verifier.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/Nip05Verifier.kt @@ -9,13 +9,11 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import okhttp3.Call import okhttp3.Callback -import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response -import java.net.Proxy -class Nip05Verifier(proxy: Proxy?) { - val client = OkHttpClient.Builder().proxy(proxy).build() +class Nip05Verifier() { + val client = HttpClient.getHttpClient() fun assembleUrl(nip05address: String): String? { val parts = nip05address.trim().split("@") diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/lnurl/LightningAddressResolver.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/lnurl/LightningAddressResolver.kt index 26e68d205..78ea52018 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/lnurl/LightningAddressResolver.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/lnurl/LightningAddressResolver.kt @@ -2,6 +2,7 @@ package com.vitorpamplona.amethyst.service.lnurl import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.vitorpamplona.amethyst.BuildConfig +import com.vitorpamplona.amethyst.service.HttpClient import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -10,15 +11,13 @@ import kotlinx.coroutines.withContext import nostr.postr.Bech32 import okhttp3.Call import okhttp3.Callback -import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import java.math.BigDecimal -import java.net.Proxy import java.net.URLEncoder -class LightningAddressResolver(proxy: Proxy?) { - val client = OkHttpClient.Builder().proxy(proxy).build() +class LightningAddressResolver() { + val client = HttpClient.getHttpClient() fun assembleUrl(lnaddress: String): String? { val parts = lnaddress.split("@") diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageSaver.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageSaver.kt index ca8727c1d..9d409efa9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageSaver.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageSaver.kt @@ -9,12 +9,12 @@ import android.os.Environment import android.provider.MediaStore import androidx.annotation.RequiresApi import com.vitorpamplona.amethyst.BuildConfig +import com.vitorpamplona.amethyst.service.HttpClient import okhttp3.* import okio.BufferedSource import okio.IOException import okio.sink import java.io.File -import java.net.Proxy object ImageSaver { /** @@ -27,10 +27,9 @@ object ImageSaver { url: String, context: Context, onSuccess: () -> Any?, - onError: (Throwable) -> Any?, - proxy: Proxy? + onError: (Throwable) -> Any? ) { - val client = OkHttpClient.Builder().proxy(proxy).build() + val client = HttpClient.getHttpClient() val request = Request.Builder() .header("User-Agent", "Amethyst/${BuildConfig.VERSION_NAME}") diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageUploader.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageUploader.kt index 6ecddfeb0..b39570833 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageUploader.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/ImageUploader.kt @@ -4,12 +4,12 @@ import android.content.ContentResolver import android.net.Uri import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.vitorpamplona.amethyst.BuildConfig +import com.vitorpamplona.amethyst.service.HttpClient import okhttp3.* import okhttp3.MediaType.Companion.toMediaType import okio.BufferedSink import okio.source import java.io.IOException -import java.net.Proxy import java.util.* object ImageUploader { @@ -17,15 +17,14 @@ object ImageUploader { uri: Uri, contentResolver: ContentResolver, onSuccess: (String) -> Unit, - onError: (Throwable) -> Unit, - proxy: Proxy? + onError: (Throwable) -> Unit ) { val contentType = contentResolver.getType(uri) val category = contentType?.toMediaType()?.toString()?.split("/")?.get(0) ?: "image" val url = if (category == "image") "https://api.imgur.com/3/image" else "https://api.imgur.com/3/upload" - val client = OkHttpClient.Builder().proxy(proxy).build() + val client = HttpClient.getHttpClient() val requestBody: RequestBody = MultipartBody.Builder() .setType(MultipartBody.FORM) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt index 97ed777a1..8be28a491 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt @@ -124,8 +124,7 @@ open class NewPostViewModel : ViewModel() { viewModelScope.launch { imageUploadingError.emit("Failed to upload the image / video") } - }, - account!!.proxy + } ) } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt index 7fd7a25af..e6a9bf2e0 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt @@ -180,8 +180,7 @@ class NewUserMetadataViewModel : ViewModel() { viewModelScope.launch { imageUploadingError.emit("Failed to upload the image / video") } - }, - account.proxy + } ) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/SaveToGallery.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/SaveToGallery.kt index a757506bc..e8dbca2cf 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/SaveToGallery.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/SaveToGallery.kt @@ -18,7 +18,6 @@ import com.google.accompanist.permissions.isGranted import com.google.accompanist.permissions.rememberPermissionState import com.vitorpamplona.amethyst.R import kotlinx.coroutines.launch -import java.net.Proxy /** * A button to save the remote image to the gallery. @@ -28,7 +27,7 @@ import java.net.Proxy */ @OptIn(ExperimentalPermissionsApi::class) @Composable -fun SaveToGallery(url: String, proxy: Proxy?) { +fun SaveToGallery(url: String) { val localContext = LocalContext.current val scope = rememberCoroutineScope() @@ -55,8 +54,7 @@ fun SaveToGallery(url: String, proxy: Proxy?) { ) .show() } - }, - proxy = proxy + } ) } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ExpandableRichTextViewer.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ExpandableRichTextViewer.kt index 37c4689bf..3b62e83bd 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ExpandableRichTextViewer.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ExpandableRichTextViewer.kt @@ -27,7 +27,6 @@ import androidx.compose.ui.unit.dp import androidx.navigation.NavController import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel -import java.net.Proxy const val SHORT_TEXT_LENGTH = 350 @@ -39,8 +38,7 @@ fun ExpandableRichTextViewer( tags: List>?, backgroundColor: Color, accountViewModel: AccountViewModel, - navController: NavController, - proxy: Proxy? + navController: NavController ) { var showFullText by remember { mutableStateOf(false) } @@ -64,8 +62,7 @@ fun ExpandableRichTextViewer( tags, backgroundColor, accountViewModel, - navController, - proxy + navController ) if (content.length > whereToCut && !showFullText) { diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt index 13bb71069..06e38c773 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/InvoiceRequest.kt @@ -138,7 +138,7 @@ fun InvoiceRequest( onClick = { val zapRequest = account.createZapRequestFor(toUserPubKeyHex, message, LnZapEvent.ZapType.PUBLIC) - LightningAddressResolver(account.proxy).lnAddressInvoice( + LightningAddressResolver().lnAddressInvoice( lud16, amount * 1000, message, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt index edc78229c..474a1fea7 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/RichTextViewer.kt @@ -43,7 +43,6 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.net.MalformedURLException -import java.net.Proxy import java.net.URISyntaxException import java.net.URL import java.util.regex.Pattern @@ -81,8 +80,7 @@ fun RichTextViewer( tags: List>?, backgroundColor: Color, accountViewModel: AccountViewModel, - navController: NavController, - proxy: Proxy? + navController: NavController ) { Column(modifier = modifier) { if (content.startsWith("# ") || @@ -161,9 +159,9 @@ fun RichTextViewer( if (isValidURL(word)) { val removedParamsFromUrl = word.split("?")[0].lowercase() if (imageExtensions.any { removedParamsFromUrl.endsWith(it) }) { - ZoomableImageView(word, imagesForPager, proxy) + ZoomableImageView(word, imagesForPager) } else if (videoExtensions.any { removedParamsFromUrl.endsWith(it) }) { - ZoomableImageView(word, imagesForPager, proxy) + ZoomableImageView(word, imagesForPager) } else { UrlPreview(word, "$word ") } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt index 2fa6a5c14..e547da6bd 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt @@ -46,11 +46,10 @@ import com.vitorpamplona.amethyst.ui.actions.LoadingAnimation import com.vitorpamplona.amethyst.ui.actions.SaveToGallery import net.engawapg.lib.zoomable.rememberZoomState import net.engawapg.lib.zoomable.zoomable -import java.net.Proxy @Composable @OptIn(ExperimentalFoundationApi::class) -fun ZoomableImageView(word: String, images: List = listOf(word), proxy: Proxy?) { +fun ZoomableImageView(word: String, images: List = listOf(word)) { val clipboardManager = LocalClipboardManager.current // store the dialog open or close state @@ -127,13 +126,13 @@ fun ZoomableImageView(word: String, images: List = listOf(word), proxy: } if (dialogOpen) { - ZoomableImageDialog(word, images, onDismiss = { dialogOpen = false }, proxy) + ZoomableImageDialog(word, images, onDismiss = { dialogOpen = false }) } } @OptIn(ExperimentalPagerApi::class) @Composable -fun ZoomableImageDialog(imageUrl: String, allImages: List = listOf(imageUrl), onDismiss: () -> Unit, proxy: Proxy?) { +fun ZoomableImageDialog(imageUrl: String, allImages: List = listOf(imageUrl), onDismiss: () -> Unit) { Dialog( onDismissRequest = onDismiss, properties = DialogProperties(usePlatformDefaultWidth = false) @@ -151,7 +150,7 @@ fun ZoomableImageDialog(imageUrl: String, allImages: List = listOf(image ) { CloseButton(onCancel = onDismiss) - SaveToGallery(url = allImages[pagerState.currentPage], proxy) + SaveToGallery(url = allImages[pagerState.currentPage]) } if (allImages.size > 1) { diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt index 6aa2e5cb5..bee998015 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt @@ -290,8 +290,7 @@ fun ChatroomMessageCompose( note.event?.tags(), backgroundBubbleColor, accountViewModel, - navController, - account.proxy + navController ) } else { TranslatableRichTextViewer( @@ -301,8 +300,7 @@ fun ChatroomMessageCompose( note.event?.tags(), backgroundBubbleColor, accountViewModel, - navController, - account.proxy + navController ) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt index bb1342660..cebfe1fdd 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NIP05VerificationDisplay.kt @@ -35,11 +35,10 @@ import com.vitorpamplona.amethyst.service.Nip05Verifier import com.vitorpamplona.amethyst.ui.theme.Nip05 import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext -import java.net.Proxy import java.util.Date @Composable -fun nip05VerificationAsAState(user: UserMetadata, pubkeyHex: String, proxy: Proxy?): State { +fun nip05VerificationAsAState(user: UserMetadata, pubkeyHex: String): State { var nip05Verified = remember { mutableStateOf(null) } LaunchedEffect(key1 = user) { @@ -49,7 +48,7 @@ fun nip05VerificationAsAState(user: UserMetadata, pubkeyHex: String, proxy: Prox if ((user.nip05LastVerificationTime ?: 0) > (now - 60 * 60)) { // 1hour nip05Verified.value = user.nip05Verified } else { - Nip05Verifier(proxy).verifyNip05( + Nip05Verifier().verifyNip05( nip05, onSuccess = { // Marks user as verified @@ -78,18 +77,18 @@ fun nip05VerificationAsAState(user: UserMetadata, pubkeyHex: String, proxy: Prox } @Composable -fun ObserveDisplayNip05Status(baseNote: Note, columnModifier: Modifier = Modifier, proxy: Proxy?) { +fun ObserveDisplayNip05Status(baseNote: Note, columnModifier: Modifier = Modifier) { val noteState by baseNote.live().metadata.observeAsState() val note = noteState?.note ?: return val author = note.author if (author != null) { - ObserveDisplayNip05Status(author, columnModifier, proxy) + ObserveDisplayNip05Status(author, columnModifier) } } @Composable -fun ObserveDisplayNip05Status(baseUser: User, columnModifier: Modifier = Modifier, proxy: Proxy?) { +fun ObserveDisplayNip05Status(baseUser: User, columnModifier: Modifier = Modifier) { val userState by baseUser.live().metadata.observeAsState() val user = userState?.user ?: return @@ -108,7 +107,7 @@ fun ObserveDisplayNip05Status(baseUser: User, columnModifier: Modifier = Modifie ) } - val nip05Verified by nip05VerificationAsAState(user.info!!, user.pubkeyHex, proxy) + val nip05Verified by nip05VerificationAsAState(user.info!!, user.pubkeyHex) if (nip05Verified == null) { Icon( tint = Color.Yellow, @@ -152,12 +151,12 @@ fun ObserveDisplayNip05Status(baseUser: User, columnModifier: Modifier = Modifie } @Composable -fun DisplayNip05ProfileStatus(user: User, proxy: Proxy?) { +fun DisplayNip05ProfileStatus(user: User) { val uri = LocalUriHandler.current user.nip05()?.let { nip05 -> if (nip05.split("@").size == 2) { - val nip05Verified by nip05VerificationAsAState(user.info!!, user.pubkeyHex, proxy) + val nip05Verified by nip05VerificationAsAState(user.info!!, user.pubkeyHex) Row(verticalAlignment = Alignment.CenterVertically) { if (nip05Verified == null) { Icon( diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt index ccabb8348..8400d174b 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt @@ -353,7 +353,7 @@ fun NoteComposeInner( if (note.author != null && !makeItShort && !isQuotedNote) { Row(verticalAlignment = Alignment.CenterVertically) { - ObserveDisplayNip05Status(note.author!!, Modifier.weight(1f), account.proxy) + ObserveDisplayNip05Status(note.author!!, Modifier.weight(1f)) val baseReward = noteEvent.getReward() if (baseReward != null) { @@ -509,8 +509,7 @@ fun NoteComposeInner( noteEvent.tags(), backgroundColor, accountViewModel, - navController, - account.proxy + navController ) if (!makeItShort) { @@ -540,8 +539,7 @@ fun NoteComposeInner( noteEvent.tags(), backgroundColor, accountViewModel, - navController, - account.proxy + navController ) DisplayUncitedHashtags(noteEvent.hashtags(), eventContent, navController) @@ -553,8 +551,7 @@ fun NoteComposeInner( canPreview = canPreview && !makeItShort, backgroundColor, accountViewModel, - navController, - account.proxy + navController ) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt index b95afb0d5..26e83cf91 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt @@ -37,7 +37,6 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.theme.BitcoinOrange import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import java.net.Proxy import java.util.* import kotlin.math.roundToInt @@ -47,8 +46,7 @@ fun PollNote( canPreview: Boolean, backgroundColor: Color, accountViewModel: AccountViewModel, - navController: NavController, - proxy: Proxy? + navController: NavController ) { val zapsState by baseNote.live().zaps.observeAsState() val zappedNote = zapsState?.note ?: return @@ -113,8 +111,7 @@ fun PollNote( pollViewModel.pollEvent?.tags(), backgroundColor, accountViewModel, - navController, - proxy + navController ) } } @@ -147,8 +144,7 @@ fun PollNote( pollViewModel.pollEvent?.tags(), backgroundColor, accountViewModel, - navController, - proxy + navController ) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt index e161b2003..26d0448be 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt @@ -282,7 +282,7 @@ fun NoteMaster( } Row(verticalAlignment = Alignment.CenterVertically) { - ObserveDisplayNip05Status(baseNote, Modifier.weight(1f), account.proxy) + ObserveDisplayNip05Status(baseNote, Modifier.weight(1f)) val baseReward = noteEvent.getReward() if (baseReward != null) { @@ -362,8 +362,7 @@ fun NoteMaster( note.event?.tags(), MaterialTheme.colors.background, accountViewModel, - navController, - account.proxy + navController ) DisplayUncitedHashtags(noteEvent.hashtags(), eventContent, navController) @@ -374,8 +373,7 @@ fun NoteMaster( canPreview, backgroundColor, accountViewModel, - navController, - account.proxy + navController ) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 22fffb064..c88352b6c 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -72,7 +72,7 @@ class AccountViewModel(private val account: Account) : ViewModel() { onProgress(0.10f) - LightningAddressResolver(account.proxy).lnAddressInvoice( + LightningAddressResolver().lnAddressInvoice( lud16, amount, message, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt index a1ac44714..0f26c18bc 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ChatroomScreen.kt @@ -59,7 +59,6 @@ import com.vitorpamplona.amethyst.ui.note.UserPicture import com.vitorpamplona.amethyst.ui.note.UsernameDisplay import com.vitorpamplona.amethyst.ui.screen.ChatroomFeedView import com.vitorpamplona.amethyst.ui.screen.NostrChatRoomFeedViewModel -import java.net.Proxy @Composable fun ChatroomScreen(userId: String?, accountViewModel: AccountViewModel, navController: NavController) { @@ -105,7 +104,7 @@ fun ChatroomScreen(userId: String?, accountViewModel: AccountViewModel, navContr Column(Modifier.fillMaxHeight()) { NostrChatroomDataSource.withUser?.let { - ChatroomHeader(it, account.userProfile(), navController = navController, account.proxy) + ChatroomHeader(it, account.userProfile(), navController = navController) } Column( @@ -207,7 +206,7 @@ fun ChatroomScreen(userId: String?, accountViewModel: AccountViewModel, navContr } @Composable -fun ChatroomHeader(baseUser: User, accountUser: User, navController: NavController, proxy: Proxy?) { +fun ChatroomHeader(baseUser: User, accountUser: User, navController: NavController) { Column( modifier = Modifier.clickable( onClick = { navController.navigate("User/${baseUser.pubkeyHex}") } @@ -227,7 +226,7 @@ fun ChatroomHeader(baseUser: User, accountUser: User, navController: NavControll } Row(verticalAlignment = Alignment.CenterVertically) { - ObserveDisplayNip05Status(baseUser, proxy = proxy) + ObserveDisplayNip05Status(baseUser) } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt index 46623a0ef..6c832ceac 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt @@ -1,7 +1,6 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn import android.content.Intent -import java.net.Proxy import android.net.Uri import androidx.compose.foundation.* import androidx.compose.foundation.gestures.scrollBy @@ -309,7 +308,7 @@ private fun ProfileHeader( val clipboardManager = LocalClipboardManager.current Box { - DrawBanner(baseUser, account.proxy) + DrawBanner(baseUser) Box( modifier = Modifier @@ -411,7 +410,7 @@ private fun ProfileHeader( } if (zoomImageDialogOpen) { - ZoomableImageDialog(baseUser.profilePicture()!!, onDismiss = { zoomImageDialogOpen = false }, proxy = account.proxy) + ZoomableImageDialog(baseUser.profilePicture()!!, onDismiss = { zoomImageDialogOpen = false }) } } @@ -515,7 +514,7 @@ private fun DrawAdditionalInfo(baseUser: User, account: Account, accountViewMode } } - DisplayNip05ProfileStatus(user, account.proxy) + DisplayNip05ProfileStatus(user) val website = user.info?.website if (!website.isNullOrEmpty()) { @@ -617,8 +616,7 @@ private fun DrawAdditionalInfo(baseUser: User, account: Account, accountViewMode tags = null, backgroundColor = MaterialTheme.colors.background, accountViewModel = accountViewModel, - navController = navController, - proxy = account.proxy + navController = navController ) } } @@ -688,7 +686,7 @@ fun BadgeThumb( @OptIn(ExperimentalFoundationApi::class) @Composable -private fun DrawBanner(baseUser: User, proxy: Proxy?) { +private fun DrawBanner(baseUser: User) { val userState by baseUser.live().metadata.observeAsState() val user = userState?.user ?: return @@ -714,7 +712,7 @@ private fun DrawBanner(baseUser: User, proxy: Proxy?) { ) if (zoomImageDialogOpen) { - ZoomableImageDialog(imageUrl = banner, onDismiss = { zoomImageDialogOpen = false }, proxy = proxy) + ZoomableImageDialog(imageUrl = banner, onDismiss = { zoomImageDialogOpen = false }) } } else { Image( diff --git a/app/src/play/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt b/app/src/play/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt index e30a5f41e..8100a3e9b 100644 --- a/app/src/play/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt +++ b/app/src/play/java/com/vitorpamplona/amethyst/ui/components/TranslatableRichTextViewer.kt @@ -35,7 +35,6 @@ import com.vitorpamplona.amethyst.service.lang.ResultOrError import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext -import java.net.Proxy import java.util.Locale @Composable @@ -46,8 +45,7 @@ fun TranslatableRichTextViewer( tags: List>?, backgroundColor: Color, accountViewModel: AccountViewModel, - navController: NavController, - proxy: Proxy? + navController: NavController ) { val translatedTextState = remember { mutableStateOf(ResultOrError(content, null, null, null)) @@ -89,8 +87,7 @@ fun TranslatableRichTextViewer( tags, backgroundColor, accountViewModel, - navController, - proxy + navController ) val target = translatedTextState.value.targetLang