rename example

This commit is contained in:
2026-06-01 03:09:19 +02:00
parent 7f3d14a764
commit b5473bfafc
59 changed files with 261 additions and 182 deletions
@@ -1,4 +1,4 @@
package com.example.gudariwallet
package com.bitcointxoko.gudariwallet
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.example.gudariwallet", appContext.packageName)
assertEquals("com.bitcointxoko.gudariwallet", appContext.packageName)
}
}
@@ -1,4 +1,4 @@
package com.example.gudariwallet
package com.bitcointxoko.gudariwallet
import android.Manifest
import android.content.ActivityNotFoundException
@@ -17,15 +17,15 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.compose.runtime.*
import androidx.core.content.edit
import androidx.core.net.toUri
import com.example.gudariwallet.security.EncryptedSecretStore
import com.example.gudariwallet.service.WalletNotificationService
import com.example.gudariwallet.ui.OnboardingScreen
import com.example.gudariwallet.ui.WalletScreen
import com.example.gudariwallet.ui.WalletViewModel
import com.example.gudariwallet.ui.WalletViewModelFactory
import com.example.gudariwallet.ui.theme.GudariWalletTheme
import com.example.gudariwallet.util.NotificationHelper
import com.example.gudariwallet.util.IntentUtils
import com.bitcointxoko.gudariwallet.security.EncryptedSecretStore
import com.bitcointxoko.gudariwallet.service.WalletNotificationService
import com.bitcointxoko.gudariwallet.ui.OnboardingScreen
import com.bitcointxoko.gudariwallet.ui.WalletScreen
import com.bitcointxoko.gudariwallet.ui.WalletViewModel
import com.bitcointxoko.gudariwallet.ui.WalletViewModelFactory
import com.bitcointxoko.gudariwallet.ui.theme.GudariWalletTheme
import com.bitcointxoko.gudariwallet.util.NotificationHelper
import com.bitcointxoko.gudariwallet.util.IntentUtils
import kotlinx.coroutines.flow.MutableSharedFlow
class MainActivity : AppCompatActivity() {
@@ -1,4 +1,4 @@
package com.example.gudariwallet.api
package com.bitcointxoko.gudariwallet.api
import com.google.gson.Gson
import com.google.gson.GsonBuilder
@@ -1,4 +1,4 @@
package com.example.gudariwallet.api
package com.bitcointxoko.gudariwallet.api
import retrofit2.http.Body
import retrofit2.http.GET
@@ -1,7 +1,7 @@
package com.example.gudariwallet.api
package com.bitcointxoko.gudariwallet.api
import com.example.gudariwallet.BuildConfig
import com.example.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.BuildConfig
import com.bitcointxoko.gudariwallet.util.WalletConstants
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
@@ -1,4 +1,4 @@
package com.example.gudariwallet.api
package com.bitcointxoko.gudariwallet.api
import com.google.gson.TypeAdapter
import com.google.gson.annotations.SerializedName
@@ -1,4 +1,4 @@
package com.example.gudariwallet.api
package com.bitcointxoko.gudariwallet.api
import retrofit2.http.GET
import retrofit2.http.Path
@@ -1,4 +1,4 @@
package com.example.gudariwallet.api
package com.bitcointxoko.gudariwallet.api
import okhttp3.OkHttpClient
import retrofit2.Retrofit
@@ -1,13 +1,13 @@
package com.example.gudariwallet.data
package com.bitcointxoko.gudariwallet.data
import com.example.gudariwallet.api.LnurlScanResponse
import com.example.gudariwallet.api.RouteHintHop
import com.bitcointxoko.gudariwallet.api.LnurlScanResponse
import com.bitcointxoko.gudariwallet.api.RouteHintHop
/**
* Domain model classes for the wallet layer.
*
* These are the types returned by [WalletRepository] methods deliberately
* decoupled from the raw API response models in [com.example.gudariwallet.api].
* decoupled from the raw API response models in [com.bitcointxoko.gudariwallet.api].
*/
data class WalletBalance(
@@ -1,6 +1,6 @@
package com.example.gudariwallet.data
package com.bitcointxoko.gudariwallet.data
import com.example.gudariwallet.service.NodeAliasService
import com.bitcointxoko.gudariwallet.service.NodeAliasService
import kotlinx.coroutines.flow.StateFlow
/**
@@ -1,14 +1,14 @@
package com.example.gudariwallet.data
package com.bitcointxoko.gudariwallet.data
import android.content.Context
import android.net.Uri
import android.util.Log
import com.example.gudariwallet.api.*
import com.example.gudariwallet.api.LNbitsClient.httpClient
import com.example.gudariwallet.security.SecretStore
import com.example.gudariwallet.util.LnurlBech32
import com.example.gudariwallet.util.LnurlMetadataParser
import com.example.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.api.*
import com.bitcointxoko.gudariwallet.api.LNbitsClient.httpClient
import com.bitcointxoko.gudariwallet.security.SecretStore
import com.bitcointxoko.gudariwallet.util.LnurlBech32
import com.bitcointxoko.gudariwallet.util.LnurlMetadataParser
import com.bitcointxoko.gudariwallet.util.WalletConstants
private const val TAG = "LNbitsWalletRepo"
@@ -16,8 +16,8 @@ class LNbitsWalletRepository(
private val api: LNbitsApi,
private val secrets: SecretStore,
private val context : Context,
private val nodeAliasService: com.example.gudariwallet.service.NodeAliasService =
com.example.gudariwallet.service.NodeAliasService(httpClient, context),
private val nodeAliasService: com.bitcointxoko.gudariwallet.service.NodeAliasService =
com.bitcointxoko.gudariwallet.service.NodeAliasService(httpClient, context),
) : WalletRepository {
// ── Balance ───────────────────────────────────────────────────────────────
@@ -1,10 +1,10 @@
package com.example.gudariwallet.data
package com.bitcointxoko.gudariwallet.data
import android.content.Context
import android.content.SharedPreferences
import android.util.Log
import com.example.gudariwallet.api.LnurlScanResponse
import com.example.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.api.LnurlScanResponse
import com.bitcointxoko.gudariwallet.util.WalletConstants
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
@@ -1,4 +1,4 @@
package com.example.gudariwallet.data
package com.bitcointxoko.gudariwallet.data
import kotlinx.coroutines.flow.StateFlow
@@ -1,14 +1,14 @@
package com.example.gudariwallet.data
package com.bitcointxoko.gudariwallet.data
import android.content.Context
import android.content.SharedPreferences
import android.util.Log
import com.example.gudariwallet.api.GsonProvider
import com.example.gudariwallet.api.PaymentDetailResponse
import com.example.gudariwallet.api.PaymentRecord
import com.example.gudariwallet.util.WalletConstants
import com.example.gudariwallet.api.SuccessAction
import com.example.gudariwallet.api.SuccessActionAdapter
import com.bitcointxoko.gudariwallet.api.GsonProvider
import com.bitcointxoko.gudariwallet.api.PaymentDetailResponse
import com.bitcointxoko.gudariwallet.api.PaymentRecord
import com.bitcointxoko.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.api.SuccessAction
import com.bitcointxoko.gudariwallet.api.SuccessActionAdapter
import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken
@@ -1,9 +1,9 @@
package com.example.gudariwallet.data
package com.bitcointxoko.gudariwallet.data
import com.example.gudariwallet.api.LnurlScanResponse
import com.example.gudariwallet.api.PaymentDetailResponse
import com.example.gudariwallet.api.PaymentRecord
import com.example.gudariwallet.api.WithdrawCallbackResponse
import com.bitcointxoko.gudariwallet.api.LnurlScanResponse
import com.bitcointxoko.gudariwallet.api.PaymentDetailResponse
import com.bitcointxoko.gudariwallet.api.PaymentRecord
import com.bitcointxoko.gudariwallet.api.WithdrawCallbackResponse
/**
* Contract for all wallet operations.
@@ -1,4 +1,4 @@
package com.example.gudariwallet.security
package com.bitcointxoko.gudariwallet.security
import android.security.keystore.KeyGenParameterSpec
import android.security.keystore.KeyProperties
@@ -1,7 +1,7 @@
package com.example.gudariwallet.security
package com.bitcointxoko.gudariwallet.security
import android.content.Context
import com.example.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.util.WalletConstants
// Interface — lets you swap in a FakeSecretStore in tests
@@ -1,9 +1,9 @@
package com.example.gudariwallet.service
package com.bitcointxoko.gudariwallet.service
import android.content.Context
import android.content.SharedPreferences
import android.util.Log
import com.example.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.util.WalletConstants
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import kotlinx.coroutines.Dispatchers
@@ -1,4 +1,4 @@
package com.example.gudariwallet.service
package com.bitcointxoko.gudariwallet.service
import android.app.Service
import android.content.Context
@@ -7,13 +7,13 @@ import android.content.pm.ServiceInfo
import android.os.Build
import android.os.IBinder
import android.util.Log
import com.example.gudariwallet.api.GsonProvider
import com.example.gudariwallet.api.LNbitsClient
import com.example.gudariwallet.api.WsPaymentMessage
import com.example.gudariwallet.security.EncryptedSecretStore
import com.example.gudariwallet.util.NotificationConstants
import com.example.gudariwallet.util.NotificationHelper
import com.example.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.api.GsonProvider
import com.bitcointxoko.gudariwallet.api.LNbitsClient
import com.bitcointxoko.gudariwallet.api.WsPaymentMessage
import com.bitcointxoko.gudariwallet.security.EncryptedSecretStore
import com.bitcointxoko.gudariwallet.util.NotificationConstants
import com.bitcointxoko.gudariwallet.util.NotificationHelper
import com.bitcointxoko.gudariwallet.util.WalletConstants
import com.google.gson.Gson
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import android.content.ClipData
import android.content.Intent
@@ -29,10 +29,10 @@ import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import com.example.gudariwallet.api.PaymentRecord
import com.example.gudariwallet.ui.theme.semanticColors
import com.example.gudariwallet.util.feePpm
import com.example.gudariwallet.util.formatFiatForSats // ← new import
import com.bitcointxoko.gudariwallet.api.PaymentRecord
import com.bitcointxoko.gudariwallet.ui.theme.semanticColors
import com.bitcointxoko.gudariwallet.util.feePpm
import com.bitcointxoko.gudariwallet.util.formatFiatForSats // ← new import
import kotlinx.coroutines.launch
// ── List screen ──────────────────────────────────────────────────────────────
@@ -1,14 +1,14 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewModelScope
import com.example.gudariwallet.data.NodeAliasRepository
import com.example.gudariwallet.api.PaymentRecord
import com.example.gudariwallet.data.PaymentCacheRepository
import com.example.gudariwallet.data.WalletRepository
import com.example.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.data.NodeAliasRepository
import com.bitcointxoko.gudariwallet.api.PaymentRecord
import com.bitcointxoko.gudariwallet.data.PaymentCacheRepository
import com.bitcointxoko.gudariwallet.data.WalletRepository
import com.bitcointxoko.gudariwallet.util.WalletConstants
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.MutableStateFlow
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -28,7 +28,7 @@ import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.platform.LocalFocusManager
import com.example.gudariwallet.util.formatFiat
import com.bitcointxoko.gudariwallet.util.formatFiat
import kotlinx.coroutines.delay
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import android.Manifest
import android.content.Context
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.KeyboardOptions
@@ -11,7 +11,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.*
import androidx.compose.ui.unit.dp
import com.example.gudariwallet.security.SecretStore
import com.bitcointxoko.gudariwallet.security.SecretStore
@Composable
fun OnboardingScreen(
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import androidx.compose.animation.core.*
import androidx.compose.foundation.layout.*
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.compose.runtime.Composable
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import android.app.Activity
import android.view.WindowManager
@@ -52,10 +52,10 @@ import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.example.gudariwallet.ui.components.UnitWheelPicker
import com.example.gudariwallet.ui.receive.AmountDisplay
import com.example.gudariwallet.ui.receive.QrDisplayCard
import com.example.gudariwallet.util.fiatLabel
import com.bitcointxoko.gudariwallet.ui.components.UnitWheelPicker
import com.bitcointxoko.gudariwallet.ui.receive.AmountDisplay
import com.bitcointxoko.gudariwallet.ui.receive.QrDisplayCard
import com.bitcointxoko.gudariwallet.util.fiatLabel
import kotlinx.coroutines.delay
@Composable
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -20,11 +20,11 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.example.gudariwallet.ui.send.Bolt11ConfirmCard
import com.example.gudariwallet.ui.send.LnurlInvoiceConfirmCard
import com.example.gudariwallet.ui.send.LnurlPayForm
import com.example.gudariwallet.util.SendInputDetector
import com.example.gudariwallet.util.feePpm
import com.bitcointxoko.gudariwallet.ui.send.Bolt11ConfirmCard
import com.bitcointxoko.gudariwallet.ui.send.LnurlInvoiceConfirmCard
import com.bitcointxoko.gudariwallet.ui.send.LnurlPayForm
import com.bitcointxoko.gudariwallet.util.SendInputDetector
import com.bitcointxoko.gudariwallet.util.feePpm
import kotlinx.coroutines.launch
@Composable
@@ -1,11 +1,11 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import com.example.gudariwallet.api.LnurlScanResponse
import com.example.gudariwallet.api.PaymentDetailResponse
import com.example.gudariwallet.api.PaymentRecord
import com.example.gudariwallet.api.RouteHintHop
import com.example.gudariwallet.util.RouteHintRisk
import com.example.gudariwallet.util.SendInputType
import com.bitcointxoko.gudariwallet.api.LnurlScanResponse
import com.bitcointxoko.gudariwallet.api.PaymentDetailResponse
import com.bitcointxoko.gudariwallet.api.PaymentRecord
import com.bitcointxoko.gudariwallet.api.RouteHintHop
import com.bitcointxoko.gudariwallet.util.RouteHintRisk
import com.bitcointxoko.gudariwallet.util.SendInputType
sealed class UiState<out T> {
data object Loading : UiState<Nothing>()
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import android.content.ClipboardManager
import android.util.Log
@@ -52,8 +52,8 @@ import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navArgument
import com.example.gudariwallet.MainActivity
import com.example.gudariwallet.util.SendInputType
import com.bitcointxoko.gudariwallet.MainActivity
import com.bitcointxoko.gudariwallet.util.SendInputType
import kotlinx.coroutines.delay
// ── Tab destinations ──────────────────────────────────────────────────────────
@@ -1,23 +1,23 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import android.content.Context
import android.content.SharedPreferences
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.example.gudariwallet.api.LnurlScanResponse
import com.example.gudariwallet.data.LnurlCacheRepository
import com.example.gudariwallet.data.NodeAliasRepository
import com.example.gudariwallet.data.PaymentCacheRepository
import com.example.gudariwallet.data.WalletRepository
import com.example.gudariwallet.service.WalletNotificationService
import com.example.gudariwallet.util.LnurlMetadataParser
import com.example.gudariwallet.util.RouteHintAnalyzer
import com.example.gudariwallet.util.SendInputDetector
import com.example.gudariwallet.util.SendInputType
import com.example.gudariwallet.util.WalletConstants
import com.example.gudariwallet.util.satsToFiat
import com.example.gudariwallet.util.parseApiError
import com.bitcointxoko.gudariwallet.api.LnurlScanResponse
import com.bitcointxoko.gudariwallet.data.LnurlCacheRepository
import com.bitcointxoko.gudariwallet.data.NodeAliasRepository
import com.bitcointxoko.gudariwallet.data.PaymentCacheRepository
import com.bitcointxoko.gudariwallet.data.WalletRepository
import com.bitcointxoko.gudariwallet.service.WalletNotificationService
import com.bitcointxoko.gudariwallet.util.LnurlMetadataParser
import com.bitcointxoko.gudariwallet.util.RouteHintAnalyzer
import com.bitcointxoko.gudariwallet.util.SendInputDetector
import com.bitcointxoko.gudariwallet.util.SendInputType
import com.bitcointxoko.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.util.satsToFiat
import com.bitcointxoko.gudariwallet.util.parseApiError
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharedFlow
@@ -27,9 +27,9 @@ import androidx.core.content.edit
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.flow.SharingStarted
import com.example.gudariwallet.util.lnurlProtocolError
import com.bitcointxoko.gudariwallet.util.lnurlProtocolError
import androidx.fragment.app.FragmentActivity
import com.example.gudariwallet.util.BiometricHelper
import com.bitcointxoko.gudariwallet.util.BiometricHelper
private const val TAG = "WalletViewModel"
@@ -1,15 +1,15 @@
package com.example.gudariwallet.ui
package com.bitcointxoko.gudariwallet.ui
import android.app.Application
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.example.gudariwallet.api.LNbitsClient
import com.example.gudariwallet.data.LNbitsNodeAliasRepository
import com.example.gudariwallet.data.LNbitsWalletRepository
import com.example.gudariwallet.data.LnurlCacheRepository
import com.example.gudariwallet.data.PaymentCacheRepository
import com.example.gudariwallet.security.EncryptedSecretStore
import com.example.gudariwallet.service.NodeAliasService
import com.bitcointxoko.gudariwallet.api.LNbitsClient
import com.bitcointxoko.gudariwallet.data.LNbitsNodeAliasRepository
import com.bitcointxoko.gudariwallet.data.LNbitsWalletRepository
import com.bitcointxoko.gudariwallet.data.LnurlCacheRepository
import com.bitcointxoko.gudariwallet.data.PaymentCacheRepository
import com.bitcointxoko.gudariwallet.security.EncryptedSecretStore
import com.bitcointxoko.gudariwallet.service.NodeAliasService
class WalletViewModelFactory(private val app: Application) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.components
package com.bitcointxoko.gudariwallet.ui.components
import android.content.ClipData
import androidx.compose.foundation.clickable
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.components
package com.bitcointxoko.gudariwallet.ui.components
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.receive
package com.bitcointxoko.gudariwallet.ui.receive
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.receive
package com.bitcointxoko.gudariwallet.ui.receive
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.BrightnessHigh
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.receive
package com.bitcointxoko.gudariwallet.ui.receive
import android.content.ClipData
import android.graphics.Bitmap
@@ -27,7 +27,7 @@ import androidx.compose.ui.platform.ClipEntry
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import com.example.gudariwallet.util.IntentUtils
import com.bitcointxoko.gudariwallet.util.IntentUtils
import com.google.zxing.BarcodeFormat
import com.google.zxing.qrcode.QRCodeWriter
import kotlinx.coroutines.launch
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.send
package com.bitcointxoko.gudariwallet.ui.send
import android.content.Intent
import androidx.compose.foundation.layout.Column
@@ -19,13 +19,13 @@ import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import androidx.fragment.app.FragmentActivity
import com.example.gudariwallet.ui.DecodedInvoice
import com.example.gudariwallet.ui.SendState
import com.example.gudariwallet.ui.WalletViewModel
import com.example.gudariwallet.ui.components.CopyIconButton
import com.example.gudariwallet.ui.components.DetailRow
import com.example.gudariwallet.util.fiatLabel
import com.example.gudariwallet.util.payingToLabel
import com.bitcointxoko.gudariwallet.ui.DecodedInvoice
import com.bitcointxoko.gudariwallet.ui.SendState
import com.bitcointxoko.gudariwallet.ui.WalletViewModel
import com.bitcointxoko.gudariwallet.ui.components.CopyIconButton
import com.bitcointxoko.gudariwallet.ui.components.DetailRow
import com.bitcointxoko.gudariwallet.util.fiatLabel
import com.bitcointxoko.gudariwallet.util.payingToLabel
@Composable
internal fun Bolt11ConfirmCard(
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.send
package com.bitcointxoko.gudariwallet.ui.send
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -17,13 +17,13 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import com.example.gudariwallet.ui.SendState
import com.example.gudariwallet.ui.WalletViewModel
import com.example.gudariwallet.util.WalletConstants
import com.example.gudariwallet.util.fiatLabel
import com.example.gudariwallet.util.formatFiat
import com.example.gudariwallet.util.payingToLabel
import com.example.gudariwallet.util.satsToFiat
import com.bitcointxoko.gudariwallet.ui.SendState
import com.bitcointxoko.gudariwallet.ui.WalletViewModel
import com.bitcointxoko.gudariwallet.util.WalletConstants
import com.bitcointxoko.gudariwallet.util.fiatLabel
import com.bitcointxoko.gudariwallet.util.formatFiat
import com.bitcointxoko.gudariwallet.util.payingToLabel
import com.bitcointxoko.gudariwallet.util.satsToFiat
@Composable
internal fun LnurlPayForm(
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.send
package com.bitcointxoko.gudariwallet.ui.send
import android.content.Intent
import androidx.compose.foundation.clickable
@@ -33,11 +33,11 @@ import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import com.example.gudariwallet.api.RouteHintHop
import com.example.gudariwallet.ui.components.CopyIconButton
import com.example.gudariwallet.util.RiskLevel
import com.example.gudariwallet.util.RouteHintRisk
import com.example.gudariwallet.util.baseFeeLabel
import com.bitcointxoko.gudariwallet.api.RouteHintHop
import com.bitcointxoko.gudariwallet.ui.components.CopyIconButton
import com.bitcointxoko.gudariwallet.util.RiskLevel
import com.bitcointxoko.gudariwallet.util.RouteHintRisk
import com.bitcointxoko.gudariwallet.util.baseFeeLabel
@Composable
internal fun RouteHintWarningBanner(
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.theme
package com.bitcointxoko.gudariwallet.ui.theme
import androidx.compose.ui.graphics.Color
@@ -1,6 +1,6 @@
// ui/theme/SemanticColors.kt
package com.example.gudariwallet.ui.theme
package com.bitcointxoko.gudariwallet.ui.theme
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.Composable
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.theme
package com.bitcointxoko.gudariwallet.ui.theme
import android.app.Activity
import android.os.Build
@@ -1,4 +1,4 @@
package com.example.gudariwallet.ui.theme
package com.bitcointxoko.gudariwallet.ui.theme
import androidx.compose.material3.Typography
import androidx.compose.ui.text.TextStyle
@@ -1,6 +1,6 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import com.example.gudariwallet.api.LnurlScanResponse
import com.bitcointxoko.gudariwallet.api.LnurlScanResponse
import org.json.JSONObject
import retrofit2.HttpException
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import android.content.Context
import android.content.ContextWrapper
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
/**
* Converts a satoshi amount to its fiat equivalent.
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import android.content.Context
import android.content.Intent
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import kotlin.collections.toByteArray
@@ -1,11 +1,11 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import org.json.JSONArray
/**
* Stateless helpers for parsing LNURL-pay step-1 metadata fields.
* Shared between [com.example.gudariwallet.data.LNbitsWalletRepository]
* and [com.example.gudariwallet.ui.WalletViewModel] so neither duplicates
* Shared between [com.bitcointxoko.gudariwallet.data.LNbitsWalletRepository]
* and [com.bitcointxoko.gudariwallet.ui.WalletViewModel] so neither duplicates
* the logic.
*/
object LnurlMetadataParser {
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
object NotificationConstants {
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import android.app.Notification
import android.app.NotificationChannel
@@ -8,8 +8,8 @@ import android.content.Context
import android.content.Intent
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import com.example.gudariwallet.MainActivity
import com.example.gudariwallet.R
import com.bitcointxoko.gudariwallet.MainActivity
import com.bitcointxoko.gudariwallet.R
object NotificationHelper {
@@ -1,6 +1,6 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import com.example.gudariwallet.api.RouteHintHop
import com.bitcointxoko.gudariwallet.api.RouteHintHop
data class RouteHintRisk(
val worstHop : RouteHintHop,
@@ -1,6 +1,6 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
import com.example.gudariwallet.util.WalletConstants.MSAT_PER_SAT
import com.bitcointxoko.gudariwallet.util.WalletConstants.MSAT_PER_SAT
/** Convert millisatoshis to satoshis. e.g. 10_000L.msatToSat == 10L */
val Long.msatToSat: Long get() = this / MSAT_PER_SAT
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
sealed class SendInputType {
data object Bolt11 : SendInputType()
@@ -1,4 +1,4 @@
package com.example.gudariwallet.util
package com.bitcointxoko.gudariwallet.util
object WalletConstants {
@@ -1,4 +1,4 @@
package com.example.gudariwallet
package com.bitcointxoko.gudariwallet
import org.junit.Test