diff --git a/samples/addressAndKeys/app/.gitignore b/samples/addressAndKeys/app/.gitignore deleted file mode 100644 index 796b96d1..00000000 --- a/samples/addressAndKeys/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/samples/addressAndKeys/app/build.gradle b/samples/addressAndKeys/app/build.gradle deleted file mode 100644 index 5f96b882..00000000 --- a/samples/addressAndKeys/app/build.gradle +++ /dev/null @@ -1,37 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' - -android { - compileSdkVersion 29 - defaultConfig { - applicationId "cash.z.wallet.sdk.sample.address" - minSdkVersion 21 - targetSdkVersion 29 - versionCode 1 - versionName "1.0" - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - missingDimensionStrategy "network", "zcashtestnet" - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - matchingFallbacks = ['zcashtestnetRelease'] - } - } -} - -dependencies { - implementation project(path: ':sdk') -// api project(path: ':sdk', configuration: 'default') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}" - implementation 'androidx.appcompat:appcompat:1.1.0' - implementation 'androidx.core:core-ktx:1.1.0' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:${versions.coroutines}" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:${versions.coroutines}" - testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' -} diff --git a/samples/addressAndKeys/app/src/main/AndroidManifest.xml b/samples/addressAndKeys/app/src/main/AndroidManifest.xml deleted file mode 100644 index dd6f1e4d..00000000 --- a/samples/addressAndKeys/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/Injection.kt b/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/Injection.kt deleted file mode 100644 index 195cdb9d..00000000 --- a/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/Injection.kt +++ /dev/null @@ -1,34 +0,0 @@ -package cash.z.wallet.sdk.sample.address - -import cash.z.wallet.sdk.jni.RustBackend -import cash.z.wallet.sdk.jni.RustBackendWelding -import cash.z.wallet.sdk.secure.Wallet -import kotlin.properties.ReadOnlyProperty -import kotlin.properties.ReadWriteProperty - -object Injection { - private val rustBackend: RustBackendWelding = RustBackend() - private const val dataDbName = "AddressSampleData.db" - - fun provideWallet( - seedProvider: ReadOnlyProperty, - spendingKeyProvider: ReadWriteProperty - ): Wallet { - // simulate new session for each call - App.instance.getDatabasePath(dataDbName).absoluteFile.delete() - - return Wallet( - context = App.instance, - birthday = Wallet.loadBirthdayFromAssets(App.instance, 421720), - rustBackend = provideRustBackend(), - dataDbName = dataDbName, - seedProvider = seedProvider, - spendingKeyProvider = spendingKeyProvider - ) - } - - fun provideRustBackend(): RustBackendWelding { - return rustBackend - } -} - diff --git a/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/MainActivity.kt b/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/MainActivity.kt deleted file mode 100644 index f7e1a463..00000000 --- a/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/MainActivity.kt +++ /dev/null @@ -1,65 +0,0 @@ -package cash.z.wallet.sdk.sample.address - -import android.os.Bundle -import android.view.View -import android.widget.TextView -import android.widget.Toast -import androidx.appcompat.app.AppCompatActivity -import cash.z.wallet.sdk.data.TroubleshootingTwig -import cash.z.wallet.sdk.data.Twig -import cash.z.wallet.sdk.ext.SampleSeedProvider -import cash.z.wallet.sdk.secure.Wallet -import kotlin.properties.Delegates - -/** - * Sample app that shows how to access the address and spending key. - */ -class MainActivity : AppCompatActivity() { - private lateinit var wallet: Wallet - private lateinit var addressInfo: TextView - - // Secure storage is out of scope for this example (wallet makers know how to securely store things) - // However, any class can implement the required interface for these dependencies. The expectation is that a wallet - // maker would wrap an existing class with something that implements the property interface to access data. These - // dependencies would then point to those wrappers. - private val mockSecureStorage = Delegates.notNull() - private val mockSecureSeedProvider = SampleSeedProvider("testreferencealice") - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - Twig.plant(TroubleshootingTwig()) - - addressInfo = findViewById(R.id.text_address_info) - - wallet = Injection.provideWallet(mockSecureSeedProvider, mockSecureStorage).also { it.initialize() } - } - - override fun onResume() { - super.onResume() - addressInfo.text = createAddressInfo() - } - - private fun createAddressInfo(): String { - val address = wallet.getAddress() - val key by mockSecureStorage - val info = """ - seed: - ${mockSecureSeedProvider.seedValue} - -------------------------------------- - address: - $address - -------------------------------------- - spendingKey: - $key - """.trimIndent() - return info - } - - fun onTestThings(view: View) { - // This is a good place to insert some test behavior to try out the SDK in response to a click - // it may help to add objects to the Injection.kt file - Toast.makeText(this, "Test SDK behavior", Toast.LENGTH_SHORT).show() - } - -} diff --git a/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/ScopedActivity.kt b/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/ScopedActivity.kt deleted file mode 100644 index 9d578d4c..00000000 --- a/samples/addressAndKeys/app/src/main/java/cash/z/wallet/sdk/sample/address/ScopedActivity.kt +++ /dev/null @@ -1,26 +0,0 @@ -package cash.z.wallet.sdk.sample.address - -import android.os.Bundle -import androidx.appcompat.app.AppCompatActivity -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.Job -import kotlin.coroutines.CoroutineContext - -open class ScopedActivity : AppCompatActivity(), CoroutineScope { - private lateinit var job: Job - - override val coroutineContext: CoroutineContext - get() = job + Dispatchers.Main - - override fun onCreate(savedInstanceState: Bundle?) { - job = Job() - super.onCreate(savedInstanceState) - } - - override fun onDestroy() { - super.onDestroy() - job.cancel() - } - -} diff --git a/samples/addressAndKeys/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/samples/addressAndKeys/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 6348baae..00000000 --- a/samples/addressAndKeys/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/samples/addressAndKeys/app/src/main/res/drawable/ic_launcher_background.xml b/samples/addressAndKeys/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index a0ad202f..00000000 --- a/samples/addressAndKeys/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/addressAndKeys/app/src/main/res/layout/activity_main.xml b/samples/addressAndKeys/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index 345ce1a6..00000000 --- a/samples/addressAndKeys/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -