diff --git a/README.md b/README.md index e5359e8..be00fd8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Wisp +# Dark Wisp -A minimal, performant Android client for the [Nostr](https://nostr.com) protocol. Built with Kotlin and Jetpack Compose (Material 3), Wisp prioritizes decentralization, intelligent relay routing, strong privacy, and a clean native experience. +A minimal, performant Android client for the [Nostr](https://nostr.com) protocol. Built with Kotlin and Jetpack Compose (Material 3), Dark Wisp prioritizes decentralization, intelligent relay routing, strong privacy, and a clean native experience. > **Status:** v1.0.0 — stable, actively developed. @@ -8,7 +8,7 @@ A minimal, performant Android client for the [Nostr](https://nostr.com) protocol ## Table of Contents -- [Why Wisp](#why-wisp) +- [Why Dark Wisp](#why-dark-wisp) - [Key Features](#key-features) - [Architecture](#architecture) - [Supported NIPs](#supported-nips) @@ -20,11 +20,11 @@ A minimal, performant Android client for the [Nostr](https://nostr.com) protocol --- -## Why Wisp +## Why Dark Wisp -Most Nostr clients treat relays as interchangeable dumb pipes and lean on a small handful of "mega-relays." Wisp takes a different approach — it implements the full outbox/inbox relay model with reliability scoring, routes messages based on where users actually publish and read, and is built so that decentralization is the default path, not an opt-in. +Most Nostr clients treat relays as interchangeable dumb pipes and lean on a small handful of "mega-relays." Dark Wisp takes a different approach — it implements the full outbox/inbox relay model with reliability scoring, routes messages based on where users actually publish and read, and is built so that decentralization is the default path, not an opt-in. -The result is faster event delivery, less wasted bandwidth, and a client that actively reinforces the architecture Nostr was designed for. Wisp is built to be fast, lightweight, and respectful of both your device and the relay network. +The result is faster event delivery, less wasted bandwidth, and a client that actively reinforces the architecture Nostr was designed for. Dark Wisp is built to be fast, lightweight, and respectful of both your device and the relay network. --- @@ -32,7 +32,7 @@ The result is faster event delivery, less wasted bandwidth, and a client that ac ### Intelligent Outbox/Inbox Relay Routing -Wisp implements a full NIP-65 outbox/inbox model with relay scoring: +Dark Wisp implements a full NIP-65 outbox/inbox model with relay scoring: - **Outbox reads** — fetches a user's posts from their *write relays* (where they actually publish), not from a hardcoded list - **Inbox writes** — delivers replies, reactions, and mentions to the recipient's *read relays* so they actually see them @@ -49,7 +49,7 @@ Wisp implements a full NIP-65 outbox/inbox model with relay scoring: - **NIP-04 fallback** — legacy encrypted DMs still read for backward compatibility - **Dedicated DM relays** — publish DMs to a separate relay set (NIP-51 kind 10050) from your public posts - **Encrypted media** — optional encrypted image attachments in DMs -- **Optional Amber / NIP-55 remote signer** — keep your `nsec` in a dedicated signer app and never hand it to Wisp at all +- **Optional Amber / NIP-55 remote signer** — keep your `nsec` in a dedicated signer app and never hand it to Dark Wisp at all ### Lightning & Zaps @@ -114,7 +114,7 @@ A built-in non-custodial Lightning wallet powered by [Breez SDK (Spark)](https:/ - **Multiple accounts** with per-account encrypted storage - **EncryptedSharedPreferences** (AES256-GCM) for private keys — `nsec` never touches plain SharedPreferences - **Biometric authentication** for key access -- **NIP-55 remote signing** — delegate all signing/encryption to Amber (or another signer app) via Android intents, so Wisp never holds the key +- **NIP-55 remote signing** — delegate all signing/encryption to Amber (or another signer app) via Android intents, so Dark Wisp never holds the key - **NIP-19 bech32** — npub, nsec, note, nevent, nprofile encode/decode, with `nostr:` URI rendering in post content - **NIP-05 DNS verification** with result caching - **QR code display** for sharing keys and profiles @@ -136,7 +136,7 @@ A built-in non-custodial Lightning wallet powered by [Breez SDK (Spark)](https:/ ## Architecture -Wisp follows an MVVM architecture with clear layer separation: +Dark Wisp follows an MVVM architecture with clear layer separation: ``` ┌──────────────────────────────────────────────────────┐ @@ -179,7 +179,7 @@ Wisp follows an MVVM architecture with clear layer separation: ### Project Structure ``` -app/src/main/kotlin/com/wisp/app/ +app/src/main/kotlin/com/darkwisp/app/ ├── nostr/ # Protocol implementations (NipXX.kt objects) ├── relay/ # WebSocket relay, pool, outbox router, scoring ├── repo/ # Data repositories, caches, and persistence wrappers @@ -248,7 +248,7 @@ APK downloads are available on the [Releases](../../releases) page. 1. **Create, import, or pair a signer** — generate a fresh keypair, paste your `nsec`, or connect Amber for remote signing 2. **Set up your profile** — the onboarding flow walks you through name, picture, and bio 3. **Pick some interests** — topic/interest selection seeds your first follow suggestions -4. **Follow some people** — Wisp suggests popular accounts to get your feed started +4. **Follow some people** — Dark Wisp suggests popular accounts to get your feed started 5. **Configure relays** — your relay list is published as a NIP-65 event so other outbox-aware clients can find you --- @@ -265,8 +265,8 @@ APK downloads are available on the [Releases](../../releases) page. ```bash # Clone the repository -git clone https://github.com/barrydeen/wisp.git -cd wisp +git clone https://github.com/barrydeen/dark-wisp-android.git +cd dark-wisp-android # Build debug APK ./gradlew assembleDebug @@ -284,7 +284,7 @@ Release builds use R8 minification; keep rules live in `app/proguard-rules.pro` ## Contributing -Contributions are welcome. Wisp is open source and community help makes it better. +Contributions are welcome. Dark Wisp is open source and community help makes it better. ### How to Contribute @@ -349,7 +349,7 @@ Contributions are welcome. Wisp is open source and community help makes it bette ## License -Wisp is released under the [MIT License](LICENSE). +Dark Wisp is released under the [MIT License](LICENSE). ``` MIT License diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c7afef1..025725f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -12,16 +12,16 @@ android { val baseApplicationId = rootProject.extra["baseApplicationId"] as String val debugApplicationIdSuffix = rootProject.extra["debugApplicationIdSuffix"] as String - namespace = "com.wisp.app" + namespace = "com.darkwisp.app" compileSdk = 35 defaultConfig { applicationId = baseApplicationId minSdk = 26 targetSdk = 35 - versionCode = 79 - versionName = "1.0.5" - resValue("string", "app_name", "Wisp") + versionCode = 1 + versionName = "1.0.0" + resValue("string", "app_name", "Dark Wisp") ndk { abiFilters += "arm64-v8a" @@ -40,7 +40,7 @@ android { buildTypes { debug { applicationIdSuffix = debugApplicationIdSuffix - resValue("string", "app_name", "Wisp Debug") + resValue("string", "app_name", "Dark Wisp Debug") } release { diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 4a173d9..8e51700 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -54,7 +54,7 @@ # ObjectBox -keep class io.objectbox.** { *; } -dontwarn io.objectbox.** --keep class com.wisp.app.db.** { *; } +-keep class com.darkwisp.app.db.** { *; } # Breez SDK Spark (UniFFI bindings) -keep class breez_sdk_spark.** { *; } diff --git a/app/src/main/kotlin/com/wisp/app/CrashHandler.kt b/app/src/main/kotlin/com/darkwisp/app/CrashHandler.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/CrashHandler.kt rename to app/src/main/kotlin/com/darkwisp/app/CrashHandler.kt index bf59b21..b33d9b4 100644 --- a/app/src/main/kotlin/com/wisp/app/CrashHandler.kt +++ b/app/src/main/kotlin/com/darkwisp/app/CrashHandler.kt @@ -1,11 +1,11 @@ -package com.wisp.app +package com.darkwisp.app import android.content.Context import android.os.Build -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Nip17 -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.KeyRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Nip17 +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.KeyRepository import java.io.File import java.text.SimpleDateFormat import java.util.Date diff --git a/app/src/main/kotlin/com/wisp/app/MainActivity.kt b/app/src/main/kotlin/com/darkwisp/app/MainActivity.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/MainActivity.kt rename to app/src/main/kotlin/com/darkwisp/app/MainActivity.kt index 734f637..651c155 100644 --- a/app/src/main/kotlin/com/wisp/app/MainActivity.kt +++ b/app/src/main/kotlin/com/darkwisp/app/MainActivity.kt @@ -1,4 +1,4 @@ -package com.wisp.app +package com.darkwisp.app import android.content.Context import android.content.Intent @@ -17,12 +17,12 @@ import androidx.compose.runtime.setValue import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.remember import androidx.compose.ui.graphics.Color -import com.wisp.app.repo.InterfacePreferences -import com.wisp.app.repo.LocaleRepository -import com.wisp.app.ui.component.LocalMediaSettings -import com.wisp.app.ui.component.MediaSettings -import com.wisp.app.ui.component.PipController -import com.wisp.app.ui.theme.WispTheme +import com.darkwisp.app.repo.InterfacePreferences +import com.darkwisp.app.repo.LocaleRepository +import com.darkwisp.app.ui.component.LocalMediaSettings +import com.darkwisp.app.ui.component.MediaSettings +import com.darkwisp.app.ui.component.PipController +import com.darkwisp.app.ui.theme.WispTheme class MainActivity : FragmentActivity() { var deepLinkUri = mutableStateOf(null) diff --git a/app/src/main/kotlin/com/wisp/app/Navigation.kt b/app/src/main/kotlin/com/darkwisp/app/Navigation.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/Navigation.kt rename to app/src/main/kotlin/com/darkwisp/app/Navigation.kt index 569f4f4..469fe12 100644 --- a/app/src/main/kotlin/com/wisp/app/Navigation.kt +++ b/app/src/main/kotlin/com/darkwisp/app/Navigation.kt @@ -1,4 +1,4 @@ -package com.wisp.app +package com.darkwisp.app import android.os.SystemClock import androidx.activity.compose.BackHandler @@ -9,7 +9,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.unit.dp import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold -import com.wisp.app.ui.screen.BroadcastStatusBar +import com.darkwisp.app.ui.screen.BroadcastStatusBar import androidx.activity.ComponentActivity import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect @@ -36,97 +36,97 @@ import android.app.Activity import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.runtime.collectAsState -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.NostrUriData -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.nostr.LocalSigner -import com.wisp.app.nostr.RemoteSigner -import com.wisp.app.nostr.SignerIntentBridge -import com.wisp.app.nostr.SignResult -import com.wisp.app.repo.SigningMode +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.NostrUriData +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.LocalSigner +import com.darkwisp.app.nostr.RemoteSigner +import com.darkwisp.app.nostr.SignerIntentBridge +import com.darkwisp.app.nostr.SignResult +import com.darkwisp.app.repo.SigningMode import android.content.Context import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberUpdatedState -import com.wisp.app.ui.component.HapticHelper -import com.wisp.app.ui.component.NotifBlipSound -import com.wisp.app.ui.component.BottomTab -import com.wisp.app.ui.component.WispBottomBar -import com.wisp.app.ui.component.ZapDialog -import com.wisp.app.ui.component.pendingEmojiReactCallback -import com.wisp.app.ui.component.AuthApprovalDialog -import com.wisp.app.ui.screen.BlossomServersScreen -import com.wisp.app.ui.screen.AuthScreen -import com.wisp.app.ui.screen.SplashScreen -import com.wisp.app.ui.screen.ComposeScreen -import com.wisp.app.ui.screen.ContactPickerScreen -import com.wisp.app.ui.screen.DmConversationScreen -import com.wisp.app.ui.screen.DmListScreen -import com.wisp.app.ui.screen.DraftsScreen -import com.wisp.app.ui.screen.FeedScreen -import com.wisp.app.ui.screen.ProfileEditScreen -import com.wisp.app.ui.screen.RelayScreen -import com.wisp.app.ui.screen.ThreadScreen -import com.wisp.app.ui.screen.NotificationsScreen -import com.wisp.app.ui.screen.SafetyScreen -import com.wisp.app.ui.screen.UserProfileScreen -import com.wisp.app.ui.screen.ConsoleScreen -import com.wisp.app.ui.screen.RelayHealthScreen -import com.wisp.app.ui.screen.CustomEmojiScreen -import com.wisp.app.ui.screen.SearchScreen -import com.wisp.app.ui.screen.SocialGraphScreen -import com.wisp.app.ui.screen.BookmarkSetScreen -import com.wisp.app.ui.screen.ArticleScreen -import com.wisp.app.ui.screen.BookmarksScreen -import com.wisp.app.ui.screen.HashtagFeedScreen -import com.wisp.app.ui.screen.KeysScreen -import com.wisp.app.ui.screen.ListScreen -import com.wisp.app.ui.screen.LiveStreamScreen -import com.wisp.app.ui.screen.ExistingUserOnboardingScreen -import com.wisp.app.ui.screen.LoadingScreen -import com.wisp.app.ui.screen.ListsHubScreen -import com.wisp.app.ui.screen.InterfaceScreen -import com.wisp.app.ui.screen.PowSettingsScreen -import com.wisp.app.ui.screen.OnboardingScreen -import com.wisp.app.ui.component.AddNoteToListDialog -import com.wisp.app.ui.component.CrashReportDialog +import com.darkwisp.app.ui.component.HapticHelper +import com.darkwisp.app.ui.component.NotifBlipSound +import com.darkwisp.app.ui.component.BottomTab +import com.darkwisp.app.ui.component.WispBottomBar +import com.darkwisp.app.ui.component.ZapDialog +import com.darkwisp.app.ui.component.pendingEmojiReactCallback +import com.darkwisp.app.ui.component.AuthApprovalDialog +import com.darkwisp.app.ui.screen.BlossomServersScreen +import com.darkwisp.app.ui.screen.AuthScreen +import com.darkwisp.app.ui.screen.SplashScreen +import com.darkwisp.app.ui.screen.ComposeScreen +import com.darkwisp.app.ui.screen.ContactPickerScreen +import com.darkwisp.app.ui.screen.DmConversationScreen +import com.darkwisp.app.ui.screen.DmListScreen +import com.darkwisp.app.ui.screen.DraftsScreen +import com.darkwisp.app.ui.screen.FeedScreen +import com.darkwisp.app.ui.screen.ProfileEditScreen +import com.darkwisp.app.ui.screen.RelayScreen +import com.darkwisp.app.ui.screen.ThreadScreen +import com.darkwisp.app.ui.screen.NotificationsScreen +import com.darkwisp.app.ui.screen.SafetyScreen +import com.darkwisp.app.ui.screen.UserProfileScreen +import com.darkwisp.app.ui.screen.ConsoleScreen +import com.darkwisp.app.ui.screen.RelayHealthScreen +import com.darkwisp.app.ui.screen.CustomEmojiScreen +import com.darkwisp.app.ui.screen.SearchScreen +import com.darkwisp.app.ui.screen.SocialGraphScreen +import com.darkwisp.app.ui.screen.BookmarkSetScreen +import com.darkwisp.app.ui.screen.ArticleScreen +import com.darkwisp.app.ui.screen.BookmarksScreen +import com.darkwisp.app.ui.screen.HashtagFeedScreen +import com.darkwisp.app.ui.screen.KeysScreen +import com.darkwisp.app.ui.screen.ListScreen +import com.darkwisp.app.ui.screen.LiveStreamScreen +import com.darkwisp.app.ui.screen.ExistingUserOnboardingScreen +import com.darkwisp.app.ui.screen.LoadingScreen +import com.darkwisp.app.ui.screen.ListsHubScreen +import com.darkwisp.app.ui.screen.InterfaceScreen +import com.darkwisp.app.ui.screen.PowSettingsScreen +import com.darkwisp.app.ui.screen.OnboardingScreen +import com.darkwisp.app.ui.component.AddNoteToListDialog +import com.darkwisp.app.ui.component.CrashReportDialog import androidx.media3.exoplayer.ExoPlayer -import com.wisp.app.ui.component.FloatingAudioPlayer -import com.wisp.app.ui.component.FloatingVideoPlayer -import com.wisp.app.ui.component.PipController -import com.wisp.app.ui.component.FullScreenVideoPlayer -import com.wisp.app.ui.component.FullScreenVideoState -import com.wisp.app.ui.screen.OnboardingSuggestionsScreen -import com.wisp.app.ui.screen.OnboardingTopicsScreen -import com.wisp.app.ui.screen.OnboardingFirstPostScreen -import com.wisp.app.ui.screen.RelayDetailScreen -import com.wisp.app.ui.screen.WalletScreen -import com.wisp.app.viewmodel.BlossomServersViewModel -import com.wisp.app.viewmodel.ArticleViewModel -import com.wisp.app.viewmodel.AuthViewModel -import com.wisp.app.viewmodel.ComposeViewModel -import com.wisp.app.viewmodel.DmConversationViewModel -import com.wisp.app.viewmodel.DmListViewModel -import com.wisp.app.viewmodel.FeedType -import com.wisp.app.viewmodel.FeedViewModel -import com.wisp.app.viewmodel.ProfileViewModel -import com.wisp.app.viewmodel.RelayViewModel -import com.wisp.app.viewmodel.ThreadViewModel -import com.wisp.app.viewmodel.UserProfileViewModel -import com.wisp.app.nostr.Nip88 -import com.wisp.app.viewmodel.NotificationFilter -import com.wisp.app.viewmodel.NotificationsViewModel -import com.wisp.app.viewmodel.ConsoleViewModel -import com.wisp.app.viewmodel.RelayHealthViewModel -import com.wisp.app.viewmodel.DraftsViewModel -import com.wisp.app.viewmodel.SearchViewModel -import com.wisp.app.viewmodel.HashtagFeedViewModel -import com.wisp.app.viewmodel.OnboardingViewModel -import com.wisp.app.viewmodel.PowStatus -import com.wisp.app.viewmodel.SplashViewModel -import com.wisp.app.viewmodel.LiveStreamViewModel -import com.wisp.app.viewmodel.WalletViewModel +import com.darkwisp.app.ui.component.FloatingAudioPlayer +import com.darkwisp.app.ui.component.FloatingVideoPlayer +import com.darkwisp.app.ui.component.PipController +import com.darkwisp.app.ui.component.FullScreenVideoPlayer +import com.darkwisp.app.ui.component.FullScreenVideoState +import com.darkwisp.app.ui.screen.OnboardingSuggestionsScreen +import com.darkwisp.app.ui.screen.OnboardingTopicsScreen +import com.darkwisp.app.ui.screen.OnboardingFirstPostScreen +import com.darkwisp.app.ui.screen.RelayDetailScreen +import com.darkwisp.app.ui.screen.WalletScreen +import com.darkwisp.app.viewmodel.BlossomServersViewModel +import com.darkwisp.app.viewmodel.ArticleViewModel +import com.darkwisp.app.viewmodel.AuthViewModel +import com.darkwisp.app.viewmodel.ComposeViewModel +import com.darkwisp.app.viewmodel.DmConversationViewModel +import com.darkwisp.app.viewmodel.DmListViewModel +import com.darkwisp.app.viewmodel.FeedType +import com.darkwisp.app.viewmodel.FeedViewModel +import com.darkwisp.app.viewmodel.ProfileViewModel +import com.darkwisp.app.viewmodel.RelayViewModel +import com.darkwisp.app.viewmodel.ThreadViewModel +import com.darkwisp.app.viewmodel.UserProfileViewModel +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.viewmodel.NotificationFilter +import com.darkwisp.app.viewmodel.NotificationsViewModel +import com.darkwisp.app.viewmodel.ConsoleViewModel +import com.darkwisp.app.viewmodel.RelayHealthViewModel +import com.darkwisp.app.viewmodel.DraftsViewModel +import com.darkwisp.app.viewmodel.SearchViewModel +import com.darkwisp.app.viewmodel.HashtagFeedViewModel +import com.darkwisp.app.viewmodel.OnboardingViewModel +import com.darkwisp.app.viewmodel.PowStatus +import com.darkwisp.app.viewmodel.SplashViewModel +import com.darkwisp.app.viewmodel.LiveStreamViewModel +import com.darkwisp.app.viewmodel.WalletViewModel import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -203,7 +203,7 @@ fun WispNavHost( val relayViewModel: RelayViewModel = viewModel() val profileViewModel: ProfileViewModel = viewModel() val dmListViewModel: DmListViewModel = viewModel() - val groupListViewModel: com.wisp.app.viewmodel.GroupListViewModel = viewModel() + val groupListViewModel: com.darkwisp.app.viewmodel.GroupListViewModel = viewModel() val blossomServersViewModel: BlossomServersViewModel = viewModel() val appContext = LocalContext.current.applicationContext val walletViewModel: WalletViewModel = viewModel( @@ -228,7 +228,7 @@ fun WispNavHost( val consoleViewModel: ConsoleViewModel = viewModel() val relayHealthViewModel: RelayHealthViewModel = viewModel() val onboardingViewModel: OnboardingViewModel = viewModel() - val topicOnboardingViewModel: com.wisp.app.viewmodel.TopicOnboardingViewModel = viewModel() + val topicOnboardingViewModel: com.darkwisp.app.viewmodel.TopicOnboardingViewModel = viewModel() val splashViewModel: SplashViewModel = viewModel() relayViewModel.relayPool = feedViewModel.relayPool @@ -407,11 +407,11 @@ fun WispNavHost( val hideBottomBarRoutes = nonAppRoutes + Routes.DM_CONVERSATION + Routes.DM_CONVERSATION_GROUP + Routes.CONTACT_PICKER + Routes.GROUP_ROOM + Routes.GROUP_DETAIL + Routes.LIVE_STREAM val socialGraphDiscoveryState by feedViewModel.extendedNetworkRepo.discoveryState.collectAsState() val socialGraphComputing = currentRoute == Routes.SOCIAL_GRAPH && ( - socialGraphDiscoveryState is com.wisp.app.repo.DiscoveryState.FetchingFollowLists || - socialGraphDiscoveryState is com.wisp.app.repo.DiscoveryState.BuildingGraph || - socialGraphDiscoveryState is com.wisp.app.repo.DiscoveryState.ComputingNetwork || - socialGraphDiscoveryState is com.wisp.app.repo.DiscoveryState.Filtering || - socialGraphDiscoveryState is com.wisp.app.repo.DiscoveryState.FetchingRelayLists) + socialGraphDiscoveryState is com.darkwisp.app.repo.DiscoveryState.FetchingFollowLists || + socialGraphDiscoveryState is com.darkwisp.app.repo.DiscoveryState.BuildingGraph || + socialGraphDiscoveryState is com.darkwisp.app.repo.DiscoveryState.ComputingNetwork || + socialGraphDiscoveryState is com.darkwisp.app.repo.DiscoveryState.Filtering || + socialGraphDiscoveryState is com.darkwisp.app.repo.DiscoveryState.FetchingRelayLists) val showBottomBar by remember(currentRoute, socialGraphComputing) { derivedStateOf { currentRoute != null && currentRoute !in hideBottomBarRoutes && !socialGraphComputing } } @@ -800,7 +800,7 @@ fun WispNavHost( accounts = accounts, onSwitchAccount = onSwitchAccount, onAddAccount = onAddAccount, - hasEmbeddedWallet = walletViewModel.walletMode.collectAsState().value == com.wisp.app.repo.WalletMode.SPARK, + hasEmbeddedWallet = walletViewModel.walletMode.collectAsState().value == com.darkwisp.app.repo.WalletMode.SPARK, onLogout = { feedViewModel.clearSigner() feedViewModel.resetForAccountSwitch() @@ -819,7 +819,7 @@ fun WispNavHost( } } else { // Full logout — reset UI preferences and refresh in-memory theme state - com.wisp.app.repo.InterfacePreferences(context).reset() + com.darkwisp.app.repo.InterfacePreferences(context).reset() onInterfaceChanged() navController.navigate(Routes.SPLASH) { popUpTo(0) { inclusive = true } @@ -1157,12 +1157,12 @@ fun WispNavHost( onAddEmojiSet = { pk, dTag -> feedViewModel.addSetToEmojiList(pk, dTag) }, onRemoveEmojiSet = { pk, dTag -> feedViewModel.removeSetFromEmojiList(pk, dTag) }, isEmojiSetAdded = { pk, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pk, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pk, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false } ) if (showProfileEmojiLibrary) { - com.wisp.app.ui.component.EmojiLibrarySheet( + com.darkwisp.app.ui.component.EmojiLibrarySheet( currentEmojis = profileUnicodeEmojis, customEmojiMap = profileResolvedEmojis, onAddEmojis = { emojis -> @@ -1273,7 +1273,7 @@ fun WispNavHost( onAddEmojiSet = { pubkey, dTag -> feedViewModel.addSetToEmojiList(pubkey, dTag) }, onRemoveEmojiSet = { pubkey, dTag -> feedViewModel.removeSetFromEmojiList(pubkey, dTag) }, isEmojiSetAdded = { pubkey, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, nip05Repo = feedViewModel.nip05Repo @@ -1375,12 +1375,12 @@ fun WispNavHost( isWalletConnected = feedViewModel.activeWalletProvider.hasConnection(), onGoToWallet = { navController.navigate(Routes.WALLET) }, noteActions = remember { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( nip05Repo = feedViewModel.nip05Repo, onAddEmojiSet = { pk, dTag -> feedViewModel.addSetToEmojiList(pk, dTag) }, onRemoveEmojiSet = { pk, dTag -> feedViewModel.removeSetFromEmojiList(pk, dTag) }, isEmojiSetAdded = { pk, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pk, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pk, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, resolvedEmojisProvider = { feedViewModel.customEmojiRepo.resolvedEmojis.value }, @@ -1396,7 +1396,7 @@ fun WispNavHost( if (showDmEmojiLibrary) { val dmSheetUnicodeEmojis by feedViewModel.customEmojiRepo.unicodeEmojis.collectAsState() val dmSheetResolvedEmojis by feedViewModel.customEmojiRepo.resolvedEmojis.collectAsState() - com.wisp.app.ui.component.EmojiLibrarySheet( + com.darkwisp.app.ui.component.EmojiLibrarySheet( currentEmojis = dmSheetUnicodeEmojis, customEmojiMap = dmSheetResolvedEmojis, onAddEmojis = { emojis -> @@ -1462,12 +1462,12 @@ fun WispNavHost( isWalletConnected = feedViewModel.activeWalletProvider.hasConnection(), onGoToWallet = { navController.navigate(Routes.WALLET) }, noteActions = remember { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( nip05Repo = feedViewModel.nip05Repo, onAddEmojiSet = { pk, dTag -> feedViewModel.addSetToEmojiList(pk, dTag) }, onRemoveEmojiSet = { pk, dTag -> feedViewModel.removeSetFromEmojiList(pk, dTag) }, isEmojiSetAdded = { pk, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pk, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pk, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, resolvedEmojisProvider = { feedViewModel.customEmojiRepo.resolvedEmojis.value }, @@ -1483,7 +1483,7 @@ fun WispNavHost( if (showDmGroupEmojiLibrary) { val dmGroupSheetUnicodeEmojis by feedViewModel.customEmojiRepo.unicodeEmojis.collectAsState() val dmGroupSheetResolvedEmojis by feedViewModel.customEmojiRepo.resolvedEmojis.collectAsState() - com.wisp.app.ui.component.EmojiLibrarySheet( + com.darkwisp.app.ui.component.EmojiLibrarySheet( currentEmojis = dmGroupSheetUnicodeEmojis, customEmojiMap = dmGroupSheetResolvedEmojis, onAddEmojis = { emojis -> @@ -1516,7 +1516,7 @@ fun WispNavHost( android.util.Base64.decode(encodedRelay, android.util.Base64.URL_SAFE), Charsets.UTF_8 ) - val groupRoomViewModel: com.wisp.app.viewmodel.GroupRoomViewModel = viewModel() + val groupRoomViewModel: com.darkwisp.app.viewmodel.GroupRoomViewModel = viewModel() // Pre-compute from current repo state so the first composition doesn't flash // the join screen for groups the user has already joined. val initialRoom = remember(relayUrl, groupId) { @@ -1542,7 +1542,7 @@ fun WispNavHost( val groupRoomContext = LocalContext.current val groupRoomUploadScope = rememberCoroutineScope() var groupRoomUploadProgress by remember { mutableStateOf(null) } - var groupRoomZapTarget by remember { mutableStateOf(null) } + var groupRoomZapTarget by remember { mutableStateOf(null) } var groupRoomZapInitialSats by remember { mutableStateOf(null) } var showGroupRoomEmojiLibrary by remember { mutableStateOf(false) } val groupRoomResolvedEmojis by feedViewModel.customEmojiRepo.resolvedEmojis.collectAsState() @@ -1607,7 +1607,7 @@ fun WispNavHost( } } } - com.wisp.app.ui.screen.GroupRoomScreen( + com.darkwisp.app.ui.screen.GroupRoomScreen( viewModel = groupRoomViewModel, initialRoom = initialRoom, scrollToMessageId = scrollToMessageId, @@ -1649,40 +1649,40 @@ fun WispNavHost( myPubkey = feedViewModel.getUserPubkey(), onZap = { msgId, senderPubkey -> groupRoomZapInitialSats = null - groupRoomZapTarget = com.wisp.app.nostr.NostrEvent( + groupRoomZapTarget = com.darkwisp.app.nostr.NostrEvent( id = msgId, pubkey = senderPubkey, created_at = 0L, - kind = com.wisp.app.nostr.Nip29.KIND_CHAT_MESSAGE, + kind = com.darkwisp.app.nostr.Nip29.KIND_CHAT_MESSAGE, tags = listOf(listOf("h", groupId)), content = "", sig = "" ) feedViewModel.relayPool.sendToRelayOrEphemeral( relayUrl, - com.wisp.app.nostr.ClientMessage.req( + com.darkwisp.app.nostr.ClientMessage.req( subscriptionId = "zap-rcpt-grp-${msgId.take(12)}", - filter = com.wisp.app.nostr.Filter(kinds = listOf(9735), eTags = listOf(msgId)) + filter = com.darkwisp.app.nostr.Filter(kinds = listOf(9735), eTags = listOf(msgId)) ), skipBadCheck = true ) }, onZapPreset = { msgId, senderPubkey, sats -> groupRoomZapInitialSats = sats - groupRoomZapTarget = com.wisp.app.nostr.NostrEvent( + groupRoomZapTarget = com.darkwisp.app.nostr.NostrEvent( id = msgId, pubkey = senderPubkey, created_at = 0L, - kind = com.wisp.app.nostr.Nip29.KIND_CHAT_MESSAGE, + kind = com.darkwisp.app.nostr.Nip29.KIND_CHAT_MESSAGE, tags = listOf(listOf("h", groupId)), content = "", sig = "" ) feedViewModel.relayPool.sendToRelayOrEphemeral( relayUrl, - com.wisp.app.nostr.ClientMessage.req( + com.darkwisp.app.nostr.ClientMessage.req( subscriptionId = "zap-rcpt-grp-${msgId.take(12)}", - filter = com.wisp.app.nostr.Filter(kinds = listOf(9735), eTags = listOf(msgId)) + filter = com.darkwisp.app.nostr.Filter(kinds = listOf(9735), eTags = listOf(msgId)) ), skipBadCheck = true ) @@ -1697,13 +1697,13 @@ fun WispNavHost( onBlockAuthor = { pubkey -> feedViewModel.blockUser(pubkey) }, isFollowing = { pubkey -> feedViewModel.contactRepo.isFollowing(pubkey) }, noteActions = remember { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( nip05Repo = feedViewModel.nip05Repo, onNoteClick = { eventId -> navController.navigate("thread/$eventId") }, onAddEmojiSet = { pk, dTag -> feedViewModel.addSetToEmojiList(pk, dTag) }, onRemoveEmojiSet = { pk, dTag -> feedViewModel.removeSetFromEmojiList(pk, dTag) }, isEmojiSetAdded = { pk, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pk, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pk, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, resolvedEmojisProvider = { feedViewModel.customEmojiRepo.resolvedEmojis.value }, @@ -1716,7 +1716,7 @@ fun WispNavHost( if (showGroupRoomEmojiLibrary) { val groupRoomSheetUnicodeEmojis by feedViewModel.customEmojiRepo.unicodeEmojis.collectAsState() val groupRoomSheetResolvedEmojis by feedViewModel.customEmojiRepo.resolvedEmojis.collectAsState() - com.wisp.app.ui.component.EmojiLibrarySheet( + com.darkwisp.app.ui.component.EmojiLibrarySheet( currentEmojis = groupRoomSheetUnicodeEmojis, customEmojiMap = groupRoomSheetResolvedEmojis, onAddEmojis = { emojis -> @@ -1767,7 +1767,7 @@ fun WispNavHost( } catch (_: Exception) { callback("") } } } - com.wisp.app.ui.screen.GroupDetailScreen( + com.darkwisp.app.ui.screen.GroupDetailScreen( groupId = groupId, relayUrl = relayUrl, groupListViewModel = groupListViewModel, @@ -1949,13 +1949,13 @@ fun WispNavHost( onAddEmojiSet = { pubkey, dTag -> feedViewModel.addSetToEmojiList(pubkey, dTag) }, onRemoveEmojiSet = { pubkey, dTag -> feedViewModel.removeSetFromEmojiList(pubkey, dTag) }, isEmojiSetAdded = { pubkey, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false } ) if (showThreadEmojiLibrary) { - com.wisp.app.ui.component.EmojiLibrarySheet( + com.darkwisp.app.ui.component.EmojiLibrarySheet( currentEmojis = threadUnicodeEmojis, customEmojiMap = threadResolvedEmojis, onAddEmojis = { emojis -> @@ -2028,7 +2028,7 @@ fun WispNavHost( } val hashtagNoteActions = remember { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( onReply = { event -> replyTarget = event quoteTarget = null @@ -2078,7 +2078,7 @@ fun WispNavHost( onAddEmojiSet = { pubkey, dTag -> feedViewModel.addSetToEmojiList(pubkey, dTag) }, onRemoveEmojiSet = { pubkey, dTag -> feedViewModel.removeSetFromEmojiList(pubkey, dTag) }, isEmojiSetAdded = { pubkey, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, resolvedEmojisProvider = { feedViewModel.customEmojiRepo.resolvedEmojis.value }, @@ -2179,7 +2179,7 @@ fun WispNavHost( } val setFeedNoteActions = remember { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( onReply = { event -> replyTarget = event quoteTarget = null @@ -2229,7 +2229,7 @@ fun WispNavHost( onAddEmojiSet = { pubkey, dTag -> feedViewModel.addSetToEmojiList(pubkey, dTag) }, onRemoveEmojiSet = { pubkey, dTag -> feedViewModel.removeSetFromEmojiList(pubkey, dTag) }, isEmojiSetAdded = { pubkey, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, resolvedEmojisProvider = { feedViewModel.customEmojiRepo.resolvedEmojis.value }, @@ -2298,7 +2298,7 @@ fun WispNavHost( relayHintStore = feedViewModel.relayHintStore ) } - var articleZapTarget by remember { mutableStateOf(null) } + var articleZapTarget by remember { mutableStateOf(null) } val articleZapInProgress by feedViewModel.zapInProgress.collectAsState() var articleZapAnimatingIds by remember { mutableStateOf(emptySet()) } val isNwcConnected = feedViewModel.activeWalletProvider.hasConnection() @@ -2343,7 +2343,7 @@ fun WispNavHost( } val articleNoteActions = remember { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( onReply = { event -> replyTarget = event quoteTarget = null @@ -2388,7 +2388,7 @@ fun WispNavHost( onAddEmojiSet = { pubkey, dTag -> feedViewModel.addSetToEmojiList(pubkey, dTag) }, onRemoveEmojiSet = { pubkey, dTag -> feedViewModel.removeSetFromEmojiList(pubkey, dTag) }, isEmojiSetAdded = { pubkey, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, resolvedEmojisProvider = { feedViewModel.customEmojiRepo.resolvedEmojis.value }, @@ -2433,7 +2433,7 @@ fun WispNavHost( ) if (showArticleEmojiLibrary) { - com.wisp.app.ui.component.EmojiLibrarySheet( + com.darkwisp.app.ui.component.EmojiLibrarySheet( currentEmojis = articleUnicodeEmojis, customEmojiMap = articleResolvedEmojis, onAddEmojis = { emojis -> @@ -2547,7 +2547,7 @@ fun WispNavHost( } val streamActivityEventId = remember(hostPubkey, dTag) { feedViewModel.eventRepo.findAddressableEvent( - com.wisp.app.nostr.Nip53.KIND_LIVE_ACTIVITY, hostPubkey, dTag + com.darkwisp.app.nostr.Nip53.KIND_LIVE_ACTIVITY, hostPubkey, dTag )?.id } LiveStreamScreen( @@ -2580,13 +2580,13 @@ fun WispNavHost( // is in the p-tag with role "Host", so override the recipient. // Per NIP-57, use "a" tag (not "e") for parameterized replaceable events. val activityEvent = feedViewModel.eventRepo.findAddressableEvent( - com.wisp.app.nostr.Nip53.KIND_LIVE_ACTIVITY, hostPubkey, dTag + com.darkwisp.app.nostr.Nip53.KIND_LIVE_ACTIVITY, hostPubkey, dTag ) if (activityEvent != null) { liveZapTarget = activityEvent val activity = liveStreamViewModel.activity.value liveZapRecipientOverride = activity?.streamerPubkey ?: activity?.hostPubkey - liveZapATag = com.wisp.app.nostr.Nip53.aTagValue(hostPubkey, dTag) + liveZapATag = com.darkwisp.app.nostr.Nip53.aTagValue(hostPubkey, dTag) } }, streamZapTotal = liveStreamZapTotal, @@ -2623,7 +2623,7 @@ fun WispNavHost( composable(Routes.INTERFACE_SETTINGS) { val context = LocalContext.current val app = context.applicationContext as android.app.Application - val interfacePrefs = remember { com.wisp.app.repo.InterfacePreferences(context) } + val interfacePrefs = remember { com.darkwisp.app.repo.InterfacePreferences(context) } InterfaceScreen( application = app, interfacePrefs = interfacePrefs, @@ -3050,7 +3050,7 @@ fun WispNavHost( } val notifReplyScope = rememberCoroutineScope() - val notifInterfacePrefs = remember { com.wisp.app.repo.InterfacePreferences(context) } + val notifInterfacePrefs = remember { com.darkwisp.app.repo.InterfacePreferences(context) } var notifZapTarget by remember { mutableStateOf(null) } data class NotifDmZapInfo(val peerPubkey: String, val rumorId: String, val senderPubkey: String) var notifDmZapTarget by remember { mutableStateOf(null) } @@ -3145,9 +3145,9 @@ fun WispNavHost( val signer = activeSigner ?: return@NotificationsScreen notifReplyScope.launch { val hint = feedViewModel.outboxRouter?.getRelayHint(replyToEvent.pubkey) ?: "" - val tags = com.wisp.app.nostr.Nip10.buildReplyTags(replyToEvent, hint) + - com.wisp.app.nostr.Nip30.buildEmojiTagsForContent(content, notifResolvedEmojis) + - if (notifInterfacePrefs.isClientTagEnabled()) listOf(listOf("client", "Wisp")) else emptyList() + val tags = com.darkwisp.app.nostr.Nip10.buildReplyTags(replyToEvent, hint) + + com.darkwisp.app.nostr.Nip30.buildEmojiTagsForContent(content, notifResolvedEmojis) + + if (notifInterfacePrefs.isClientTagEnabled()) listOf(listOf("client", "Dark Wisp")) else emptyList() if (feedViewModel.powPrefs.isNotePowEnabled()) { feedViewModel.powManager.submitNote( @@ -3158,7 +3158,7 @@ fun WispNavHost( replyToPubkey = replyToEvent.pubkey, onPublished = { feedViewModel.eventRepo.addReplyCount(replyToEvent.id, "pow-pending") - val rootId = com.wisp.app.nostr.Nip10.getRootId(replyToEvent) + val rootId = com.darkwisp.app.nostr.Nip10.getRootId(replyToEvent) if (rootId != null && rootId != replyToEvent.id) { feedViewModel.eventRepo.addReplyCount(rootId, "pow-pending") } @@ -3166,7 +3166,7 @@ fun WispNavHost( ) } else { val event = signer.signEvent(kind = 1, content = content, tags = tags) - val msg = com.wisp.app.nostr.ClientMessage.event(event) + val msg = com.darkwisp.app.nostr.ClientMessage.event(event) if (feedViewModel.outboxRouter != null) { feedViewModel.outboxRouter!!.publishToInbox(msg, replyToEvent.pubkey) } else { @@ -3174,7 +3174,7 @@ fun WispNavHost( } feedViewModel.eventRepo.cacheEvent(event) feedViewModel.eventRepo.addReplyCount(replyToEvent.id, event.id) - val rootId = com.wisp.app.nostr.Nip10.getRootId(replyToEvent) + val rootId = com.darkwisp.app.nostr.Nip10.getRootId(replyToEvent) if (rootId != null && rootId != replyToEvent.id) { feedViewModel.eventRepo.addReplyCount(rootId, event.id) } @@ -3265,13 +3265,13 @@ fun WispNavHost( onAddEmojiSet = { pk, dTag -> feedViewModel.addSetToEmojiList(pk, dTag) }, onRemoveEmojiSet = { pk, dTag -> feedViewModel.removeSetFromEmojiList(pk, dTag) }, isEmojiSetAdded = { pk, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pk, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pk, dTag) feedViewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false } ) if (showNotifEmojiLibrary) { - com.wisp.app.ui.component.EmojiLibrarySheet( + com.darkwisp.app.ui.component.EmojiLibrarySheet( currentEmojis = notifUnicodeEmojis, customEmojiMap = notifResolvedEmojis, onAddEmojis = { emojis -> diff --git a/app/src/main/kotlin/com/wisp/app/WispApp.kt b/app/src/main/kotlin/com/darkwisp/app/WispApp.kt similarity index 82% rename from app/src/main/kotlin/com/wisp/app/WispApp.kt rename to app/src/main/kotlin/com/darkwisp/app/WispApp.kt index 42bdcf4..e3f210a 100644 --- a/app/src/main/kotlin/com/wisp/app/WispApp.kt +++ b/app/src/main/kotlin/com/darkwisp/app/WispApp.kt @@ -1,4 +1,4 @@ -package com.wisp.app +package com.darkwisp.app import android.app.Application import coil3.ImageLoader @@ -8,11 +8,11 @@ import coil3.memory.MemoryCache import coil3.video.VideoFrameDecoder import coil3.network.okhttp.OkHttpNetworkFetcherFactory import coil3.request.crossfade -import com.wisp.app.db.WispObjectBox -import com.wisp.app.relay.HttpClientFactory -import com.wisp.app.repo.DiagnosticLogger -import com.wisp.app.repo.ExchangeRateRepository -import com.wisp.app.repo.ZapSender +import com.darkwisp.app.db.WispObjectBox +import com.darkwisp.app.relay.HttpClientFactory +import com.darkwisp.app.repo.DiagnosticLogger +import com.darkwisp.app.repo.ExchangeRateRepository +import com.darkwisp.app.repo.ZapSender class WispApp : Application(), SingletonImageLoader.Factory { diff --git a/app/src/main/kotlin/com/wisp/app/db/DmMessageEntity.kt b/app/src/main/kotlin/com/darkwisp/app/db/DmMessageEntity.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/db/DmMessageEntity.kt rename to app/src/main/kotlin/com/darkwisp/app/db/DmMessageEntity.kt index 03b3b68..6aba12d 100644 --- a/app/src/main/kotlin/com/wisp/app/db/DmMessageEntity.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/DmMessageEntity.kt @@ -1,4 +1,4 @@ -package com.wisp.app.db +package com.darkwisp.app.db import io.objectbox.annotation.Entity import io.objectbox.annotation.Id diff --git a/app/src/main/kotlin/com/wisp/app/db/DmPersistence.kt b/app/src/main/kotlin/com/darkwisp/app/db/DmPersistence.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/db/DmPersistence.kt rename to app/src/main/kotlin/com/darkwisp/app/db/DmPersistence.kt index 6c701f0..a8aa0d1 100644 --- a/app/src/main/kotlin/com/wisp/app/db/DmPersistence.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/DmPersistence.kt @@ -1,10 +1,10 @@ -package com.wisp.app.db +package com.darkwisp.app.db import android.util.Log -import com.wisp.app.nostr.DmMessage -import com.wisp.app.nostr.DmReaction -import com.wisp.app.nostr.DmZap -import com.wisp.app.nostr.EncryptedMedia +import com.darkwisp.app.nostr.DmMessage +import com.darkwisp.app.nostr.DmReaction +import com.darkwisp.app.nostr.DmZap +import com.darkwisp.app.nostr.EncryptedMedia import io.objectbox.Box import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/kotlin/com/wisp/app/db/EventEntity.kt b/app/src/main/kotlin/com/darkwisp/app/db/EventEntity.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/db/EventEntity.kt rename to app/src/main/kotlin/com/darkwisp/app/db/EventEntity.kt index 7760e1d..514fd1b 100644 --- a/app/src/main/kotlin/com/wisp/app/db/EventEntity.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/EventEntity.kt @@ -1,4 +1,4 @@ -package com.wisp.app.db +package com.darkwisp.app.db import io.objectbox.annotation.Entity import io.objectbox.annotation.Id diff --git a/app/src/main/kotlin/com/wisp/app/db/EventPersistence.kt b/app/src/main/kotlin/com/darkwisp/app/db/EventPersistence.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/db/EventPersistence.kt rename to app/src/main/kotlin/com/darkwisp/app/db/EventPersistence.kt index 475ca50..571d7cb 100644 --- a/app/src/main/kotlin/com/wisp/app/db/EventPersistence.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/EventPersistence.kt @@ -1,7 +1,7 @@ -package com.wisp.app.db +package com.darkwisp.app.db import android.util.Log -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrEvent import io.objectbox.Box import io.objectbox.query.QueryBuilder.StringOrder import kotlinx.coroutines.CoroutineScope diff --git a/app/src/main/kotlin/com/wisp/app/db/GroupMessageEntity.kt b/app/src/main/kotlin/com/darkwisp/app/db/GroupMessageEntity.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/db/GroupMessageEntity.kt rename to app/src/main/kotlin/com/darkwisp/app/db/GroupMessageEntity.kt index 0d4941a..544cd1e 100644 --- a/app/src/main/kotlin/com/wisp/app/db/GroupMessageEntity.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/GroupMessageEntity.kt @@ -1,4 +1,4 @@ -package com.wisp.app.db +package com.darkwisp.app.db import io.objectbox.annotation.Entity import io.objectbox.annotation.Id diff --git a/app/src/main/kotlin/com/wisp/app/db/GroupMetaEntity.kt b/app/src/main/kotlin/com/darkwisp/app/db/GroupMetaEntity.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/db/GroupMetaEntity.kt rename to app/src/main/kotlin/com/darkwisp/app/db/GroupMetaEntity.kt index 3f8ee1e..a8f918c 100644 --- a/app/src/main/kotlin/com/wisp/app/db/GroupMetaEntity.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/GroupMetaEntity.kt @@ -1,4 +1,4 @@ -package com.wisp.app.db +package com.darkwisp.app.db import io.objectbox.annotation.Entity import io.objectbox.annotation.Id diff --git a/app/src/main/kotlin/com/wisp/app/db/GroupPersistence.kt b/app/src/main/kotlin/com/darkwisp/app/db/GroupPersistence.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/db/GroupPersistence.kt rename to app/src/main/kotlin/com/darkwisp/app/db/GroupPersistence.kt index 573d666..81bb025 100644 --- a/app/src/main/kotlin/com/wisp/app/db/GroupPersistence.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/GroupPersistence.kt @@ -1,9 +1,9 @@ -package com.wisp.app.db +package com.darkwisp.app.db import android.util.Log -import com.wisp.app.nostr.Nip29 -import com.wisp.app.repo.GroupMessage -import com.wisp.app.repo.GroupRoom +import com.darkwisp.app.nostr.Nip29 +import com.darkwisp.app.repo.GroupMessage +import com.darkwisp.app.repo.GroupRoom import io.objectbox.Box import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/kotlin/com/wisp/app/db/WispObjectBox.kt b/app/src/main/kotlin/com/darkwisp/app/db/WispObjectBox.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/db/WispObjectBox.kt rename to app/src/main/kotlin/com/darkwisp/app/db/WispObjectBox.kt index f0b729d..fbe850f 100644 --- a/app/src/main/kotlin/com/wisp/app/db/WispObjectBox.kt +++ b/app/src/main/kotlin/com/darkwisp/app/db/WispObjectBox.kt @@ -1,4 +1,4 @@ -package com.wisp.app.db +package com.darkwisp.app.db import android.content.Context import io.objectbox.BoxStore diff --git a/app/src/main/kotlin/com/wisp/app/ml/LightGbmModel.kt b/app/src/main/kotlin/com/darkwisp/app/ml/LightGbmModel.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ml/LightGbmModel.kt rename to app/src/main/kotlin/com/darkwisp/app/ml/LightGbmModel.kt index edbc520..2671e09 100644 --- a/app/src/main/kotlin/com/wisp/app/ml/LightGbmModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ml/LightGbmModel.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ml +package com.darkwisp.app.ml import java.io.BufferedReader import java.io.InputStream diff --git a/app/src/main/kotlin/com/wisp/app/ml/MurmurHash3.kt b/app/src/main/kotlin/com/darkwisp/app/ml/MurmurHash3.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ml/MurmurHash3.kt rename to app/src/main/kotlin/com/darkwisp/app/ml/MurmurHash3.kt index a41b728..6e60578 100644 --- a/app/src/main/kotlin/com/wisp/app/ml/MurmurHash3.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ml/MurmurHash3.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ml +package com.darkwisp.app.ml object MurmurHash3 { private const val C1 = 0xcc9e2d51.toInt() diff --git a/app/src/main/kotlin/com/wisp/app/ml/NSpamClassifier.kt b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamClassifier.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ml/NSpamClassifier.kt rename to app/src/main/kotlin/com/darkwisp/app/ml/NSpamClassifier.kt index 3d38c93..65156cb 100644 --- a/app/src/main/kotlin/com/wisp/app/ml/NSpamClassifier.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamClassifier.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ml +package com.darkwisp.app.ml import kotlin.math.exp diff --git a/app/src/main/kotlin/com/wisp/app/ml/NSpamFeatures.kt b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamFeatures.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ml/NSpamFeatures.kt rename to app/src/main/kotlin/com/darkwisp/app/ml/NSpamFeatures.kt index cb7c9d2..16d7552 100644 --- a/app/src/main/kotlin/com/wisp/app/ml/NSpamFeatures.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamFeatures.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ml +package com.darkwisp.app.ml import kotlin.math.sqrt diff --git a/app/src/main/kotlin/com/wisp/app/ml/NSpamPreprocessor.kt b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamPreprocessor.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ml/NSpamPreprocessor.kt rename to app/src/main/kotlin/com/darkwisp/app/ml/NSpamPreprocessor.kt index 3a8a355..2a011d7 100644 --- a/app/src/main/kotlin/com/wisp/app/ml/NSpamPreprocessor.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamPreprocessor.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ml +package com.darkwisp.app.ml import java.text.Normalizer diff --git a/app/src/main/kotlin/com/wisp/app/ml/NSpamWeights.kt b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamWeights.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ml/NSpamWeights.kt rename to app/src/main/kotlin/com/darkwisp/app/ml/NSpamWeights.kt index ab617b0..e4bc2d1 100644 --- a/app/src/main/kotlin/com/wisp/app/ml/NSpamWeights.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ml/NSpamWeights.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ml +package com.darkwisp.app.ml import android.content.Context import java.io.InputStream diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Blossom.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Blossom.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Blossom.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Blossom.kt index 822f16c..5baa48c 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Blossom.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Blossom.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import android.util.Base64 import java.security.MessageDigest diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Bolt11.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Bolt11.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Bolt11.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Bolt11.kt index 90db7f2..8741edf 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Bolt11.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Bolt11.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Bolt11 { private val bech32Charset = "qpzry9x8gf2tvdw0s3jn54khce6mua7l" diff --git a/app/src/main/kotlin/com/wisp/app/nostr/ClientMessage.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/ClientMessage.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/nostr/ClientMessage.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/ClientMessage.kt index da45a33..34d7978 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/ClientMessage.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/ClientMessage.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonPrimitive diff --git a/app/src/main/kotlin/com/wisp/app/nostr/DmConversation.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/DmConversation.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/DmConversation.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/DmConversation.kt index 54c6aa3..e65dc68 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/DmConversation.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/DmConversation.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr data class DmReaction( val authorPubkey: String, diff --git a/app/src/main/kotlin/com/wisp/app/nostr/EncryptedMedia.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/EncryptedMedia.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/EncryptedMedia.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/EncryptedMedia.kt index 1c69178..952d840 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/EncryptedMedia.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/EncryptedMedia.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import java.security.MessageDigest import java.security.SecureRandom diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Event.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Event.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Event.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Event.kt index edeec4f..e705130 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Event.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Event.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.KSerializer import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Filter.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Filter.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Filter.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Filter.kt index fe5b5da..4207587 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Filter.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Filter.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonPrimitive diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Keys.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Keys.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Keys.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Keys.kt index 8dfddaf..c1fd7f8 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Keys.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Keys.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import fr.acinq.secp256k1.Secp256k1 import java.security.SecureRandom diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip02.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip02.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip02.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip02.kt index 1d834f9..ff2f956 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip02.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip02.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip02 { data class FollowEntry( diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip04.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip04.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip04.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip04.kt index 031ee73..9f537d9 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip04.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip04.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import android.util.Base64 import javax.crypto.Cipher diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip05.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip05.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip05.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip05.kt index 6b87354..6ca3661 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip05.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip05.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip09.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip09.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip09.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip09.kt index db81d89..9cec498 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip09.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip09.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip09 { fun buildDeletionTags(eventId: String, kind: Int): List> { diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip10.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip10.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip10.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip10.kt index 9da29fd..484a84c 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip10.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip10.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip10 { /** diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip11.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip11.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip11.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip11.kt index d8b30b4..41484d3 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip11.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip11.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -36,7 +36,7 @@ data class RelayInfo( object Nip11 { private val json = Json { ignoreUnknownKeys = true } private val httpClient - get() = com.wisp.app.relay.HttpClientFactory.getGeneralClient() + get() = com.darkwisp.app.relay.HttpClientFactory.getGeneralClient() suspend fun fetchRelayInfo(url: String, httpClient: OkHttpClient? = null): RelayInfo? { val client = httpClient ?: this.httpClient diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip13.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip13.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip13.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip13.kt index 6e56b05..95c668b 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip13.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip13.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.coroutines.ensureActive import kotlin.coroutines.coroutineContext diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip17.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip17.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip17.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip17.kt index 5d045ab..d1c085e 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip17.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip17.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonPrimitive diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip18.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip18.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip18.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip18.kt index 9e3dac5..763e10f 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip18.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip18.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip18 { fun buildRepostTags(event: NostrEvent, relayUrl: String = ""): List> { diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip19.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip19.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip19.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip19.kt index dfd9b6a..b225009 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip19.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip19.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr sealed class NostrUriData { data class NoteRef(val eventId: String, val relays: List = emptyList(), val author: String? = null) : NostrUriData() diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip25.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip25.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip25.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip25.kt index 2b381ce..a31ec48 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip25.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip25.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip25 { fun buildReactionTags(targetEvent: NostrEvent): List> { diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip29.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip29.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip29.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip29.kt index ff4b1a1..a194e28 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip29.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip29.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip29 { const val KIND_CHAT_MESSAGE = 9 diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip30.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip30.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip30.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip30.kt index 5e9694a..3b3356b 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip30.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip30.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr data class CustomEmoji(val shortcode: String, val url: String) diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip37.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip37.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip37.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip37.kt index 61a4ce7..db66a8c 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip37.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip37.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonPrimitive diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip44.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip44.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip44.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip44.kt index 88641f6..8648d9e 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip44.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip44.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import android.util.Base64 import org.bouncycastle.crypto.engines.ChaCha7539Engine diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip47.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip47.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip47.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip47.kt index 14b771a..fcd2922 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip47.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip47.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonNull diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip51.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip51.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip51.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip51.kt index 562a803..4b4124c 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip51.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip51.kt @@ -1,6 +1,6 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr -import com.wisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayConfig import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.buildJsonArray import kotlinx.serialization.json.jsonArray diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip53.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip53.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip53.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip53.kt index f35a33d..4f257d6 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip53.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip53.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip53 { const val KIND_LIVE_ACTIVITY = 30311 diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip57.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip57.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip57.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip57.kt index 8b813fa..f6a68fd 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip57.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip57.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip65.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip65.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip65.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip65.kt index dc1daf1..f364fca 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip65.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip65.kt @@ -1,6 +1,6 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr -import com.wisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayConfig object Nip65 { fun parseRelayList(event: NostrEvent): List { diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip68.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip68.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip68.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip68.kt index 7e07208..ce042a9 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip68.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip68.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip68 { const val KIND_PICTURE = 20 diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip69.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip69.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip69.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip69.kt index 7c573aa..30b1aad 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip69.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip69.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr /** * NIP-69 / Kind 6969: Zap Polls diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip71.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip71.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip71.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip71.kt index 255ea26..63518ec 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip71.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip71.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip71 { const val KIND_VIDEO_HORIZONTAL = 21 diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip78.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip78.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip78.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip78.kt index 7726132..cc0b557 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip78.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip78.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import java.security.MessageDigest @@ -41,7 +41,7 @@ object Nip78 { val tags = listOf( listOf("d", dTag), - listOf("client", "wisp"), + listOf("client", "Dark Wisp"), listOf("encryption", "nip44") ) diff --git a/app/src/main/kotlin/com/wisp/app/nostr/Nip88.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip88.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/Nip88.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/Nip88.kt index c503386..e85f52b 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/Nip88.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/Nip88.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr object Nip88 { const val KIND_POLL = 1068 diff --git a/app/src/main/kotlin/com/wisp/app/nostr/NostrSigner.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/NostrSigner.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/NostrSigner.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/NostrSigner.kt index 3c2ca7e..f89308c 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/NostrSigner.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/NostrSigner.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import android.content.ContentResolver import android.content.Context diff --git a/app/src/main/kotlin/com/wisp/app/nostr/NotificationItem.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/NotificationItem.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/NotificationItem.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/NotificationItem.kt index 92dc3e5..06beb09 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/NotificationItem.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/NotificationItem.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr enum class NotificationType { REACTION, ZAP, REPOST, REPLY, QUOTE, MENTION, VOTE, DM, DM_REACTION, DM_ZAP, PROFILE_ZAP } diff --git a/app/src/main/kotlin/com/wisp/app/nostr/ProfileData.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/ProfileData.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/ProfileData.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/ProfileData.kt index 3842d5a..fec2667 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/ProfileData.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/ProfileData.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json diff --git a/app/src/main/kotlin/com/wisp/app/nostr/RelayMessage.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/RelayMessage.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/nostr/RelayMessage.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/RelayMessage.kt index 091a8ca..b129408 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/RelayMessage.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/RelayMessage.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonArray diff --git a/app/src/main/kotlin/com/wisp/app/nostr/SignerIntentBridge.kt b/app/src/main/kotlin/com/darkwisp/app/nostr/SignerIntentBridge.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/nostr/SignerIntentBridge.kt rename to app/src/main/kotlin/com/darkwisp/app/nostr/SignerIntentBridge.kt index 3e73d1d..a0ff5ef 100644 --- a/app/src/main/kotlin/com/wisp/app/nostr/SignerIntentBridge.kt +++ b/app/src/main/kotlin/com/darkwisp/app/nostr/SignerIntentBridge.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import android.content.Intent import android.util.Log diff --git a/app/src/main/kotlin/com/wisp/app/relay/ConnectivityFlow.kt b/app/src/main/kotlin/com/darkwisp/app/relay/ConnectivityFlow.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/relay/ConnectivityFlow.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/ConnectivityFlow.kt index 589e55b..2b5f36f 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/ConnectivityFlow.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/ConnectivityFlow.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.content.Context import android.net.ConnectivityManager diff --git a/app/src/main/kotlin/com/wisp/app/relay/ConsoleLog.kt b/app/src/main/kotlin/com/darkwisp/app/relay/ConsoleLog.kt similarity index 88% rename from app/src/main/kotlin/com/wisp/app/relay/ConsoleLog.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/ConsoleLog.kt index fe792b9..82f0c89 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/ConsoleLog.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/ConsoleLog.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay data class ConsoleLogEntry( val timestamp: Long = System.currentTimeMillis(), diff --git a/app/src/main/kotlin/com/wisp/app/relay/HttpClientFactory.kt b/app/src/main/kotlin/com/darkwisp/app/relay/HttpClientFactory.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/relay/HttpClientFactory.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/HttpClientFactory.kt index 9265018..222357b 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/HttpClientFactory.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/HttpClientFactory.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.content.Context import androidx.media3.datasource.okhttp.OkHttpDataSource diff --git a/app/src/main/kotlin/com/wisp/app/relay/OutboxRouter.kt b/app/src/main/kotlin/com/darkwisp/app/relay/OutboxRouter.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/relay/OutboxRouter.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/OutboxRouter.kt index 5ac9a40..28e15b9 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/OutboxRouter.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/OutboxRouter.kt @@ -1,14 +1,14 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.util.Log -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.repo.RelayListRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.repo.RelayListRepository class OutboxRouter( private val relayPool: RelayPool, private val relayListRepo: RelayListRepository, - private val relayHintStore: com.wisp.app.repo.RelayHintStore? = null, + private val relayHintStore: com.darkwisp.app.repo.RelayHintStore? = null, private val relayScoreBoard: RelayScoreBoard? = null ) { companion object { @@ -392,7 +392,7 @@ class OutboxRouter( */ fun requestRelayListsAndProfiles( pubkeys: List, - profileRepo: com.wisp.app.repo.ProfileRepository, + profileRepo: com.darkwisp.app.repo.ProfileRepository, subId: String = "relay-lists" ): String? { val missingRelayLists = relayListRepo.getMissingPubkeys(pubkeys) diff --git a/app/src/main/kotlin/com/wisp/app/relay/Relay.kt b/app/src/main/kotlin/com/darkwisp/app/relay/Relay.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/relay/Relay.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/Relay.kt index 4130f45..8161553 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/Relay.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/Relay.kt @@ -1,7 +1,7 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.util.Log -import com.wisp.app.nostr.RelayMessage +import com.darkwisp.app.nostr.RelayMessage import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.delay diff --git a/app/src/main/kotlin/com/wisp/app/relay/RelayConfig.kt b/app/src/main/kotlin/com/darkwisp/app/relay/RelayConfig.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/relay/RelayConfig.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/RelayConfig.kt index a09ba2b..f05ba16 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/RelayConfig.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/RelayConfig.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/relay/RelayHealthTracker.kt b/app/src/main/kotlin/com/darkwisp/app/relay/RelayHealthTracker.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/relay/RelayHealthTracker.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/RelayHealthTracker.kt index 493a215..35c9218 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/RelayHealthTracker.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/RelayHealthTracker.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.content.Context import android.content.SharedPreferences diff --git a/app/src/main/kotlin/com/wisp/app/relay/RelayLifecycleManager.kt b/app/src/main/kotlin/com/darkwisp/app/relay/RelayLifecycleManager.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/relay/RelayLifecycleManager.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/RelayLifecycleManager.kt index bd9db50..e78d36b 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/RelayLifecycleManager.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/RelayLifecycleManager.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.content.Context import android.util.Log diff --git a/app/src/main/kotlin/com/wisp/app/relay/RelayPool.kt b/app/src/main/kotlin/com/darkwisp/app/relay/RelayPool.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/relay/RelayPool.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/RelayPool.kt index 7717226..74e30a8 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/RelayPool.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/RelayPool.kt @@ -1,13 +1,13 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.content.SharedPreferences import android.util.Log import android.util.LruCache -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.repo.DiagnosticLogger -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.RelayMessage -import com.wisp.app.nostr.RelayMessage.Auth +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.repo.DiagnosticLogger +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.RelayMessage +import com.darkwisp.app.nostr.RelayMessage.Auth import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job diff --git a/app/src/main/kotlin/com/wisp/app/relay/RelayProber.kt b/app/src/main/kotlin/com/darkwisp/app/relay/RelayProber.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/relay/RelayProber.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/RelayProber.kt index 4a6ab10..07de59b 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/RelayProber.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/RelayProber.kt @@ -1,13 +1,13 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.util.Log -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Keys -import com.wisp.app.nostr.Nip11 -import com.wisp.app.nostr.Nip65 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.RelayMessage +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Keys +import com.darkwisp.app.nostr.Nip11 +import com.darkwisp.app.nostr.Nip65 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.RelayMessage import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async diff --git a/app/src/main/kotlin/com/wisp/app/relay/RelayScoreBoard.kt b/app/src/main/kotlin/com/darkwisp/app/relay/RelayScoreBoard.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/relay/RelayScoreBoard.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/RelayScoreBoard.kt index 64d6bbb..5504984 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/RelayScoreBoard.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/RelayScoreBoard.kt @@ -1,10 +1,10 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import android.content.Context import android.content.SharedPreferences import android.util.Log -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.RelayListRepository +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.RelayListRepository data class ScoredRelay(val url: String, val coverCount: Int, val authors: Set) diff --git a/app/src/main/kotlin/com/wisp/app/relay/SubscriptionManager.kt b/app/src/main/kotlin/com/darkwisp/app/relay/SubscriptionManager.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/relay/SubscriptionManager.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/SubscriptionManager.kt index cb334bc..bdafa52 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/SubscriptionManager.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/SubscriptionManager.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.first diff --git a/app/src/main/kotlin/com/wisp/app/relay/SubscriptionTracker.kt b/app/src/main/kotlin/com/darkwisp/app/relay/SubscriptionTracker.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/relay/SubscriptionTracker.kt rename to app/src/main/kotlin/com/darkwisp/app/relay/SubscriptionTracker.kt index 0f279b2..ba49a0a 100644 --- a/app/src/main/kotlin/com/wisp/app/relay/SubscriptionTracker.kt +++ b/app/src/main/kotlin/com/darkwisp/app/relay/SubscriptionTracker.kt @@ -1,4 +1,4 @@ -package com.wisp.app.relay +package com.darkwisp.app.relay import java.util.concurrent.ConcurrentHashMap diff --git a/app/src/main/kotlin/com/wisp/app/repo/BlossomRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/BlossomRepository.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/BlossomRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/BlossomRepository.kt index 8bff2fa..54cb928 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/BlossomRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/BlossomRepository.kt @@ -1,11 +1,11 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.Blossom -import com.wisp.app.nostr.EncryptedMedia -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.Blossom +import com.darkwisp.app.nostr.EncryptedMedia +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -35,7 +35,7 @@ class BlossomRepository(private val context: Context, pubkeyHex: String? = null) } private val httpClient - get() = com.wisp.app.relay.HttpClientFactory.createHttpClient( + get() = com.darkwisp.app.relay.HttpClientFactory.createHttpClient( connectTimeoutSeconds = 30, readTimeoutSeconds = 60, writeTimeoutSeconds = 60 diff --git a/app/src/main/kotlin/com/wisp/app/repo/BookmarkRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/BookmarkRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/BookmarkRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/BookmarkRepository.kt index a89c2e6..14a9976 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/BookmarkRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/BookmarkRepository.kt @@ -1,9 +1,9 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/repo/BookmarkSetRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/BookmarkSetRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/BookmarkSetRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/BookmarkSetRepository.kt index 6febbdb..e516b00 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/BookmarkSetRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/BookmarkSetRepository.kt @@ -1,10 +1,10 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.BookmarkSet -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.BookmarkSet +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/repo/ContactRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/ContactRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/ContactRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/ContactRepository.kt index 17f2ac0..90c0068 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/ContactRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/ContactRepository.kt @@ -1,9 +1,9 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.Nip02 -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.Nip02 +import com.darkwisp.app.nostr.NostrEvent import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/repo/CustomEmojiRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/CustomEmojiRepository.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/CustomEmojiRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/CustomEmojiRepository.kt index 4e51fa9..43001d4 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/CustomEmojiRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/CustomEmojiRepository.kt @@ -1,13 +1,13 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.LruCache -import com.wisp.app.nostr.CustomEmoji -import com.wisp.app.nostr.EmojiSet -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.UserEmojiList +import com.darkwisp.app.nostr.CustomEmoji +import com.darkwisp.app.nostr.EmojiSet +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.UserEmojiList import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import org.json.JSONArray diff --git a/app/src/main/kotlin/com/wisp/app/repo/DeletedEventsRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/DeletedEventsRepository.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/DeletedEventsRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/DeletedEventsRepository.kt index 5e418ee..6a37eac 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/DeletedEventsRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/DeletedEventsRepository.kt @@ -1,8 +1,8 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrEvent class DeletedEventsRepository(private val context: Context, pubkeyHex: String? = null) { private var prefs: SharedPreferences = diff --git a/app/src/main/kotlin/com/wisp/app/repo/DiagnosticLogger.kt b/app/src/main/kotlin/com/darkwisp/app/repo/DiagnosticLogger.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/DiagnosticLogger.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/DiagnosticLogger.kt index 5ac87ba..6b5b534 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/DiagnosticLogger.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/DiagnosticLogger.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.util.Log diff --git a/app/src/main/kotlin/com/wisp/app/repo/DmRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/DmRepository.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/DmRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/DmRepository.kt index 92d8b33..0cfa1d1 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/DmRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/DmRepository.kt @@ -1,17 +1,17 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.LruCache -import com.wisp.app.db.DmPersistence -import com.wisp.app.nostr.DmConversation -import com.wisp.app.nostr.DmMessage -import com.wisp.app.nostr.DmReaction -import com.wisp.app.nostr.DmZap -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.wipe -import com.wisp.app.nostr.FlatNotificationItem -import com.wisp.app.nostr.NotificationType +import com.darkwisp.app.db.DmPersistence +import com.darkwisp.app.nostr.DmConversation +import com.darkwisp.app.nostr.DmMessage +import com.darkwisp.app.nostr.DmReaction +import com.darkwisp.app.nostr.DmZap +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.wipe +import com.darkwisp.app.nostr.FlatNotificationItem +import com.darkwisp.app.nostr.NotificationType import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob diff --git a/app/src/main/kotlin/com/wisp/app/repo/EventRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/EventRepository.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/repo/EventRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/EventRepository.kt index 7849fdf..d388d5a 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/EventRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/EventRepository.kt @@ -1,17 +1,17 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.util.Log import android.util.LruCache -import com.wisp.app.nostr.Nip09 -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Bolt11 -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrEvent.Companion.fromJson -import com.wisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.Nip09 +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Bolt11 +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrEvent.Companion.fromJson +import com.darkwisp.app.nostr.ProfileData import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -22,7 +22,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch -import com.wisp.app.db.EventPersistence +import com.darkwisp.app.db.EventPersistence import java.util.concurrent.ConcurrentHashMap data class ZapDetail( diff --git a/app/src/main/kotlin/com/wisp/app/repo/ExchangeRateRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/ExchangeRateRepository.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/ExchangeRateRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/ExchangeRateRepository.kt index 8e7f566..925f3d0 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/ExchangeRateRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/ExchangeRateRepository.kt @@ -1,8 +1,8 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.util.Log -import com.wisp.app.relay.HttpClientFactory +import com.darkwisp.app.relay.HttpClientFactory import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob diff --git a/app/src/main/kotlin/com/wisp/app/repo/ExtendedNetworkRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/ExtendedNetworkRepository.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/ExtendedNetworkRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/ExtendedNetworkRepository.kt index 8dc5fcd..42e101d 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/ExtendedNetworkRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/ExtendedNetworkRepository.kt @@ -1,16 +1,16 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.Log -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip02 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayScoreBoard -import com.wisp.app.relay.SubscriptionManager +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip02 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayScoreBoard +import com.darkwisp.app.relay.SubscriptionManager import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.coroutineScope @@ -177,7 +177,7 @@ class ExtendedNetworkRepository( val coverageTarget = (firstDegree.size * 0.7).toInt() coroutineScope { val collectorJob = launch { - relayPool.relayEvents.collect { relayEvent: com.wisp.app.relay.RelayEvent -> + relayPool.relayEvents.collect { relayEvent: com.darkwisp.app.relay.RelayEvent -> if (relayEvent.subscriptionId == subId && relayEvent.event.kind == 3) { pendingFollowLists[relayEvent.event.pubkey] = relayEvent.event _discoveryState.value = DiscoveryState.FetchingFollowLists( @@ -305,7 +305,7 @@ class ExtendedNetworkRepository( // Dedicated collector for relay list events — same bypass as follow lists val rlCollected = java.util.concurrent.atomic.AtomicInteger(0) val collectorJob = launch { - relayPool.relayEvents.collect { relayEvent: com.wisp.app.relay.RelayEvent -> + relayPool.relayEvents.collect { relayEvent: com.darkwisp.app.relay.RelayEvent -> if (relayEvent.subscriptionId.startsWith("extnet-rl-") && relayEvent.event.kind == 10002) { relayListRepo.updateFromEvent(relayEvent.event) val count = rlCollected.incrementAndGet() diff --git a/app/src/main/kotlin/com/wisp/app/repo/FiatPreferences.kt b/app/src/main/kotlin/com/darkwisp/app/repo/FiatPreferences.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/FiatPreferences.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/FiatPreferences.kt index d94dbff..b2f923e 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/FiatPreferences.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/FiatPreferences.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/repo/GroupRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/GroupRepository.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/GroupRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/GroupRepository.kt index a05038b..98baf5a 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/GroupRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/GroupRepository.kt @@ -1,9 +1,9 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context -import com.wisp.app.db.GroupPersistence -import com.wisp.app.db.WispObjectBox -import com.wisp.app.nostr.Nip29 +import com.darkwisp.app.db.GroupPersistence +import com.darkwisp.app.db.WispObjectBox +import com.darkwisp.app.nostr.Nip29 import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import java.util.concurrent.ConcurrentHashMap diff --git a/app/src/main/kotlin/com/wisp/app/repo/InterestRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/InterestRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/InterestRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/InterestRepository.kt index 7ddf4b2..eb584b0 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/InterestRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/InterestRepository.kt @@ -1,10 +1,10 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.InterestSet -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.InterestSet +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/repo/InterfacePreferences.kt b/app/src/main/kotlin/com/darkwisp/app/repo/InterfacePreferences.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/repo/InterfacePreferences.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/InterfacePreferences.kt index d00b7b3..16d18f9 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/InterfacePreferences.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/InterfacePreferences.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context diff --git a/app/src/main/kotlin/com/wisp/app/repo/KeyRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/KeyRepository.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/KeyRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/KeyRepository.kt index 71bdd7a..e13685a 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/KeyRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/KeyRepository.kt @@ -1,15 +1,15 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.MasterKey -import com.wisp.app.nostr.Keys -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.LocalRelayConfig -import com.wisp.app.relay.RelayConfig +import com.darkwisp.app.nostr.Keys +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.LocalRelayConfig +import com.darkwisp.app.relay.RelayConfig import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/repo/ListRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/ListRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/ListRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/ListRepository.kt index 3079e5c..fb70724 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/ListRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/ListRepository.kt @@ -1,10 +1,10 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.FollowSet -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.FollowSet +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/repo/LiveStreamRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/LiveStreamRepository.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/LiveStreamRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/LiveStreamRepository.kt index 39111f2..40a682d 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/LiveStreamRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/LiveStreamRepository.kt @@ -1,8 +1,8 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo -import com.wisp.app.nostr.Nip53 -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.Nip53 +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.NostrEvent import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import java.util.concurrent.ConcurrentHashMap @@ -107,7 +107,7 @@ class LiveStreamRepository { val replyToId = event.tags.firstOrNull { it.size >= 2 && it[0] == "e" && (it.size < 4 || it[3] == "reply") }?.get(1) - val emojiTags = com.wisp.app.nostr.Nip30.parseEmojiTags(event.tags) + val emojiTags = com.darkwisp.app.nostr.Nip30.parseEmojiTags(event.tags) val msg = LiveChatMessage( id = event.id, senderPubkey = event.pubkey, diff --git a/app/src/main/kotlin/com/wisp/app/repo/LocaleRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/LocaleRepository.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/repo/LocaleRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/LocaleRepository.kt index 046d253..91da4da 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/LocaleRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/LocaleRepository.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.app.Application import android.os.Build diff --git a/app/src/main/kotlin/com/wisp/app/repo/MentionSearchRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/MentionSearchRepository.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/repo/MentionSearchRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/MentionSearchRepository.kt index eaeaaf9..ab01879 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/MentionSearchRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/MentionSearchRepository.kt @@ -1,8 +1,8 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo -import com.wisp.app.db.EventPersistence -import com.wisp.app.nostr.ProfileData -import com.wisp.app.relay.RelayPool +import com.darkwisp.app.db.EventPersistence +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.relay.RelayPool import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/repo/MetadataFetcher.kt b/app/src/main/kotlin/com/darkwisp/app/repo/MetadataFetcher.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/MetadataFetcher.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/MetadataFetcher.kt index c1fb3a3..426506c 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/MetadataFetcher.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/MetadataFetcher.kt @@ -1,12 +1,12 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.NostrUriData -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.SubscriptionManager +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.NostrUriData +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.SubscriptionManager import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.delay @@ -234,14 +234,14 @@ class MetadataFetcher( if (!fetchedPollVotes.add(pollEventId)) return } val subId = "qpoll-${pollVoteBatchCounter++}" - val filter = Filter(kinds = listOf(com.wisp.app.nostr.Nip88.KIND_POLL_RESPONSE), eTags = listOf(pollEventId)) + val filter = Filter(kinds = listOf(com.darkwisp.app.nostr.Nip88.KIND_POLL_RESPONSE), eTags = listOf(pollEventId)) val msg = ClientMessage.req(subId, filter) relayPool.sendToAllRelays(msg) // Also try poll-specified relays val pollEvent = eventRepo.getEvent(pollEventId) if (pollEvent != null) { val sentUrls = relayPool.getReadRelayUrls().toSet() + relayPool.getWriteRelayUrls().toSet() - for (url in com.wisp.app.nostr.Nip88.parsePollRelays(pollEvent)) { + for (url in com.darkwisp.app.nostr.Nip88.parsePollRelays(pollEvent)) { if (url !in sentUrls) relayPool.sendToRelayOrEphemeral(url, msg) } } @@ -267,7 +267,7 @@ class MetadataFetcher( val pollEvent = eventRepo.getEvent(pollEventId) if (pollEvent != null) { val sentUrls = relayPool.getReadRelayUrls().toSet() + relayPool.getWriteRelayUrls().toSet() - for (url in com.wisp.app.nostr.Nip69.parseZapPollRelays(pollEvent)) { + for (url in com.darkwisp.app.nostr.Nip69.parseZapPollRelays(pollEvent)) { if (url !in sentUrls) relayPool.sendToRelayOrEphemeral(url, msg) } } @@ -306,7 +306,7 @@ class MetadataFetcher( } } - fun fetchQuotedEvents(event: com.wisp.app.nostr.NostrEvent) { + fun fetchQuotedEvents(event: com.darkwisp.app.nostr.NostrEvent) { event.tags.filter { it.size >= 2 && it[0] == "q" } .forEach { tag -> val id = tag[1].lowercase() diff --git a/app/src/main/kotlin/com/wisp/app/repo/MuteRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/MuteRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/MuteRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/MuteRepository.kt index 8478928..0446d17 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/MuteRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/MuteRepository.kt @@ -1,11 +1,11 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.MuteList -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.MuteList +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/repo/Nip05Repository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/Nip05Repository.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/repo/Nip05Repository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/Nip05Repository.kt index 4eaf0d6..70996dd 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/Nip05Repository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/Nip05Repository.kt @@ -1,7 +1,7 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo -import com.wisp.app.nostr.Nip05 -import com.wisp.app.nostr.Nip05Result +import com.darkwisp.app.nostr.Nip05 +import com.darkwisp.app.nostr.Nip05Result import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -30,7 +30,7 @@ class Nip05Repository { val version: StateFlow = _version private val httpClient - get() = com.wisp.app.relay.HttpClientFactory.getNip05Client() + get() = com.darkwisp.app.relay.HttpClientFactory.getNip05Client() fun clear() { statusCache.clear() diff --git a/app/src/main/kotlin/com/wisp/app/repo/NotificationRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/NotificationRepository.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/NotificationRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/NotificationRepository.kt index 4cd8717..d840046 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/NotificationRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/NotificationRepository.kt @@ -1,19 +1,19 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.LruCache -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.FlatNotificationItem -import com.wisp.app.nostr.NotificationGroup -import com.wisp.app.nostr.NotificationSummary -import com.wisp.app.nostr.NotificationType -import com.wisp.app.nostr.ZapEntry +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.FlatNotificationItem +import com.darkwisp.app.nostr.NotificationGroup +import com.darkwisp.app.nostr.NotificationSummary +import com.darkwisp.app.nostr.NotificationType +import com.darkwisp.app.nostr.ZapEntry import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -32,11 +32,11 @@ class NotificationRepository( private val muteRepo: MuteRepository? = null, private val eventRepo: EventRepository? = null ) { - var spamClassifier: com.wisp.app.ml.NSpamClassifier? = null + var spamClassifier: com.darkwisp.app.ml.NSpamClassifier? = null var spamAuthorCache: SpamAuthorCache? = null var safetyPrefs: SafetyPreferences? = null var contactRepo: ContactRepository? = null - var extendedNetworkRepo: com.wisp.app.repo.ExtendedNetworkRepository? = null + var extendedNetworkRepo: com.darkwisp.app.repo.ExtendedNetworkRepository? = null @Volatile private var currentPubkeyHex: String? = pubkeyHex @@ -706,7 +706,7 @@ class NotificationRepository( val notes = repo.getCachedEventsByAuthor(event.pubkey, 1, 10) if (notes.isNotEmpty()) { val inputs = notes.map { e -> - com.wisp.app.ml.NoteInput(e.content, e.tags, e.created_at) + com.darkwisp.app.ml.NoteInput(e.content, e.tags, e.created_at) } val score = classifier.score(inputs) if (score != null) { diff --git a/app/src/main/kotlin/com/wisp/app/repo/NwcRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/NwcRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/NwcRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/NwcRepository.kt index 2593b73..bb90fb9 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/NwcRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/NwcRepository.kt @@ -1,17 +1,17 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.util.Log import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.MasterKey -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip47 -import com.wisp.app.nostr.RelayMessage -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.Relay -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip47 +import com.darkwisp.app.nostr.RelayMessage +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.Relay +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -202,7 +202,7 @@ class NwcRepository(private val context: Context, private val relayPool: RelayPo emitStatus("Encryption: ${if (enc == Nip47.NwcEncryption.NIP44) "NIP-44" else "NIP-04"}") } - private fun handleResponse(event: com.wisp.app.nostr.NostrEvent) { + private fun handleResponse(event: com.darkwisp.app.nostr.NostrEvent) { val conn = connection ?: return try { val response = Nip47.parseResponse(conn, event) diff --git a/app/src/main/kotlin/com/wisp/app/repo/PinRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/PinRepository.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/repo/PinRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/PinRepository.kt index 5815030..cf6e17f 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/PinRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/PinRepository.kt @@ -1,9 +1,9 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/repo/PowPreferences.kt b/app/src/main/kotlin/com/darkwisp/app/repo/PowPreferences.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/PowPreferences.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/PowPreferences.kt index 00b5bd1..51f03c7 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/PowPreferences.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/PowPreferences.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context diff --git a/app/src/main/kotlin/com/wisp/app/repo/ProfileRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/ProfileRepository.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/ProfileRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/ProfileRepository.kt index 1608a89..eba786e 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/ProfileRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/ProfileRepository.kt @@ -1,11 +1,11 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.LruCache import android.util.Log -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import java.io.File diff --git a/app/src/main/kotlin/com/wisp/app/repo/RelayHintStore.kt b/app/src/main/kotlin/com/darkwisp/app/repo/RelayHintStore.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/RelayHintStore.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/RelayHintStore.kt index 1c23c85..77f2134 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/RelayHintStore.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/RelayHintStore.kt @@ -1,11 +1,11 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.Log import android.util.LruCache -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.RelayConfig +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.RelayConfig /** * Lightweight persistent store of relay hints for any pubkey. diff --git a/app/src/main/kotlin/com/wisp/app/repo/RelayInfoRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/RelayInfoRepository.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/repo/RelayInfoRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/RelayInfoRepository.kt index e43b7ab..5a3ebcb 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/RelayInfoRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/RelayInfoRepository.kt @@ -1,7 +1,7 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo -import com.wisp.app.nostr.Nip11 -import com.wisp.app.nostr.RelayInfo +import com.darkwisp.app.nostr.Nip11 +import com.darkwisp.app.nostr.RelayInfo import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.util.concurrent.ConcurrentHashMap diff --git a/app/src/main/kotlin/com/wisp/app/repo/RelayListRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/RelayListRepository.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/RelayListRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/RelayListRepository.kt index 19f631e..e1c3887 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/RelayListRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/RelayListRepository.kt @@ -1,12 +1,12 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.LruCache -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.Nip65 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.RelayConfig +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.Nip65 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.RelayConfig import kotlinx.serialization.Serializable import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json diff --git a/app/src/main/kotlin/com/wisp/app/repo/RelaySetRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/RelaySetRepository.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/RelaySetRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/RelaySetRepository.kt index 49cd809..77ad1bb 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/RelaySetRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/RelaySetRepository.kt @@ -1,11 +1,11 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.RelaySet -import com.wisp.app.relay.RelayConfig +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.RelaySet +import com.darkwisp.app.relay.RelayConfig import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.serialization.Serializable diff --git a/app/src/main/kotlin/com/wisp/app/repo/SafetyPreferences.kt b/app/src/main/kotlin/com/darkwisp/app/repo/SafetyPreferences.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/SafetyPreferences.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/SafetyPreferences.kt index 65c3402..3aad361 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/SafetyPreferences.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/SafetyPreferences.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences diff --git a/app/src/main/kotlin/com/wisp/app/repo/SocialGraphDb.kt b/app/src/main/kotlin/com/darkwisp/app/repo/SocialGraphDb.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/repo/SocialGraphDb.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/SocialGraphDb.kt index 1853262..7d30c12 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/SocialGraphDb.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/SocialGraphDb.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.database.sqlite.SQLiteDatabase diff --git a/app/src/main/kotlin/com/wisp/app/repo/SpamAuthorCache.kt b/app/src/main/kotlin/com/darkwisp/app/repo/SpamAuthorCache.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/repo/SpamAuthorCache.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/SpamAuthorCache.kt index d497439..834657c 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/SpamAuthorCache.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/SpamAuthorCache.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.util.LruCache diff --git a/app/src/main/kotlin/com/wisp/app/repo/SparkRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/SparkRepository.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/repo/SparkRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/SparkRepository.kt index ef6ddd4..c001f3f 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/SparkRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/SparkRepository.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.util.Log @@ -34,7 +34,7 @@ import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import com.wisp.app.BuildConfig +import com.darkwisp.app.BuildConfig import java.io.File import java.security.SecureRandom @@ -453,7 +453,7 @@ class SparkRepository( // Prefer bolt11-decoded hash (matches ZapSender records), fall back to HTLC hash, then payment ID val decoded = lightningDetails?.invoice?.let { - com.wisp.app.nostr.Bolt11.decode(it) + com.darkwisp.app.nostr.Bolt11.decode(it) } val htlcHash = lightningDetails?.htlcDetails?.paymentHash?.lowercase() val paymentHash = decoded?.paymentHash ?: htlcHash ?: payment.id diff --git a/app/src/main/kotlin/com/wisp/app/repo/TranslationRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/TranslationRepository.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/repo/TranslationRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/TranslationRepository.kt index d8c806a..22c21e8 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/TranslationRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/TranslationRepository.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import com.google.mlkit.nl.languageid.LanguageIdentification import com.google.mlkit.nl.translate.TranslateLanguage diff --git a/app/src/main/kotlin/com/wisp/app/repo/WalletModeRepository.kt b/app/src/main/kotlin/com/darkwisp/app/repo/WalletModeRepository.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/WalletModeRepository.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/WalletModeRepository.kt index 52869fd..fab61f2 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/WalletModeRepository.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/WalletModeRepository.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context diff --git a/app/src/main/kotlin/com/wisp/app/repo/WalletProvider.kt b/app/src/main/kotlin/com/darkwisp/app/repo/WalletProvider.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/repo/WalletProvider.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/WalletProvider.kt index 3599786..b2f59a0 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/WalletProvider.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/WalletProvider.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/repo/ZapPreferences.kt b/app/src/main/kotlin/com/darkwisp/app/repo/ZapPreferences.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/repo/ZapPreferences.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/ZapPreferences.kt index 4f1e2fe..5836b51 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/ZapPreferences.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/ZapPreferences.kt @@ -1,4 +1,4 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences diff --git a/app/src/main/kotlin/com/wisp/app/repo/ZapSender.kt b/app/src/main/kotlin/com/darkwisp/app/repo/ZapSender.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/repo/ZapSender.kt rename to app/src/main/kotlin/com/darkwisp/app/repo/ZapSender.kt index c1daa2b..9ecedfe 100644 --- a/app/src/main/kotlin/com/wisp/app/repo/ZapSender.kt +++ b/app/src/main/kotlin/com/darkwisp/app/repo/ZapSender.kt @@ -1,13 +1,13 @@ -package com.wisp.app.repo +package com.darkwisp.app.repo import android.content.Context import android.content.SharedPreferences import android.util.Log -import com.wisp.app.nostr.Bolt11 -import com.wisp.app.nostr.Keys -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.RelayPool +import com.darkwisp.app.nostr.Bolt11 +import com.darkwisp.app.nostr.Keys +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.RelayPool import okhttp3.OkHttpClient class ZapSender( @@ -114,7 +114,7 @@ class ZapSender( } val allExtraTags = buildList { - if (interfacePrefs.isClientTagEnabled()) add(listOf("client", "Wisp")) + if (interfacePrefs.isClientTagEnabled()) add(listOf("client", "Dark Wisp")) addAll(extraTags) } diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/ActionBar.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/ActionBar.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/ActionBar.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/ActionBar.kt index 6b7408f..63b9e61 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/ActionBar.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/ActionBar.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.core.LinearEasing import androidx.compose.animation.core.RepeatMode @@ -50,15 +50,15 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.wisp.app.R -import com.wisp.app.repo.FiatPreferences -import com.wisp.app.ui.theme.WispThemeColors -import com.wisp.app.ui.util.AmountFormatter +import com.darkwisp.app.R +import com.darkwisp.app.repo.FiatPreferences +import com.darkwisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.ui.util.AmountFormatter import androidx.compose.runtime.collectAsState import androidx.compose.ui.window.Popup import androidx.compose.ui.window.PopupProperties import coil3.compose.AsyncImage -import com.wisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip30 import kotlin.math.sin @OptIn(ExperimentalFoundationApi::class) @@ -87,8 +87,8 @@ fun ActionBar( modifier: Modifier = Modifier ) { val context = androidx.compose.ui.platform.LocalContext.current - val useZapBoltIcon = com.wisp.app.ui.util.useBoltIcon() - val fiatMode = com.wisp.app.ui.util.isFiatMode() + val useZapBoltIcon = com.darkwisp.app.ui.util.useBoltIcon() + val fiatMode = com.darkwisp.app.ui.util.isFiatMode() var showEmojiPicker by remember { mutableStateOf(false) } var showRepostMenu by remember { mutableStateOf(false) } diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/AddToListDialog.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/AddToListDialog.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/AddToListDialog.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/AddToListDialog.kt index dea2506..7abe971 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/AddToListDialog.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/AddToListDialog.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column @@ -22,7 +22,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.BookmarkSet +import com.darkwisp.app.nostr.BookmarkSet @Composable fun AddNoteToListDialog( diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/AudioMediaSession.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/AudioMediaSession.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/component/AudioMediaSession.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/AudioMediaSession.kt index 9559a66..fa21be3 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/AudioMediaSession.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/AudioMediaSession.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Context import android.content.Intent diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/AudioPlayerController.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/AudioPlayerController.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/AudioPlayerController.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/AudioPlayerController.kt index 2fd350d..31fb6dc 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/AudioPlayerController.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/AudioPlayerController.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Context import android.net.Uri diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/AuthApprovalDialog.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/AuthApprovalDialog.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/component/AuthApprovalDialog.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/AuthApprovalDialog.kt index 03ed88a..d769379 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/AuthApprovalDialog.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/AuthApprovalDialog.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.material3.AlertDialog import androidx.compose.material3.MaterialTheme diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/BottomBar.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/BottomBar.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/BottomBar.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/BottomBar.kt index f3efc59..8f5daff 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/BottomBar.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/BottomBar.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -34,8 +34,8 @@ import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.layout.layout import androidx.compose.ui.unit.dp import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.Routes +import com.darkwisp.app.R +import com.darkwisp.app.Routes enum class BottomTab( val route: String, @@ -89,7 +89,7 @@ fun WispBottomBar( indicatorColor = MaterialTheme.colorScheme.surfaceVariant ), icon = { - val useBolt = com.wisp.app.ui.util.useBoltIcon() + val useBolt = com.darkwisp.app.ui.util.useBoltIcon() Box( modifier = Modifier.requiredSize(24.dp), contentAlignment = Alignment.Center diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/CrashReportDialog.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/CrashReportDialog.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/CrashReportDialog.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/CrashReportDialog.kt index 8f0a849..bd39313 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/CrashReportDialog.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/CrashReportDialog.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.heightIn diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/DmBubble.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/DmBubble.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/DmBubble.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/DmBubble.kt index ba298af..7034809 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/DmBubble.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/DmBubble.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.Spring @@ -83,17 +83,17 @@ import android.graphics.BitmapFactory import android.util.LruCache import androidx.compose.foundation.Image import androidx.compose.ui.graphics.asImageBitmap -import com.wisp.app.R -import com.wisp.app.nostr.DmMessage -import com.wisp.app.ui.screen.GroupChatHorizontalChipStrip -import com.wisp.app.nostr.DmReaction -import com.wisp.app.nostr.EncryptedMedia -import com.wisp.app.ui.component.FullScreenEncryptedImageViewer -import com.wisp.app.repo.EventRepository +import com.darkwisp.app.R +import com.darkwisp.app.nostr.DmMessage +import com.darkwisp.app.ui.screen.GroupChatHorizontalChipStrip +import com.darkwisp.app.nostr.DmReaction +import com.darkwisp.app.nostr.EncryptedMedia +import com.darkwisp.app.ui.component.FullScreenEncryptedImageViewer +import com.darkwisp.app.repo.EventRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import okhttp3.Request -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.ui.theme.WispThemeColors import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -313,7 +313,7 @@ fun DmBubble( ) { val clipboardManager = LocalClipboardManager.current val context = LocalContext.current - val useZapBoltIcon = com.wisp.app.ui.util.useBoltIcon() + val useZapBoltIcon = com.darkwisp.app.ui.util.useBoltIcon() val sheetScroll = rememberScrollState() val reactScroll = rememberScrollState() val stripBg = MaterialTheme.colorScheme.surfaceContainerLowest.copy(alpha = 0.5f) @@ -767,7 +767,7 @@ private fun formatTime(epoch: Long): String { private val decryptedBitmapCache = LruCache(32) private val mediaHttpClient by lazy { - com.wisp.app.relay.HttpClientFactory.createHttpClient( + com.darkwisp.app.relay.HttpClientFactory.createHttpClient( connectTimeoutSeconds = 15, readTimeoutSeconds = 60, writeTimeoutSeconds = 15 diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiData.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiData.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/EmojiData.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiData.kt index 649c276..0a28d10 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiData.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiData.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component data class EmojiCategory(val name: String, val icon: String, val emojis: List) diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiLibrarySheet.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiLibrarySheet.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/EmojiLibrarySheet.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiLibrarySheet.kt index 972d786..fdf10f9 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiLibrarySheet.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiLibrarySheet.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -49,7 +49,7 @@ import androidx.compose.ui.unit.sp import coil3.compose.AsyncImage import kotlinx.coroutines.launch import androidx.compose.ui.res.stringResource -import com.wisp.app.R +import com.darkwisp.app.R @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiPicker.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiPicker.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/EmojiPicker.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiPicker.kt index e590ac4..966a36c 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiPicker.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiPicker.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiShortcodePopup.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiShortcodePopup.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/EmojiShortcodePopup.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiShortcodePopup.kt index c777b5d..1fcc2b0 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/EmojiShortcodePopup.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/EmojiShortcodePopup.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/FloatingAudioPlayer.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/FloatingAudioPlayer.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/FloatingAudioPlayer.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/FloatingAudioPlayer.kt index a84ce9b..8b15a2f 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/FloatingAudioPlayer.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/FloatingAudioPlayer.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.tween diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/FollowButton.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/FollowButton.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/ui/component/FollowButton.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/FollowButton.kt index 5ce897d..2cebb2b 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/FollowButton.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/FollowButton.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/FullScreenEncryptedImageViewer.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenEncryptedImageViewer.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/FullScreenEncryptedImageViewer.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenEncryptedImageViewer.kt index c59722c..b2b2096 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/FullScreenEncryptedImageViewer.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenEncryptedImageViewer.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.graphics.Bitmap import androidx.compose.foundation.Image @@ -38,8 +38,8 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties -import com.wisp.app.R -import com.wisp.app.util.MediaDownloader +import com.darkwisp.app.R +import com.darkwisp.app.util.MediaDownloader import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/FullScreenImageViewer.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenImageViewer.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/FullScreenImageViewer.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenImageViewer.kt index 6f3349b..a9eceb3 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/FullScreenImageViewer.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenImageViewer.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -39,8 +39,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.util.MediaDownloader +import com.darkwisp.app.R +import com.darkwisp.app.util.MediaDownloader import kotlinx.coroutines.launch @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/FullScreenVideoPlayer.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenVideoPlayer.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/FullScreenVideoPlayer.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenVideoPlayer.kt index 2946ef6..535c8e2 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/FullScreenVideoPlayer.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/FullScreenVideoPlayer.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.app.Activity import android.app.Dialog @@ -25,9 +25,9 @@ import androidx.media3.common.MediaItem import androidx.media3.common.util.UnstableApi import androidx.media3.exoplayer.ExoPlayer import androidx.media3.ui.PlayerView -import com.wisp.app.R -import com.wisp.app.relay.HttpClientFactory -import com.wisp.app.util.MediaDownloader +import com.darkwisp.app.R +import com.darkwisp.app.relay.HttpClientFactory +import com.darkwisp.app.util.MediaDownloader import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/GalleryCard.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/GalleryCard.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/GalleryCard.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/GalleryCard.kt index e451a85..31293af 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/GalleryCard.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/GalleryCard.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Intent import androidx.compose.animation.AnimatedVisibility @@ -81,20 +81,20 @@ import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.painter.BitmapPainter import coil3.compose.AsyncImage import androidx.compose.material3.CircularProgressIndicator -import com.wisp.app.R -import com.wisp.app.nostr.Nip13 -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip68 -import com.wisp.app.nostr.Nip71 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.Nip05Status -import com.wisp.app.repo.ZapDetail -import com.wisp.app.util.MediaDownloader +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Nip13 +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip68 +import com.darkwisp.app.nostr.Nip71 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.Nip05Status +import com.darkwisp.app.repo.ZapDetail +import com.darkwisp.app.util.MediaDownloader import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.Date diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/GroupCard.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/GroupCard.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/GroupCard.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/GroupCard.kt index 127b140..ca4a47a 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/GroupCard.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/GroupCard.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.clickable @@ -25,9 +25,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.Nip29 -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.GroupPreview +import com.darkwisp.app.nostr.Nip29 +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.GroupPreview @Composable fun GroupCard( diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/HapticHelper.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/HapticHelper.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/component/HapticHelper.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/HapticHelper.kt index 485c339..843c373 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/HapticHelper.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/HapticHelper.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Context import android.os.Build diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/IcqFlowerOverlay.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/IcqFlowerOverlay.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/IcqFlowerOverlay.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/IcqFlowerOverlay.kt index 6ec86dd..3a9aed4 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/IcqFlowerOverlay.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/IcqFlowerOverlay.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Context import android.media.AudioAttributes @@ -22,7 +22,7 @@ import androidx.compose.ui.graphics.Path import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Fill import androidx.compose.ui.platform.LocalContext -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.ui.theme.WispThemeColors import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.launch import kotlin.math.cos diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/LightningOverlay.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/LightningOverlay.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/LightningOverlay.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/LightningOverlay.kt index 4ce6d6a..eb7e323 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/LightningOverlay.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/LightningOverlay.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Context import android.media.AudioAttributes @@ -25,7 +25,7 @@ import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Fill import androidx.compose.ui.graphics.drawscope.translate import androidx.compose.ui.platform.LocalContext -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.ui.theme.WispThemeColors import kotlin.math.cos import kotlin.math.sin import kotlin.random.Random diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/LightningQrDialog.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/LightningQrDialog.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/LightningQrDialog.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/LightningQrDialog.kt index fffb733..9e976c1 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/LightningQrDialog.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/LightningQrDialog.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -36,15 +36,15 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties -import com.wisp.app.R -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.R +import com.darkwisp.app.ui.theme.WispThemeColors @Composable fun LightningQrDialog(lud16: String, onDismiss: () -> Unit) { val qrBitmap = remember(lud16) { generateQrBitmap(lud16) } val clipboardManager = LocalClipboardManager.current val context = LocalContext.current - val useZapBolt = com.wisp.app.ui.util.useBoltIcon() + val useZapBolt = com.darkwisp.app.ui.util.useBoltIcon() Dialog( onDismissRequest = onDismiss, diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/LiveNowRow.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/LiveNowRow.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/LiveNowRow.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/LiveNowRow.kt index 853e248..560ef4f 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/LiveNowRow.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/LiveNowRow.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -24,8 +24,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.LiveStream +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.LiveStream @Composable fun LiveNowRow( diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/MentionVisualTransformation.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/MentionVisualTransformation.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/MentionVisualTransformation.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/MentionVisualTransformation.kt index 4821df3..087cfab 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/MentionVisualTransformation.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/MentionVisualTransformation.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.text.input.OutputTransformation import androidx.compose.foundation.text.input.TextFieldBuffer diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/PipController.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/PipController.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/PipController.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/PipController.kt index e40334a..99888c9 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/PipController.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/PipController.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/PostCard.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/PostCard.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/PostCard.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/PostCard.kt index d0932f3..5ec5ee0 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/PostCard.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/PostCard.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.expandVertically @@ -67,27 +67,27 @@ import androidx.compose.material.icons.filled.Refresh import androidx.compose.material.icons.outlined.Warning import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.material3.Surface -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip13 -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.R +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip13 +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.R import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.outlined.CurrencyBitcoin -import com.wisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip30 import androidx.compose.foundation.layout.Arrangement import androidx.compose.material3.CircularProgressIndicator -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.ZapDetail -import com.wisp.app.repo.Nip05Status -import com.wisp.app.repo.TranslationState -import com.wisp.app.repo.TranslationStatus -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.ZapDetail +import com.darkwisp.app.repo.Nip05Status +import com.darkwisp.app.repo.TranslationState +import com.darkwisp.app.repo.TranslationStatus +import com.darkwisp.app.ui.theme.WispThemeColors import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -1172,8 +1172,8 @@ internal fun TopZapperBanner( Spacer(Modifier.width(5.dp)) // Zap icon - val useZapBolt = com.wisp.app.ui.util.useBoltIcon() - val fiatMode = com.wisp.app.ui.util.isFiatMode() + val useZapBolt = com.darkwisp.app.ui.util.useBoltIcon() + val fiatMode = com.darkwisp.app.ui.util.isFiatMode() if (fiatMode) { Icon( painter = painterResource(R.drawable.ic_coin_stack), @@ -1199,7 +1199,7 @@ internal fun TopZapperBanner( // Amount Text( - text = com.wisp.app.ui.util.AmountFormatter.formatShort( + text = com.darkwisp.app.ui.util.AmountFormatter.formatShort( sats, androidx.compose.ui.platform.LocalContext.current ), diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/ProfilePicture.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/ProfilePicture.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/ProfilePicture.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/ProfilePicture.kt index 96d2c35..142e017 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/ProfilePicture.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/ProfilePicture.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.core.RepeatMode import androidx.compose.animation.core.animateFloat @@ -35,8 +35,8 @@ import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.R +import com.darkwisp.app.ui.theme.WispThemeColors @OptIn(ExperimentalFoundationApi::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/ProfileQrSheet.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/ProfileQrSheet.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/ProfileQrSheet.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/ProfileQrSheet.kt index 9d12c4b..7e67746 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/ProfileQrSheet.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/ProfileQrSheet.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -48,11 +48,11 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.toRoute -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.toRoute +import com.darkwisp.app.ui.theme.WispThemeColors import kotlinx.coroutines.launch /** @@ -72,7 +72,7 @@ fun ProfileQrSheet( val scope = rememberCoroutineScope() val clipboardManager = LocalClipboardManager.current val context = LocalContext.current - val useZapBolt = com.wisp.app.ui.util.useBoltIcon() + val useZapBolt = com.darkwisp.app.ui.util.useBoltIcon() val npub = remember(pubkeyHex) { Nip19.npubEncode(pubkeyHex.hexToByteArray()) } val npubQr = remember(npub) { generateQrBitmap(npub) } diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/QrCodeDialog.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/QrCodeDialog.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/QrCodeDialog.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/QrCodeDialog.kt index b23c2c9..b8fae82 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/QrCodeDialog.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/QrCodeDialog.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.graphics.Bitmap import android.graphics.Color @@ -43,9 +43,9 @@ import com.google.zxing.BarcodeFormat import com.google.zxing.EncodeHintType import com.google.zxing.qrcode.QRCodeWriter import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.R +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.R @Composable fun QrCodeDialog(pubkeyHex: String, avatarUrl: String? = null, onDismiss: () -> Unit) { diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/QrScanner.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/QrScanner.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/QrScanner.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/QrScanner.kt index 3e8c737..8794ec1 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/QrScanner.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/QrScanner.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.Manifest import android.content.pm.PackageManager diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/ReactionDetailsSection.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/ReactionDetailsSection.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/ReactionDetailsSection.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/ReactionDetailsSection.kt index 6153225..642295f 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/ReactionDetailsSection.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/ReactionDetailsSection.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.clickable import androidx.compose.foundation.combinedClickable @@ -44,13 +44,13 @@ import androidx.compose.ui.unit.sp import androidx.compose.ui.zIndex import coil3.compose.AsyncImage import androidx.compose.ui.platform.LocalContext -import com.wisp.app.R -import com.wisp.app.ui.util.AmountFormatter -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.ZapDetail -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.R +import com.darkwisp.app.ui.util.AmountFormatter +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.ZapDetail +import com.darkwisp.app.ui.theme.WispThemeColors @OptIn(ExperimentalLayoutApi::class) @Composable @@ -166,7 +166,7 @@ fun ZapRow( Spacer(Modifier.width(8.dp)) if (isPrivate) { Icon( - painter = androidx.compose.ui.res.painterResource(com.wisp.app.R.drawable.ic_private_zap), + painter = androidx.compose.ui.res.painterResource(com.darkwisp.app.R.drawable.ic_private_zap), contentDescription = "Private zap", modifier = Modifier.size(16.dp), tint = Color(0xFFFF8C00) @@ -175,7 +175,7 @@ fun ZapRow( } Icon( painter = androidx.compose.ui.res.painterResource( - if (com.wisp.app.ui.util.isFiatMode()) R.drawable.ic_coin_stack else R.drawable.ic_bolt + if (com.darkwisp.app.ui.util.isFiatMode()) R.drawable.ic_coin_stack else R.drawable.ic_bolt ), contentDescription = null, tint = Color(0xFFFF8C00), diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/RelayIcon.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/RelayIcon.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/RelayIcon.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/RelayIcon.kt index 4cab058..bb67024 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/RelayIcon.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/RelayIcon.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.background import androidx.compose.foundation.border diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/RichContent.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/RichContent.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/RichContent.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/RichContent.kt index 35b7dda..acfadea 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/RichContent.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/RichContent.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.net.Uri import android.util.LruCache @@ -44,7 +44,7 @@ import androidx.compose.material.icons.filled.PlayArrow import androidx.compose.material3.Text import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.painter.BitmapPainter -import com.wisp.app.util.MediaHashDecoder +import com.darkwisp.app.util.MediaHashDecoder import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.LaunchedEffect @@ -92,7 +92,7 @@ import androidx.media3.common.Player import androidx.media3.common.VideoSize import androidx.media3.common.util.UnstableApi import androidx.media3.exoplayer.ExoPlayer -import com.wisp.app.relay.HttpClientFactory +import com.darkwisp.app.relay.HttpClientFactory import androidx.media3.ui.AspectRatioFrameLayout import androidx.media3.ui.PlayerView import kotlinx.coroutines.delay @@ -104,18 +104,18 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.TextButton -import com.wisp.app.R -import com.wisp.app.nostr.Bolt11 -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.toHex -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrUriData -import com.wisp.app.nostr.Nip29 -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.GroupPreview -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.util.MediaDownloader +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Bolt11 +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrUriData +import com.darkwisp.app.nostr.Nip29 +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.GroupPreview +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.util.MediaDownloader import androidx.compose.runtime.compositionLocalOf import androidx.compose.material.icons.filled.Image import androidx.compose.material.icons.filled.PlayArrow @@ -470,13 +470,13 @@ private fun LightningInvoiceCard( if (showConfirm) { AlertDialog( onDismissRequest = { showConfirm = false }, - title = { Text(stringResource(com.wisp.app.R.string.lightning_invoice_dialog_title)) }, + title = { Text(stringResource(com.darkwisp.app.R.string.lightning_invoice_dialog_title)) }, text = { Column { if (decoded.amountSats != null) { - Text(com.wisp.app.ui.util.AmountFormatter.formatFull(decoded.amountSats, ctx)) + Text(com.darkwisp.app.ui.util.AmountFormatter.formatFull(decoded.amountSats, ctx)) } else { - Text(stringResource(com.wisp.app.R.string.lightning_invoice_any_amount)) + Text(stringResource(com.darkwisp.app.R.string.lightning_invoice_any_amount)) } if (!decoded.description.isNullOrBlank()) { Spacer(Modifier.height(4.dp)) @@ -506,11 +506,11 @@ private fun LightningInvoiceCard( containerColor = primary, contentColor = onPrimary ) - ) { Text(stringResource(com.wisp.app.R.string.lightning_invoice_btn_pay)) } + ) { Text(stringResource(com.darkwisp.app.R.string.lightning_invoice_btn_pay)) } }, dismissButton = { TextButton(onClick = { showConfirm = false }) { - Text(stringResource(com.wisp.app.R.string.btn_cancel)) + Text(stringResource(com.darkwisp.app.R.string.btn_cancel)) } } ) @@ -530,7 +530,7 @@ private fun LightningInvoiceCard( ) { Icon( painter = painterResource( - if (com.wisp.app.ui.util.isFiatMode()) com.wisp.app.R.drawable.ic_coin_stack else com.wisp.app.R.drawable.ic_bolt + if (com.darkwisp.app.ui.util.isFiatMode()) com.darkwisp.app.R.drawable.ic_coin_stack else com.darkwisp.app.R.drawable.ic_bolt ), contentDescription = null, tint = primary, @@ -540,8 +540,8 @@ private fun LightningInvoiceCard( Column(Modifier.weight(1f)) { Text( text = if (decoded.amountSats != null) - com.wisp.app.ui.util.AmountFormatter.formatFull(decoded.amountSats, ctx) - else stringResource(com.wisp.app.R.string.lightning_invoice_any_amount), + com.darkwisp.app.ui.util.AmountFormatter.formatFull(decoded.amountSats, ctx) + else stringResource(com.darkwisp.app.R.string.lightning_invoice_any_amount), style = MaterialTheme.typography.titleSmall, color = primary ) @@ -555,7 +555,7 @@ private fun LightningInvoiceCard( } if (isExpired) { Text( - text = stringResource(com.wisp.app.R.string.lightning_invoice_expired), + text = stringResource(com.darkwisp.app.R.string.lightning_invoice_expired), style = MaterialTheme.typography.labelSmall, color = MaterialTheme.colorScheme.error ) @@ -570,12 +570,12 @@ private fun LightningInvoiceCard( strokeWidth = 2.dp ) InvoicePayState.Success -> Text( - text = "✓ ${stringResource(com.wisp.app.R.string.lightning_invoice_paid)}", + text = "✓ ${stringResource(com.darkwisp.app.R.string.lightning_invoice_paid)}", style = MaterialTheme.typography.labelMedium, color = primary ) InvoicePayState.Failed -> Text( - text = "✗ ${stringResource(com.wisp.app.R.string.lightning_payment_failed)}", + text = "✗ ${stringResource(com.darkwisp.app.R.string.lightning_payment_failed)}", style = MaterialTheme.typography.labelMedium, color = MaterialTheme.colorScheme.error ) @@ -588,8 +588,8 @@ private fun LightningInvoiceCard( ) ) { Text( - if (isExpired) stringResource(com.wisp.app.R.string.lightning_invoice_expired) - else stringResource(com.wisp.app.R.string.lightning_invoice_pay_now) + if (isExpired) stringResource(com.darkwisp.app.R.string.lightning_invoice_expired) + else stringResource(com.darkwisp.app.R.string.lightning_invoice_pay_now) ) } } @@ -986,10 +986,10 @@ fun QuotedNote( // Fetch poll votes when quoted event is a poll LaunchedEffect(event?.id, event?.kind) { - if (event != null && event.kind == com.wisp.app.nostr.Nip88.KIND_POLL) { + if (event != null && event.kind == com.darkwisp.app.nostr.Nip88.KIND_POLL) { eventRepo.requestPollVotes(event.id) } - if (event != null && event.kind == com.wisp.app.nostr.Nip69.KIND_ZAP_POLL) { + if (event != null && event.kind == com.darkwisp.app.nostr.Nip69.KIND_ZAP_POLL) { eventRepo.requestZapPollVotes(event.id) } } @@ -1018,24 +1018,24 @@ fun QuotedNote( // Poll data for quoted polls val pollVoteCounts = remember(pollVoteVersion, eventId) { - if (event.kind == com.wisp.app.nostr.Nip88.KIND_POLL) eventRepo.getPollVoteCounts(eventId) else emptyMap() + if (event.kind == com.darkwisp.app.nostr.Nip88.KIND_POLL) eventRepo.getPollVoteCounts(eventId) else emptyMap() } val pollTotalVotes = remember(pollVoteVersion, eventId) { - if (event.kind == com.wisp.app.nostr.Nip88.KIND_POLL) eventRepo.getPollTotalVotes(eventId) else 0 + if (event.kind == com.darkwisp.app.nostr.Nip88.KIND_POLL) eventRepo.getPollTotalVotes(eventId) else 0 } val userPollVotes = remember(pollVoteVersion, eventId) { - if (event.kind == com.wisp.app.nostr.Nip88.KIND_POLL) eventRepo.getUserPollVotes(eventId) else emptyList() + if (event.kind == com.darkwisp.app.nostr.Nip88.KIND_POLL) eventRepo.getUserPollVotes(eventId) else emptyList() } // Zap poll data for quoted zap polls val zapPollSatsCounts = remember(pollVoteVersion, eventId) { - if (event.kind == com.wisp.app.nostr.Nip69.KIND_ZAP_POLL) eventRepo.getZapPollSatsCounts(eventId) else emptyMap() + if (event.kind == com.darkwisp.app.nostr.Nip69.KIND_ZAP_POLL) eventRepo.getZapPollSatsCounts(eventId) else emptyMap() } val zapPollTotalSats = remember(pollVoteVersion, eventId) { - if (event.kind == com.wisp.app.nostr.Nip69.KIND_ZAP_POLL) eventRepo.getZapPollTotalSats(eventId) else 0L + if (event.kind == com.darkwisp.app.nostr.Nip69.KIND_ZAP_POLL) eventRepo.getZapPollTotalSats(eventId) else 0L } val userZapPollVote = remember(pollVoteVersion, eventId) { - if (event.kind == com.wisp.app.nostr.Nip69.KIND_ZAP_POLL) eventRepo.getUserZapPollVote(eventId) else null + if (event.kind == com.darkwisp.app.nostr.Nip69.KIND_ZAP_POLL) eventRepo.getUserZapPollVote(eventId) else null } Surface( @@ -1502,7 +1502,7 @@ private fun LiveStreamCardContent( title: String?, summary: String?, status: String?, - profile: com.wisp.app.nostr.ProfileData?, + profile: com.darkwisp.app.nostr.ProfileData?, author: String, onProfileClick: ((String) -> Unit)? ) { @@ -2690,7 +2690,7 @@ private data class OgData( private val ogCache = LruCache(200) private val httpClient - get() = com.wisp.app.relay.HttpClientFactory.getShortTimeoutClient() + get() = com.darkwisp.app.relay.HttpClientFactory.getShortTimeoutClient() private val ogTagRegex = Regex( """]+property\s*=\s*["']og:(\w+)["'][^>]+content\s*=\s*["']([^"']*)["'][^>]*/?>|]+content\s*=\s*["']([^"']*)["'][^>]+property\s*=\s*["']og:(\w+)["'][^>]*/?>""", diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/SatsNumpad.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/SatsNumpad.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/SatsNumpad.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/SatsNumpad.kt index f35aed3..a1cb7b7 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/SatsNumpad.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/SatsNumpad.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -22,7 +22,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.wisp.app.R +import com.darkwisp.app.R /** * Numeric pad for entering amounts. diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/StackedAvatars.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/StackedAvatars.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/StackedAvatars.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/StackedAvatars.kt index 1b4c1da..d6c98e8 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/StackedAvatars.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/StackedAvatars.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.expandVertically @@ -38,7 +38,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.zIndex -import com.wisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.ProfileData @Composable fun StackedAvatars( diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/VideoMediaSession.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/VideoMediaSession.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/component/VideoMediaSession.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/VideoMediaSession.kt index e19b303..176f0dd 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/VideoMediaSession.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/VideoMediaSession.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Context import android.content.Intent diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/WispDrawerContent.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/WispDrawerContent.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/WispDrawerContent.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/WispDrawerContent.kt index eb21d6a..df1df3e 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/WispDrawerContent.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/WispDrawerContent.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.background @@ -23,7 +23,7 @@ import androidx.compose.material.icons.outlined.Block import androidx.compose.material.icons.outlined.EmojiEmotions import androidx.compose.material.icons.outlined.Cloud import androidx.compose.ui.res.painterResource -import com.wisp.app.R +import com.darkwisp.app.R import androidx.compose.material.icons.outlined.CurrencyBitcoin import androidx.compose.material.icons.outlined.Edit import androidx.compose.material.icons.outlined.Email @@ -71,8 +71,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.ProfileData -import com.wisp.app.repo.AccountInfo +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.repo.AccountInfo @Composable @@ -395,8 +395,8 @@ fun WispDrawerContent( onClick = onMessages, modifier = Modifier.height(48.dp).padding(horizontal = 12.dp) ) - val useZapBolt = com.wisp.app.ui.util.useBoltIcon() - val fiatMode = com.wisp.app.ui.util.isFiatMode() + val useZapBolt = com.darkwisp.app.ui.util.useBoltIcon() + val fiatMode = com.darkwisp.app.ui.util.isFiatMode() NavigationDrawerItem( icon = { if (fiatMode) { diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/WispLogo.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/WispLogo.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/component/WispLogo.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/WispLogo.kt index ba01508..9c3c5e0 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/WispLogo.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/WispLogo.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.foundation.Canvas import androidx.compose.foundation.layout.Column @@ -48,7 +48,7 @@ fun WispLogo( if (showText) { Spacer(Modifier.height(12.dp)) Text( - text = "wisp", + text = "dark wisp", style = MaterialTheme.typography.titleLarge.copy( fontSize = 36.sp, fontWeight = FontWeight.Bold, diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/WispPlaybackService.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/WispPlaybackService.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/component/WispPlaybackService.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/WispPlaybackService.kt index 190064e..e13d291 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/WispPlaybackService.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/WispPlaybackService.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import android.content.Intent import androidx.media3.session.MediaSession diff --git a/app/src/main/kotlin/com/wisp/app/ui/component/ZapDialog.kt b/app/src/main/kotlin/com/darkwisp/app/ui/component/ZapDialog.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/component/ZapDialog.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/component/ZapDialog.kt index 32a5c96..693a86c 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/component/ZapDialog.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/component/ZapDialog.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.component +package com.darkwisp.app.ui.component import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.LinearEasing @@ -80,12 +80,12 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties -import com.wisp.app.R -import com.wisp.app.repo.FiatPreferences -import com.wisp.app.repo.ZapPreferences -import com.wisp.app.repo.ZapPreset -import com.wisp.app.ui.theme.WispThemeColors -import com.wisp.app.ui.util.AmountFormatter +import com.darkwisp.app.R +import com.darkwisp.app.repo.FiatPreferences +import com.darkwisp.app.repo.ZapPreferences +import com.darkwisp.app.repo.ZapPreset +import com.darkwisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.ui.util.AmountFormatter import androidx.compose.runtime.collectAsState import kotlin.math.sin import kotlin.random.Random diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ArticleScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ArticleScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ArticleScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ArticleScreen.kt index c2ca953..34e88fd 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ArticleScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ArticleScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.background @@ -54,15 +54,15 @@ import androidx.compose.ui.text.Placeholder import androidx.compose.ui.text.PlaceholderVerticalAlign import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import com.wisp.app.repo.EventRepository -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.ui.component.ActionBar -import com.wisp.app.ui.component.NoteActions -import com.wisp.app.ui.component.PostCard -import com.wisp.app.ui.component.RichContent -import com.wisp.app.viewmodel.ArticleViewModel +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.ui.component.ActionBar +import com.darkwisp.app.ui.component.NoteActions +import com.darkwisp.app.ui.component.PostCard +import com.darkwisp.app.ui.component.RichContent +import com.darkwisp.app.viewmodel.ArticleViewModel import kotlin.math.min @OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/AuthScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/AuthScreen.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/screen/AuthScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/AuthScreen.kt index 53c7390..a6f1db0 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/AuthScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/AuthScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts @@ -60,10 +60,10 @@ import kotlin.math.pow import kotlin.math.sign import kotlin.math.sin import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.nostr.RemoteSignerBridge -import com.wisp.app.nostr.toHex -import com.wisp.app.viewmodel.AuthViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.RemoteSignerBridge +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.viewmodel.AuthViewModel @Composable fun AuthScreen( @@ -96,7 +96,7 @@ fun AuthScreen( val pkg = data.getStringExtra("package") // Amber returns npub bech32 — decode to hex val pubkeyHex = if (result.startsWith("npub1")) { - try { com.wisp.app.nostr.Nip19.npubDecode(result).toHex() } catch (_: Exception) { return@rememberLauncherForActivityResult } + try { com.darkwisp.app.nostr.Nip19.npubDecode(result).toHex() } catch (_: Exception) { return@rememberLauncherForActivityResult } } else { result } diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/BlossomServersScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/BlossomServersScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/BlossomServersScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/BlossomServersScreen.kt index 89267fc..3302867 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/BlossomServersScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/BlossomServersScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.gestures.detectVerticalDragGestures import androidx.compose.foundation.layout.Column @@ -43,9 +43,9 @@ import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import androidx.compose.ui.zIndex import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.relay.RelayPool -import com.wisp.app.viewmodel.BlossomServersViewModel +import com.darkwisp.app.R +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.viewmodel.BlossomServersViewModel import kotlin.math.roundToInt @OptIn(ExperimentalMaterial3Api::class) @@ -54,7 +54,7 @@ fun BlossomServersScreen( viewModel: BlossomServersViewModel, relayPool: RelayPool, onBack: () -> Unit, - signer: com.wisp.app.nostr.NostrSigner? = null + signer: com.darkwisp.app.nostr.NostrSigner? = null ) { val servers by viewModel.servers.collectAsState() val newServerUrl by viewModel.newServerUrl.collectAsState() diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/BookmarkSetScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/BookmarkSetScreen.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/ui/screen/BookmarkSetScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/BookmarkSetScreen.kt index 36cb125..876967a 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/BookmarkSetScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/BookmarkSetScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize @@ -27,11 +27,11 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import com.wisp.app.nostr.BookmarkSet -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.ui.component.PostCard +import com.darkwisp.app.nostr.BookmarkSet +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.ui.component.PostCard @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -130,7 +130,7 @@ fun BookmarkSetScreen( userPubkey?.let { eventRepo.getUserReactionEmojis(event.id, it) } ?: emptySet() } val translationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } PostCard( event = event, diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/BookmarksScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/BookmarksScreen.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/screen/BookmarksScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/BookmarksScreen.kt index 873da6b..4af43fc 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/BookmarksScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/BookmarksScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.Box @@ -23,11 +23,11 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.ui.component.PostCard +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.ui.component.PostCard @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -106,7 +106,7 @@ fun BookmarksScreen( userPubkey?.let { eventRepo.getUserReactionEmojis(event.id, it) } ?: emptySet() } val translationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } val bmPollVoteCounts = remember(pollVoteVersion, event.id) { if (event.kind == 1068) eventRepo.getPollVoteCounts(event.id) else emptyMap() diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/CommunityScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/CommunityScreen.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/ui/screen/CommunityScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/CommunityScreen.kt index d74360a..5e7db4d 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/CommunityScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/CommunityScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.RepeatMode @@ -40,12 +40,12 @@ import androidx.compose.ui.draw.alpha import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.ProfileData -import com.wisp.app.repo.ContactRepository -import com.wisp.app.ui.component.FollowButton -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.theme.WispThemeColors -import com.wisp.app.viewmodel.CommunityViewModel +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.ui.component.FollowButton +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.viewmodel.CommunityViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ComposeScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ComposeScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ComposeScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ComposeScreen.kt index f2b5c2d..8d9fb2c 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ComposeScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ComposeScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -114,26 +114,26 @@ import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.MentionCandidate -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.repo.PowPreferences -import com.wisp.app.R -import com.wisp.app.ui.component.EmojiShortcodePopup -import com.wisp.app.ui.component.EmojiVisualTransformation -import com.wisp.app.ui.component.MentionOutputTransformation -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RichContent -import com.wisp.app.ui.component.detectEmojiAutocomplete -import com.wisp.app.ui.component.insertEmojiShortcode -import com.wisp.app.ui.theme.WispThemeColors -import com.wisp.app.viewmodel.ComposeViewModel -import com.wisp.app.viewmodel.PowManager -import com.wisp.app.viewmodel.PowStatus +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.MentionCandidate +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.repo.PowPreferences +import com.darkwisp.app.R +import com.darkwisp.app.ui.component.EmojiShortcodePopup +import com.darkwisp.app.ui.component.EmojiVisualTransformation +import com.darkwisp.app.ui.component.MentionOutputTransformation +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RichContent +import com.darkwisp.app.ui.component.detectEmojiAutocomplete +import com.darkwisp.app.ui.component.insertEmojiShortcode +import com.darkwisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.viewmodel.ComposeViewModel +import com.darkwisp.app.viewmodel.PowManager +import com.darkwisp.app.viewmodel.PowStatus import java.text.SimpleDateFormat import java.util.Calendar import java.util.Date @@ -149,11 +149,11 @@ fun ComposeScreen( quoteTo: NostrEvent? = null, onBack: () -> Unit, onSaveDraft: () -> Unit = {}, - outboxRouter: com.wisp.app.relay.OutboxRouter? = null, + outboxRouter: com.darkwisp.app.relay.OutboxRouter? = null, eventRepo: EventRepository? = null, profileRepo: ProfileRepository? = null, userPubkey: String? = null, - signer: com.wisp.app.nostr.NostrSigner? = null, + signer: com.darkwisp.app.nostr.NostrSigner? = null, onNotePublished: (() -> Unit)? = null, powManager: PowManager? = null, powPrefs: PowPreferences? = null, @@ -202,7 +202,7 @@ fun ComposeScreen( if (profileRepo == null) return@MentionOutputTransformation null try { val data = Nip19.decodeNostrUri("nostr:$bech32") - if (data is com.wisp.app.nostr.NostrUriData.ProfileRef) { + if (data is com.darkwisp.app.nostr.NostrUriData.ProfileRef) { profileRepo.get(data.pubkey)?.displayString } else null } catch (_: Exception) { null } diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ConsoleScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ConsoleScreen.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ConsoleScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ConsoleScreen.kt index 3cde180..289b1fb 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ConsoleScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ConsoleScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -28,10 +28,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.dp import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.relay.ConsoleLogEntry -import com.wisp.app.relay.ConsoleLogType -import com.wisp.app.viewmodel.ConsoleViewModel +import com.darkwisp.app.R +import com.darkwisp.app.relay.ConsoleLogEntry +import com.darkwisp.app.relay.ConsoleLogType +import com.darkwisp.app.viewmodel.ConsoleViewModel import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ContactPickerScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ContactPickerScreen.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ContactPickerScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ContactPickerScreen.kt index e1b8b22..4aa51f8 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ContactPickerScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ContactPickerScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box @@ -38,11 +38,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.viewmodel.DmListViewModel +import com.darkwisp.app.R +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.viewmodel.DmListViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/CustomEmojiScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/CustomEmojiScreen.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/screen/CustomEmojiScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/CustomEmojiScreen.kt index 0eb4ee6..a99e19b 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/CustomEmojiScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/CustomEmojiScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import android.content.ContentResolver import android.net.Uri @@ -59,11 +59,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import coil3.compose.AsyncImage -import com.wisp.app.nostr.CustomEmoji -import com.wisp.app.nostr.EmojiSet -import com.wisp.app.repo.CustomEmojiRepository -import com.wisp.app.ui.component.EmojiLibrarySheet -import com.wisp.app.ui.component.pendingEmojiReactCallback +import com.darkwisp.app.nostr.CustomEmoji +import com.darkwisp.app.nostr.EmojiSet +import com.darkwisp.app.repo.CustomEmojiRepository +import com.darkwisp.app.ui.component.EmojiLibrarySheet +import com.darkwisp.app.ui.component.pendingEmojiReactCallback @OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/DmConversationScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/DmConversationScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/DmConversationScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/DmConversationScreen.kt index 56ad42c..36c42fc 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/DmConversationScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/DmConversationScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -71,7 +71,7 @@ import androidx.compose.runtime.mutableStateMapOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import com.wisp.app.nostr.DmMessage +import com.darkwisp.app.nostr.DmMessage import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -84,25 +84,25 @@ import java.text.SimpleDateFormat import java.util.Calendar import java.util.Date import java.util.Locale -import com.wisp.app.nostr.ProfileData -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.RelayInfoRepository +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.RelayInfoRepository import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue -import com.wisp.app.ui.component.DmBubble -import com.wisp.app.ui.component.EmojiShortcodePopup -import com.wisp.app.ui.component.EmojiVisualTransformation -import com.wisp.app.ui.component.detectEmojiAutocomplete -import com.wisp.app.ui.component.insertEmojiShortcode -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.ZapDialog -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.R -import com.wisp.app.viewmodel.DeliveryRelaySource -import com.wisp.app.viewmodel.DmConversationViewModel -import com.wisp.app.viewmodel.PowStatus -import com.wisp.app.viewmodel.SocialActionManager +import com.darkwisp.app.ui.component.DmBubble +import com.darkwisp.app.ui.component.EmojiShortcodePopup +import com.darkwisp.app.ui.component.EmojiVisualTransformation +import com.darkwisp.app.ui.component.detectEmojiAutocomplete +import com.darkwisp.app.ui.component.insertEmojiShortcode +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.ZapDialog +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.R +import com.darkwisp.app.viewmodel.DeliveryRelaySource +import com.darkwisp.app.viewmodel.DmConversationViewModel +import com.darkwisp.app.viewmodel.PowStatus +import com.darkwisp.app.viewmodel.SocialActionManager @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -123,7 +123,7 @@ fun DmConversationScreen( socialActionManager: SocialActionManager? = null, isWalletConnected: Boolean = false, onGoToWallet: () -> Unit = {}, - noteActions: com.wisp.app.ui.component.NoteActions? = null, + noteActions: com.darkwisp.app.ui.component.NoteActions? = null, resolvedEmojis: Map = emptyMap(), unicodeEmojis: List = emptyList(), onOpenEmojiLibrary: (() -> Unit)? = null, diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/DmListScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/DmListScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/DmListScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/DmListScreen.kt index 9203fe4..80b07a9 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/DmListScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/DmListScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -59,16 +59,16 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.DmConversation -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.GroupRoom -import com.wisp.app.ui.component.GroupCard -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.viewmodel.DmListViewModel -import com.wisp.app.ui.theme.wispSwitchColors -import com.wisp.app.viewmodel.GroupListViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.DmConversation +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.GroupRoom +import com.darkwisp.app.ui.component.GroupCard +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.viewmodel.DmListViewModel +import com.darkwisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.viewmodel.GroupListViewModel import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -483,7 +483,7 @@ private fun JoinGroupDialog( confirmButton = { TextButton( onClick = { - val parsed = com.wisp.app.nostr.Nip29.parseInviteLink(inviteLink.trim()) + val parsed = com.darkwisp.app.nostr.Nip29.parseInviteLink(inviteLink.trim()) if (parsed != null) { onJoin(parsed.first, parsed.second, parsed.third) } else { @@ -515,7 +515,7 @@ private fun CreateGroupDialog( ) -> Unit ) { var groupName by remember { mutableStateOf("") } - var relayUrl by remember { mutableStateOf(com.wisp.app.nostr.Nip29.DEFAULT_GROUP_RELAYS.first()) } + var relayUrl by remember { mutableStateOf(com.darkwisp.app.nostr.Nip29.DEFAULT_GROUP_RELAYS.first()) } var isPrivate by remember { mutableStateOf(false) } var isClosed by remember { mutableStateOf(false) } var isRestricted by remember { mutableStateOf(false) } diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/DraftsScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/DraftsScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/DraftsScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/DraftsScreen.kt index c22a92a..bc29767 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/DraftsScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/DraftsScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -45,15 +45,15 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip37 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RichContent -import com.wisp.app.ui.component.parseImetaTags -import com.wisp.app.R -import com.wisp.app.viewmodel.DraftsViewModel +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip37 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RichContent +import com.darkwisp.app.ui.component.parseImetaTags +import com.darkwisp.app.R +import com.darkwisp.app.viewmodel.DraftsViewModel import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ExistingUserOnboardingScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ExistingUserOnboardingScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ExistingUserOnboardingScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ExistingUserOnboardingScreen.kt index ea9d123..b4c4c7f 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ExistingUserOnboardingScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ExistingUserOnboardingScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.activity.compose.BackHandler import androidx.compose.animation.AnimatedContent @@ -44,9 +44,9 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.viewmodel.FeedViewModel +import com.darkwisp.app.R +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.viewmodel.FeedViewModel import kotlinx.coroutines.delay private enum class OnboardingStep { diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/FeedScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/FeedScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/FeedScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/FeedScreen.kt index d17f654..c40006d 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/FeedScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/FeedScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn @@ -76,23 +76,23 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.FollowSet -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.R -import com.wisp.app.ui.component.NoteActions -import com.wisp.app.ui.component.EmojiLibrarySheet -import com.wisp.app.ui.component.pendingEmojiReactCallback -import com.wisp.app.ui.component.GalleryCard -import com.wisp.app.ui.component.isGalleryEvent -import com.wisp.app.ui.component.PostCard -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RelayIcon -import com.wisp.app.ui.component.WispDrawerContent -import com.wisp.app.ui.component.ZapDialog -import com.wisp.app.repo.RelayInfoRepository -import com.wisp.app.relay.ScoredRelay +import com.darkwisp.app.nostr.FollowSet +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.R +import com.darkwisp.app.ui.component.NoteActions +import com.darkwisp.app.ui.component.EmojiLibrarySheet +import com.darkwisp.app.ui.component.pendingEmojiReactCallback +import com.darkwisp.app.ui.component.GalleryCard +import com.darkwisp.app.ui.component.isGalleryEvent +import com.darkwisp.app.ui.component.PostCard +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RelayIcon +import com.darkwisp.app.ui.component.WispDrawerContent +import com.darkwisp.app.ui.component.ZapDialog +import com.darkwisp.app.repo.RelayInfoRepository +import com.darkwisp.app.relay.ScoredRelay import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.Arrangement import androidx.compose.material3.FilterChip @@ -100,24 +100,24 @@ import androidx.compose.material3.FilterChipDefaults import androidx.compose.material3.HorizontalDivider import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign -import com.wisp.app.nostr.RelaySet -import com.wisp.app.relay.BroadcastState -import com.wisp.app.viewmodel.FeedContentFilter -import com.wisp.app.viewmodel.FeedType -import com.wisp.app.viewmodel.FeedViewModel -import com.wisp.app.viewmodel.InitLoadingState -import com.wisp.app.viewmodel.PowStatus -import com.wisp.app.viewmodel.RelayFeedStatus -import com.wisp.app.viewmodel.TrendingMetric -import com.wisp.app.viewmodel.TrendingMode -import com.wisp.app.viewmodel.TrendingTimeframe -import com.wisp.app.viewmodel.buildTrendingRelayUrl +import com.darkwisp.app.nostr.RelaySet +import com.darkwisp.app.relay.BroadcastState +import com.darkwisp.app.viewmodel.FeedContentFilter +import com.darkwisp.app.viewmodel.FeedType +import com.darkwisp.app.viewmodel.FeedViewModel +import com.darkwisp.app.viewmodel.InitLoadingState +import com.darkwisp.app.viewmodel.PowStatus +import com.darkwisp.app.viewmodel.RelayFeedStatus +import com.darkwisp.app.viewmodel.TrendingMetric +import com.darkwisp.app.viewmodel.TrendingMode +import com.darkwisp.app.viewmodel.TrendingTimeframe +import com.darkwisp.app.viewmodel.buildTrendingRelayUrl import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.core.tween import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.lazy.itemsIndexed -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.ui.theme.WispThemeColors import androidx.compose.material.icons.automirrored.outlined.Reply import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.automirrored.outlined.Article @@ -133,10 +133,10 @@ import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.ButtonDefaults import androidx.compose.ui.draw.clip import androidx.compose.ui.text.style.TextOverflow -import com.wisp.app.nostr.ProfileData -import com.wisp.app.repo.AccountInfo -import com.wisp.app.ui.component.FollowButton -import com.wisp.app.viewmodel.TRENDING_USERS_RELAY_URL +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.repo.AccountInfo +import com.darkwisp.app.ui.component.FollowButton +import com.darkwisp.app.viewmodel.TRENDING_USERS_RELAY_URL import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.distinctUntilChanged @@ -181,11 +181,11 @@ fun FeedScreen( onAddToList: (String) -> Unit = {}, onRelayDetail: (String) -> Unit = {}, onHashtagClick: ((String) -> Unit)? = null, - onViewSetFeed: ((com.wisp.app.nostr.InterestSet) -> Unit)? = null, + onViewSetFeed: ((com.darkwisp.app.nostr.InterestSet) -> Unit)? = null, onArticleClick: ((Int, String, String) -> Unit)? = null, onGroupRoom: ((String, String) -> Unit)? = null, onLiveStreamClick: ((String, String, String?) -> Unit)? = null, - fetchGroupPreview: (suspend (String, String) -> com.wisp.app.repo.GroupPreview?)? = null, + fetchGroupPreview: (suspend (String, String) -> com.darkwisp.app.repo.GroupPreview?)? = null, scrollToTopTrigger: Int = 0, onScanResult: (String) -> Unit = {}, ) { @@ -311,10 +311,10 @@ fun FeedScreen( // Set up emoji removal bridge so long-press in reaction popup can remove emojis DisposableEffect(Unit) { - com.wisp.app.ui.component.emojiRemoveCallback = { emoji -> + com.darkwisp.app.ui.component.emojiRemoveCallback = { emoji -> viewModel.customEmojiRepo.removeUnicodeEmoji(emoji) } - onDispose { com.wisp.app.ui.component.emojiRemoveCallback = null } + onDispose { com.darkwisp.app.ui.component.emojiRemoveCallback = null } } val noteActions = remember(userPubkey) { @@ -348,7 +348,7 @@ fun FeedScreen( onAddEmojiSet = { pubkey, dTag -> viewModel.addSetToEmojiList(pubkey, dTag) }, onRemoveEmojiSet = { pubkey, dTag -> viewModel.removeSetFromEmojiList(pubkey, dTag) }, isEmojiSetAdded = { pubkey, dTag -> - val ref = com.wisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) + val ref = com.darkwisp.app.nostr.Nip30.buildSetReference(pubkey, dTag) viewModel.customEmojiRepo.userEmojiList.value?.setReferences?.contains(ref) ?: false }, onPollVote = { pollId, optionIds -> viewModel.publishPollVote(pollId, optionIds) }, @@ -1149,7 +1149,7 @@ fun FeedScreen( ) { if (liveNowStreams.isNotEmpty() && onLiveStreamClick != null && !viewModel.interfacePrefs.isLiveStreamsHidden()) { item(key = "live-now", contentType = "live-now") { - com.wisp.app.ui.component.LiveNowRow( + com.darkwisp.app.ui.component.LiveNowRow( streams = liveNowStreams, eventRepo = viewModel.eventRepo, onStreamClick = onLiveStreamClick @@ -1293,7 +1293,7 @@ private fun FeedItem( repostVersion: Int = 0, relaySourceVersion: Int, nip05Version: Int = 0, - followList: List = emptyList(), + followList: List = emptyList(), isZapAnimating: Boolean, isZapInProgress: Boolean = false, isInList: Boolean = false, @@ -1636,7 +1636,7 @@ private fun FeedArticleItem( } } // Action bar - com.wisp.app.ui.component.ActionBar( + com.darkwisp.app.ui.component.ActionBar( onReply = onReply, onReact = onReact, userReactionEmojis = userEmojis, @@ -2109,10 +2109,10 @@ private fun ListPickerDialog( @OptIn(ExperimentalLayoutApi::class, ExperimentalFoundationApi::class) @Composable private fun HashtagPickerDialog( - sets: List, + sets: List, isLoading: Boolean = false, onSelectHashtag: (String) -> Unit, - onViewSetFeed: (com.wisp.app.nostr.InterestSet) -> Unit, + onViewSetFeed: (com.darkwisp.app.nostr.InterestSet) -> Unit, onAddHashtag: (tag: String, dTag: String) -> Unit, onRemoveHashtag: (tag: String, dTag: String) -> Unit, onCreateSet: (String) -> Unit, @@ -2480,7 +2480,7 @@ private fun TrendingFilterBar( TrendingMetric.REACTIONS -> Icon(Icons.Outlined.FavoriteBorder, contentDescription = m.label, modifier = Modifier.size(16.dp)) TrendingMetric.REPLIES -> Icon(Icons.AutoMirrored.Outlined.Reply, contentDescription = m.label, modifier = Modifier.size(16.dp)) TrendingMetric.REPOSTS -> Icon(Icons.Outlined.Repeat, contentDescription = m.label, modifier = Modifier.size(16.dp)) - TrendingMetric.ZAPS -> Icon(painter = androidx.compose.ui.res.painterResource(com.wisp.app.R.drawable.ic_bolt), contentDescription = m.label, modifier = Modifier.size(14.dp)) + TrendingMetric.ZAPS -> Icon(painter = androidx.compose.ui.res.painterResource(com.darkwisp.app.R.drawable.ic_bolt), contentDescription = m.label, modifier = Modifier.size(14.dp)) } } @@ -2585,7 +2585,7 @@ private fun TrendingUsersContent( users: List, isLoading: Boolean, relayFeedStatus: RelayFeedStatus, - contactRepo: com.wisp.app.repo.ContactRepository, + contactRepo: com.darkwisp.app.repo.ContactRepository, onProfileClick: (String) -> Unit, onToggleFollow: (String) -> Unit, onFollowAll: (Set) -> Unit, diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/GroupDetailScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/GroupDetailScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/GroupDetailScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/GroupDetailScreen.kt index 960e41f..2a416c1 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/GroupDetailScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/GroupDetailScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -62,15 +62,15 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.Nip29 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.GroupRoom -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.theme.wispSwitchColors -import com.wisp.app.viewmodel.GroupListViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Nip29 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.GroupRoom +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.viewmodel.GroupListViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/GroupRoomScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/GroupRoomScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/GroupRoomScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/GroupRoomScreen.kt index c64bc6a..b5718ed 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/GroupRoomScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/GroupRoomScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.Animatable @@ -133,25 +133,25 @@ import androidx.compose.ui.unit.sp import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.zIndex import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.nostr.ProfileData -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.GroupMessage -import com.wisp.app.repo.GroupPreview -import com.wisp.app.ui.component.EmojiReactionPopup -import com.wisp.app.ui.component.EmojiShortcodePopup -import com.wisp.app.ui.component.pendingEmojiReactCallback -import com.wisp.app.ui.component.MentionOutputTransformation -import com.wisp.app.ui.component.insertEmojiShortcode -import com.wisp.app.ui.component.NoteActions -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RichContent -import com.wisp.app.ui.theme.WispThemeColors -import com.wisp.app.viewmodel.GroupRoomViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.GroupMessage +import com.darkwisp.app.repo.GroupPreview +import com.darkwisp.app.ui.component.EmojiReactionPopup +import com.darkwisp.app.ui.component.EmojiShortcodePopup +import com.darkwisp.app.ui.component.pendingEmojiReactCallback +import com.darkwisp.app.ui.component.MentionOutputTransformation +import com.darkwisp.app.ui.component.insertEmojiShortcode +import com.darkwisp.app.ui.component.NoteActions +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RichContent +import com.darkwisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.viewmodel.GroupRoomViewModel import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -164,7 +164,7 @@ import kotlin.math.roundToInt @Composable fun GroupRoomScreen( viewModel: GroupRoomViewModel, - initialRoom: com.wisp.app.repo.GroupRoom? = null, + initialRoom: com.darkwisp.app.repo.GroupRoom? = null, scrollToMessageId: String? = null, relayPool: RelayPool, eventRepo: EventRepository, @@ -191,7 +191,7 @@ fun GroupRoomScreen( onFollowAuthor: ((String) -> Unit)? = null, onBlockAuthor: ((String) -> Unit)? = null, isFollowing: ((String) -> Boolean)? = null, - noteActions: com.wisp.app.ui.component.NoteActions? = null, + noteActions: com.darkwisp.app.ui.component.NoteActions? = null, onEmojiUsed: ((String) -> Unit)? = null ) { val textFieldFocus = remember { FocusRequester() } @@ -1215,7 +1215,7 @@ private fun GroupMessageBubble( onFollowAuthor: ((String) -> Unit)? = null, onBlockAuthor: ((String) -> Unit)? = null, isFollowing: ((String) -> Boolean)? = null, - noteActions: com.wisp.app.ui.component.NoteActions? = null + noteActions: com.darkwisp.app.ui.component.NoteActions? = null ) { val profile = remember(message.senderPubkey) { eventRepo.getProfileData(message.senderPubkey) } val displayName = profile?.displayString ?: (message.senderPubkey.take(8) + "…") @@ -1380,7 +1380,7 @@ private fun GroupMessageBubble( text = formatZapSats(zapSats), style = MaterialTheme.typography.labelSmall, fontSize = 10.sp, - color = com.wisp.app.ui.theme.WispThemeColors.zapColor + color = com.darkwisp.app.ui.theme.WispThemeColors.zapColor ) } Text( @@ -1632,7 +1632,7 @@ private fun GroupMessageBubble( // Actions panel — eyebrow + bare horizontally scrollable row of panel buttons val showFollow = !isOwnMessage && onFollowAuthor != null val showBlock = !isOwnMessage && onBlockAuthor != null - val useZapBoltIcon = com.wisp.app.ui.util.useBoltIcon() + val useZapBoltIcon = com.darkwisp.app.ui.util.useBoltIcon() Column( verticalArrangement = Arrangement.spacedBy(4.dp) ) { diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/HashtagFeedScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/HashtagFeedScreen.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/screen/HashtagFeedScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/HashtagFeedScreen.kt index 9ca6c24..74ae3e8 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/HashtagFeedScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/HashtagFeedScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.clickable @@ -42,16 +42,16 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.InterestSet -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.ui.component.NoteActions -import com.wisp.app.ui.component.PostCard -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.viewmodel.HashtagFeedViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.InterestSet +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.ui.component.NoteActions +import com.darkwisp.app.ui.component.PostCard +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.viewmodel.HashtagFeedViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -310,7 +310,7 @@ private fun HashtagFeedItem( } val translationVersion by translationRepo?.version?.collectAsState() ?: remember { androidx.compose.runtime.mutableIntStateOf(0) } val translationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } val pollVoteCounts = remember(pollVoteVersion, event.id) { if (event.kind == 1068) eventRepo.getPollVoteCounts(event.id) else emptyMap() diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/InterfaceScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/InterfaceScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/InterfaceScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/InterfaceScreen.kt index 65500db..dd36f27 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/InterfaceScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/InterfaceScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import android.app.Activity import android.app.Application @@ -65,15 +65,15 @@ import androidx.compose.ui.unit.dp import android.content.Intent import androidx.compose.ui.platform.LocalContext import androidx.core.content.FileProvider -import com.wisp.app.R -import com.wisp.app.repo.DiagnosticLogger -import com.wisp.app.repo.ExchangeRateRepository -import com.wisp.app.repo.FiatPreferences -import com.wisp.app.repo.InterfacePreferences -import com.wisp.app.repo.LocaleRepository -import com.wisp.app.ui.theme.ThemePreset -import com.wisp.app.ui.theme.Themes -import com.wisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.R +import com.darkwisp.app.repo.DiagnosticLogger +import com.darkwisp.app.repo.ExchangeRateRepository +import com.darkwisp.app.repo.FiatPreferences +import com.darkwisp.app.repo.InterfacePreferences +import com.darkwisp.app.repo.LocaleRepository +import com.darkwisp.app.ui.theme.ThemePreset +import com.darkwisp.app.ui.theme.Themes +import com.darkwisp.app.ui.theme.wispSwitchColors import androidx.compose.material.icons.filled.ArrowDropDown import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/KeysScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/KeysScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/KeysScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/KeysScreen.kt index 719108e..23d4148 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/KeysScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/KeysScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import android.content.ClipData import android.content.ClipboardManager @@ -44,9 +44,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentActivity -import com.wisp.app.R -import com.wisp.app.nostr.Nip19 -import com.wisp.app.repo.KeyRepository +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.repo.KeyRepository private fun android.content.Context.findFragmentActivity(): FragmentActivity? { var ctx = this diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ListScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ListScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ListScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ListScreen.kt index 11bbf46..700defb 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ListScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ListScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box @@ -47,14 +47,14 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.FollowSet -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.toHex -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.ui.component.ProfilePicture +import com.darkwisp.app.R +import com.darkwisp.app.nostr.FollowSet +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.ui.component.ProfilePicture @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ListsHubScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ListsHubScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ListsHubScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ListsHubScreen.kt index 2d9e826..9fe0763 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ListsHubScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ListsHubScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column @@ -47,15 +47,15 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.BookmarkSet -import com.wisp.app.nostr.FollowSet -import com.wisp.app.repo.BookmarkRepository -import com.wisp.app.repo.BookmarkSetRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.ListRepository -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.R +import com.darkwisp.app.nostr.BookmarkSet +import com.darkwisp.app.nostr.FollowSet +import com.darkwisp.app.repo.BookmarkRepository +import com.darkwisp.app.repo.BookmarkSetRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.ListRepository +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.theme.wispSwitchColors @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -277,7 +277,7 @@ private fun FollowSetRow( if (showJsonDialog) { val jsonText = remember(followSet) { val event = eventRepo.findAddressableEvent( - com.wisp.app.nostr.Nip51.KIND_FOLLOW_SET, followSet.pubkey, followSet.dTag + com.darkwisp.app.nostr.Nip51.KIND_FOLLOW_SET, followSet.pubkey, followSet.dTag ) event?.toJson() ?: "Event not found in cache" } @@ -374,7 +374,7 @@ private fun BookmarkSetRow( if (showJsonDialog) { val jsonText = remember(bookmarkSet) { val event = eventRepo.findAddressableEvent( - com.wisp.app.nostr.Nip51.KIND_BOOKMARK_SET, bookmarkSet.pubkey, bookmarkSet.dTag + com.darkwisp.app.nostr.Nip51.KIND_BOOKMARK_SET, bookmarkSet.pubkey, bookmarkSet.dTag ) event?.toJson() ?: "Event not found in cache" } diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/LiveStreamScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/LiveStreamScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/LiveStreamScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/LiveStreamScreen.kt index 7b9270a..4e48a42 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/LiveStreamScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/LiveStreamScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.Animatable @@ -81,19 +81,19 @@ import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.LiveChatMessage -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.ui.component.EmojiReactionPopup -import com.wisp.app.ui.component.InlineVideoPlayerWithFullscreen -import com.wisp.app.ui.component.MediaMeta -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RichContent -import com.wisp.app.viewmodel.LiveStreamViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.LiveChatMessage +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.ui.component.EmojiReactionPopup +import com.darkwisp.app.ui.component.InlineVideoPlayerWithFullscreen +import com.darkwisp.app.ui.component.MediaMeta +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RichContent +import com.darkwisp.app.viewmodel.LiveStreamViewModel import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @@ -367,7 +367,7 @@ private fun StreamInfoBar( ) { val profile = remember(hostPubkey) { eventRepo.getProfileData(hostPubkey) } val displayName = profile?.displayString ?: (hostPubkey.take(8) + "…") - val zapColor = com.wisp.app.ui.theme.WispThemeColors.zapColor + val zapColor = com.darkwisp.app.ui.theme.WispThemeColors.zapColor Row( verticalAlignment = Alignment.CenterVertically, @@ -472,7 +472,7 @@ private fun StreamInfoBar( .matchParentSize() .wrapContentSize(unbounded = true, align = Alignment.Center) ) { - com.wisp.app.ui.component.ZapBurstEffect( + com.darkwisp.app.ui.component.ZapBurstEffect( isActive = isZapAnimating, modifier = Modifier.size(80.dp) ) @@ -490,7 +490,7 @@ private fun ZapAnnouncementBubble( ) { val profile = remember(message.senderPubkey) { eventRepo.getProfileData(message.senderPubkey) } val displayName = profile?.displayString ?: (message.senderPubkey.take(8) + "…") - val zapColor = com.wisp.app.ui.theme.WispThemeColors.zapColor + val zapColor = com.darkwisp.app.ui.theme.WispThemeColors.zapColor Surface( shape = RoundedCornerShape(12.dp), @@ -724,7 +724,7 @@ private fun LiveChatBubble( .padding(5.dp), tint = when { isZapInProgress -> MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.4f) - hasZaps || isZapAnimating -> com.wisp.app.ui.theme.WispThemeColors.zapColor + hasZaps || isZapAnimating -> com.darkwisp.app.ui.theme.WispThemeColors.zapColor else -> iconTint } ) @@ -733,7 +733,7 @@ private fun LiveChatBubble( .matchParentSize() .wrapContentSize(unbounded = true, align = Alignment.Center) ) { - com.wisp.app.ui.component.ZapBurstEffect( + com.darkwisp.app.ui.component.ZapBurstEffect( isActive = isZapAnimating, modifier = Modifier.size(80.dp) ) @@ -744,7 +744,7 @@ private fun LiveChatBubble( text = formatZapSats(zapSats), style = MaterialTheme.typography.labelSmall, fontSize = 10.sp, - color = com.wisp.app.ui.theme.WispThemeColors.zapColor + color = com.darkwisp.app.ui.theme.WispThemeColors.zapColor ) } } diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/LoadingScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/LoadingScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/LoadingScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/LoadingScreen.kt index fd6ca83..909c495 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/LoadingScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/LoadingScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.animation.AnimatedContent import androidx.compose.animation.fadeIn @@ -36,9 +36,9 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.viewmodel.FeedViewModel -import com.wisp.app.viewmodel.InitLoadingState +import com.darkwisp.app.R +import com.darkwisp.app.viewmodel.FeedViewModel +import com.darkwisp.app.viewmodel.InitLoadingState import kotlinx.coroutines.delay @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/NotificationsScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/NotificationsScreen.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/screen/NotificationsScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/NotificationsScreen.kt index c4a7dd9..e929e58 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/NotificationsScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/NotificationsScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.expandVertically @@ -46,11 +46,11 @@ import androidx.compose.material.icons.outlined.Repeat import androidx.compose.material.icons.outlined.Tune import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue -import com.wisp.app.ui.component.EmojiReactionPopup -import com.wisp.app.ui.component.EmojiShortcodePopup -import com.wisp.app.ui.component.detectEmojiAutocomplete -import com.wisp.app.ui.component.insertEmojiShortcode -import com.wisp.app.ui.component.LightningAnimation +import com.darkwisp.app.ui.component.EmojiReactionPopup +import com.darkwisp.app.ui.component.EmojiShortcodePopup +import com.darkwisp.app.ui.component.detectEmojiAutocomplete +import com.darkwisp.app.ui.component.insertEmojiShortcode +import com.darkwisp.app.ui.component.LightningAnimation import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.pulltorefresh.PullToRefreshBox @@ -86,21 +86,21 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.res.stringResource import coil3.compose.AsyncImage -import com.wisp.app.nostr.FlatNotificationItem -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NotificationSummary -import com.wisp.app.nostr.NotificationType -import com.wisp.app.nostr.ProfileData -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.ui.component.GalleryCard -import com.wisp.app.ui.component.isGalleryEvent -import com.wisp.app.ui.component.PostCard +import com.darkwisp.app.nostr.FlatNotificationItem +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NotificationSummary +import com.darkwisp.app.nostr.NotificationType +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.ui.component.GalleryCard +import com.darkwisp.app.ui.component.isGalleryEvent +import com.darkwisp.app.ui.component.PostCard import android.net.Uri import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -122,16 +122,16 @@ import androidx.compose.animation.fadeOut import androidx.compose.animation.slideInVertically import androidx.compose.animation.slideOutVertically import androidx.compose.foundation.layout.heightIn -import com.wisp.app.nostr.Nip19 -import com.wisp.app.repo.MentionCandidate -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.theme.WispThemeColors -import com.wisp.app.viewmodel.NotificationFilter -import com.wisp.app.viewmodel.NotificationsViewModel -import com.wisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.repo.MentionCandidate +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.viewmodel.NotificationFilter +import com.darkwisp.app.viewmodel.NotificationsViewModel +import com.darkwisp.app.ui.theme.wispSwitchColors import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource -import com.wisp.app.R +import com.darkwisp.app.R import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.launch import java.text.SimpleDateFormat @@ -183,7 +183,7 @@ fun NotificationsScreen( onGroupNotificationClick: ((groupChatId: String, messageId: String) -> Unit)? = null, /** Look up group message content, group name, and emoji tags. */ resolveGroupMessage: ((groupChatId: String, messageId: String) -> Triple>)? = null, - fetchGroupPreview: (suspend (String, String) -> com.wisp.app.repo.GroupPreview?)? = null, + fetchGroupPreview: (suspend (String, String) -> com.darkwisp.app.repo.GroupPreview?)? = null, onAddEmojiSet: ((String, String) -> Unit)? = null, onRemoveEmojiSet: ((String, String) -> Unit)? = null, isEmojiSetAdded: ((String, String) -> Boolean)? = null, @@ -214,7 +214,7 @@ fun NotificationsScreen( { bech32 -> try { val data = Nip19.decodeNostrUri("nostr:$bech32") - if (data is com.wisp.app.nostr.NostrUriData.ProfileRef) { + if (data is com.darkwisp.app.nostr.NostrUriData.ProfileRef) { eventRepo?.getProfileData(data.pubkey)?.displayString } else null } catch (_: Exception) { null } @@ -515,8 +515,8 @@ private fun NotificationFilterSheet( val iconTint = if (enabled) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.outline if (filter == NotificationFilter.ZAPS) { - val useBolt = com.wisp.app.ui.util.useBoltIcon() - val fiatMode = com.wisp.app.ui.util.isFiatMode() + val useBolt = com.darkwisp.app.ui.util.useBoltIcon() + val fiatMode = com.darkwisp.app.ui.util.isFiatMode() if (fiatMode) { Icon( painter = painterResource(R.drawable.ic_coin_stack), @@ -937,7 +937,7 @@ private fun GroupChatExpansion( } } if (messageContent != null) { - com.wisp.app.ui.component.RichContent( + com.darkwisp.app.ui.component.RichContent( content = messageContent, style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurfaceVariant, @@ -1029,7 +1029,7 @@ private fun DmExpansion( .fillMaxWidth() .padding(start = 68.dp, end = 16.dp) ) { - com.wisp.app.ui.component.RichContent( + com.darkwisp.app.ui.component.RichContent( content = item.dmContent ?: "", style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurfaceVariant, @@ -1070,9 +1070,9 @@ private fun DmExpansion( ) { if (isDmZapInProgress) { LightningAnimation(modifier = Modifier.size(18.dp)) - } else if (com.wisp.app.ui.util.isFiatMode()) { + } else if (com.darkwisp.app.ui.util.isFiatMode()) { Icon( - painter = androidx.compose.ui.res.painterResource(com.wisp.app.R.drawable.ic_coin_stack), + painter = androidx.compose.ui.res.painterResource(com.darkwisp.app.R.drawable.ic_coin_stack), contentDescription = "Zap", tint = if (dmZapSats > 0) WispThemeColors.zapColor else MaterialTheme.colorScheme.onSurfaceVariant, @@ -1080,7 +1080,7 @@ private fun DmExpansion( ) } else { Icon( - painter = androidx.compose.ui.res.painterResource(com.wisp.app.R.drawable.ic_bolt), + painter = androidx.compose.ui.res.painterResource(com.darkwisp.app.R.drawable.ic_bolt), contentDescription = "Zap", tint = if (dmZapSats > 0) WispThemeColors.zapColor else MaterialTheme.colorScheme.onSurfaceVariant, @@ -1093,7 +1093,7 @@ private fun DmExpansion( .matchParentSize() .wrapContentSize(unbounded = true, align = Alignment.Center) ) { - com.wisp.app.ui.component.ZapBurstEffect( + com.darkwisp.app.ui.component.ZapBurstEffect( isActive = isDmZapAnimating, modifier = Modifier.size(100.dp) ) @@ -1101,7 +1101,7 @@ private fun DmExpansion( } if (dmZapSats > 0 && !isDmZapInProgress) { Text( - text = com.wisp.app.ui.util.AmountFormatter.formatShort(dmZapSats, LocalContext.current), + text = com.darkwisp.app.ui.util.AmountFormatter.formatShort(dmZapSats, LocalContext.current), style = MaterialTheme.typography.labelSmall, color = WispThemeColors.zapColor ) @@ -1319,7 +1319,7 @@ private fun ReferencedNotePostCard( } val translationVersion by params.translationRepo?.version?.collectAsState() ?: remember { mutableIntStateOf(0) } val translationState = remember(translationVersion, event.id) { - params.translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + params.translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } val pollVoteCounts = remember(params.pollVoteVersion, event.id) { if (event.kind == 1068) eventRepo.getPollVoteCounts(event.id) else emptyMap() @@ -1381,7 +1381,7 @@ private fun ReferencedNotePostCard( noteActions = run { val p = params if (p.onPayInvoice != null || p.onGroupRoom != null || p.fetchGroupPreview != null || p.onAddEmojiSet != null || p.onOpenEmojiLibrary != null) { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( onPayInvoice = p.onPayInvoice, onGroupRoom = p.onGroupRoom, fetchGroupPreview = p.fetchGroupPreview, @@ -1470,7 +1470,7 @@ private fun ReferencedNotePostCard( noteActions = run { val p = params if (p.onPayInvoice != null || p.onGroupRoom != null || p.fetchGroupPreview != null || p.onAddEmojiSet != null || p.onOpenEmojiLibrary != null) { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( onPayInvoice = p.onPayInvoice, onGroupRoom = p.onGroupRoom, fetchGroupPreview = p.fetchGroupPreview, @@ -1526,7 +1526,7 @@ private data class NotifPostCardParams( val onZapPollVote: (String, Int) -> Unit = { _, _ -> }, val onPayInvoice: (suspend (String) -> Boolean)? = null, val onGroupRoom: ((String, String) -> Unit)? = null, - val fetchGroupPreview: (suspend (String, String) -> com.wisp.app.repo.GroupPreview?)? = null, + val fetchGroupPreview: (suspend (String, String) -> com.darkwisp.app.repo.GroupPreview?)? = null, val onAddEmojiSet: ((String, String) -> Unit)? = null, val onRemoveEmojiSet: ((String, String) -> Unit)? = null, val isEmojiSetAdded: ((String, String) -> Boolean)? = null @@ -1553,7 +1553,7 @@ private fun InlineSentReply( size = 28 ) Spacer(Modifier.width(6.dp)) - com.wisp.app.ui.component.RichContent( + com.darkwisp.app.ui.component.RichContent( content = content, style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurface, @@ -1603,7 +1603,7 @@ private fun SentNoteCard( ) } Spacer(Modifier.height(4.dp)) - com.wisp.app.ui.component.RichContent( + com.darkwisp.app.ui.component.RichContent( content = content, style = MaterialTheme.typography.bodyLarge, color = MaterialTheme.colorScheme.onSurface, @@ -1773,7 +1773,7 @@ private fun InlineReplyComposer( }) } val replyOutputTransformation = remember(resolvedEmojis, resolveDisplayName) { - com.wisp.app.ui.component.MentionOutputTransformation( + com.darkwisp.app.ui.component.MentionOutputTransformation( resolveDisplayName = resolveDisplayName ?: { null }, resolvedEmojis = resolvedEmojis ) @@ -1872,11 +1872,11 @@ private fun MentionCandidateRow( private fun NotificationTypeIcon(item: FlatNotificationItem, showSats: Boolean = false) { val iconSize = 28.dp if (item.type == NotificationType.ZAP || item.type == NotificationType.DM_ZAP || item.type == NotificationType.PROFILE_ZAP) { - val fiatMode = com.wisp.app.ui.util.isFiatMode() + val fiatMode = com.darkwisp.app.ui.util.isFiatMode() Column(horizontalAlignment = Alignment.CenterHorizontally) { Icon( painter = androidx.compose.ui.res.painterResource( - if (fiatMode) com.wisp.app.R.drawable.ic_coin_stack else com.wisp.app.R.drawable.ic_bolt + if (fiatMode) com.darkwisp.app.R.drawable.ic_coin_stack else com.darkwisp.app.R.drawable.ic_bolt ), contentDescription = stringResource(R.string.cd_send_zap), modifier = Modifier.size(iconSize - 4.dp), @@ -1884,7 +1884,7 @@ private fun NotificationTypeIcon(item: FlatNotificationItem, showSats: Boolean = ) if (showSats && item.zapSats > 0) { Text( - text = com.wisp.app.ui.util.AmountFormatter.formatShort(item.zapSats, LocalContext.current), + text = com.darkwisp.app.ui.util.AmountFormatter.formatShort(item.zapSats, LocalContext.current), style = MaterialTheme.typography.labelSmall, color = WispThemeColors.zapColor, maxLines = 1 @@ -2042,11 +2042,11 @@ private fun DailySummaryBar( active = isFiltered && NotificationFilter.REACTIONS in enabledTypes, onClick = { onFilterSelect(NotificationFilter.REACTIONS) }) run { - val useZapBolt = com.wisp.app.ui.util.useBoltIcon() - val fiatMode = com.wisp.app.ui.util.isFiatMode() + val useZapBolt = com.darkwisp.app.ui.util.useBoltIcon() + val fiatMode = com.darkwisp.app.ui.util.isFiatMode() val zapActive = isFiltered && NotificationFilter.ZAPS in enabledTypes val zapCtx = LocalContext.current - val zapLabel = com.wisp.app.ui.util.AmountFormatter.formatShort(summary.zapSats, zapCtx) + val zapLabel = com.darkwisp.app.ui.util.AmountFormatter.formatShort(summary.zapSats, zapCtx) if (fiatMode) { SummaryStatPainter(painterResource(R.drawable.ic_coin_stack), zapLabel, active = zapActive, onClick = { onFilterSelect(NotificationFilter.ZAPS) }) diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingFirstPostScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingFirstPostScreen.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingFirstPostScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingFirstPostScreen.kt index 9ac62ed..cb6644b 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingFirstPostScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingFirstPostScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -35,11 +35,11 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.viewmodel.ComposeViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.viewmodel.ComposeViewModel private const val INTRO_PREFIX = "#introductions\n\n" diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingScreen.kt index abab699..c8b9635 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -41,16 +41,16 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.relay.OnboardingPhase -import com.wisp.app.viewmodel.OnboardingViewModel +import com.darkwisp.app.R +import com.darkwisp.app.relay.OnboardingPhase +import com.darkwisp.app.viewmodel.OnboardingViewModel @Composable fun OnboardingScreen( viewModel: OnboardingViewModel, onContinue: () -> Unit, onBack: (() -> Unit)? = null, - signer: com.wisp.app.nostr.NostrSigner? = null + signer: com.darkwisp.app.nostr.NostrSigner? = null ) { val name by viewModel.name.collectAsState() val about by viewModel.about.collectAsState() diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingSuggestionsScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingSuggestionsScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingSuggestionsScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingSuggestionsScreen.kt index 9dc688e..1bf3f82 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingSuggestionsScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingSuggestionsScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -37,13 +37,13 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.ProfileData -import com.wisp.app.ui.component.FollowToggleButton -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.StackedAvatars -import com.wisp.app.viewmodel.SectionType -import com.wisp.app.viewmodel.SuggestionSection +import com.darkwisp.app.R +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.ui.component.FollowToggleButton +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.StackedAvatars +import com.darkwisp.app.viewmodel.SectionType +import com.darkwisp.app.viewmodel.SuggestionSection @Composable fun OnboardingSuggestionsScreen( @@ -77,7 +77,7 @@ fun OnboardingSuggestionsScreen( style = MaterialTheme.typography.titleLarge.copy(fontWeight = FontWeight.Bold), color = MaterialTheme.colorScheme.onSurface ) - if (com.wisp.app.BuildConfig.DEBUG) { + if (com.darkwisp.app.BuildConfig.DEBUG) { TextButton(onClick = onSkip) { Text(stringResource(R.string.btn_skip), style = MaterialTheme.typography.labelLarge) } diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingTopicsScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingTopicsScreen.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingTopicsScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingTopicsScreen.kt index 17988e2..eb2ab39 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/OnboardingTopicsScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/OnboardingTopicsScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -43,7 +43,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import com.wisp.app.viewmodel.TopicOnboardingViewModel +import com.darkwisp.app.viewmodel.TopicOnboardingViewModel @OptIn(ExperimentalLayoutApi::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/PowSettingsScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/PowSettingsScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/PowSettingsScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/PowSettingsScreen.kt index fcc61ce..6ed3e92 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/PowSettingsScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/PowSettingsScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -32,9 +32,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.res.stringResource -import com.wisp.app.repo.PowPreferences -import com.wisp.app.ui.theme.wispSwitchColors -import com.wisp.app.R +import com.darkwisp.app.repo.PowPreferences +import com.darkwisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.R @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ProfileEditScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ProfileEditScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ProfileEditScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ProfileEditScreen.kt index f42a11a..189d014 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ProfileEditScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ProfileEditScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -42,9 +42,9 @@ import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.relay.RelayPool -import com.wisp.app.viewmodel.ProfileViewModel +import com.darkwisp.app.R +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.viewmodel.ProfileViewModel import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -54,7 +54,7 @@ fun ProfileEditScreen( viewModel: ProfileViewModel, relayPool: RelayPool, onBack: () -> Unit, - signer: com.wisp.app.nostr.NostrSigner? = null + signer: com.darkwisp.app.nostr.NostrSigner? = null ) { val name by viewModel.name.collectAsState() val about by viewModel.about.collectAsState() diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/RelayDetailScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayDetailScreen.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/ui/screen/RelayDetailScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayDetailScreen.kt index d67358e..65f0c1b 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/RelayDetailScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayDetailScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement @@ -42,17 +42,17 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.nostr.RelayInfo -import com.wisp.app.relay.ConsoleLogEntry -import com.wisp.app.relay.ConsoleLogType -import com.wisp.app.relay.RelayHealthTracker -import com.wisp.app.repo.RelayInfoRepository -import com.wisp.app.nostr.ProfileData -import com.wisp.app.nostr.RelaySet -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RelayIcon -import com.wisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.R +import com.darkwisp.app.nostr.RelayInfo +import com.darkwisp.app.relay.ConsoleLogEntry +import com.darkwisp.app.relay.ConsoleLogType +import com.darkwisp.app.relay.RelayHealthTracker +import com.darkwisp.app.repo.RelayInfoRepository +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.RelaySet +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RelayIcon +import com.darkwisp.app.ui.theme.WispThemeColors import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/RelayHealthScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayHealthScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/RelayHealthScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayHealthScreen.kt index dc0c20b..310522e 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/RelayHealthScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayHealthScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -41,15 +41,15 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.zIndex -import com.wisp.app.R -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RelayIcon -import com.wisp.app.ui.theme.WispThemeColors -import com.wisp.app.viewmodel.HealthFilter -import com.wisp.app.viewmodel.HealthSortMode -import com.wisp.app.viewmodel.RelayHealthSummary -import com.wisp.app.viewmodel.RelayHealthViewModel -import com.wisp.app.viewmodel.RelayType +import com.darkwisp.app.R +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RelayIcon +import com.darkwisp.app.ui.theme.WispThemeColors +import com.darkwisp.app.viewmodel.HealthFilter +import com.darkwisp.app.viewmodel.HealthSortMode +import com.darkwisp.app.viewmodel.RelayHealthSummary +import com.darkwisp.app.viewmodel.RelayHealthViewModel +import com.darkwisp.app.viewmodel.RelayType @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/RelayScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/RelayScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayScreen.kt index 6145be5..a8cbf27 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/RelayScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/RelayScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -45,14 +45,14 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp -import com.wisp.app.relay.LocalRelayConfig -import com.wisp.app.relay.LocalRelayWritePolicy -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelaySetType -import com.wisp.app.R -import com.wisp.app.ui.theme.wispSwitchColors -import com.wisp.app.viewmodel.RelayViewModel +import com.darkwisp.app.relay.LocalRelayConfig +import com.darkwisp.app.relay.LocalRelayWritePolicy +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelaySetType +import com.darkwisp.app.R +import com.darkwisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.viewmodel.RelayViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -60,7 +60,7 @@ fun RelayScreen( viewModel: RelayViewModel, relayPool: RelayPool? = null, onBack: () -> Unit, - signer: com.wisp.app.nostr.NostrSigner? = null + signer: com.darkwisp.app.nostr.NostrSigner? = null ) { val context = LocalContext.current val selectedTab by viewModel.selectedTab.collectAsState() diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/SafetyFiltersTab.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SafetyFiltersTab.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/SafetyFiltersTab.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/SafetyFiltersTab.kt index ee96636..5ab9575 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/SafetyFiltersTab.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SafetyFiltersTab.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -23,10 +23,10 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import com.wisp.app.R -import com.wisp.app.repo.ExtendedNetworkCache -import com.wisp.app.repo.SafetyPreferences -import com.wisp.app.ui.theme.wispSwitchColors +import com.darkwisp.app.R +import com.darkwisp.app.repo.ExtendedNetworkCache +import com.darkwisp.app.repo.SafetyPreferences +import com.darkwisp.app.ui.theme.wispSwitchColors import kotlinx.coroutines.flow.StateFlow @Composable diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/SafetyScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SafetyScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/SafetyScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/SafetyScreen.kt index 53b3eaa..e601413 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/SafetyScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SafetyScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -38,12 +38,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.repo.ExtendedNetworkCache -import com.wisp.app.repo.MuteRepository -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.repo.SafetyPreferences -import com.wisp.app.ui.component.ProfilePicture +import com.darkwisp.app.R +import com.darkwisp.app.repo.ExtendedNetworkCache +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.repo.SafetyPreferences +import com.darkwisp.app.ui.component.ProfilePicture import kotlinx.coroutines.flow.StateFlow @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/SearchScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SearchScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/SearchScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/SearchScreen.kt index e8132e2..d0da9db 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/SearchScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SearchScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.clickable @@ -62,24 +62,24 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.Nip02 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.R -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.MuteRepository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.repo.TranslationState -import com.wisp.app.ui.component.FollowButton -import com.wisp.app.ui.component.NoteActions -import com.wisp.app.ui.component.PostCard -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.viewmodel.RelayOption -import com.wisp.app.viewmodel.SearchFilter -import com.wisp.app.viewmodel.SearchViewModel +import com.darkwisp.app.nostr.Nip02 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.R +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.repo.TranslationState +import com.darkwisp.app.ui.component.FollowButton +import com.darkwisp.app.ui.component.NoteActions +import com.darkwisp.app.ui.component.PostCard +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.viewmodel.RelayOption +import com.darkwisp.app.viewmodel.SearchFilter +import com.darkwisp.app.viewmodel.SearchViewModel import kotlinx.coroutines.flow.MutableStateFlow @OptIn(ExperimentalMaterial3Api::class) @@ -113,7 +113,7 @@ fun SearchScreen( onAddEmojiSet: ((String, String) -> Unit)? = null, onRemoveEmojiSet: ((String, String) -> Unit)? = null, isEmojiSetAdded: ((String, String) -> Boolean)? = null, - nip05Repo: com.wisp.app.repo.Nip05Repository? = null + nip05Repo: com.darkwisp.app.repo.Nip05Repository? = null ) { val query by viewModel.query.collectAsState() val filter by viewModel.filter.collectAsState() diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/SocialGraphScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SocialGraphScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/SocialGraphScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/SocialGraphScreen.kt index ce29649..1c1e49a 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/SocialGraphScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SocialGraphScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.activity.compose.BackHandler import androidx.compose.animation.animateContentSize @@ -68,19 +68,19 @@ import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import androidx.compose.ui.res.stringResource -import com.wisp.app.R -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.repo.DiscoveryState -import com.wisp.app.repo.ExtendedNetworkCache -import com.wisp.app.repo.ExtendedNetworkRepository -import com.wisp.app.repo.NetworkStats -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.repo.SocialGraphDb -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.viewmodel.GraphNode -import com.wisp.app.viewmodel.RankedAccount -import com.wisp.app.viewmodel.SocialGraphViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.repo.DiscoveryState +import com.darkwisp.app.repo.ExtendedNetworkCache +import com.darkwisp.app.repo.ExtendedNetworkRepository +import com.darkwisp.app.repo.NetworkStats +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.repo.SocialGraphDb +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.viewmodel.GraphNode +import com.darkwisp.app.viewmodel.RankedAccount +import com.darkwisp.app.viewmodel.SocialGraphViewModel import kotlinx.coroutines.launch import java.text.SimpleDateFormat import kotlin.math.roundToInt @@ -428,7 +428,7 @@ private fun GraphContent( @Composable private fun InteractiveGraphCanvas( nodes: List, - edges: List, + edges: List, profileRepo: ProfileRepository, onNodeTapped: (GraphNode) -> Unit, modifier: Modifier = Modifier diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/SplashScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SplashScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/SplashScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/SplashScreen.kt index deeb652..2195dd3 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/SplashScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/SplashScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -45,9 +45,9 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.res.stringResource import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.viewmodel.LiveMetrics -import com.wisp.app.viewmodel.SplashViewModel +import com.darkwisp.app.R +import com.darkwisp.app.viewmodel.LiveMetrics +import com.darkwisp.app.viewmodel.SplashViewModel private val AVATAR_SIZE = 44.dp private val AVATAR_GAP = 4.dp @@ -171,7 +171,7 @@ fun SplashScreen( } ) Text( - text = "wisp", + text = "dark wisp", style = MaterialTheme.typography.titleLarge.copy( fontFamily = FontFamily.SansSerif, fontSize = 56.sp, diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/ThreadScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ThreadScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/ThreadScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/ThreadScreen.kt index e122827..ba7447f 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/ThreadScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/ThreadScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.layout.WindowInsets import androidx.compose.animation.AnimatedVisibility @@ -30,7 +30,7 @@ import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.ui.res.stringResource -import com.wisp.app.R +import com.darkwisp.app.R import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable @@ -51,18 +51,18 @@ import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.geometry.Offset import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.ui.unit.dp -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.RelayInfoRepository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.ui.component.NoteActions -import com.wisp.app.ui.component.GalleryCard -import com.wisp.app.ui.component.isGalleryEvent -import com.wisp.app.ui.component.PostCard -import com.wisp.app.viewmodel.ThreadViewModel +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.RelayInfoRepository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.ui.component.NoteActions +import com.darkwisp.app.ui.component.GalleryCard +import com.darkwisp.app.ui.component.isGalleryEvent +import com.darkwisp.app.ui.component.PostCard +import com.darkwisp.app.viewmodel.ThreadViewModel import kotlin.math.min import kotlinx.coroutines.launch @@ -105,7 +105,7 @@ fun ThreadScreen( onZapPollVote: (String, Int) -> Unit = { _, _ -> }, onGroupRoom: ((String, String) -> Unit)? = null, onLiveStreamClick: ((String, String, String?) -> Unit)? = null, - fetchGroupPreview: (suspend (String, String) -> com.wisp.app.repo.GroupPreview?)? = null, + fetchGroupPreview: (suspend (String, String) -> com.darkwisp.app.repo.GroupPreview?)? = null, onAddEmojiSet: ((String, String) -> Unit)? = null, onRemoveEmojiSet: ((String, String) -> Unit)? = null, isEmojiSetAdded: ((String, String) -> Boolean)? = null @@ -248,7 +248,7 @@ fun ThreadScreen( } } val translationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } val pollVoteCounts = remember(pollVoteVersion, event.id) { if (event.kind == 1068) eventRepo.getPollVoteCounts(event.id) else emptyMap() @@ -417,7 +417,7 @@ fun ThreadScreen( eventRepo.getEventRelays(event.id).map { url -> url to relayInfoRepo?.getIconUrl(url) } } val translationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } Column { PostCard( diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/UserProfileScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/UserProfileScreen.kt similarity index 97% rename from app/src/main/kotlin/com/wisp/app/ui/screen/UserProfileScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/UserProfileScreen.kt index e3e2cf1..615416b 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/UserProfileScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/UserProfileScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background @@ -40,10 +40,10 @@ import androidx.compose.material.icons.filled.QrCodeScanner import androidx.compose.material.icons.filled.Search import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.outlined.CurrencyBitcoin -import com.wisp.app.nostr.Nip30 -import com.wisp.app.ui.component.Nip05Badge -import com.wisp.app.ui.component.RichContent -import com.wisp.app.ui.component.parseImetaTags +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.ui.component.Nip05Badge +import com.darkwisp.app.ui.component.RichContent +import com.darkwisp.app.ui.component.parseImetaTags import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem @@ -82,34 +82,34 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import com.wisp.app.R -import com.wisp.app.nostr.FollowSet -import com.wisp.app.nostr.Nip02 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.Nip05Status -import com.wisp.app.repo.RelayInfoRepository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.ui.component.FollowButton -import com.wisp.app.ui.component.ContentSegment -import com.wisp.app.ui.component.FullScreenImageViewer -import com.wisp.app.ui.component.GalleryCard -import com.wisp.app.ui.component.isGalleryEvent -import com.wisp.app.ui.component.PostCard -import com.wisp.app.ui.component.parseContent -import com.wisp.app.ui.component.parseImetaTags -import com.wisp.app.ui.component.ProfileQrSheet -import com.wisp.app.ui.component.ProfilePicture -import com.wisp.app.ui.component.RichContent -import com.wisp.app.ui.component.ZapDialog -import com.wisp.app.viewmodel.ProfileSortMode -import com.wisp.app.viewmodel.UserProfileViewModel +import com.darkwisp.app.R +import com.darkwisp.app.nostr.FollowSet +import com.darkwisp.app.nostr.Nip02 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.Nip05Status +import com.darkwisp.app.repo.RelayInfoRepository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.ui.component.FollowButton +import com.darkwisp.app.ui.component.ContentSegment +import com.darkwisp.app.ui.component.FullScreenImageViewer +import com.darkwisp.app.ui.component.GalleryCard +import com.darkwisp.app.ui.component.isGalleryEvent +import com.darkwisp.app.ui.component.PostCard +import com.darkwisp.app.ui.component.parseContent +import com.darkwisp.app.ui.component.parseImetaTags +import com.darkwisp.app.ui.component.ProfileQrSheet +import com.darkwisp.app.ui.component.ProfilePicture +import com.darkwisp.app.ui.component.RichContent +import com.darkwisp.app.ui.component.ZapDialog +import com.darkwisp.app.viewmodel.ProfileSortMode +import com.darkwisp.app.viewmodel.UserProfileViewModel import android.content.ClipData import android.content.ClipboardManager import android.content.Context @@ -171,7 +171,7 @@ fun UserProfileScreen( onAddNoteToList: (String) -> Unit = {}, onSendDm: (() -> Unit)? = null, onZapProfile: ((amountMsats: Long, message: String, isAnonymous: Boolean) -> Unit)? = null, - signer: com.wisp.app.nostr.NostrSigner? = null, + signer: com.darkwisp.app.nostr.NostrSigner? = null, translationRepo: TranslationRepository? = null, onArticleClick: ((Int, String, String) -> Unit)? = null, onPollVote: (String, List) -> Unit = { _, _ -> }, @@ -183,7 +183,7 @@ fun UserProfileScreen( onPayInvoice: (suspend (String) -> Boolean)? = null, onGroupRoom: ((String, String) -> Unit)? = null, onLiveStreamClick: ((String, String, String?) -> Unit)? = null, - fetchGroupPreview: (suspend (String, String) -> com.wisp.app.repo.GroupPreview?)? = null, + fetchGroupPreview: (suspend (String, String) -> com.darkwisp.app.repo.GroupPreview?)? = null, onAddEmojiSet: ((String, String) -> Unit)? = null, onRemoveEmojiSet: ((String, String) -> Unit)? = null, isEmojiSetAdded: ((String, String) -> Boolean)? = null @@ -192,7 +192,7 @@ fun UserProfileScreen( val unicodeEmojisState = rememberUpdatedState(unicodeEmojis) val invoiceNoteActions = remember(onPayInvoice, onGroupRoom, onLiveStreamClick, fetchGroupPreview, onAddEmojiSet, onOpenEmojiLibrary) { if (onPayInvoice != null || onGroupRoom != null || fetchGroupPreview != null || onAddEmojiSet != null || onLiveStreamClick != null || onOpenEmojiLibrary != null) { - com.wisp.app.ui.component.NoteActions( + com.darkwisp.app.ui.component.NoteActions( onPayInvoice = onPayInvoice, onGroupRoom = onGroupRoom, onLiveStreamClick = onLiveStreamClick, @@ -400,7 +400,7 @@ fun UserProfileScreen( } if (fullScreenMediaVideoUrl != null) { - com.wisp.app.ui.component.FullScreenVideoPlayer( + com.darkwisp.app.ui.component.FullScreenVideoPlayer( videoUrl = fullScreenMediaVideoUrl!!, onDismiss = { fullScreenMediaVideoUrl = null } ) @@ -642,7 +642,7 @@ fun UserProfileScreen( items(items = pinnedEvents, key = { "pinned-${it.id}" }) { event -> val eventProfile = eventRepo?.getProfileData(event.pubkey) val pinnedTranslationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } val pinnedPollVoteCounts = remember(pollVoteVersion, event.id) { if (event.kind == 1068) eventRepo?.getPollVoteCounts(event.id) ?: emptyMap() else emptyMap() @@ -744,7 +744,7 @@ fun UserProfileScreen( val hasUserZapped = zapVersion.let { eventRepo?.hasUserZapped(event.id) == true } val eventReactionEmojiUrls = reactionVersion.let { eventRepo?.getReactionEmojiUrls(event.id) ?: emptyMap() } val rootTranslationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } val rootPollVoteCounts = remember(pollVoteVersion, event.id) { if (event.kind == 1068) eventRepo?.getPollVoteCounts(event.id) ?: emptyMap() else emptyMap() @@ -838,8 +838,8 @@ fun UserProfileScreen( ) { for (event in row) { val firstMedia = remember(event.id) { - val img = com.wisp.app.nostr.Nip68.parseImetaEntries(event).firstOrNull() - val vid = com.wisp.app.nostr.Nip71.parseVideoMeta(event).firstOrNull() + val img = com.darkwisp.app.nostr.Nip68.parseImetaEntries(event).firstOrNull() + val vid = com.darkwisp.app.nostr.Nip71.parseVideoMeta(event).firstOrNull() Triple(img?.url ?: vid?.thumbnailUrl, vid != null && img == null, event) } Box( @@ -928,7 +928,7 @@ fun UserProfileScreen( val hasUserZapped2 = zapVersion.let { eventRepo?.hasUserZapped(event.id) == true } val eventReactionEmojiUrls2 = reactionVersion.let { eventRepo?.getReactionEmojiUrls(event.id) ?: emptyMap() } val replyTranslationState = remember(translationVersion, event.id) { - translationRepo?.getState(event.id) ?: com.wisp.app.repo.TranslationState() + translationRepo?.getState(event.id) ?: com.darkwisp.app.repo.TranslationState() } val replyPollVoteCounts = remember(pollVoteVersion, event.id) { if (event.kind == 1068) eventRepo?.getPollVoteCounts(event.id) ?: emptyMap() else emptyMap() @@ -1071,7 +1071,7 @@ fun UserProfileScreen( } else { items(items = groups, key = { "${it.relayUrl}|${it.groupId}" }) { entry -> Box(modifier = Modifier.padding(horizontal = 12.dp)) { - com.wisp.app.ui.component.GroupCard( + com.darkwisp.app.ui.component.GroupCard( relayUrl = entry.relayUrl, groupId = entry.groupId, onClick = if (onGroupRoom != null) { @@ -1193,7 +1193,7 @@ private fun ProfileHeader( } } if (profile?.lud16 != null && onZapClick != null) { - val useZapBolt = com.wisp.app.ui.util.useBoltIcon() + val useZapBolt = com.darkwisp.app.ui.util.useBoltIcon() IconButton(onClick = onZapClick) { if (useZapBolt) { Icon( @@ -1280,7 +1280,7 @@ private fun ProfileHeader( Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show() } ) { - val useBoltIcon = com.wisp.app.ui.util.useBoltIcon() + val useBoltIcon = com.darkwisp.app.ui.util.useBoltIcon() if (useBoltIcon) { Icon( painter = painterResource(R.drawable.ic_bolt), diff --git a/app/src/main/kotlin/com/wisp/app/ui/screen/WalletScreen.kt b/app/src/main/kotlin/com/darkwisp/app/ui/screen/WalletScreen.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/screen/WalletScreen.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/screen/WalletScreen.kt index 92546e7..435757d 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/screen/WalletScreen.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/screen/WalletScreen.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.screen +package com.darkwisp.app.ui.screen import android.Manifest import android.content.ClipData @@ -127,24 +127,24 @@ import com.google.mlkit.vision.barcode.common.Barcode import com.google.mlkit.vision.common.InputImage import com.google.zxing.BarcodeFormat import com.google.zxing.qrcode.QRCodeWriter -import com.wisp.app.BuildConfig -import com.wisp.app.R -import com.wisp.app.repo.BalanceUnit -import com.wisp.app.repo.FiatPreferences -import com.wisp.app.repo.WalletMode -import com.wisp.app.repo.WalletTransaction -import com.wisp.app.ui.component.SatsNumpad -import com.wisp.app.ui.util.AmountFormatter -import com.wisp.app.viewmodel.AutoCheckState -import com.wisp.app.viewmodel.FeeState -import com.wisp.app.viewmodel.BackupStatus -import com.wisp.app.viewmodel.DeleteBackupStatus -import com.wisp.app.viewmodel.RelayBackupInfo -import com.wisp.app.viewmodel.BackupEntry -import com.wisp.app.viewmodel.RestoreFromRelayStatus -import com.wisp.app.viewmodel.WalletPage -import com.wisp.app.viewmodel.WalletState -import com.wisp.app.viewmodel.WalletViewModel +import com.darkwisp.app.BuildConfig +import com.darkwisp.app.R +import com.darkwisp.app.repo.BalanceUnit +import com.darkwisp.app.repo.FiatPreferences +import com.darkwisp.app.repo.WalletMode +import com.darkwisp.app.repo.WalletTransaction +import com.darkwisp.app.ui.component.SatsNumpad +import com.darkwisp.app.ui.util.AmountFormatter +import com.darkwisp.app.viewmodel.AutoCheckState +import com.darkwisp.app.viewmodel.FeeState +import com.darkwisp.app.viewmodel.BackupStatus +import com.darkwisp.app.viewmodel.DeleteBackupStatus +import com.darkwisp.app.viewmodel.RelayBackupInfo +import com.darkwisp.app.viewmodel.BackupEntry +import com.darkwisp.app.viewmodel.RestoreFromRelayStatus +import com.darkwisp.app.viewmodel.WalletPage +import com.darkwisp.app.viewmodel.WalletState +import com.darkwisp.app.viewmodel.WalletViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -1216,7 +1216,7 @@ private fun ScanQRContent( Spacer(Modifier.height(16.dp)) - com.wisp.app.ui.component.QrScanner( + com.darkwisp.app.ui.component.QrScanner( onResult = { value -> val cleaned = value .removePrefix("lightning:") @@ -1572,11 +1572,11 @@ private fun ReceiveAmountContent( val fiatPrefs = remember { FiatPreferences.get(receiveCtx) } val fiatMode by fiatPrefs.fiatMode.collectAsState() val fiatCurrency by fiatPrefs.currency.collectAsState() - val currency = remember(fiatCurrency) { com.wisp.app.repo.ExchangeRateRepository.currencyFor(fiatCurrency) } + val currency = remember(fiatCurrency) { com.darkwisp.app.repo.ExchangeRateRepository.currencyFor(fiatCurrency) } val fiatValue = if (fiatMode) amount.toDoubleOrNull() ?: 0.0 else 0.0 val fiatSats = if (fiatMode && fiatValue > 0.0) { - val btcPrice = com.wisp.app.repo.ExchangeRateRepository.rates.collectAsState().value[fiatCurrency.uppercase()] + val btcPrice = com.darkwisp.app.repo.ExchangeRateRepository.rates.collectAsState().value[fiatCurrency.uppercase()] if (btcPrice != null && btcPrice > 0.0) { ((fiatValue / btcPrice) * 100_000_000.0).toLong() } else null @@ -1916,7 +1916,7 @@ private fun TransactionHistoryContent( isLoadingMore: Boolean = false, hasMore: Boolean = false, onLoadMore: () -> Unit = {}, - profileLookup: (String) -> com.wisp.app.nostr.ProfileData?, + profileLookup: (String) -> com.darkwisp.app.nostr.ProfileData?, profileRefreshKey: Int = 0, modifier: Modifier = Modifier ) { @@ -2010,7 +2010,7 @@ private fun TransactionHistoryContent( @Composable private fun TransactionRow( tx: WalletTransaction, - profileLookup: (String) -> com.wisp.app.nostr.ProfileData? + profileLookup: (String) -> com.darkwisp.app.nostr.ProfileData? ) { val isIncoming = tx.type == "incoming" val amountSats = tx.amountMsats / 1000 diff --git a/app/src/main/kotlin/com/wisp/app/ui/theme/Theme.kt b/app/src/main/kotlin/com/darkwisp/app/ui/theme/Theme.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/theme/Theme.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/theme/Theme.kt index 2ce58a4..d43db1e 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/theme/Theme.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.theme +package com.darkwisp.app.ui.theme import androidx.compose.material3.MaterialTheme import androidx.compose.material3.SwitchColors diff --git a/app/src/main/kotlin/com/wisp/app/ui/theme/Themes.kt b/app/src/main/kotlin/com/darkwisp/app/ui/theme/Themes.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/theme/Themes.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/theme/Themes.kt index 900d5de..5cce0a1 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/theme/Themes.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/theme/Themes.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.theme +package com.darkwisp.app.ui.theme import androidx.compose.ui.graphics.Color diff --git a/app/src/main/kotlin/com/wisp/app/ui/util/AmountFormatter.kt b/app/src/main/kotlin/com/darkwisp/app/ui/util/AmountFormatter.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/ui/util/AmountFormatter.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/util/AmountFormatter.kt index 049c406..6c39ac6 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/util/AmountFormatter.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/util/AmountFormatter.kt @@ -1,10 +1,10 @@ -package com.wisp.app.ui.util +package com.darkwisp.app.ui.util import android.content.Context -import com.wisp.app.R -import com.wisp.app.repo.ExchangeRateRepository -import com.wisp.app.repo.FiatCurrency -import com.wisp.app.repo.FiatPreferences +import com.darkwisp.app.R +import com.darkwisp.app.repo.ExchangeRateRepository +import com.darkwisp.app.repo.FiatCurrency +import com.darkwisp.app.repo.FiatPreferences import java.text.DecimalFormat import java.text.DecimalFormatSymbols import java.util.Locale diff --git a/app/src/main/kotlin/com/wisp/app/ui/util/GifToMp4Converter.kt b/app/src/main/kotlin/com/darkwisp/app/ui/util/GifToMp4Converter.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/util/GifToMp4Converter.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/util/GifToMp4Converter.kt index 268997c..edc5e49 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/util/GifToMp4Converter.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/util/GifToMp4Converter.kt @@ -1,6 +1,6 @@ @file:Suppress("DEPRECATION") // android.graphics.Movie is the only public GIF-frame API -package com.wisp.app.ui.util +package com.darkwisp.app.ui.util import android.content.Context import android.graphics.Bitmap diff --git a/app/src/main/kotlin/com/wisp/app/ui/util/MediaCompressor.kt b/app/src/main/kotlin/com/darkwisp/app/ui/util/MediaCompressor.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/ui/util/MediaCompressor.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/util/MediaCompressor.kt index 61a853c..2e30984 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/util/MediaCompressor.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/util/MediaCompressor.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.util +package com.darkwisp.app.ui.util import android.graphics.Bitmap import android.graphics.BitmapFactory diff --git a/app/src/main/kotlin/com/wisp/app/ui/util/ZapIconHelper.kt b/app/src/main/kotlin/com/darkwisp/app/ui/util/ZapIconHelper.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/ui/util/ZapIconHelper.kt rename to app/src/main/kotlin/com/darkwisp/app/ui/util/ZapIconHelper.kt index df6d98a..a61f3dd 100644 --- a/app/src/main/kotlin/com/wisp/app/ui/util/ZapIconHelper.kt +++ b/app/src/main/kotlin/com/darkwisp/app/ui/util/ZapIconHelper.kt @@ -1,4 +1,4 @@ -package com.wisp.app.ui.util +package com.darkwisp.app.ui.util import android.content.Context import androidx.compose.runtime.Composable @@ -6,7 +6,7 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext -import com.wisp.app.repo.FiatPreferences +import com.darkwisp.app.repo.FiatPreferences /** * True when the lightning-bolt drawable should be used in place of the Bitcoin diff --git a/app/src/main/kotlin/com/wisp/app/util/BlurHashDecoder.kt b/app/src/main/kotlin/com/darkwisp/app/util/BlurHashDecoder.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/util/BlurHashDecoder.kt rename to app/src/main/kotlin/com/darkwisp/app/util/BlurHashDecoder.kt index 23696d7..bba398c 100644 --- a/app/src/main/kotlin/com/wisp/app/util/BlurHashDecoder.kt +++ b/app/src/main/kotlin/com/darkwisp/app/util/BlurHashDecoder.kt @@ -1,4 +1,4 @@ -package com.wisp.app.util +package com.darkwisp.app.util import android.graphics.Bitmap import android.graphics.Color diff --git a/app/src/main/kotlin/com/wisp/app/util/MediaDownloader.kt b/app/src/main/kotlin/com/darkwisp/app/util/MediaDownloader.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/util/MediaDownloader.kt rename to app/src/main/kotlin/com/darkwisp/app/util/MediaDownloader.kt index 33d9c31..4dc26e5 100644 --- a/app/src/main/kotlin/com/wisp/app/util/MediaDownloader.kt +++ b/app/src/main/kotlin/com/darkwisp/app/util/MediaDownloader.kt @@ -1,4 +1,4 @@ -package com.wisp.app.util +package com.darkwisp.app.util import android.content.ContentValues import android.content.Context @@ -26,7 +26,7 @@ object MediaDownloader { ) private val httpClient - get() = com.wisp.app.relay.HttpClientFactory.getDownloadClient() + get() = com.darkwisp.app.relay.HttpClientFactory.getDownloadClient() suspend fun downloadMedia(context: Context, url: String) { try { diff --git a/app/src/main/kotlin/com/wisp/app/util/MediaHashDecoder.kt b/app/src/main/kotlin/com/darkwisp/app/util/MediaHashDecoder.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/util/MediaHashDecoder.kt rename to app/src/main/kotlin/com/darkwisp/app/util/MediaHashDecoder.kt index 420e8ac..40cf53b 100644 --- a/app/src/main/kotlin/com/wisp/app/util/MediaHashDecoder.kt +++ b/app/src/main/kotlin/com/darkwisp/app/util/MediaHashDecoder.kt @@ -1,4 +1,4 @@ -package com.wisp.app.util +package com.darkwisp.app.util import android.graphics.Bitmap import android.graphics.Color diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/ArticleViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ArticleViewModel.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/viewmodel/ArticleViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/ArticleViewModel.kt index 7e5f5ca..958ba46 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/ArticleViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ArticleViewModel.kt @@ -1,19 +1,19 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.MetadataFetcher -import com.wisp.app.repo.RelayHintStore -import com.wisp.app.repo.RelayListRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.MetadataFetcher +import com.darkwisp.app.repo.RelayHintStore +import com.darkwisp.app.repo.RelayListRepository import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/AuthViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/AuthViewModel.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/viewmodel/AuthViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/AuthViewModel.kt index e06c1c9..97ae156 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/AuthViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/AuthViewModel.kt @@ -1,15 +1,15 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel -import com.wisp.app.nostr.Keys -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.nostr.toHex -import com.wisp.app.repo.AccountInfo -import com.wisp.app.repo.FiatPreferences -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.SigningMode +import com.darkwisp.app.nostr.Keys +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.repo.AccountInfo +import com.darkwisp.app.repo.FiatPreferences +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.SigningMode import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/BlossomServersViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/BlossomServersViewModel.kt similarity index 87% rename from app/src/main/kotlin/com/wisp/app/viewmodel/BlossomServersViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/BlossomServersViewModel.kt index 3ed7bec..4ddbcf0 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/BlossomServersViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/BlossomServersViewModel.kt @@ -1,17 +1,17 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.Blossom -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.LocalSigner -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.RelayPool -import com.wisp.app.nostr.toHex -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.KeyRepository +import com.darkwisp.app.nostr.Blossom +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.LocalSigner +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.KeyRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/CommunityViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/CommunityViewModel.kt similarity index 91% rename from app/src/main/kotlin/com/wisp/app/viewmodel/CommunityViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/CommunityViewModel.kt index 67a8dfc..bd6a490 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/CommunityViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/CommunityViewModel.kt @@ -1,18 +1,18 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.ProfileData -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.MetadataFetcher -import com.wisp.app.repo.ProfileRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.MetadataFetcher +import com.darkwisp.app.repo.ProfileRepository import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/ComposeViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ComposeViewModel.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/viewmodel/ComposeViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/ComposeViewModel.kt index 88417e5..c8f9490 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/ComposeViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ComposeViewModel.kt @@ -1,4 +1,4 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.content.ContentResolver @@ -13,33 +13,33 @@ import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope import com.madebyevan.thumbhash.ThumbHash -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Keys -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip18 -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip37 -import com.wisp.app.nostr.Nip68 -import com.wisp.app.nostr.Nip71 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.MentionCandidate -import com.wisp.app.repo.MentionSearchRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.InterfacePreferences -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.R -import com.wisp.app.ui.util.GifToMp4Converter -import com.wisp.app.ui.util.MediaCompressor +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Keys +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip18 +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip37 +import com.darkwisp.app.nostr.Nip68 +import com.darkwisp.app.nostr.Nip71 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.MentionCandidate +import com.darkwisp.app.repo.MentionSearchRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.InterfacePreferences +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.R +import com.darkwisp.app.ui.util.GifToMp4Converter +import com.darkwisp.app.ui.util.MediaCompressor import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.delay @@ -123,7 +123,7 @@ class ComposeViewModel(app: Application, private val savedStateHandle: SavedStat _powEnabled.value = enabled } - fun togglePow(powPrefs: com.wisp.app.repo.PowPreferences) { + fun togglePow(powPrefs: com.darkwisp.app.repo.PowPreferences) { val newValue = !_powEnabled.value _powEnabled.value = newValue powPrefs.setNotePowEnabled(newValue) @@ -241,7 +241,7 @@ class ComposeViewModel(app: Application, private val savedStateHandle: SavedStat var currentDraftId: String? = null private set - fun init(profileRepo: ProfileRepository, contactRepo: ContactRepository, relayPool: RelayPool, eventRepo: EventRepository? = null, eventPersistence: com.wisp.app.db.EventPersistence? = null) { + fun init(profileRepo: ProfileRepository, contactRepo: ContactRepository, relayPool: RelayPool, eventRepo: EventRepository? = null, eventPersistence: com.darkwisp.app.db.EventPersistence? = null) { if (initialized) return initialized = true this.eventRepo = eventRepo @@ -731,7 +731,7 @@ class ComposeViewModel(app: Application, private val savedStateHandle: SavedStat tags.addAll(Nip30.buildEmojiTagsForContent(content, resolvedEmojis)) if (interfacePrefs.isClientTagEnabled()) { - tags.add(listOf("client", "Wisp")) + tags.add(listOf("client", "Dark Wisp")) } // Scheduled post — sign with future created_at and send to scheduler relays @@ -880,9 +880,9 @@ class ComposeViewModel(app: Application, private val savedStateHandle: SavedStat val bech32 = match.groupValues[1] try { when (val data = Nip19.decodeNostrUri("nostr:$bech32")) { - is com.wisp.app.nostr.NostrUriData.ProfileRef -> pubkeys.add(data.pubkey) - is com.wisp.app.nostr.NostrUriData.NoteRef -> eventIds.add(data.eventId) - is com.wisp.app.nostr.NostrUriData.AddressRef -> {} + is com.darkwisp.app.nostr.NostrUriData.ProfileRef -> pubkeys.add(data.pubkey) + is com.darkwisp.app.nostr.NostrUriData.NoteRef -> eventIds.add(data.eventId) + is com.darkwisp.app.nostr.NostrUriData.AddressRef -> {} null -> {} } } catch (_: Exception) {} diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/ConsoleViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ConsoleViewModel.kt similarity index 81% rename from app/src/main/kotlin/com/wisp/app/viewmodel/ConsoleViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/ConsoleViewModel.kt index e6eee4b..8e00018 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/ConsoleViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ConsoleViewModel.kt @@ -1,8 +1,8 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import androidx.lifecycle.ViewModel -import com.wisp.app.relay.ConsoleLogEntry -import com.wisp.app.relay.RelayPool +import com.darkwisp.app.relay.ConsoleLogEntry +import com.darkwisp.app.relay.RelayPool import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/DmConversationViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/DmConversationViewModel.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/viewmodel/DmConversationViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/DmConversationViewModel.kt index ca38b80..00011cf 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/DmConversationViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/DmConversationViewModel.kt @@ -1,4 +1,4 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.content.ContentResolver import android.net.Uri @@ -8,30 +8,30 @@ import android.webkit.MimeTypeMap import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope import android.graphics.BitmapFactory -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.DmMessage -import com.wisp.app.nostr.DmReaction -import com.wisp.app.nostr.EncryptedMedia -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip13 -import com.wisp.app.nostr.Nip17 -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.SignerCancelledException -import com.wisp.app.repo.MuteRepository -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayEvent -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.DmRepository -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.PowPreferences -import com.wisp.app.repo.RelayListRepository -import com.wisp.app.ui.util.GifToMp4Converter -import com.wisp.app.ui.util.MediaCompressor +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.DmMessage +import com.darkwisp.app.nostr.DmReaction +import com.darkwisp.app.nostr.EncryptedMedia +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip13 +import com.darkwisp.app.nostr.Nip17 +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.SignerCancelledException +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayEvent +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.DmRepository +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.PowPreferences +import com.darkwisp.app.repo.RelayListRepository +import com.darkwisp.app.ui.util.GifToMp4Converter +import com.darkwisp.app.ui.util.MediaCompressor import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -247,7 +247,7 @@ class DmConversationViewModel(app: Application) : AndroidViewModel(app) { val convKey = DmRepository.conversationKey(pList + myPubkey) val emojiContent = rumor.content.trim() val emojiUrl = if (emojiContent.startsWith(":") && emojiContent.endsWith(":")) { - com.wisp.app.nostr.Nip30.parseEmojiTags(rumor.tags)[emojiContent.removeSurrounding(":")] + com.darkwisp.app.nostr.Nip30.parseEmojiTags(rumor.tags)[emojiContent.removeSurrounding(":")] } else null repo.addReaction(convKey, targetId, DmReaction(rumor.pubkey, emojiContent, rumor.createdAt, emojiUrl)) continue @@ -259,9 +259,9 @@ class DmConversationViewModel(app: Application) : AndroidViewModel(app) { val convKey = DmRepository.conversationKey(pList + myPubkey) val replyToId = rumor.tags.firstOrNull { it.size >= 2 && it[0] == "e" && it.any { v -> v == "reply" } }?.get(1) val rumorId = Nip17.computeRumorId(rumor) - val emojiMap = com.wisp.app.nostr.Nip30.parseEmojiTags(rumor.tags) + val emojiMap = com.darkwisp.app.nostr.Nip30.parseEmojiTags(rumor.tags) val fileMetadata = if (Nip17.isFileMessage(rumor)) { - com.wisp.app.nostr.EncryptedMedia.parseKind15Tags(rumor.tags, rumor.content) + com.darkwisp.app.nostr.EncryptedMedia.parseKind15Tags(rumor.tags, rumor.content) } else null val msg = DmMessage( id = "${wrap.event.id}:${rumor.createdAt}", @@ -690,7 +690,7 @@ class DmConversationViewModel(app: Application) : AndroidViewModel(app) { _miningStatus.value = PowStatus.Mining(1059, 0, dmDifficulty) } - val emojiTags = com.wisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) + val emojiTags = com.darkwisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) val combinedTags = replyTags + allParticipantTags + emojiTags // Fix rumorId consistency: compute timestamp before any wraps so all recipients @@ -753,7 +753,7 @@ class DmConversationViewModel(app: Application) : AndroidViewModel(app) { relayPool.sendToWriteRelays(selfMsg) } - val sentEmojiMap = com.wisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) + val sentEmojiMap = com.darkwisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) .associate { it[1] to it[2] } val dmMsg = DmMessage( id = "${selfWrap.id}:$rumorCreatedAt", @@ -795,7 +795,7 @@ class DmConversationViewModel(app: Application) : AndroidViewModel(app) { viewModelScope.launch(Dispatchers.Default) { try { val senderPubkeyHex = keypair.pubkey.toHex() - val emojiTags2 = com.wisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) + val emojiTags2 = com.darkwisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) val combinedTags = replyTags + allParticipantTags + emojiTags2 val recipientDmRelays = fetchRecipientDmRelays(relayPool) @@ -869,7 +869,7 @@ class DmConversationViewModel(app: Application) : AndroidViewModel(app) { relayPool.sendToWriteRelays(selfMsg) } - val sentEmojiMap = com.wisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) + val sentEmojiMap = com.darkwisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis) .associate { it[1] to it[2] } val dmMsg = DmMessage( id = "${selfWrap.id}:$rumorCreatedAt", diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/DmListViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/DmListViewModel.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/viewmodel/DmListViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/DmListViewModel.kt index c923227..649e90d 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/DmListViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/DmListViewModel.kt @@ -1,20 +1,20 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.DmConversation -import com.wisp.app.nostr.DmMessage -import com.wisp.app.nostr.DmReaction -import com.wisp.app.nostr.EncryptedMedia -import com.wisp.app.nostr.Nip17 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.toHex -import com.wisp.app.repo.DmRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.SigningMode -import com.wisp.app.repo.MuteRepository +import com.darkwisp.app.nostr.DmConversation +import com.darkwisp.app.nostr.DmMessage +import com.darkwisp.app.nostr.DmReaction +import com.darkwisp.app.nostr.EncryptedMedia +import com.darkwisp.app.nostr.Nip17 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.repo.DmRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.SigningMode +import com.darkwisp.app.repo.MuteRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/DraftsViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/DraftsViewModel.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/viewmodel/DraftsViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/DraftsViewModel.kt index 8d8b509..364dc79 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/DraftsViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/DraftsViewModel.kt @@ -1,16 +1,16 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip09 -import com.wisp.app.nostr.Nip37 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.DeletedEventsRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip09 +import com.darkwisp.app.nostr.Nip37 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.DeletedEventsRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.delay diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/EventRouter.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/EventRouter.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/viewmodel/EventRouter.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/EventRouter.kt index dbb4f35..0254cf1 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/EventRouter.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/EventRouter.kt @@ -1,48 +1,48 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.util.Log -import com.wisp.app.nostr.Blossom -import com.wisp.app.nostr.DmMessage -import com.wisp.app.nostr.DmReaction -import com.wisp.app.nostr.EncryptedMedia -import com.wisp.app.nostr.DmZap -import com.wisp.app.nostr.Nip09 -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip17 -import com.wisp.app.nostr.Nip53 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.nostr.Nip65 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayScoreBoard -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.BookmarkRepository -import com.wisp.app.repo.BookmarkSetRepository -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.CustomEmojiRepository -import com.wisp.app.repo.DmRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.ExtendedNetworkRepository -import com.wisp.app.repo.InterestRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.ListRepository -import com.wisp.app.repo.MetadataFetcher -import com.wisp.app.repo.MuteRepository -import com.wisp.app.repo.NotificationRepository -import com.wisp.app.repo.PinRepository -import com.wisp.app.repo.DiagnosticLogger -import com.wisp.app.repo.GroupRepository -import com.wisp.app.repo.LiveStreamRepository -import com.wisp.app.repo.RelayHintStore -import com.wisp.app.repo.RelayListRepository -import com.wisp.app.repo.RelaySetRepository -import com.wisp.app.repo.SigningMode +import com.darkwisp.app.nostr.Blossom +import com.darkwisp.app.nostr.DmMessage +import com.darkwisp.app.nostr.DmReaction +import com.darkwisp.app.nostr.EncryptedMedia +import com.darkwisp.app.nostr.DmZap +import com.darkwisp.app.nostr.Nip09 +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip17 +import com.darkwisp.app.nostr.Nip53 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.nostr.Nip65 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayScoreBoard +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.BookmarkRepository +import com.darkwisp.app.repo.BookmarkSetRepository +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.CustomEmojiRepository +import com.darkwisp.app.repo.DmRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.ExtendedNetworkRepository +import com.darkwisp.app.repo.InterestRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.ListRepository +import com.darkwisp.app.repo.MetadataFetcher +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.repo.NotificationRepository +import com.darkwisp.app.repo.PinRepository +import com.darkwisp.app.repo.DiagnosticLogger +import com.darkwisp.app.repo.GroupRepository +import com.darkwisp.app.repo.LiveStreamRepository +import com.darkwisp.app.repo.RelayHintStore +import com.darkwisp.app.repo.RelayListRepository +import com.darkwisp.app.repo.RelaySetRepository +import com.darkwisp.app.repo.SigningMode import java.util.concurrent.ConcurrentHashMap /** diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/FeedRow.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedRow.kt similarity index 91% rename from app/src/main/kotlin/com/wisp/app/viewmodel/FeedRow.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedRow.kt index f07fede..ffc094a 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/FeedRow.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedRow.kt @@ -1,6 +1,6 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel -import com.wisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrEvent sealed interface FeedRow { data class Event(val event: NostrEvent) : FeedRow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/FeedSubscriptionManager.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedSubscriptionManager.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/viewmodel/FeedSubscriptionManager.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedSubscriptionManager.kt index 9075071..11e97bb 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/FeedSubscriptionManager.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedSubscriptionManager.kt @@ -1,31 +1,31 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.content.SharedPreferences import android.util.Log -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.relay.ConsoleLogType -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayHealthTracker -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayScoreBoard -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.ExtendedNetworkRepository -import com.wisp.app.repo.InterestRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.ListRepository -import com.wisp.app.repo.MetadataFetcher -import com.wisp.app.repo.NotificationRepository -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.Nip69 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.nostr.RelaySet +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.relay.ConsoleLogType +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayHealthTracker +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayScoreBoard +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.ExtendedNetworkRepository +import com.darkwisp.app.repo.InterestRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.ListRepository +import com.darkwisp.app.repo.MetadataFetcher +import com.darkwisp.app.repo.NotificationRepository +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.Nip69 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.nostr.RelaySet import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.delay diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/FeedViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedViewModel.kt similarity index 88% rename from app/src/main/kotlin/com/wisp/app/viewmodel/FeedViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedViewModel.kt index 5008a32..35c32bd 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/FeedViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/FeedViewModel.kt @@ -1,65 +1,65 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.util.Log import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.HttpClientFactory -import com.wisp.app.relay.Relay -import com.wisp.app.relay.RelayLifecycleManager -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayHealthTracker -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayScoreBoard -import com.wisp.app.relay.ScoredRelay -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.BookmarkRepository -import com.wisp.app.repo.BookmarkSetRepository -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.DmRepository -import com.wisp.app.repo.GroupRepository -import com.wisp.app.db.EventPersistence -import com.wisp.app.db.WispObjectBox -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.ExtendedNetworkRepository -import com.wisp.app.repo.SocialGraphDb -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.InterestRepository -import com.wisp.app.repo.ListRepository -import com.wisp.app.repo.MetadataFetcher -import com.wisp.app.repo.DeletedEventsRepository -import com.wisp.app.repo.LiveStreamRepository -import com.wisp.app.repo.MuteRepository -import com.wisp.app.repo.NotificationRepository -import com.wisp.app.repo.PinRepository -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.repo.NwcRepository -import com.wisp.app.repo.SparkRepository -import com.wisp.app.repo.WalletMode -import com.wisp.app.repo.WalletModeRepository -import com.wisp.app.repo.WalletProvider -import com.wisp.app.repo.CustomEmojiRepository -import com.wisp.app.repo.InterfacePreferences -import com.wisp.app.repo.PowPreferences -import com.wisp.app.repo.SafetyPreferences -import com.wisp.app.repo.ZapPreferences -import com.wisp.app.repo.RelayHintStore -import com.wisp.app.repo.RelayInfoRepository -import com.wisp.app.repo.TranslationRepository -import com.wisp.app.repo.RelayListRepository -import com.wisp.app.repo.RelaySetRepository -import com.wisp.app.repo.ZapSender +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.HttpClientFactory +import com.darkwisp.app.relay.Relay +import com.darkwisp.app.relay.RelayLifecycleManager +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayHealthTracker +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayScoreBoard +import com.darkwisp.app.relay.ScoredRelay +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.BookmarkRepository +import com.darkwisp.app.repo.BookmarkSetRepository +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.DmRepository +import com.darkwisp.app.repo.GroupRepository +import com.darkwisp.app.db.EventPersistence +import com.darkwisp.app.db.WispObjectBox +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.ExtendedNetworkRepository +import com.darkwisp.app.repo.SocialGraphDb +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.InterestRepository +import com.darkwisp.app.repo.ListRepository +import com.darkwisp.app.repo.MetadataFetcher +import com.darkwisp.app.repo.DeletedEventsRepository +import com.darkwisp.app.repo.LiveStreamRepository +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.repo.NotificationRepository +import com.darkwisp.app.repo.PinRepository +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.repo.NwcRepository +import com.darkwisp.app.repo.SparkRepository +import com.darkwisp.app.repo.WalletMode +import com.darkwisp.app.repo.WalletModeRepository +import com.darkwisp.app.repo.WalletProvider +import com.darkwisp.app.repo.CustomEmojiRepository +import com.darkwisp.app.repo.InterfacePreferences +import com.darkwisp.app.repo.PowPreferences +import com.darkwisp.app.repo.SafetyPreferences +import com.darkwisp.app.repo.ZapPreferences +import com.darkwisp.app.repo.RelayHintStore +import com.darkwisp.app.repo.RelayInfoRepository +import com.darkwisp.app.repo.TranslationRepository +import com.darkwisp.app.repo.RelayListRepository +import com.darkwisp.app.repo.RelaySetRepository +import com.darkwisp.app.repo.ZapSender import kotlinx.coroutines.Dispatchers -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.RelaySet +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.RelaySet import android.content.Context -import com.wisp.app.nostr.Filter +import com.darkwisp.app.nostr.Filter import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject @@ -174,8 +174,8 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { val eventPersistence: EventPersistence? = if (WispObjectBox.isInitialized) { EventPersistence(pubkeyHex) } else null - val dmPersistence: com.wisp.app.db.DmPersistence? = if (WispObjectBox.isInitialized) { - com.wisp.app.db.DmPersistence() + val dmPersistence: com.darkwisp.app.db.DmPersistence? = if (WispObjectBox.isInitialized) { + com.darkwisp.app.db.DmPersistence() } else null val eventRepo = EventRepository(profileRepo, muteRepo, relayHintStore).also { it.currentUserPubkey = pubkeyHex @@ -224,9 +224,9 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { app, contactRepo, muteRepo, relayListRepo, relayPool, subManager, relayScoreBoard, pubkeyHex, socialGraphDb ) val safetyPrefs = SafetyPreferences(app, pubkeyHex) - val spamAuthorCache = com.wisp.app.repo.SpamAuthorCache() + val spamAuthorCache = com.darkwisp.app.repo.SpamAuthorCache() @Volatile - var nspamClassifier: com.wisp.app.ml.NSpamClassifier? = null + var nspamClassifier: com.darkwisp.app.ml.NSpamClassifier? = null private set init { @@ -238,8 +238,8 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { notifRepo.extendedNetworkRepo = extendedNetworkRepo viewModelScope.launch(Dispatchers.Default) { nspamClassifier = try { - val weights = com.wisp.app.ml.NSpamWeights.loadFromAssets(app) - com.wisp.app.ml.NSpamClassifier(weights) + val weights = com.darkwisp.app.ml.NSpamWeights.loadFromAssets(app) + com.darkwisp.app.ml.NSpamClassifier(weights) } catch (e: Exception) { Log.e("FeedVM", "Failed to load nspam weights", e) null @@ -359,7 +359,7 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { if (type == FeedType.RELAY || type == FeedType.TRENDING) relay else main }.stateIn(viewModelScope, SharingStarted.Eagerly, emptyList()) - val liveNowStreams: StateFlow> = liveStreamRepo.liveStreams + val liveNowStreams: StateFlow> = liveStreamRepo.liveStreams .map { streams -> streams.values .filter { it.chatters.isNotEmpty() } @@ -399,10 +399,10 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { val trendingMetric: StateFlow = feedSub.trendingMetric val trendingTimeframe: StateFlow = feedSub.trendingTimeframe val trendingMode: StateFlow = feedSub.trendingMode - val trendingUsers: StateFlow> = feedSub.trendingUsers + val trendingUsers: StateFlow> = feedSub.trendingUsers val trendingUsersLoading: StateFlow = feedSub.trendingUsersLoading val feedContentFilter: StateFlow = feedSub.feedContentFilter - val selectedList: StateFlow = listRepo.selectedList + val selectedList: StateFlow = listRepo.selectedList val zapInProgress: StateFlow> = socialActions.zapInProgress val zapSuccess: SharedFlow = socialActions.zapSuccess val zapError: SharedFlow = socialActions.zapError @@ -551,8 +551,8 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { val missing = ids.filter { eventRepo.getEvent(it) == null } if (missing.isEmpty()) return val subId = "fetch-bookmarks" - val filter = com.wisp.app.nostr.Filter(ids = missing) - relayPool.sendToTopRelays(com.wisp.app.nostr.ClientMessage.req(subId, filter)) + val filter = com.darkwisp.app.nostr.Filter(ids = missing) + relayPool.sendToTopRelays(com.darkwisp.app.nostr.ClientMessage.req(subId, filter)) viewModelScope.launch { subManager.awaitEoseWithTimeout(subId) subManager.closeSubscription(subId) @@ -579,10 +579,10 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { publishBookmarkList(s) } - private fun publishBookmarkList(s: com.wisp.app.nostr.NostrSigner) { + private fun publishBookmarkList(s: com.darkwisp.app.nostr.NostrSigner) { val ids = bookmarkRepo.getBookmarkedIds() val hints = eventRepo.getRelayHintsForEvents(ids) - val tags = com.wisp.app.nostr.Nip51.buildBookmarkListTags( + val tags = com.darkwisp.app.nostr.Nip51.buildBookmarkListTags( ids, bookmarkRepo.getCoordinates(), bookmarkRepo.getHashtags(), @@ -590,18 +590,18 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { ) viewModelScope.launch { val event = s.signEvent( - kind = com.wisp.app.nostr.Nip51.KIND_BOOKMARK_LIST, + kind = com.darkwisp.app.nostr.Nip51.KIND_BOOKMARK_LIST, content = "", tags = tags ) eventRepo.cacheEvent(event) - relayPool.sendToWriteRelays(com.wisp.app.nostr.ClientMessage.event(event)) + relayPool.sendToWriteRelays(com.darkwisp.app.nostr.ClientMessage.event(event)) } } - fun createEmojiSet(name: String, emojis: List) = listCrud.createEmojiSet(name, emojis) - fun updateEmojiSet(dTag: String, title: String, emojis: List) = listCrud.updateEmojiSet(dTag, title, emojis) + fun createEmojiSet(name: String, emojis: List) = listCrud.createEmojiSet(name, emojis) + fun updateEmojiSet(dTag: String, title: String, emojis: List) = listCrud.updateEmojiSet(dTag, title, emojis) fun deleteEmojiSet(dTag: String) = listCrud.deleteEmojiSet(dTag) - fun publishUserEmojiList(emojis: List, setRefs: List) = listCrud.publishUserEmojiList(emojis, setRefs) + fun publishUserEmojiList(emojis: List, setRefs: List) = listCrud.publishUserEmojiList(emojis, setRefs) fun addSetToEmojiList(pubkey: String, dTag: String) = listCrud.addSetToEmojiList(pubkey, dTag) fun removeSetFromEmojiList(pubkey: String, dTag: String) = listCrud.removeSetFromEmojiList(pubkey, dTag) @@ -664,7 +664,7 @@ class FeedViewModel(app: Application) : AndroidViewModel(app) { _interestSetsFetched.value = true } - fun setSelectedList(followSet: com.wisp.app.nostr.FollowSet) { + fun setSelectedList(followSet: com.darkwisp.app.nostr.FollowSet) { listRepo.selectList(followSet) } diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/GroupListViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/GroupListViewModel.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/viewmodel/GroupListViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/GroupListViewModel.kt index f51f571..3982dfc 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/GroupListViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/GroupListViewModel.kt @@ -1,25 +1,25 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.util.Log import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip29 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.SimpleGroupEntry -import com.wisp.app.relay.PublishResult -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.GroupMessage -import com.wisp.app.repo.GroupPreview -import com.wisp.app.repo.GroupRepository -import com.wisp.app.repo.GroupRoom -import com.wisp.app.repo.NotificationRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip29 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.SimpleGroupEntry +import com.darkwisp.app.relay.PublishResult +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.GroupMessage +import com.darkwisp.app.repo.GroupPreview +import com.darkwisp.app.repo.GroupRepository +import com.darkwisp.app.repo.GroupRoom +import com.darkwisp.app.repo.NotificationRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/GroupRoomViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/GroupRoomViewModel.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/viewmodel/GroupRoomViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/GroupRoomViewModel.kt index 14d9870..8510696 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/GroupRoomViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/GroupRoomViewModel.kt @@ -1,17 +1,17 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip29 -import com.wisp.app.nostr.NostrUriData -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.GroupMessage -import com.wisp.app.repo.GroupRepository -import com.wisp.app.repo.GroupRoom +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip29 +import com.darkwisp.app.nostr.NostrUriData +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.GroupMessage +import com.darkwisp.app.repo.GroupRepository +import com.darkwisp.app.repo.GroupRoom import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -172,7 +172,7 @@ class GroupRoomViewModel(app: Application) : AndroidViewModel(app) { } } // Add emoji tags for any :shortcode: references in the content - tags.addAll(com.wisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis)) + tags.addAll(com.darkwisp.app.nostr.Nip30.buildEmojiTagsForContent(text, resolvedEmojis)) val event = signer.signEvent( kind = Nip29.KIND_CHAT_MESSAGE, content = text, diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/HashtagFeedViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/HashtagFeedViewModel.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/viewmodel/HashtagFeedViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/HashtagFeedViewModel.kt index 1e1c7ad..448d462 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/HashtagFeedViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/HashtagFeedViewModel.kt @@ -1,17 +1,17 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayScoreBoard -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.MuteRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayScoreBoard +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.MuteRepository import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/ListCrudManager.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ListCrudManager.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/viewmodel/ListCrudManager.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/ListCrudManager.kt index 7c69833..5baea2e 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/ListCrudManager.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ListCrudManager.kt @@ -1,22 +1,22 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.CustomEmoji -import com.wisp.app.nostr.Filter -import com.wisp.app.relay.OutboxRouter +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.CustomEmoji +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.relay.OutboxRouter import kotlinx.coroutines.delay -import com.wisp.app.nostr.Nip09 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.repo.BookmarkSetRepository -import com.wisp.app.repo.CustomEmojiRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.InterestRepository -import com.wisp.app.repo.ListRepository -import com.wisp.app.repo.MetadataFetcher +import com.darkwisp.app.nostr.Nip09 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.repo.BookmarkSetRepository +import com.darkwisp.app.repo.CustomEmojiRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.InterestRepository +import com.darkwisp.app.repo.ListRepository +import com.darkwisp.app.repo.MetadataFetcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/LiveStreamViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/LiveStreamViewModel.kt similarity index 93% rename from app/src/main/kotlin/com/wisp/app/viewmodel/LiveStreamViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/LiveStreamViewModel.kt index 9363a4d..5032b51 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/LiveStreamViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/LiveStreamViewModel.kt @@ -1,23 +1,23 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip19 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip53 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.NostrUriData -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.LiveChatMessage -import com.wisp.app.repo.LiveStreamRepository -import com.wisp.app.repo.RelayListRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip53 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.NostrUriData +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.LiveChatMessage +import com.darkwisp.app.repo.LiveStreamRepository +import com.darkwisp.app.repo.RelayListRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/NotificationsViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/NotificationsViewModel.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/viewmodel/NotificationsViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/NotificationsViewModel.kt index f0ac359..b8fa3e4 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/NotificationsViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/NotificationsViewModel.kt @@ -1,40 +1,40 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.content.Context import android.util.Log import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.DmMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.FlatNotificationItem -import com.wisp.app.nostr.Nip17 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.NotificationGroup -import com.wisp.app.nostr.NotificationSummary -import com.wisp.app.nostr.NotificationType -import com.wisp.app.nostr.ProfileData -import com.wisp.app.nostr.SignerCancelledException -import com.wisp.app.nostr.hexToByteArray -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.DmRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.MentionCandidate -import com.wisp.app.repo.MentionSearchRepository -import com.wisp.app.repo.NotificationRepository -import com.wisp.app.repo.PowPreferences -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.repo.RelayListRepository -import com.wisp.app.R +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.DmMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.FlatNotificationItem +import com.darkwisp.app.nostr.Nip17 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.NotificationGroup +import com.darkwisp.app.nostr.NotificationSummary +import com.darkwisp.app.nostr.NotificationType +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.SignerCancelledException +import com.darkwisp.app.nostr.hexToByteArray +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.DmRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.MentionCandidate +import com.darkwisp.app.repo.MentionSearchRepository +import com.darkwisp.app.repo.NotificationRepository +import com.darkwisp.app.repo.PowPreferences +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.repo.RelayListRepository +import com.darkwisp.app.R import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue -import com.wisp.app.nostr.Nip19 +import com.darkwisp.app.nostr.Nip19 import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableSharedFlow @@ -140,7 +140,7 @@ class NotificationsViewModel(app: Application) : AndroidViewModel(app) { relayListRepository: RelayListRepository? = null, powPreferences: PowPreferences? = null, profileRepository: ProfileRepository? = null, - eventPersistence: com.wisp.app.db.EventPersistence? = null + eventPersistence: com.darkwisp.app.db.EventPersistence? = null ) { notifRepo = notificationRepository eventRepo = eventRepository diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/OnboardingViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/OnboardingViewModel.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/viewmodel/OnboardingViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/OnboardingViewModel.kt index da12ba4..77bb9f9 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/OnboardingViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/OnboardingViewModel.kt @@ -1,4 +1,4 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.content.ContentResolver @@ -7,27 +7,27 @@ import android.util.Log import android.webkit.MimeTypeMap import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Keys -import com.wisp.app.nostr.Nip02 -import com.wisp.app.nostr.Nip65 -import com.wisp.app.nostr.LocalSigner -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.ProfileData -import com.wisp.app.nostr.toHex -import com.wisp.app.relay.OnboardingPhase -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayProber -import com.wisp.app.nostr.Nip78 -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.SparkRepository -import com.wisp.app.repo.WalletMode -import com.wisp.app.repo.WalletModeRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Keys +import com.darkwisp.app.nostr.Nip02 +import com.darkwisp.app.nostr.Nip65 +import com.darkwisp.app.nostr.LocalSigner +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.relay.OnboardingPhase +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayProber +import com.darkwisp.app.nostr.Nip78 +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.SparkRepository +import com.darkwisp.app.repo.WalletMode +import com.darkwisp.app.repo.WalletModeRepository import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.Job import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/PowManager.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/PowManager.kt similarity index 91% rename from app/src/main/kotlin/com/wisp/app/viewmodel/PowManager.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/PowManager.kt index 2b141e5..279b457 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/PowManager.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/PowManager.kt @@ -1,13 +1,13 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Nip13 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.PowPreferences +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Nip13 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.PowPreferences import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/ProfileViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ProfileViewModel.kt similarity index 92% rename from app/src/main/kotlin/com/wisp/app/viewmodel/ProfileViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/ProfileViewModel.kt index dd953fc..e550120 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/ProfileViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ProfileViewModel.kt @@ -1,4 +1,4 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.content.ContentResolver @@ -6,18 +6,18 @@ import android.net.Uri import android.webkit.MimeTypeMap import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.LocalSigner -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.nostr.toHex -import com.wisp.app.repo.KeyRepository -import com.wisp.app.ui.util.GifToMp4Converter -import com.wisp.app.ui.util.MediaCompressor +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.LocalSigner +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.nostr.toHex +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.ui.util.GifToMp4Converter +import com.darkwisp.app.ui.util.MediaCompressor import kotlinx.coroutines.Job import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/RelayHealthViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/RelayHealthViewModel.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/viewmodel/RelayHealthViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/RelayHealthViewModel.kt index 8a16d8f..ea14936 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/RelayHealthViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/RelayHealthViewModel.kt @@ -1,14 +1,14 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.relay.ConsoleLogEntry -import com.wisp.app.relay.ConsoleLogType -import com.wisp.app.relay.RelayHealthTracker -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayScoreBoard -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.RelayInfoRepository +import com.darkwisp.app.relay.ConsoleLogEntry +import com.darkwisp.app.relay.ConsoleLogType +import com.darkwisp.app.relay.RelayHealthTracker +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayScoreBoard +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.RelayInfoRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/RelayViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/RelayViewModel.kt similarity index 92% rename from app/src/main/kotlin/com/wisp/app/viewmodel/RelayViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/RelayViewModel.kt index bab0a05..593e4b5 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/RelayViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/RelayViewModel.kt @@ -1,20 +1,20 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.LocalSigner -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.Nip65 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.relay.LocalRelayConfig -import com.wisp.app.relay.LocalRelayWritePolicy -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelaySetType -import com.wisp.app.repo.KeyRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.LocalSigner +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.Nip65 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.relay.LocalRelayConfig +import com.darkwisp.app.relay.LocalRelayWritePolicy +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelaySetType +import com.darkwisp.app.repo.KeyRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/SearchViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SearchViewModel.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/viewmodel/SearchViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/SearchViewModel.kt index 3a86887..eb29518 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/SearchViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SearchViewModel.kt @@ -1,17 +1,17 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.ProfileData -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.MuteRepository +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.MuteRepository import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/SocialActionManager.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SocialActionManager.kt similarity index 94% rename from app/src/main/kotlin/com/wisp/app/viewmodel/SocialActionManager.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/SocialActionManager.kt index abc0e2a..bf0170b 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/SocialActionManager.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SocialActionManager.kt @@ -1,33 +1,33 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.CustomEmoji -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip02 -import com.wisp.app.nostr.Nip13 -import com.wisp.app.nostr.Nip25 -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.Nip18 -import com.wisp.app.nostr.Nip09 -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.Nip88 -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.DmRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.MuteRepository -import com.wisp.app.repo.NotificationRepository -import com.wisp.app.repo.WalletProvider -import com.wisp.app.repo.PinRepository -import com.wisp.app.repo.CustomEmojiRepository -import com.wisp.app.repo.DeletedEventsRepository -import com.wisp.app.repo.InterfacePreferences -import com.wisp.app.repo.PowPreferences -import com.wisp.app.repo.ZapSender +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.CustomEmoji +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip02 +import com.darkwisp.app.nostr.Nip13 +import com.darkwisp.app.nostr.Nip25 +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.Nip18 +import com.darkwisp.app.nostr.Nip09 +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.Nip88 +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.DmRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.repo.NotificationRepository +import com.darkwisp.app.repo.WalletProvider +import com.darkwisp.app.repo.PinRepository +import com.darkwisp.app.repo.CustomEmojiRepository +import com.darkwisp.app.repo.DeletedEventsRepository +import com.darkwisp.app.repo.InterfacePreferences +import com.darkwisp.app.repo.PowPreferences +import com.darkwisp.app.repo.ZapSender import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -220,7 +220,7 @@ class SocialActionManager( val hint = outboxRouter.getRelayHint(event.pubkey) val tags = Nip18.buildRepostTags(event, hint).toMutableList() if (interfacePrefs.isClientTagEnabled()) { - tags.add(listOf("client", "Wisp")) + tags.add(listOf("client", "Dark Wisp")) } val repostEvent = s.signEvent(kind = 6, content = event.toJson(), tags = tags) val msg = ClientMessage.event(repostEvent) @@ -264,7 +264,7 @@ class SocialActionManager( } if (interfacePrefs.isClientTagEnabled()) { - tags = tags + listOf(listOf("client", "Wisp")) + tags = tags + listOf(listOf("client", "Dark Wisp")) } val createdAt: Long @@ -505,7 +505,7 @@ class SocialActionManager( try { val tags = Nip88.buildResponseTags(pollEventId, optionIds).toMutableList() if (interfacePrefs.isClientTagEnabled()) { - tags.add(listOf("client", "Wisp")) + tags.add(listOf("client", "Dark Wisp")) } val event = s.signEvent(kind = Nip88.KIND_POLL_RESPONSE, content = "", tags = tags) val msg = ClientMessage.event(event) diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/SocialGraphViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SocialGraphViewModel.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/viewmodel/SocialGraphViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/SocialGraphViewModel.kt index 26d7ce8..edb28b3 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/SocialGraphViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SocialGraphViewModel.kt @@ -1,10 +1,10 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.repo.ExtendedNetworkCache -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.repo.SocialGraphDb +import com.darkwisp.app.repo.ExtendedNetworkCache +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.repo.SocialGraphDb import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.delay diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/SplashViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SplashViewModel.kt similarity index 99% rename from app/src/main/kotlin/com/wisp/app/viewmodel/SplashViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/SplashViewModel.kt index c4ba811..1f0b7c0 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/SplashViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/SplashViewModel.kt @@ -1,4 +1,4 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import androidx.lifecycle.AndroidViewModel diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/StartupCoordinator.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/StartupCoordinator.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/viewmodel/StartupCoordinator.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/StartupCoordinator.kt index e4e860d..7fa3991 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/StartupCoordinator.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/StartupCoordinator.kt @@ -1,49 +1,49 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.util.Log -import com.wisp.app.nostr.Blossom -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip30 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.db.EventPersistence -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayHealthTracker -import com.wisp.app.relay.RelayLifecycleManager -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.RelayScoreBoard -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.repo.BlossomRepository -import com.wisp.app.repo.BookmarkRepository -import com.wisp.app.repo.BookmarkSetRepository -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.CustomEmojiRepository -import com.wisp.app.repo.DeletedEventsRepository -import com.wisp.app.repo.DiscoveryState -import com.wisp.app.repo.DmRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.ExtendedNetworkRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.ListRepository -import com.wisp.app.repo.MetadataFetcher -import com.wisp.app.repo.MuteRepository -import com.wisp.app.repo.Nip05Repository -import com.wisp.app.repo.NotificationRepository -import com.wisp.app.repo.NwcRepository -import com.wisp.app.repo.SparkRepository -import com.wisp.app.repo.WalletModeRepository -import com.wisp.app.repo.PinRepository -import com.wisp.app.repo.ProfileRepository -import com.wisp.app.repo.DiagnosticLogger -import com.wisp.app.repo.RelayHintStore -import com.wisp.app.repo.RelayInfoRepository -import com.wisp.app.repo.RelayListRepository -import com.wisp.app.repo.InterestRepository -import com.wisp.app.repo.LiveStreamRepository -import com.wisp.app.repo.RelaySetRepository -import com.wisp.app.repo.ZapPreferences -import com.wisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.Blossom +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip30 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.db.EventPersistence +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayHealthTracker +import com.darkwisp.app.relay.RelayLifecycleManager +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.RelayScoreBoard +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.repo.BlossomRepository +import com.darkwisp.app.repo.BookmarkRepository +import com.darkwisp.app.repo.BookmarkSetRepository +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.CustomEmojiRepository +import com.darkwisp.app.repo.DeletedEventsRepository +import com.darkwisp.app.repo.DiscoveryState +import com.darkwisp.app.repo.DmRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.ExtendedNetworkRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.ListRepository +import com.darkwisp.app.repo.MetadataFetcher +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.repo.Nip05Repository +import com.darkwisp.app.repo.NotificationRepository +import com.darkwisp.app.repo.NwcRepository +import com.darkwisp.app.repo.SparkRepository +import com.darkwisp.app.repo.WalletModeRepository +import com.darkwisp.app.repo.PinRepository +import com.darkwisp.app.repo.ProfileRepository +import com.darkwisp.app.repo.DiagnosticLogger +import com.darkwisp.app.repo.RelayHintStore +import com.darkwisp.app.repo.RelayInfoRepository +import com.darkwisp.app.repo.RelayListRepository +import com.darkwisp.app.repo.InterestRepository +import com.darkwisp.app.repo.LiveStreamRepository +import com.darkwisp.app.repo.RelaySetRepository +import com.darkwisp.app.repo.ZapPreferences +import com.darkwisp.app.nostr.NostrSigner import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.delay diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/ThreadViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ThreadViewModel.kt similarity index 95% rename from app/src/main/kotlin/com/wisp/app/viewmodel/ThreadViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/ThreadViewModel.kt index 0218a6a..c8c2c33 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/ThreadViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/ThreadViewModel.kt @@ -1,25 +1,25 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip09 -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayPool -import com.wisp.app.relay.SubscriptionManager -import com.wisp.app.ml.NSpamClassifier -import com.wisp.app.ml.NoteInput -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.MetadataFetcher -import com.wisp.app.repo.MuteRepository -import com.wisp.app.repo.RelayHintStore -import com.wisp.app.repo.RelayListRepository -import com.wisp.app.repo.SafetyPreferences -import com.wisp.app.repo.SpamAuthorCache +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip09 +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.relay.SubscriptionManager +import com.darkwisp.app.ml.NSpamClassifier +import com.darkwisp.app.ml.NoteInput +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.MetadataFetcher +import com.darkwisp.app.repo.MuteRepository +import com.darkwisp.app.repo.RelayHintStore +import com.darkwisp.app.repo.RelayListRepository +import com.darkwisp.app.repo.SafetyPreferences +import com.darkwisp.app.repo.SpamAuthorCache import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.delay @@ -229,7 +229,7 @@ class ThreadViewModel : ViewModel() { 5, 7, 6, 1018 -> eventRepo.addEvent(event) 9735 -> { eventRepo.addEvent(event) - val zapperPubkey = com.wisp.app.nostr.Nip57.getZapperPubkey(event) + val zapperPubkey = com.darkwisp.app.nostr.Nip57.getZapperPubkey(event) if (zapperPubkey != null && eventRepo.getProfileData(zapperPubkey) == null) { metadataFetcher.addToPendingProfiles(zapperPubkey) } diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/TopicOnboardingViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/TopicOnboardingViewModel.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/viewmodel/TopicOnboardingViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/TopicOnboardingViewModel.kt index 797a9eb..debad9c 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/TopicOnboardingViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/TopicOnboardingViewModel.kt @@ -1,14 +1,14 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.util.Log import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.relay.RelayPool +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.relay.RelayPool import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.Job import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/UserProfileViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/UserProfileViewModel.kt similarity index 96% rename from app/src/main/kotlin/com/wisp/app/viewmodel/UserProfileViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/UserProfileViewModel.kt index bf66c12..6f8d83d 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/UserProfileViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/UserProfileViewModel.kt @@ -1,31 +1,31 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import android.app.Application import android.util.Log import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.Nip02 -import com.wisp.app.nostr.Nip10 -import com.wisp.app.nostr.Nip51 -import com.wisp.app.nostr.Nip65 -import com.wisp.app.nostr.SimpleGroupEntry -import com.wisp.app.nostr.LocalSigner -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.ProfileData -import com.wisp.app.relay.OutboxRouter -import com.wisp.app.relay.RelayConfig -import com.wisp.app.relay.RelayPool -import com.wisp.app.repo.ContactRepository -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.DiscoveryState -import com.wisp.app.repo.ExtendedNetworkRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.RelayHintStore -import com.wisp.app.repo.RelayListRepository -import com.wisp.app.relay.SubscriptionManager +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.Nip02 +import com.darkwisp.app.nostr.Nip10 +import com.darkwisp.app.nostr.Nip51 +import com.darkwisp.app.nostr.Nip65 +import com.darkwisp.app.nostr.SimpleGroupEntry +import com.darkwisp.app.nostr.LocalSigner +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.ProfileData +import com.darkwisp.app.relay.OutboxRouter +import com.darkwisp.app.relay.RelayConfig +import com.darkwisp.app.relay.RelayPool +import com.darkwisp.app.repo.ContactRepository +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.DiscoveryState +import com.darkwisp.app.repo.ExtendedNetworkRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.RelayHintStore +import com.darkwisp.app.repo.RelayListRepository +import com.darkwisp.app.relay.SubscriptionManager import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow @@ -35,11 +35,11 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withTimeoutOrNull enum class ProfileSortMode(val labelResId: Int) { - RECENCY(com.wisp.app.R.string.profile_sort_recent), - LIKES(com.wisp.app.R.string.profile_sort_likes), - REPOSTS(com.wisp.app.R.string.profile_sort_reposts), - ZAPS(com.wisp.app.R.string.profile_sort_zaps), - REPLIES(com.wisp.app.R.string.profile_sort_replies) + RECENCY(com.darkwisp.app.R.string.profile_sort_recent), + LIKES(com.darkwisp.app.R.string.profile_sort_likes), + REPOSTS(com.darkwisp.app.R.string.profile_sort_reposts), + ZAPS(com.darkwisp.app.R.string.profile_sort_zaps), + REPLIES(com.darkwisp.app.R.string.profile_sort_replies) } private fun ProfileSortMode.relaySlug() = when (this) { diff --git a/app/src/main/kotlin/com/wisp/app/viewmodel/WalletViewModel.kt b/app/src/main/kotlin/com/darkwisp/app/viewmodel/WalletViewModel.kt similarity index 98% rename from app/src/main/kotlin/com/wisp/app/viewmodel/WalletViewModel.kt rename to app/src/main/kotlin/com/darkwisp/app/viewmodel/WalletViewModel.kt index 57fe0dc..6ac8aac 100644 --- a/app/src/main/kotlin/com/wisp/app/viewmodel/WalletViewModel.kt +++ b/app/src/main/kotlin/com/darkwisp/app/viewmodel/WalletViewModel.kt @@ -1,32 +1,32 @@ -package com.wisp.app.viewmodel +package com.darkwisp.app.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.wisp.app.nostr.Bolt11 -import com.wisp.app.nostr.ClientMessage -import com.wisp.app.nostr.Filter -import com.wisp.app.nostr.LocalSigner -import com.wisp.app.nostr.Nip57 -import com.wisp.app.nostr.Nip78 -import com.wisp.app.nostr.NostrEvent -import com.wisp.app.nostr.NostrSigner -import com.wisp.app.nostr.RemoteSigner -import com.wisp.app.nostr.toHex +import com.darkwisp.app.nostr.Bolt11 +import com.darkwisp.app.nostr.ClientMessage +import com.darkwisp.app.nostr.Filter +import com.darkwisp.app.nostr.LocalSigner +import com.darkwisp.app.nostr.Nip57 +import com.darkwisp.app.nostr.Nip78 +import com.darkwisp.app.nostr.NostrEvent +import com.darkwisp.app.nostr.NostrSigner +import com.darkwisp.app.nostr.RemoteSigner +import com.darkwisp.app.nostr.toHex import android.content.ContentResolver -import com.wisp.app.relay.RelayEvent -import com.wisp.app.repo.SigningMode -import com.wisp.app.repo.EventRepository -import com.wisp.app.repo.KeyRepository -import com.wisp.app.repo.BalanceUnit -import com.wisp.app.repo.NwcRepository -import com.wisp.app.repo.SparkRepository -import com.wisp.app.repo.WalletMode -import com.wisp.app.repo.WalletModeRepository -import com.wisp.app.repo.WalletProvider +import com.darkwisp.app.relay.RelayEvent +import com.darkwisp.app.repo.SigningMode +import com.darkwisp.app.repo.EventRepository +import com.darkwisp.app.repo.KeyRepository +import com.darkwisp.app.repo.BalanceUnit +import com.darkwisp.app.repo.NwcRepository +import com.darkwisp.app.repo.SparkRepository +import com.darkwisp.app.repo.WalletMode +import com.darkwisp.app.repo.WalletModeRepository +import com.darkwisp.app.repo.WalletProvider import android.util.Log -import com.wisp.app.repo.WalletTransaction -import com.wisp.app.repo.ZapSender -import com.wisp.app.relay.RelayPool +import com.darkwisp.app.repo.WalletTransaction +import com.darkwisp.app.repo.ZapSender +import com.darkwisp.app.relay.RelayPool import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow @@ -267,7 +267,7 @@ class WalletViewModel( private var statusCollectJob: Job? = null private var connectionMonitorJob: Job? = null private var syncPollJob: Job? = null - private val httpClient get() = com.wisp.app.relay.HttpClientFactory.createRelayClient() + private val httpClient get() = com.darkwisp.app.relay.HttpClientFactory.createRelayClient() init { // Wallet backup queries must bypass event dedup so the same event @@ -527,7 +527,7 @@ class WalletViewModel( val trimmed = uri.trim() if (trimmed.isEmpty()) return - val parsed = com.wisp.app.nostr.Nip47.parseConnectionString(trimmed) + val parsed = com.darkwisp.app.nostr.Nip47.parseConnectionString(trimmed) if (parsed == null) { _walletState.value = WalletState.Error("Invalid connection string") return diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b4d88de..5e5db77 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -393,12 +393,12 @@ Willkommen zurück Richten wir dein Konto ein Dein Netzwerk, deine Relays - Wisp findet heraus, welche Relays deine Freunde tatsächlich nutzen, und verbindet sich direkt mit diesen Relays. Das bedeutet schnellere Lieferung und weniger verpasste Posts — kein zentraler Server nötig. + Dark Wisp findet heraus, welche Relays deine Freunde tatsächlich nutzen, und verbindet sich direkt mit diesen Relays. Das bedeutet schnellere Lieferung und weniger verpasste Posts — kein zentraler Server nötig. Schnell folgen Halte ein beliebiges Profilbild lange gedrückt, um zu folgen oder nicht mehr zu folgen utxo Probier es aus — halte das Bild oben lange gedrückt - Wisp unterstützt Zaps mit einer integrierten Lightning-Wallet oder Nostr Wallet Connect. Du kannst dies jederzeit auf dem Wallet-Bildschirm einrichten. + Dark Wisp unterstützt Zaps mit einer integrierten Lightning-Wallet oder Nostr Wallet Connect. Du kannst dies jederzeit auf dem Wallet-Bildschirm einrichten. Einrichtung läuft Du bist bereit! Dein sozialer Graph wird kartiert… @@ -411,7 +411,7 @@ Gleich geschafft… Bitte warten… Wird veröffentlicht… - Wisp-Logo + Dark Wisp-Logo Alle folgen (%d) @@ -465,8 +465,8 @@ Livestreams ausblenden Die Livestream-Leiste oben im Feed ausblenden Client-Tag - Notizen mit Wisp taggen - Ein Tag einfügen, das Wisp als Client identifiziert. Dies ist für andere sichtbar. + Notizen mit Dark Wisp taggen + Ein Tag einfügen, das Dark Wisp als Client identifiziert. Dies ist für andere sichtbar. Öffentlicher Schlüssel Privater Schlüssel Öffentlicher Schlüssel kopiert @@ -587,7 +587,7 @@ Brieftasche Verbinden Wählen Sie, wie Sie eine Lightning-Brieftasche zum Senden und Empfangen von Sats verbinden. Neue Brieftasche Erstellen - Erstellen Sie eine neue Brieftasche direkt in Wisp, Gelder werden von Spark-Anbietern gesichert + Erstellen Sie eine neue Brieftasche direkt in Dark Wisp, Gelder werden von Spark-Anbietern gesichert Verbinden Sie eine externe Lightning-Brieftasche mit einer NWC-Verbindungszeichenfolge. NWC-Verbindungszeichenfolge Verbinden @@ -637,7 +637,7 @@ %d online in deinem Netzwerk %d online überall auf Nostr %d Personen online - Wisp-Logo + Dark Wisp-Logo Direktnachrichten diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 489bcaa..f3d73d8 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -393,12 +393,12 @@ Bienvenido de nuevo Configuremos tu cuenta Tu red, tus relays - Wisp descubre qué relays usan realmente tus amigos, y luego se conecta directamente a esos relays. Esto significa entregas más rápidas y menos publicaciones perdidas — sin servidor central. + Dark Wisp descubre qué relays usan realmente tus amigos, y luego se conecta directamente a esos relays. Esto significa entregas más rápidas y menos publicaciones perdidas — sin servidor central. Seguir rápido Mantén presionada cualquier foto de perfil para seguir o dejar de seguir utxo Pruébalo — mantén presionada la imagen de arriba - Wisp soporta zaps con una billetera Lightning integrada o Nostr Wallet Connect. Puedes configurarlo en cualquier momento desde la pantalla de Billetera. + Dark Wisp soporta zaps con una billetera Lightning integrada o Nostr Wallet Connect. Puedes configurarlo en cualquier momento desde la pantalla de Billetera. Configurando ¡Todo listo! Mapeando tu grafo social… @@ -411,7 +411,7 @@ Ya casi… Por favor espera… Publicando… - Logo de Wisp + Logo de Dark Wisp Seguir a Todos (%d) @@ -465,8 +465,8 @@ Ocultar transmisiones en vivo Ocultar la fila de transmisiones en vivo en la parte superior del feed Etiqueta de Cliente - Etiquetar notas con Wisp - Incluir una etiqueta identificando Wisp como el cliente. Esto es visible para otros. + Etiquetar notas con Dark Wisp + Incluir una etiqueta identificando Dark Wisp como el cliente. Esto es visible para otros. Clave Pública Clave Privada Clave pública copiada @@ -587,7 +587,7 @@ Conectar Billetera Elige cómo conectar una billetera Lightning para enviar y recibir sats. Crear Nueva Billetera - Crea una nueva billetera directamente en Wisp, fondos asegurados por proveedores Spark + Crea una nueva billetera directamente en Dark Wisp, fondos asegurados por proveedores Spark Conecta una billetera Lightning externa usando una cadena de conexión NWC. Cadena de Conexión NWC Conectar @@ -637,7 +637,7 @@ %d en línea en tu red %d en línea en todo Nostr %d personas en línea - Logo de Wisp + Logo de Dark Wisp Mensajes directos diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 24921de..6f0cdce 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -393,12 +393,12 @@ Bon retour Paramons votre compte Votre réseau, vos relais - Wisp découvre quels relais vos amis utilisent réellement, puis se connecte directement à ces relais. Cela signifie une livraison plus rapide et moins de posts manqués — aucun serveur central nécessaire. + Dark Wisp découvre quels relais vos amis utilisent réellement, puis se connecte directement à ces relais. Cela signifie une livraison plus rapide et moins de posts manqués — aucun serveur central nécessaire. Suivi rapide Appuyez longuement sur n\'importe quelle photo de profil pour suivre ou ne plus suivre utxo Essayez — appuyez longuement sur l\'image ci-dessus - Wisp prend en charge les zaps avec un portefeuille Lightning intégré ou Nostr Wallet Connect. Vous pouvez le configurer à tout moment depuis l\'écran Portefeuille. + Dark Wisp prend en charge les zaps avec un portefeuille Lightning intégré ou Nostr Wallet Connect. Vous pouvez le configurer à tout moment depuis l\'écran Portefeuille. Configuration en cours Vous êtes prêt ! Cartographie de votre graphe social… @@ -411,7 +411,7 @@ Presque là… Veuillez patienter… Publication… - Logo Wisp + Logo Dark Wisp Suivre Tout (%d) @@ -465,8 +465,8 @@ Masquer les lives Masquer la barre de lives en haut de votre fil Tag Client - Taguer les notes avec Wisp - Inclure un tag identifiant Wisp comme le client. Ceci est visible par les autres. + Taguer les notes avec Dark Wisp + Inclure un tag identifiant Dark Wisp comme le client. Ceci est visible par les autres. Clé Publique Clé Privée Clé publique copiée @@ -587,7 +587,7 @@ Connecter un Portefeuille Choisissez comment connecter un portefeuille Lightning pour envoyer et recevoir des sats. Créer un Nouveau Portefeuille - Créez un nouveau portefeuille directement dans Wisp, les fonds sont sécurisés par les fournisseurs Spark + Créez un nouveau portefeuille directement dans Dark Wisp, les fonds sont sécurisés par les fournisseurs Spark Connectez un portefeuille Lightning externe utilisant une chaîne de connexion NWC. Chaîne de Connexion NWC Connecter @@ -637,7 +637,7 @@ %d en ligne dans votre réseau %d en ligne sur tout Nostr %d personnes en ligne - Logo Wisp + Logo Dark Wisp Messages directs diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7b42771..ecca7b0 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -393,12 +393,12 @@ Bentornato Configuriamo il tuo account La tua rete, i tuoi relay - Wisp scopre quali relay usano i tuoi amici e si connette direttamente a questi relay. Questo significa consegne più veloci e meno post persi — nessun server centrale necessario. + Dark Wisp scopre quali relay usano i tuoi amici e si connette direttamente a questi relay. Questo significa consegne più veloci e meno post persi — nessun server centrale necessario. Segui rapidamente Tieni premuta qualsiasi foto profilo per seguire o smettere di seguire utxo Prova — tieni premuta l\'immagine sopra - Wisp supporta zap con portafoglio Lightning integrato o Nostr Wallet Connect. Puoi configurarlo in qualsiasi momento dalla schermata Portafoglio. + Dark Wisp supporta zap con portafoglio Lightning integrato o Nostr Wallet Connect. Puoi configurarlo in qualsiasi momento dalla schermata Portafoglio. Configurazione in corso Tutto pronto! Mappatura del tuo grafo sociale… @@ -411,7 +411,7 @@ Quasi pronto… Attendere prego… Pubblicazione… - Logo Wisp + Logo Dark Wisp Segui Tutti (%d) @@ -465,8 +465,8 @@ Nascondi le dirette Nascondi la riga delle dirette in cima al feed Tag Cliente - Etichetta le note con Wisp - Includi un\'etichetta che identifica Wisp come cliente. Questo è visibile agli altri. + Etichetta le note con Dark Wisp + Includi un\'etichetta che identifica Dark Wisp come cliente. Questo è visibile agli altri. Chiave Pubblica Chiave Privata Chiave pubblica copiata @@ -587,7 +587,7 @@ Connetti Portafoglio Scegli come connettere un portafoglio Lightning per inviare e ricevere sats. Crea Nuovo Portafoglio - Crea un nuovo portafoglio direttamente in Wisp, i fondi sono protetti da provider Spark + Crea un nuovo portafoglio direttamente in Dark Wisp, i fondi sono protetti da provider Spark Connetti un portafoglio Lightning esterno usando una stringa di connessione NWC. Stringa di Connessione NWC Connetti @@ -637,7 +637,7 @@ %d online nella tua rete %d online su tutto Nostr %d persone online - Logo Wisp + Logo Dark Wisp Messaggi diretti diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 9ae7a78..672adbe 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -393,12 +393,12 @@ おかえりなさい アカウントを設定しましょう あなたのネットワーク、あなたのリレー - Wispは友達が実際に使っているリレーを発見し、直接それに接続します。これにより、より 빠른配信と投稿の見逃しが少なくなります— центрарサーバー的必要がありません。 + Dark Wispは友達が実際に使っているリレーを発見し、直接それに接続します。これにより、より 빠른配信と投稿の見逃しが少なくなります— центрарサーバー的必要がありません。 クイックフォロー プロフィール写真をロングプレスするとフォロー/フォロー解除できます utxo 試してみよう— 上記の画像をロングプレス - Wispは組み込みLightningウォレットまたはNostr Wallet Connectでサップをサポートします。ウォレット画面からいつでも設定できます。 + Dark Wispは組み込みLightningウォレットまたはNostr Wallet Connectでサップをサポートします。ウォレット画面からいつでも設定できます。 設定中 準備完了! ソーシャルグラフをマッピング中… @@ -411,7 +411,7 @@ もう少しで完了… お待ちください… 公開中… - Wispロゴ + Dark Wispロゴ 全員をフォロー(%d) @@ -465,8 +465,8 @@ ライブ配信を非表示 フィード上部のライブ配信の行を非表示にする クライアントタグ - ノートにWispをタグ付け - Wispをクライアントとして識別するタグを含める。これは他の人に表示されます。 + ノートにDark Wispをタグ付け + Dark Wispをクライアントとして識別するタグを含める。これは他の人に表示されます。 公開鍵 秘密鍵 公開鍵をコピーしました @@ -587,7 +587,7 @@ ウォレットを接続 サットを送受信するためのLightningウォレットの接続方法を選択してください。 新規ウォレットを作成 - Wispで直接新しいウォレットを作成、資金はSparkプロバイダーが保護 + Dark Wispで直接新しいウォレットを作成、資金はSparkプロバイダーが保護 NWC接続文字列を使用して外部Lightningウォレットを接続。 NWC接続文字列 接続 @@ -637,7 +637,7 @@ ネットワーク内で%d人がオンライン Nostr全体で%d人がオンライン %d人がオンライン - Wispロゴ + Dark Wispロゴ ダイレクトメッセージ diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 484d43e..95ba546 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -393,12 +393,12 @@ 다시 오신 것을 환영합니다 계정을 설정해 드릴게요 당신의 네트워크, 당신의 릴레이 - Wisp는 친구들이 실제로 사용하는 릴레이를 발견하고 직접 연결합니다. 이를 통해 더 빠른 전달과 누락된 게시물 감소—중앙 서버 불필요. + Dark Wisp는 친구들이 실제로 사용하는 릴레이를 발견하고 직접 연결합니다. 이를 통해 더 빠른 전달과 누락된 게시물 감소—중앙 서버 불필요. 빠른 팔로우 프로필 사진을 길게 누르면 팔로우/언팔로우 가능 utxo 사용해보세요— 위 사진을 길게 누르세요 - Wisp는 내장 라이트닝 지갑 또는 Nostr Wallet Connect를 통한 잽을 지원합니다. 지갑 화면에서 언제든지 설정할 수 있습니다. + Dark Wisp는 내장 라이트닝 지갑 또는 Nostr Wallet Connect를 통한 잽을 지원합니다. 지갑 화면에서 언제든지 설정할 수 있습니다. 설정 중 준비 완료! 소셜 그래프 매핑 중… @@ -411,7 +411,7 @@ 거의 완료… 잠시만 기다려주세요… 게시 중… - Wisp 로고 + Dark Wisp 로고 전체 팔로우 (%d) @@ -465,8 +465,8 @@ 라이브 스트림 숨기기 피드 상단의 라이브 스트림 행을 숨깁니다 클라이언트 태그 - Wisp로 노트 태그하기 - Wisp를 클라이언트로 식별하는 태그 포함. 다른 사람에게 표시됨. + Dark Wisp로 노트 태그하기 + Dark Wisp를 클라이언트로 식별하는 태그 포함. 다른 사람에게 표시됨. 공개키 개인키 공개키 복사됨 @@ -587,7 +587,7 @@ 지갑 연결 사트를 보내고 받기 위한 라이트닝 지갑 연결 방법을 선택하세요. 새 지갑 만들기 - Wisp에서 직접 새 지갑 만들기,资金은 Spark 제공자가 보호 + Dark Wisp에서 직접 새 지갑 만들기,资金은 Spark 제공자가 보호 NWC 연결 문자열을 사용하여 외부 라이트닝 지갑을 연결합니다. NWC 연결 문자열 연결 @@ -637,7 +637,7 @@ 네트워크에서 %d명 온라인 Nostr 전체에서 %d명 온라인 %d명 온라인 - Wisp 로고 + Dark Wisp 로고 다이렉트 메시지 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 52d53f0..f4b19f3 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -393,12 +393,12 @@ Welkom terug Laten we je account instellen Jouw netwerk, jouw relays - Wisp ontdekt welke relays je vrienden daadwerkelijk gebruiken en maakt rechtstreeks verbinding met die relays. Dit betekent snellere levering en minder gemiste posts — geen centrale server nodig. + Dark Wisp ontdekt welke relays je vrienden daadwerkelijk gebruiken en maakt rechtstreeks verbinding met die relays. Dit betekent snellere levering en minder gemiste posts — geen centrale server nodig. Snel Volgen Houd een profielfoto lang ingedrukt om te volgen of te ontvolgen utxo Probeer het — houd de afbeelding hierboven lang ingedrukt - Wisp ondersteunt zaps met een ingebedde Lightning portemonnee of Nostr Wallet Connect. Je kunt dit altijd instellen via het Portemonnee scherm. + Dark Wisp ondersteunt zaps met een ingebedde Lightning portemonnee of Nostr Wallet Connect. Je kunt dit altijd instellen via het Portemonnee scherm. Instellen bezig Je bent klaar! Je sociaal graaf in kaart brengen… @@ -411,7 +411,7 @@ Bijna klaar… Even geduld… Publiceren… - Wisp logo + Dark Wisp logo Allen Volgen (%d) @@ -465,8 +465,8 @@ Livestreams verbergen De livestream-rij bovenaan je feed verbergen Client Tag - Notities taggen met Wisp - Voeg een tag toe die Wisp als client identificeert. Dit is zichtbaar voor anderen. + Notities taggen met Dark Wisp + Voeg een tag toe die Dark Wisp als client identificeert. Dit is zichtbaar voor anderen. Publieke Sleutel Privésleutel Publieke sleutel gekopieerd @@ -587,7 +587,7 @@ Portemonnee Verbinden Kies hoe je een Lightning portemonnee verbindt voor het verzenden en ontvangen van sats. Nieuwe Portemonnee Maken - Maak een nieuwe portemonnee direct in Wisp, fondsen zijn beveiligd door Spark providers + Maak een nieuwe portemonnee direct in Dark Wisp, fondsen zijn beveiligd door Spark providers Verbind een externe Lightning portemonnee met een NWC verbindingsreeks. NWC Verbindingsreeks Verbinden @@ -637,7 +637,7 @@ %d online in je netwerk %d online overal op Nostr %d mensen online - Wisp-logo + Dark Wisp-logo Directe berichten diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 0f935b0..6eea080 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -393,12 +393,12 @@ Bem-vindo de volta Vamos configurar sua conta Sua rede, seus relays - Wisp descobre quais relays seus amigos realmente usam e se conecta diretamente a esses relays. Isso significa entrega mais rápida e menos publicações perdidas — sem servidor central necessário. + Dark Wisp descobre quais relays seus amigos realmente usam e se conecta diretamente a esses relays. Isso significa entrega mais rápida e menos publicações perdidas — sem servidor central necessário. Seguir rápido Pressione e segure qualquer foto de perfil para seguir ou deixar de seguir utxo Experimente — pressione e segure a imagem acima - Wisp suporta zaps com carteira Lightning integrada ou Nostr Wallet Connect. Você pode configurar isso a qualquer momento na tela da Carteira. + Dark Wisp suporta zaps com carteira Lightning integrada ou Nostr Wallet Connect. Você pode configurar isso a qualquer momento na tela da Carteira. Configurando Tudo pronto! Mapeando seu grafo social… @@ -411,7 +411,7 @@ Quase lá… Por favor aguarde… Publicando… - Logo do Wisp + Logo do Dark Wisp Seguir Todos (%d) @@ -465,8 +465,8 @@ Ocultar transmissões ao vivo Ocultar a linha de transmissões ao vivo no topo do feed Tag do Cliente - Taggear notas com Wisp - Incluir uma tag identificando Wisp como o cliente. Isso é visível para outros. + Taggear notas com Dark Wisp + Incluir uma tag identificando Dark Wisp como o cliente. Isso é visível para outros. Chave Pública Chave Privada Chave pública copiada @@ -587,7 +587,7 @@ Conectar Carteira Escolha como conectar uma carteira Lightning para enviar e receber sats. Criar Nova Carteira - Crie uma nova carteira diretamente no Wisp, fundos são protegidos por provedores Spark + Crie uma nova carteira diretamente no Dark Wisp, fundos são protegidos por provedores Spark Conecte uma carteira Lightning externa usando uma string de conexão NWC. String de Conexão NWC Conectar @@ -637,7 +637,7 @@ %d online na sua rede %d online em todo o Nostr %d pessoas online - Logo Wisp + Logo Dark Wisp Mensagens diretas diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index eab0ff4..ca618a1 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -374,12 +374,12 @@ С возвращением Настроим ваш аккаунт Ваша сеть, ваши рилэи - Wisp обнаруживает, какие рилэи используют ваши друзья, и подключается напрямую к ним. Это означает более быструю доставку и меньше пропущенных постов — без центрального сервера. + Dark Wisp обнаруживает, какие рилэи используют ваши друзья, и подключается напрямую к ним. Это означает более быструю доставку и меньше пропущенных постов — без центрального сервера. Быстрая подписка Удерживайте аватар, чтобы подписаться или отписаться utxo Попробуйте — удерживайте картинку выше - Wisp поддерживает запы со встроенным Lightning-кошельком или Nostr Wallet Connect. Настроить можно в любой момент через экран кошелька. + Dark Wisp поддерживает запы со встроенным Lightning-кошельком или Nostr Wallet Connect. Настроить можно в любой момент через экран кошелька. Настройка Готово! Составление социального графа… @@ -392,7 +392,7 @@ Почти готово… Подождите… Публикация… - Логотип Wisp + Логотип Dark Wisp Подписаться на всех (%d) Отправить zap сатоши @@ -442,8 +442,8 @@ Скрыть прямые трансляции Скрыть строку прямых трансляций в верхней части ленты Метка клиента - Помечать заметки как Wisp - Добавлять метку, идентифицирующую Wisp как клиент. Видимо другим. + Помечать заметки как Dark Wisp + Добавлять метку, идентифицирующую Dark Wisp как клиент. Видимо другим. Публичный ключ Приватный ключ Публичный ключ скопирован @@ -548,7 +548,7 @@ Подключить Кошелёк Выберите способ подключения кошелька Lightning для отправки и получения сат. Создать Новый Кошелёк - Создайте новый кошелёк прямо в Wisp, средства защищены провайдерами Spark + Создайте новый кошелёк прямо в Dark Wisp, средства защищены провайдерами Spark Подключите внешний кошелёк Lightning с помощью строки подключения NWC. Строка Подключения NWC Подключить @@ -598,7 +598,7 @@ %d онлайн в вашей сети %d онлайн во всём Nostr %d человек онлайн - Логотип Wisp + Логотип Dark Wisp Личные сообщения diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 27e1f11..aaca915 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -393,12 +393,12 @@ 欢迎回来 让我们设置你的账户 你的网络,你的中继 - Wisp 发现你朋友实际使用的中继,然后直接连接到这些中继。这意味着更快的投递和更少的帖子遗漏——无需中央服务器。 + Dark Wisp 发现你朋友实际使用的中继,然后直接连接到这些中继。这意味着更快的投递和更少的帖子遗漏——无需中央服务器。 快速关注 长按任意头像可关注或取消关注 utxo 试试看——长按上面的图片 - Wisp 支持通过内置闪电钱包或 Nostr Wallet Connect 进行闪电支付。你可以随时在钱包页面设置。 + Dark Wisp 支持通过内置闪电钱包或 Nostr Wallet Connect 进行闪电支付。你可以随时在钱包页面设置。 正在设置 一切就绪! 正在绘制你的社交图谱… @@ -411,7 +411,7 @@ 快完成了… 请稍候… 正在发布… - Wisp 标志 + Dark Wisp 标志 全部关注(%d) @@ -465,8 +465,8 @@ 隐藏直播 隐藏动态顶部的直播栏 客户端标签 - 用 Wisp 标记帖子 - 包含标识 Wisp 为客户端的标签。这对其他人可见。 + 用 Dark Wisp 标记帖子 + 包含标识 Dark Wisp 为客户端的标签。这对其他人可见。 公钥 私钥 公钥已复制 @@ -587,7 +587,7 @@ 连接钱包 选择如何连接Lightning钱包以发送和接收聪。 创建新钱包 - 直接在Wisp中创建新钱包,资金由Spark提供商保障 + 直接在Dark Wisp中创建新钱包,资金由Spark提供商保障 使用NWC连接字符串连接外部Lightning钱包。 NWC连接字符串 连接 @@ -637,7 +637,7 @@ 你的网络中有%d人在线 整个Nostr有%d人在线 %d人在线 - Wisp标志 + Dark Wisp标志 私信 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5dacdff..f10589a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,7 +49,7 @@ Online Now %d online in your network %d online across all of Nostr - Wisp logo + Dark Wisp logo Sign Up @@ -417,12 +417,12 @@ Welcome back Let\'s get you set up Your network, your relays - Wisp discovers which relays your friends actually use, then connects directly to those relays. This means faster delivery and fewer missed posts — no central server needed. + Dark Wisp discovers which relays your friends actually use, then connects directly to those relays. This means faster delivery and fewer missed posts — no central server needed. Quick follow Long-press any profile picture to follow or unfollow utxo Try it — long-press the picture above - Wisp supports zaps with an embedded Lightning wallet or Nostr Wallet Connect. You can set this up anytime from the Wallet screen. + Dark Wisp supports zaps with an embedded Lightning wallet or Nostr Wallet Connect. You can set this up anytime from the Wallet screen. Setting things up You\'re all set! Mapping your social graph… @@ -435,7 +435,7 @@ Almost there… Please wait… Publishing… - Wisp logo + Dark Wisp logo Follow All (%d) @@ -496,8 +496,8 @@ Hide live streams Hide the live streams row from the top of your feed Client Tag - Tag notes with Wisp - Include a tag identifying Wisp as the client. This is visible to others. + Tag notes with Dark Wisp + Include a tag identifying Dark Wisp as the client. This is visible to others. Posting Undo countdown Holds new posts for a few seconds before publishing so you can cancel. @@ -695,7 +695,7 @@ Connect a Wallet Choose how to connect a Lightning wallet for sending and receiving sats. Create a New Wallet - Create a new wallet directly in Wisp, funds are secured by Spark providers + Create a new wallet directly in Dark Wisp, funds are secured by Spark providers Connect an external Lightning wallet using a NWC connection string. NWC Connection String Connect diff --git a/app/src/test/kotlin/com/wisp/app/nostr/ComputeIdTest.kt b/app/src/test/kotlin/com/wisp/app/nostr/ComputeIdTest.kt index 5d10d6e..d51db30 100644 --- a/app/src/test/kotlin/com/wisp/app/nostr/ComputeIdTest.kt +++ b/app/src/test/kotlin/com/wisp/app/nostr/ComputeIdTest.kt @@ -1,4 +1,4 @@ -package com.wisp.app.nostr +package com.darkwisp.app.nostr import org.junit.Assert.assertEquals import org.junit.Test diff --git a/build.gradle.kts b/build.gradle.kts index 8c81f27..8935b6e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,4 @@ -extra["baseApplicationId"] = "com.wisp.app" +extra["baseApplicationId"] = "com.darkwisp.app" extra["debugApplicationIdSuffix"] = ".debug" plugins { diff --git a/settings.gradle.kts b/settings.gradle.kts index 24473cd..88583bb 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,5 +23,5 @@ dependencyResolutionManagement { } } -rootProject.name = "wisp" +rootProject.name = "dark-wisp-android" include(":app")