rename example
This commit is contained in:
+80
-1
@@ -1 +1,80 @@
|
||||
/build
|
||||
# Built application files
|
||||
*.apk
|
||||
*.aab
|
||||
*.ap_
|
||||
*.dex
|
||||
|
||||
# Java class files
|
||||
*.class
|
||||
|
||||
# Generated files
|
||||
bin/
|
||||
gen/
|
||||
out/
|
||||
|
||||
# Gradle files
|
||||
.gradle/
|
||||
build/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
||||
# Proguard folder generated by Eclipse
|
||||
proguard/
|
||||
|
||||
# Log Files
|
||||
*.log
|
||||
|
||||
# Android Studio Navigation editor temp files
|
||||
.navigation/
|
||||
|
||||
# Android Studio captures folder
|
||||
captures/
|
||||
|
||||
# IntelliJ
|
||||
*.iml
|
||||
.idea/
|
||||
# If you prefer to keep some .idea config tracked, use these instead:
|
||||
# .idea/caches
|
||||
# .idea/libraries
|
||||
# .idea/tasks.xml
|
||||
# .idea/gradle.xml
|
||||
# .idea/assetWizardSettings.xml
|
||||
# .idea/dictionaries
|
||||
# .idea/navEditor.xml
|
||||
|
||||
# Keystore files
|
||||
# Note: uncomment the following if you commit keystore files.
|
||||
# *.jks
|
||||
# *.keystore
|
||||
|
||||
# External native build folder generated in Android Studio 2.2+
|
||||
.externalNativeBuild/
|
||||
.cxx/
|
||||
|
||||
# Google Services (if you use Firebase/Google APIs, keep this ignored
|
||||
# and use a template like google-services.json.example instead)
|
||||
# google-services.json
|
||||
|
||||
# Kotlin
|
||||
*.kotlin_module
|
||||
|
||||
# Fabric/Google Crashlytics
|
||||
fabric.properties
|
||||
|
||||
# Secrets / API keys
|
||||
*.keystore
|
||||
*.jks
|
||||
secrets.properties
|
||||
api_keys.properties
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Lint reports
|
||||
lint-results.xml
|
||||
lint-results_files/
|
||||
|
||||
# APK signing info
|
||||
signing.properties
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "com.example.gudariwallet"
|
||||
namespace = "com.bitcointxoko.gudariwallet"
|
||||
compileSdk {
|
||||
version = release(36) {
|
||||
minorApiLevel = 1
|
||||
@@ -12,7 +12,7 @@ android {
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.example.gudariwallet"
|
||||
applicationId = "com.bitcointxoko.gudariwallet"
|
||||
minSdk = 26
|
||||
targetSdk = 36
|
||||
versionCode = 1
|
||||
|
||||
+2
-2
@@ -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)
|
||||
}
|
||||
}
|
||||
+10
-10
@@ -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
-1
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.api
|
||||
package com.bitcointxoko.gudariwallet.api
|
||||
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.GET
|
||||
+3
-3
@@ -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
-1
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.api
|
||||
package com.bitcointxoko.gudariwallet.api
|
||||
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.Path
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.api
|
||||
package com.bitcointxoko.gudariwallet.api
|
||||
|
||||
import okhttp3.OkHttpClient
|
||||
import retrofit2.Retrofit
|
||||
+4
-4
@@ -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(
|
||||
+2
-2
@@ -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
|
||||
|
||||
/**
|
||||
+9
-9
@@ -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 ───────────────────────────────────────────────────────────────
|
||||
+3
-3
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.data
|
||||
package com.bitcointxoko.gudariwallet.data
|
||||
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
+7
-7
@@ -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
|
||||
|
||||
+5
-5
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.security
|
||||
package com.bitcointxoko.gudariwallet.security
|
||||
|
||||
import android.security.keystore.KeyGenParameterSpec
|
||||
import android.security.keystore.KeyProperties
|
||||
+2
-2
@@ -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
|
||||
+2
-2
@@ -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
|
||||
+8
-8
@@ -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
|
||||
+5
-5
@@ -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 ──────────────────────────────────────────────────────────────
|
||||
+6
-6
@@ -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
|
||||
+2
-2
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.ui
|
||||
package com.bitcointxoko.gudariwallet.ui
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
+2
-2
@@ -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
-1
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.ui
|
||||
package com.bitcointxoko.gudariwallet.ui
|
||||
|
||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||
import androidx.compose.runtime.Composable
|
||||
+5
-5
@@ -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
|
||||
+6
-6
@@ -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
|
||||
+7
-7
@@ -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>()
|
||||
+3
-3
@@ -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 ──────────────────────────────────────────────────────────
|
||||
+16
-16
@@ -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"
|
||||
+8
-8
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
|
||||
+2
-2
@@ -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
|
||||
+8
-8
@@ -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(
|
||||
+8
-8
@@ -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(
|
||||
+6
-6
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.ui.theme
|
||||
package com.bitcointxoko.gudariwallet.ui.theme
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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
-1
@@ -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
|
||||
+2
-2
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.util
|
||||
package com.bitcointxoko.gudariwallet.util
|
||||
|
||||
import android.content.Context
|
||||
import android.content.ContextWrapper
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.util
|
||||
package com.bitcointxoko.gudariwallet.util
|
||||
|
||||
/**
|
||||
* Converts a satoshi amount to its fiat equivalent.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.util
|
||||
package com.bitcointxoko.gudariwallet.util
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.util
|
||||
package com.bitcointxoko.gudariwallet.util
|
||||
|
||||
import kotlin.collections.toByteArray
|
||||
|
||||
+3
-3
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.util
|
||||
package com.bitcointxoko.gudariwallet.util
|
||||
|
||||
object NotificationConstants {
|
||||
|
||||
+3
-3
@@ -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 {
|
||||
|
||||
+2
-2
@@ -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,
|
||||
+2
-2
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.util
|
||||
package com.bitcointxoko.gudariwallet.util
|
||||
|
||||
sealed class SendInputType {
|
||||
data object Bolt11 : SendInputType()
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet.util
|
||||
package com.bitcointxoko.gudariwallet.util
|
||||
|
||||
object WalletConstants {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.gudariwallet
|
||||
package com.bitcointxoko.gudariwallet
|
||||
|
||||
import org.junit.Test
|
||||
|
||||
Reference in New Issue
Block a user