diff --git a/.travis.yml b/.travis.yml
index 00009a0..566e199 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,8 +11,8 @@ android:
components:
- tools
- platform-tools
- - build-tools-28.0.3
- - android-28
+ - build-tools-29.0.3
+ - android-29
- $ANDROID_TARGET
- extra-android-m2repository
- sys-img-${ANDROID_ABI}-${ANDROID_TARGET}
diff --git a/app/build.gradle b/app/build.gradle
index bcc7d83..57563c6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,15 +6,16 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
- compileSdkVersion 28
+ compileSdkVersion 29
+ buildToolsVersion "29.0.3"
defaultConfig {
applicationId "org.myhush.silentdragon"
- minSdkVersion 19
- targetSdkVersion 28
+ minSdkVersion 17
+ targetSdkVersion 29
versionCode 2
versionName "0.5.14"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
@@ -51,17 +52,17 @@ if (secretsPropertiesFile.exists()) {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation 'com.android.support.constraint:constraint-layout:1.1.3'
- implementation 'com.android.support:design:28.0.0'
+ implementation 'androidx.appcompat:appcompat:1.0.0'
+ implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
+ implementation 'com.google.android.material:material:1.0.0'
implementation 'androidmads.library.qrgenearator:QRGenearator:1.0.3'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.beust:klaxon:5.0.1'
- implementation 'com.android.support:support-v4:28.0.0'
+ implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.gms:play-services-vision:17.0.2'
- implementation 'com.android.support:support-vector-drawable:28.0.0'
+ implementation 'androidx.vectordrawable:vectordrawable:1.0.0'
implementation 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:2.0.1'
testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
}
diff --git a/app/src/androidTest/java/org/myhush/silentdragon/zqwandroid/ExampleInstrumentedTest.kt b/app/src/androidTest/java/org/myhush/silentdragon/zqwandroid/ExampleInstrumentedTest.kt
index 0fb05f7..e650870 100644
--- a/app/src/androidTest/java/org/myhush/silentdragon/zqwandroid/ExampleInstrumentedTest.kt
+++ b/app/src/androidTest/java/org/myhush/silentdragon/zqwandroid/ExampleInstrumentedTest.kt
@@ -1,7 +1,7 @@
package org.myhush.silentdragon.zqwandroid
-import android.support.test.InstrumentationRegistry
-import android.support.test.runner.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/app/src/main/java/org/myhush/silentdragon/AboutActivity.kt b/app/src/main/java/org/myhush/silentdragon/AboutActivity.kt
index fba8b74..2a084cc 100644
--- a/app/src/main/java/org/myhush/silentdragon/AboutActivity.kt
+++ b/app/src/main/java/org/myhush/silentdragon/AboutActivity.kt
@@ -1,7 +1,7 @@
// Copyright 2019-2020 The Hush developers
package org.myhush.silentdragon
-import android.support.v7.app.AppCompatActivity
+import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_about.lblVersionName
diff --git a/app/src/main/java/org/myhush/silentdragon/ConnectionManager.kt b/app/src/main/java/org/myhush/silentdragon/ConnectionManager.kt
index e4b7a49..4124612 100644
--- a/app/src/main/java/org/myhush/silentdragon/ConnectionManager.kt
+++ b/app/src/main/java/org/myhush/silentdragon/ConnectionManager.kt
@@ -146,7 +146,7 @@ object ConnectionManager {
.url("https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=${currencies}")
.build()
val response: Response = client.newCall(request).execute()
- val json: JSONObject = JSONObject(response.body()?.string())["hush"] as JSONObject
+ val json: JSONObject = JSONObject(response.body()?.string() as @NonNull String)["hush"] as JSONObject
if (json.length() > 0){
for (cur: String in json.keys()){
diff --git a/app/src/main/java/org/myhush/silentdragon/MainActivity.kt b/app/src/main/java/org/myhush/silentdragon/MainActivity.kt
index 3ab609f..d0833f3 100644
--- a/app/src/main/java/org/myhush/silentdragon/MainActivity.kt
+++ b/app/src/main/java/org/myhush/silentdragon/MainActivity.kt
@@ -11,10 +11,10 @@ import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.StrictMode
-import android.support.constraint.ConstraintLayout
-import android.support.design.widget.Snackbar
-import android.support.v4.text.HtmlCompat
-import android.support.v7.app.AppCompatActivity
+import androidx.constraintlayout.widget.ConstraintLayout
+import com.google.android.material.snackbar.Snackbar
+import androidx.core.text.HtmlCompat
+import androidx.appcompat.app.AppCompatActivity
import android.text.Html
import android.util.Log
import android.view.Menu
@@ -123,7 +123,7 @@ class MainActivity : AppCompatActivity(),
private fun loadSharedPref() {
var ref: SharedPreferences = getSharedPreferences("MainFile", 0)
- DataModel.selectedCurrency = ref.getString("currency", "BTC")
+ DataModel.selectedCurrency = ref.getString("currency", "BTC").toString()
}
private fun setMainStatus(status: String) {
diff --git a/app/src/main/java/org/myhush/silentdragon/QrReaderActivity.kt b/app/src/main/java/org/myhush/silentdragon/QrReaderActivity.kt
index 1e879c4..e03cb2f 100644
--- a/app/src/main/java/org/myhush/silentdragon/QrReaderActivity.kt
+++ b/app/src/main/java/org/myhush/silentdragon/QrReaderActivity.kt
@@ -6,9 +6,9 @@ import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Bundle
-import android.support.v4.app.ActivityCompat
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AppCompatActivity
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
+import androidx.appcompat.app.AppCompatActivity
import android.util.Log
import android.view.Menu
import android.view.MenuItem
@@ -120,7 +120,7 @@ class QrReaderActivity : AppCompatActivity() {
println("Preview size: ${cameraSource.previewSize}")
}
} catch (ie: IOException) {
- Log.e("CAMERA SOURCE", ie.message)
+ Log.e("CAMERA SOURCE", ie.toString())
}
}
diff --git a/app/src/main/java/org/myhush/silentdragon/ReceiveActivity.kt b/app/src/main/java/org/myhush/silentdragon/ReceiveActivity.kt
index c08c612..c32078e 100644
--- a/app/src/main/java/org/myhush/silentdragon/ReceiveActivity.kt
+++ b/app/src/main/java/org/myhush/silentdragon/ReceiveActivity.kt
@@ -6,8 +6,8 @@ import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import android.support.design.widget.TabLayout
-import android.support.v7.app.AppCompatActivity
+import com.google.android.material.tabs.TabLayout
+import androidx.appcompat.app.AppCompatActivity
import android.util.Log
import android.view.Menu
import android.view.MenuItem
@@ -35,7 +35,7 @@ class ReceiveActivity : AppCompatActivity() {
supportActionBar?.setDisplayHomeAsUpEnabled(true)
- tabAddressType.setOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
+ tabAddressType.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabReselected(p0: TabLayout.Tab?) {}
override fun onTabUnselected(p0: TabLayout.Tab?) {}
@@ -89,7 +89,7 @@ class ReceiveActivity : AppCompatActivity() {
addrTxt.setOnClickListener {
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText(getString(R.string.hush_address), addr)
- clipboard.primaryClip = clip
+ clipboard.setPrimaryClip(clip)
Toast.makeText(applicationContext, getString(R.string.copied_address_to_clipboard), Toast.LENGTH_SHORT).show()
}
}
@@ -123,7 +123,7 @@ class ReceiveActivity : AppCompatActivity() {
return true
}
- else -> super.onOptionsItemSelected(item)
+ else -> super.onOptionsItemSelected(item as MenuItem)
}
}
}
diff --git a/app/src/main/java/org/myhush/silentdragon/SendActivity.kt b/app/src/main/java/org/myhush/silentdragon/SendActivity.kt
index 633c65e..1f9ac5f 100644
--- a/app/src/main/java/org/myhush/silentdragon/SendActivity.kt
+++ b/app/src/main/java/org/myhush/silentdragon/SendActivity.kt
@@ -9,8 +9,8 @@ import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.provider.ContactsContract
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AppCompatActivity
+import androidx.core.content.ContextCompat
+import androidx.appcompat.app.AppCompatActivity
import android.text.Editable
import android.text.InputType
import android.text.SpannableStringBuilder
diff --git a/app/src/main/java/org/myhush/silentdragon/SettingsActivity.kt b/app/src/main/java/org/myhush/silentdragon/SettingsActivity.kt
index faec829..93b47a3 100644
--- a/app/src/main/java/org/myhush/silentdragon/SettingsActivity.kt
+++ b/app/src/main/java/org/myhush/silentdragon/SettingsActivity.kt
@@ -2,7 +2,7 @@
package org.myhush.silentdragon
import android.content.SharedPreferences
-import android.support.v7.app.AppCompatActivity
+import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Adapter
diff --git a/app/src/main/java/org/myhush/silentdragon/TransactionItemFragment.kt b/app/src/main/java/org/myhush/silentdragon/TransactionItemFragment.kt
index af7fa0c..d3fc29d 100644
--- a/app/src/main/java/org/myhush/silentdragon/TransactionItemFragment.kt
+++ b/app/src/main/java/org/myhush/silentdragon/TransactionItemFragment.kt
@@ -6,9 +6,9 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import android.support.constraint.ConstraintLayout
-import android.support.v4.app.Fragment
-import android.support.v4.content.ContextCompat
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.fragment.app.Fragment
+import androidx.core.content.ContextCompat
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -44,7 +44,7 @@ class TransactionItemFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
- tx = Klaxon().parse(it.getString(ARG_PARAM1))
+ tx = Klaxon().parse(it.getString(ARG_PARAM1).toString())
param2 = it.getString(ARG_PARAM2)
}
}
diff --git a/app/src/main/java/org/myhush/silentdragon/TxDetailsActivity.kt b/app/src/main/java/org/myhush/silentdragon/TxDetailsActivity.kt
index 9cb2e85..cf9d123 100644
--- a/app/src/main/java/org/myhush/silentdragon/TxDetailsActivity.kt
+++ b/app/src/main/java/org/myhush/silentdragon/TxDetailsActivity.kt
@@ -4,7 +4,7 @@ package org.myhush.silentdragon
import android.annotation.SuppressLint
import android.app.Activity
import android.os.Bundle
-import android.support.v7.app.AppCompatActivity
+import androidx.appcompat.app.AppCompatActivity
import com.beust.klaxon.Klaxon
import kotlinx.android.synthetic.main.activity_tx_details.*
import kotlinx.android.synthetic.main.content_tx_details.*
@@ -14,7 +14,7 @@ import java.text.DecimalFormat
import java.util.*
import android.content.Intent
import android.net.Uri
-import android.support.constraint.ConstraintLayout
+import androidx.constraintlayout.widget.ConstraintLayout
import android.view.Menu
import android.view.MenuItem
import android.view.View
@@ -136,7 +136,7 @@ class TxDetailsActivity : AppCompatActivity() {
return true
}
- else -> super.onOptionsItemSelected(item)
+ else -> super.onOptionsItemSelected(item as MenuItem)
}
}
diff --git a/app/src/main/java/org/myhush/silentdragon/UnconfirmedTxItemFragment.kt b/app/src/main/java/org/myhush/silentdragon/UnconfirmedTxItemFragment.kt
index df5022c..a9eee3b 100644
--- a/app/src/main/java/org/myhush/silentdragon/UnconfirmedTxItemFragment.kt
+++ b/app/src/main/java/org/myhush/silentdragon/UnconfirmedTxItemFragment.kt
@@ -5,8 +5,8 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import android.support.constraint.ConstraintLayout
-import android.support.v4.app.Fragment
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -37,7 +37,7 @@ class UnconfirmedTxItemFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
- tx = Klaxon().parse(it.getString(ARG_PARAM1))
+ tx = Klaxon().parse(it.getString(ARG_PARAM1).toString())
param2 = it.getString(ARG_PARAM2)
}
}
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index c1d5c78..0af7a34 100644
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -7,7 +7,7 @@
android:layout_height="match_parent"
tools:context="org.myhush.silentdragon.AboutActivity">
-
-
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index bbf11ee..c093893 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_qr_reader.xml b/app/src/main/res/layout/activity_qr_reader.xml
index 05b9e68..ad03fbb 100644
--- a/app/src/main/res/layout/activity_qr_reader.xml
+++ b/app/src/main/res/layout/activity_qr_reader.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_receive.xml b/app/src/main/res/layout/activity_receive.xml
index 632b634..9530f1d 100644
--- a/app/src/main/res/layout/activity_receive.xml
+++ b/app/src/main/res/layout/activity_receive.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_send.xml b/app/src/main/res/layout/activity_send.xml
index edd7fd9..4d3b412 100644
--- a/app/src/main/res/layout/activity_send.xml
+++ b/app/src/main/res/layout/activity_send.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 111430a..effbb1a 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
+
diff --git a/app/src/main/res/layout/activity_tx_details.xml b/app/src/main/res/layout/activity_tx_details.xml
index 4e16493..f7307bc 100644
--- a/app/src/main/res/layout/activity_tx_details.xml
+++ b/app/src/main/res/layout/activity_tx_details.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml
index 3bbf6b5..0371625 100644
--- a/app/src/main/res/layout/content_main.xml
+++ b/app/src/main/res/layout/content_main.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
-
+
-
+
diff --git a/app/src/main/res/layout/content_receive.xml b/app/src/main/res/layout/content_receive.xml
index 7a50648..2560cfb 100644
--- a/app/src/main/res/layout/content_receive.xml
+++ b/app/src/main/res/layout/content_receive.xml
@@ -1,5 +1,5 @@
-
-
-
-
-
-
+
+
diff --git a/app/src/main/res/layout/content_send.xml b/app/src/main/res/layout/content_send.xml
index 1565ad0..dd647b0 100644
--- a/app/src/main/res/layout/content_send.xml
+++ b/app/src/main/res/layout/content_send.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
-
-
+
-
+
-
+
-
+
diff --git a/app/src/main/res/layout/content_tx_details.xml b/app/src/main/res/layout/content_tx_details.xml
index 7724c90..27a65ae 100644
--- a/app/src/main/res/layout/content_tx_details.xml
+++ b/app/src/main/res/layout/content_tx_details.xml
@@ -1,5 +1,5 @@
-
-
-
-
+
-
-
-
+
-
+
-
-
+
-
+
-
+
diff --git a/app/src/main/res/layout/fragment_transaction_item.xml b/app/src/main/res/layout/fragment_transaction_item.xml
index fb585ed..abe8f56 100644
--- a/app/src/main/res/layout/fragment_transaction_item.xml
+++ b/app/src/main/res/layout/fragment_transaction_item.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_unconfirmed_tx_item.xml b/app/src/main/res/layout/fragment_unconfirmed_tx_item.xml
index b44b87d..684f76b 100644
--- a/app/src/main/res/layout/fragment_unconfirmed_tx_item.xml
+++ b/app/src/main/res/layout/fragment_unconfirmed_tx_item.xml
@@ -1,12 +1,12 @@
-
-
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 5af0142..068f8c4 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -2,7 +2,7 @@
- %1$は有効な接続文字列ではありません!
+ %1$sは有効な接続文字列ではありません!
有効なアドレス
残高
QRコードをスキャン
diff --git a/build.gradle b/build.gradle
index 26bc8a1..0e06c53 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.5.3'
+ classpath 'com.android.tools.build:gradle:3.6.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
diff --git a/gradle.properties b/gradle.properties
index 85be9ea..3d8ce0c 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -13,3 +13,5 @@ org.gradle.jvmargs=-Xmx1536m
# org.gradle.parallel=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
+android.useAndroidX=true
+android.enableJetifier=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index fa3d331..d1bc56a 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Aug 28 16:05:17 MDT 2019
+#Sat Feb 29 17:16:24 EET 2020
distributionBase=PROJECT
distributionPath=.gradle/wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip