Browse Source

Merge pull request #67 from gilardh/master

Adding language management and French translate
duke
Duke Leto 4 years ago
committed by GitHub
parent
commit
20710d5711
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      app/build.gradle
  2. 7
      app/src/main/java/org/myhush/silentdragon/ConnectionManager.kt
  3. 12
      app/src/main/java/org/myhush/silentdragon/MainActivity.kt
  4. 13
      app/src/main/java/org/myhush/silentdragon/QrReaderActivity.kt
  5. 12
      app/src/main/java/org/myhush/silentdragon/ReceiveActivity.kt
  6. 39
      app/src/main/java/org/myhush/silentdragon/SendActivity.kt
  7. 4
      app/src/main/java/org/myhush/silentdragon/SettingsActivity.kt
  8. 13
      app/src/main/java/org/myhush/silentdragon/TxDetailsActivity.kt
  9. 4
      app/src/main/java/org/myhush/silentdragon/UnconfirmedTxItemFragment.kt
  10. 16
      app/src/main/res/layout/activity_about.xml
  11. 4
      app/src/main/res/layout/activity_qr_reader.xml
  12. 16
      app/src/main/res/layout/activity_settings.xml
  13. 10
      app/src/main/res/layout/content_main.xml
  14. 16
      app/src/main/res/layout/content_send.xml
  15. 20
      app/src/main/res/layout/content_tx_details.xml
  16. 4
      app/src/main/res/layout/fragment_transaction_item.xml
  17. 4
      app/src/main/res/layout/fragment_unconfirmed_tx_item.xml
  18. 2
      app/src/main/res/menu/menu_main.xml
  19. 6
      app/src/main/res/menu/menu_nav.xml
  20. 2
      app/src/main/res/menu/menu_qrcodereader.xml
  21. 2
      app/src/main/res/menu/menu_recieve.xml
  22. 2
      app/src/main/res/menu/menu_txdetails.xml
  23. 136
      app/src/main/res/values-fr/strings.xml
  24. 220
      app/src/main/res/values/strings.xml
  25. 2
      build.gradle

2
app/build.gradle

@ -23,6 +23,7 @@ android {
vectorDrawables.useSupportLibrary = true
}
signingConfigs {
release {
storeFile file(secretProperties["store_file_location"])
@ -39,6 +40,7 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {

7
app/src/main/java/org/myhush/silentdragon/ConnectionManager.kt

@ -1,7 +1,10 @@
// Copyright 2019 The Hush developers
package org.myhush.silentdragon
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.res.Resources
import android.util.Log
import com.beust.klaxon.Json
import com.beust.klaxon.JsonObject
@ -235,9 +238,9 @@ object ConnectionManager {
if (t is ConnectException && (m_directConn && !allowInternet)) {
var mesg = t.localizedMessage
if (!DataModel.getAllowInternet()) {
mesg += ": Connecting over the internet was not enabled by the desktop node."
mesg += ": " + SilentDragonApp.appContext!!.getString(R.string.Connecting_over_internet_not_enabled_in_desktop_node)
} else if (!DataModel.getGlobalAllowInternet()) {
mesg += ": Connecting over the internet is disabled in settings."
mesg += ": " + SilentDragonApp.appContext!!.getString(R.string.Connecting_over_internet_is_disabled_in_settings)
}
sendErrorSignal(mesg, true)

12
app/src/main/java/org/myhush/silentdragon/MainActivity.kt

@ -125,7 +125,7 @@ class MainActivity : AppCompatActivity(),
bottomNav.menu.findItem(R.id.action_bal)?.isChecked = true
when (connStatus) {
ConnectionStatus.DISCONNECTED -> {
setMainStatus("No Connection")
setMainStatus(resources.getString(R.string.no_connection))
scrollViewTxns.visibility = ScrollView.GONE
layoutConnect.visibility = ConstraintLayout.VISIBLE
@ -154,7 +154,7 @@ class MainActivity : AppCompatActivity(),
}
}
ConnectionStatus.CONNECTING -> {
setMainStatus("Connecting...")
setMainStatus(resources.getString(R.string.connecting))
scrollViewTxns.visibility = ScrollView.GONE
layoutConnect.visibility = ConstraintLayout.GONE
swiperefresh.isRefreshing = true
@ -169,14 +169,14 @@ class MainActivity : AppCompatActivity(),
ConnectionManager.initCurrencies()
if (DataModel.mainResponseData == null) {
setMainStatus("Loading...")
setMainStatus(resources.getString(R.string.loading))
} else {
val cur = DataModel.selectedCurrency
val price = DataModel.currencyValues[cur]?: 0.0
val bal = DataModel.mainResponseData?.balance ?: 0.0
val balText = DecimalFormat("#0.00000000").format(bal)
lblBalance.text = "Balance"
lblBalance.text = resources.getString(R.string.balance)
txtMainBalance.text = balText + " ${DataModel.mainResponseData?.tokenName} "
if(cur == "BTC")
txtMainBalanceUSD.text = "${DataModel.currencySymbols[cur]} " + DecimalFormat("0.00000000").format(bal * price)
@ -334,14 +334,14 @@ class MainActivity : AppCompatActivity(),
// Check to make sure that the result is an actual address
if (!(data?.dataString ?: "").startsWith("ws")) {
Toast.makeText(applicationContext,
"${data?.dataString} is not a valid connection string!", Toast.LENGTH_SHORT).show()
getString(R.string.is_not_a_valid_connection_string, data?.dataString), Toast.LENGTH_SHORT).show()
return
}
val conComponents = data?.dataString?.split(",")
if (conComponents?.size ?: 0 < 2 || conComponents?.size ?: 0 > 3) {
Toast.makeText(applicationContext,
"${data?.dataString} is not a valid connection string!", Toast.LENGTH_SHORT).show()
getString(R.string.is_not_a_valid_connection_string, data?.dataString), Toast.LENGTH_SHORT).show()
return
}

13
app/src/main/java/org/myhush/silentdragon/QrReaderActivity.kt

@ -35,7 +35,7 @@ class QrReaderActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_qr_reader)
title = "Scan QR Code"
title = getString(R.string.scan_qr_code)
val code = intent.getIntExtra("REQUEST_CODE", 0)
if (code == REQUEST_ADDRESS)
@ -68,7 +68,7 @@ class QrReaderActivity : AppCompatActivity() {
return when (item.itemId) {
R.id.action_manual_input -> {
val builder = AlertDialog.Builder(this)
builder.setTitle("Paste the code here manually")
builder.setTitle(getString(R.string.paste_the_code_here_manually))
// Set up the input
val input = EditText(this)
@ -77,13 +77,13 @@ class QrReaderActivity : AppCompatActivity() {
builder.setView(input)
// Set up the buttons
builder.setPositiveButton("OK") { dialog, which ->
builder.setPositiveButton(getString(R.string.ok)) { dialog, which ->
run {
val txt = input.text.toString()
processText(txt)
}
}
builder.setNegativeButton("Cancel") { dialog, which -> dialog.cancel() }
builder.setNegativeButton(getString(R.string.cancel)) { dialog, which -> dialog.cancel() }
builder.create().show()
return true
@ -161,7 +161,7 @@ class QrReaderActivity : AppCompatActivity() {
if (err.length > 48) {
err = err.substring(0, 22) + "...." + err.substring(err.length - 22, err.length)
}
lblErrorMsg.text = "\"$err\" is not a valid connection string!"
lblErrorMsg.text = getString(R.string.is_not_a_valid_connection_string, err)
return
}
@ -173,7 +173,8 @@ class QrReaderActivity : AppCompatActivity() {
if (err.length > 48) {
err = err.substring(0, 22) + "...." + err.substring(err.length - 22, err.length)
}
lblErrorMsg.text = "\"$err\" is not a valid HUSH address!"
lblErrorMsg.text = getString(R.string.is_not_a_valid_hush_address, err)
return
}

12
app/src/main/java/org/myhush/silentdragon/ReceiveActivity.kt

@ -28,7 +28,7 @@ class ReceiveActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
title = "Receive"
title = getString(R.string.receive)
setContentView(R.layout.activity_receive)
setSupportActionBar(toolbar)
@ -66,7 +66,7 @@ class ReceiveActivity : AppCompatActivity() {
}
if (addr.isNullOrBlank())
addr = "No address!"
addr = getString(R.string.no_address)
val addrTxt = findViewById<TextView>(R.id.addressTxt)
@ -88,21 +88,21 @@ class ReceiveActivity : AppCompatActivity() {
addrTxt.setOnClickListener {
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("Hush address", addr)
val clip = ClipData.newPlainText(getString(R.string.hush_address), addr)
clipboard.primaryClip = clip
Toast.makeText(applicationContext, "Copied address to clipboard", Toast.LENGTH_SHORT).show()
Toast.makeText(applicationContext, getString(R.string.copied_address_to_clipboard), Toast.LENGTH_SHORT).show()
}
}
fun setTAddr() {
addr = DataModel.mainResponseData?.tAddress ?: ""
txtRcvAddrTitle.text = "Your Hush transparent address"
txtRcvAddrTitle.text = getString(R.string.your_hush_transparent_address)
setAddr()
}
fun setZAddr() {
addr = DataModel.mainResponseData?.saplingAddress ?: ""
txtRcvAddrTitle.text = "Your Hush shielded address"
txtRcvAddrTitle.text = getString(R.string.your_hush_shielded_address)
setAddr()
}

39
app/src/main/java/org/myhush/silentdragon/SendActivity.kt

@ -36,7 +36,7 @@ class SendActivity : AppCompatActivity() {
supportActionBar?.setDisplayHomeAsUpEnabled(true)
title = "Send Transaction"
title = getString(R.string.send_transaction)
// Clear the valid address prompt
txtValidAddress.text = ""
@ -80,12 +80,12 @@ class SendActivity : AppCompatActivity() {
@SuppressLint("SetTextI18n")
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
if (DataModel.isValidAddress(s.toString())) {
txtValidAddress.text = "\u2713 Valid address"
txtValidAddress.text = "\u2713 " + getString(R.string.valid_address)
txtValidAddress.setTextColor(ContextCompat.getColor(applicationContext,
R.color.white_selected
))
} else {
txtValidAddress.text = "Not a valid Hush address!"
txtValidAddress.text = getString(R.string.not_a_valid_hush_address)
txtValidAddress.setTextColor(ContextCompat.getColor(applicationContext, R.color.colorAccent))
}
@ -93,11 +93,11 @@ class SendActivity : AppCompatActivity() {
txtSendMemo.isEnabled = false
chkIncludeReplyTo.isEnabled = false
txtSendMemo.text = SpannableStringBuilder("")
txtSendMemoTitle.text = "(No Memo for t-Addresses)"
txtSendMemoTitle.text = getString(R.string.no_memo_for_taddresses)
} else {
txtSendMemo.isEnabled = true
chkIncludeReplyTo.isEnabled = true
txtSendMemoTitle.text = "Memo (Optional)"
txtSendMemoTitle.text = getString(R.string.memo_optional)
}
}
})
@ -163,7 +163,7 @@ class SendActivity : AppCompatActivity() {
// First, check if the address is correct.
val toAddr = sendAddress.text.toString()
if (!DataModel.isValidAddress(toAddr)) {
showErrorDialog("Invalid destination Hush address!")
showErrorDialog(getString(R.string.invalid_destination_Hush_address))
return
}
@ -172,7 +172,7 @@ class SendActivity : AppCompatActivity() {
// amount=0 xtns are valid
if (amt.toDoubleOrNull() == null || amt.toDouble() < 0.0 ) {
showErrorDialog("Invalid amount!")
showErrorDialog(getString(R.string.invalid_amount))
return
}
@ -184,13 +184,12 @@ class SendActivity : AppCompatActivity() {
amt.toDouble() <= DataModel.mainResponseData?.maxspendable ?: Double.MAX_VALUE) {
val alertDialog = AlertDialog.Builder(this@SendActivity)
alertDialog.setTitle("Send from t-addr?")
alertDialog.setMessage("$amt ${DataModel.mainResponseData?.tokenName} is more than the balance in " +
"your shielded address. This Tx will have to be sent from a transparent address, and will" +
" not be private.\n\nAre you absolutely sure?")
alertDialog.setTitle(getString(R.string.send_from_taddr))
//alertDialog.setMessage("$amt ${DataModel.mainResponseData?.tokenName}" + "..."
alertDialog.setMessage(getString(R.string.more_than_shielded_address, amt, DataModel.mainResponseData?.tokenName))
alertDialog.apply {
setPositiveButton("Send Anyway") { dialog, id -> doConfirm() }
setNegativeButton("Cancel") { dialog, id -> dialog.cancel() }
setPositiveButton(getString(R.string.send_anyway)) { dialog, id -> doConfirm() }
setNegativeButton(getString(R.string.cancel)) { dialog, id -> dialog.cancel() }
}
alertDialog.create().show()
@ -200,19 +199,19 @@ class SendActivity : AppCompatActivity() {
// Warning if spending more than total
if (amt.toDouble() > DataModel.mainResponseData?.maxspendable ?: Double.MAX_VALUE) {
showErrorDialog("Can't spend more than ${DataModel.mainResponseData?.tokenName} " +
"${DataModel.mainResponseData?.maxspendable} in a single Tx")
//showErrorDialog("Can't spend more than ${DataModel.mainResponseData?.tokenName} " + "${DataModel.mainResponseData?.maxspendable} in a single Tx")
showErrorDialog(getString(R.string.max_spend_in_a_single_tx, DataModel.mainResponseData?.maxspendable, DataModel.mainResponseData?.tokenName ))
return
}
val memo = txtSendMemo.text.toString() + getReplyToAddressIfChecked(toAddr)
if (memo.length > 512) {
showErrorDialog("Memo field is too long! Must be at most 512 bytes.")
showErrorDialog(getString(R.string.memo_field_over_512))
return
}
if (toAddr.startsWith("R") && !memo.isBlank()) {
showErrorDialog("Can't send a memo to a transparent address")
showErrorDialog(getString(R.string.cant_send_a_memo_to_a_taddr))
return
}
@ -235,7 +234,7 @@ class SendActivity : AppCompatActivity() {
private fun getReplyToAddressIfChecked(toAddr: String) : String {
if (chkIncludeReplyTo.isChecked && toAddr.startsWith("zs1")) {
return "\nReply to:\n${DataModel.mainResponseData?.saplingAddress}"
return "\n" + getString(R.string.reply_to) + ":\n${DataModel.mainResponseData?.saplingAddress}"
} else {
return ""
}
@ -243,9 +242,9 @@ class SendActivity : AppCompatActivity() {
fun showErrorDialog(msg: String) {
val alertDialog = AlertDialog.Builder(this@SendActivity).create()
alertDialog.setTitle("Error Sending Transaction!")
alertDialog.setTitle(getString(R.string.error_sending_transaction))
alertDialog.setMessage(msg)
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK") {
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, getString(R.string.ok)) {
dialog, _ -> dialog.dismiss() }
alertDialog.show()
}

4
app/src/main/java/org/myhush/silentdragon/SettingsActivity.kt

@ -80,10 +80,10 @@ class SettingsActivity : AppCompatActivity() {
fun updateUI() {
fillSpinner()
txtSettingsConnString.text = DataModel.getConnString(SilentDragonApp.appContext!!)
?: "Not Connected"
?: getString(R.string.not_connected)
chkDisallowInternet.isChecked = !DataModel.getGlobalAllowInternet()
lblServerVersion.text = DataModel.mainResponseData?.serverversion ?: "Not Connected"
lblServerVersion.text = DataModel.mainResponseData?.serverversion ?: getString(R.string.not_connected)
}
}

13
app/src/main/java/org/myhush/silentdragon/TxDetailsActivity.kt

@ -31,7 +31,7 @@ class TxDetailsActivity : AppCompatActivity() {
supportActionBar?.setDisplayHomeAsUpEnabled(true)
title = "Transaction Details"
title = resources.getString(R.string.transaction_details)
tx = Klaxon().parse(StringReader(intent.getStringExtra("EXTRA_TXDETAILS")))
@ -40,23 +40,24 @@ class TxDetailsActivity : AppCompatActivity() {
if (tx?.type == "confirm") {
txtType.text = "Confirm Transaction"
txtType.text = getString(R.string.confirm_transaction)
txtDateTime.text = ""
btnExternal.text = "Confirm and Send"
btnExternal.text = getString(R.string.confirm_and_send)
} else {
txtType.text = tx?.type?.capitalize() + if (tx?.confirmations == 0L) " (Unconfirmed Tx)" else ""
//txtType.text = tx?.type?.capitalize() + if (tx?.confirmations == 0L) getString(R.string.unconfirmed_tx) else ""
txtType.text = if (tx?.type == "send") getString(R.string.sent) else getString(R.string.received) + if (tx?.confirmations == 0L) getString(R.string.unconfirmed_tx) else ""
txtDateTime.text = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM)
.format(Date((tx?.datetime ?: 0) * 1000))
// Check if there is a reply-to address
if (getReplyToAddress(tx?.memo) != null) {
btnExternal.text = "Reply"
btnExternal.text = getString(R.string.reply)
} else {
btnExternal.visibility = View.GONE
}
}
txtAddress.text = if (tx?.addr.isNullOrBlank()) "(Shielded Address)" else tx?.addr
txtAddress.text = if (tx?.addr.isNullOrBlank()) getString(R.string.shielded_address) else tx?.addr
val amt = kotlin.math.abs(tx?.amount?.toDoubleOrNull() ?: 0.0)
val amtStr = DecimalFormat("#0.0000####").format(amt)

4
app/src/main/java/org/myhush/silentdragon/UnconfirmedTxItemFragment.kt

@ -56,8 +56,8 @@ class UnconfirmedTxItemFragment : Fragment() {
}
val txt = view.findViewById<TextView>(R.id.txtUnconfirmedTx)
txt.text = (if (tx?.type == "send") "Sending " else "Receiving ") +
DecimalFormat("#0.00########").format(kotlin.math.abs(tx?.amount?.toDoubleOrNull() ?: 0.0)) + " ${DataModel.mainResponseData?.tokenName} "
txt.text = (if (tx?.type == "send") getString(R.string.sending) else getString(R.string.receiving) +
DecimalFormat("#0.00########").format(kotlin.math.abs(tx?.amount?.toDoubleOrNull() ?: 0.0)) + " ${DataModel.mainResponseData?.tokenName} ")
return view
}

16
app/src/main/res/layout/activity_about.xml

@ -24,7 +24,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Visit our website"
android:text="@string/website"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -59,7 +59,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Join our Discord"
android:text="@string/discord"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/divider1" />
@ -94,7 +94,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Twitter"
android:text="@string/twitter"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/divider2" />
@ -129,7 +129,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="GitHub"
android:text="@string/github"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/divider3" />
@ -165,7 +165,7 @@
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="Credits"
android:text="@string/credits"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -205,7 +205,7 @@
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="License"
android:text="@string/license"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -242,7 +242,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="SilentDragonAndroid version"
android:text="@string/sda_version"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/divider6" />
@ -277,7 +277,7 @@
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="Copyright"
android:text="@string/copyright"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

4
app/src/main/res/layout/activity_qr_reader.xml

@ -22,7 +22,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<TextView
android:text="Go to Apps -> Connect mobile app on your desktop and scan the QR Code to connect"
android:text="@string/how_to_connect_sd2sda"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/txtQrCodeHelp"
@ -32,7 +32,7 @@
android:layout_marginBottom="16dp" app:layout_constraintBottom_toTopOf="@+id/btnQrCodeCancel"
android:textColor="@android:color/white"/>
<Button
android:text="Cancel"
android:text="@string/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnQrCodeCancel"

16
app/src/main/res/layout/activity_settings.xml

@ -34,7 +34,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="SilentDragon connection address"
android:text="@string/silentDragon_connection_address"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -45,7 +45,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:text="address"
android:text="@string/address"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
@ -54,7 +54,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="Disconnect"
android:text="@string/disconnect"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtSettingsConnString" />
@ -78,7 +78,7 @@
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:text="Disallow routing over external service/internet"
android:text="@string/disallow_routing_over_external_service"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider" />
@ -90,7 +90,7 @@
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="If checked, the app will only attempt a direct connection to SilentDragon, and not route traffic over the internet via the WormHole service at wormhole.myhush.org . Please see the https://myhush.org/silentdragon for more details"
android:text="@string/only_attempts_direct_connection"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chkDisallowInternet" />
@ -116,7 +116,7 @@
android:layout_width="131dp"
android:layout_height="44dp"
android:layout_marginTop="16dp"
android:text="Currency"
android:text="@string/currency"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
@ -155,7 +155,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="SilentDragon version"
android:text="@string/silentdragon_version"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider4" />/>
@ -166,7 +166,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:text="TextView"
android:text=""
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView10" />

10
app/src/main/res/layout/content_main.xml

@ -17,7 +17,7 @@
app:layout_constraintHorizontal_bias="0.524"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:text="Balance"
android:text="@string/balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lblBalance" android:layout_marginTop="24dp"
@ -81,7 +81,7 @@
android:layout_height="wrap_content"
android:id="@+id/txList" android:orientation="vertical">
<TextView
android:text="Past Transactions"
android:text="@string/past_transactions"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/textView2" android:textStyle="bold"
android:textSize="18sp" android:padding="16dp"/>
@ -108,7 +108,7 @@
app:layout_constraintVertical_bias="0.22000003" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp"/>
<Button
android:text="Scan QR Code"
android:text="@string/scan_qr_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnConnect" app:layout_constraintStart_toStartOf="parent"
@ -117,7 +117,7 @@
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/imageView5"/>
<TextView
android:text="OR"
android:text="@string/or"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/lblConnectionOr" android:layout_marginTop="8dp"
@ -125,7 +125,7 @@
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" android:textAlignment="center"/>
<Button
android:text="Reconnect"
android:text="@string/reconnect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnReconnect" android:layout_marginTop="8dp"

16
app/src/main/res/layout/content_send.xml

@ -36,7 +36,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="To"
android:text="@string/to"
android:textColor="#FFFFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@ -51,7 +51,7 @@
android:ellipsize="middle"
android:ems="10"
android:fontFamily="monospace"
android:hint="Address"
android:hint="@string/address"
android:inputType="textNoSuggestions|text"
android:selectAllOnFocus="true"
android:singleLine="true"
@ -83,7 +83,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="Valid Address"
android:text="@string/valid_address"
android:textAlignment="textEnd"
android:textColor="#FFFFFF"
app:layout_constraintBaseline_toBaselineOf="@+id/textView7"
@ -137,7 +137,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Amount"
android:text="@string/amount"
android:textColor="#FFFFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -158,7 +158,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="3dp"
android:text="Fee:"
android:text="@string/fee"
android:textColor="#FFFFFF"
app:layout_constraintEnd_toStartOf="@+id/textViewFee"
app:layout_constraintTop_toTopOf="parent" />
@ -210,7 +210,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text=" Memo (Optional)"
android:text="@string/memo_optional"
android:textColor="#FFFFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -223,7 +223,7 @@
app:layout_constraintBaseline_toBaselineOf="@+id/txtSendMemoTitle"/>
</android.support.constraint.ConstraintLayout>
<Button
android:text="Send"
android:text="@string/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -234,7 +234,7 @@
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintTop_toBottomOf="@+id/chkIncludeReplyTo" android:layout_marginTop="8dp"/>
<CheckBox
android:text="Include ReplyTo Address"
android:text="@string/include_reply_to_address"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/chkIncludeReplyTo"

20
app/src/main/res/layout/content_tx_details.xml

@ -28,7 +28,7 @@
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp"/>
<TextView
android:text="Send"
android:text="@string/send"
android:layout_width="0dp"
android:layout_height="wrap_content" android:id="@+id/txtType"
android:layout_marginStart="16dp" app:layout_constraintStart_toEndOf="@+id/imgTypeColor"
@ -38,7 +38,7 @@
android:layout_marginEnd="16dp" android:layout_marginBottom="2dp"
app:layout_constraintBottom_toTopOf="@+id/txtDateTime"/>
<TextView
android:text="Date Time"
android:text="@string/date_time"
android:layout_width="0dp"
android:layout_height="wrap_content" android:id="@+id/txtDateTime"
android:layout_marginTop="2dp"
@ -66,7 +66,7 @@
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Address"
android:text="@string/address"
android:textColor="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -81,7 +81,7 @@
android:layout_marginBottom="16dp"
android:ellipsize="middle"
android:singleLine="true"
android:text="Address"
android:text="@string/address"
android:textAlignment="textEnd"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
@ -102,7 +102,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="Amount"
android:text="@string/amount"
android:textColor="#FFFFFF"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -113,7 +113,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="2.1234 HUSH"
android:text="X.XXXX HUSH"
android:textAlignment="textEnd"
android:textAllCaps="false"
android:textSize="24sp"
@ -122,7 +122,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView6" />
<TextView
android:text="$45.23"
android:text="$XX.XX"
android:layout_width="0dp"
android:layout_height="wrap_content" android:id="@+id/txtAmtUSD"
android:layout_marginTop="8dp"
@ -151,7 +151,7 @@
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Memo"
android:text="@string/memo"
android:textColor="#FFFFFF"
app:layout_constraintBottom_toTopOf="@+id/txtMemo"
app:layout_constraintEnd_toEndOf="parent"
@ -169,7 +169,7 @@
android:ems="10"
android:inputType="none"
android:minLines="2"
android:text="MemoContents"
android:text="@string/memo_contents"
android:textAlignment="center"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
@ -178,7 +178,7 @@
app:layout_constraintTop_toBottomOf="@+id/textView14" />
</android.support.constraint.ConstraintLayout>
<Button
android:text="View on Block Explorer"
android:text="@string/view_on_block_explorer"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/btnExternal"
android:layout_marginTop="24dp"

4
app/src/main/res/layout/fragment_transaction_item.xml

@ -32,7 +32,7 @@
android:layout_marginTop="8dp"
android:layout_marginEnd="7dp"
android:layout_marginBottom="8dp"
android:text="Date"
android:text="@string/date"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/txamt"
app:layout_constraintLeft_toRightOf="@+id/typeColor"
@ -47,7 +47,7 @@
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Amt"
android:text="@string/amt"
android:textAlignment="textEnd"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

4
app/src/main/res/layout/fragment_unconfirmed_tx_item.xml

@ -38,7 +38,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:text="Recieving HUSH 0.12345678"
android:text="Receiving HUSH X.XXXXXXXX"
android:textSize="18sp"
app:layout_constraintStart_toEndOf="@+id/prgUnconfirmed"
app:layout_constraintTop_toTopOf="parent" />
@ -49,7 +49,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:text="Unconfirmed Transaction"
android:text="@string/unconfirmed_transaction"
android:textColor="@color/colorAccent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="@+id/txtUnconfirmedTx"

2
app/src/main/res/menu/menu_main.xml

@ -11,7 +11,7 @@
android:title="@string/action_about"
android:orderInCategory="100"
app:showAsAction="never"/>
<item android:title="Refresh" android:id="@+id/action_refresh"
<item android:title="@string/refresh" android:id="@+id/action_refresh"
compat:showAsAction="ifRoom"
android:icon="@drawable/refresh"/>

6
app/src/main/res/menu/menu_nav.xml

@ -3,11 +3,11 @@
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.myhush.silentdragon.MainActivity">
<item android:id="@+id/action_send"
android:title="Send"
android:title="@string/send"
android:orderInCategory="300"
app:showAsAction="never" android:icon="@drawable/send_selector"/>
<item android:title="Balance" android:id="@+id/action_bal" android:icon="@drawable/balance_selector"
<item android:title="@string/balance" android:id="@+id/action_bal" android:icon="@drawable/balance_selector"
android:orderInCategory="200"/>
<item android:title="Receive" android:id="@+id/action_recieve" android:icon="@drawable/receive_selector"
<item android:title="@string/receive" android:id="@+id/action_recieve" android:icon="@drawable/receive_selector"
android:orderInCategory="100"/>
</menu>

2
app/src/main/res/menu/menu_qrcodereader.xml

@ -4,7 +4,7 @@
xmlns:compat="http://schemas.android.com/apk/res-auto"
tools:context="org.myhush.silentdragon.QrReaderActivity">
<item android:id="@+id/action_manual_input"
android:title="Manual Input"
android:title="@string/manual_input"
android:orderInCategory="100"
app:showAsAction="ifRoom" android:icon="@drawable/ic_keyboard_icon"/>
</menu>

2
app/src/main/res/menu/menu_recieve.xml

@ -4,7 +4,7 @@
xmlns:compat="http://schemas.android.com/apk/res-auto"
tools:context="org.myhush.silentdragon.ReceiveActivity">
<item android:id="@+id/action_share"
android:title="Share"
android:title="@string/share"
android:orderInCategory="100"
app:showAsAction="ifRoom" android:icon="@drawable/shareicon"/>
</menu>

2
app/src/main/res/menu/menu_txdetails.xml

@ -4,7 +4,7 @@
xmlns:compat="http://schemas.android.com/apk/res-auto"
tools:context="org.myhush.silentdragon.TxDetailsActivity">
<item android:id="@+id/action_view"
android:title="View"
android:title="@string/view"
android:orderInCategory="100"
app:showAsAction="ifRoom" android:icon="@android:drawable/ic_menu_view"/>
</menu>

136
app/src/main/res/values-fr/strings.xml

@ -0,0 +1,136 @@
<resources>
<!-- general -->
<string name="is_not_a_valid_connection_string">%1$s n\'est pas une chaine de connexion valide</string>
<string name="valid_address">Adresse valide</string>
<string name="balance">Solde</string>
<string name="scan_qr_code">Scannez le QR Code</string>
<string name="send">Envoyer</string>
<string name="address">Adresse</string>
<string name="cancel">Annuler</string>
<string name="amount">Montant</string>
<!-- TxDetailsActivity.kt -->
<string name="reply">Répondre</string>
<string name="shielded_address">(Adresse blindée)</string>
<string name="unconfirmed_tx"> (Tx non confirmée)</string>
<string name="confirm_transaction">Confirmer la transaction</string>
<string name="confirm_and_send">Confirmer et envoyer</string>
<!-- content_main.xml -->
<string name="past_transactions">Historique des transactions</string>
<string name="or">OU</string>
<string name="reconnect">Se reconnecter</string>
<!-- MainActivity -->
<string name="app_name">SilentDragon</string>
<string name="no_connection">Aucune connexion</string>
<string name="connecting">"Connexion&#8230;"</string>
<string name="loading">Chargement&#8230;</string>
<!-- content_tx_details -->
<string name="memo">Mémo</string>
<string name="memo_contents">Contenu du mémo</string>
<string name="view_on_block_explorer">Afficher sur l\'explorateur de block</string>
<string name="date_time">Date Heure</string>
<!-- fragment_transaction_item -->
<string name="date">Date</string>
<string name="amt">Amt</string>
<!-- fragment_unconfirmed_tx_item -->
<string name="unconfirmed_transaction">Transaction non confimée</string>
<!-- UnconfirmedTxItemFragment.kt -->
<string name="sending">Envoi en cours </string>
<string name="receiving">Réception en cours </string>
<!-- menu_qrcodereader.xml -->
<string name="manual_input">Saisie manuelle</string>
<!-- menu_recieve -->
<string name="share">Partager</string>
<!-- menu_txdetails -->
<string name="view">Voir</string>
<!-- TxDetailsActivity.kt -->
<string name="sent">Envoyé</string>
<string name="received">Reçu</string>
<!-- menu_main -->
<string name="refresh">Rafraichir</string>
<!-- connectionManager.kt -->
<string name="Connecting_over_internet_not_enabled_in_desktop_node">La connexion par Internet n\'est pas activée dans l\'application SilenDragon.</string>
<string name="Connecting_over_internet_is_disabled_in_settings">La connexion par Internet est désactivée dans les paramétres.</string>
<!-- activity_qr_reader -->
<string name="how_to_connect_sd2sda">Cliquez sur \"Applications\" puis \"Connection application mobile\" sur votre ordinateur puis scannez le QR Code pour vous connecter.</string>
<!-- activity_settings -->
<string name="disconnect">Déconnexion</string>
<string name="silentDragon_connection_address">Adresse de connexion SilentDragon</string>
<string name="disallow_routing_over_external_service">Interdire le routage via un service externe/Internet</string>
<string name="only_attempts_direct_connection">Si cette case est cochée, l\'application tentera uniquement une connexion directe à SilentDragon et n\'acheminera pas le trafic sur Internet via le service WormHole à wormhole.myhush.org. Veuillez consulter la page https://myhush.org/silentdragon pour plus de détails.</string>
<string name="currency">Devise</string>
<string name="silentdragon_version">Version de SilentDragon</string>
<!-- activity_about.xml -->
<string name="website">Visitez notre site Internet</string>
<string name="discord">Rejoignez notre Discord</string>
<string name="twitter">Twitter</string>
<string name="github">GitHub</string>
<string name="credits">Crédits</string>
<string name="license">License</string>
<string name="sda_version">Version de SilentDragonAndroid</string>
<string name="copyright">Copyright</string>
<!-- SettingActivity.kt -->
<string name="not_connected">Non connecté</string>
<!-- QrReaderActivity.kt -->
<string name="paste_the_code_here_manually">Coller le code manuellement ici</string>
<string name="ok">OK</string>
<string name="is_not_a_valid_hush_address">%1$s n\'est pas une adresse Hush valide!></string>
<!-- ReceiveActivity.kt.kt -->
<string name="receive">Recevoir</string>
<string name="no_address">Aucune adresse!</string>
<string name="hush_address">Adresse Hush</string>
<string name="copied_address_to_clipboard">L\'adresse a été copiée dans le presse-papier</string>
<string name="your_hush_transparent_address">Votre adresse Hush transparente</string>
<string name="your_hush_shielded_address">Votre adresse Hush blindée</string>
<!-- SendActivity.kt -->
<string name="send_transaction">Envoyer une transaction</string>
<string name="not_a_valid_hush_address">Adresse Hush non valide!</string>
<string name="no_memo_for_taddresses">(Pas de mémo pour les t-Adresses)</string>
<string name="memo_optional">Memo (Optionnel)</string>
<string name="send_anyway">Envoyer quand même</string>
<string name="invalid_amount">Montant invalide!</string>
<string name="invalid_destination_Hush_address">L\'adresse Hush de destination est invalide!</string>
<string name="send_from_taddr">Envoyer depuis une t-addr?</string>
<string name="cant_send_a_memo_to_a_taddr">Impossible d\'envoyer un memo depuis une t-addr</string>
<string name="error_sending_transaction">Erreur d\'envoi de la transaction!</string>
<string name="memo_field_over_512">Le mémo est long! Il doit être au maximum de 512 bytes.</string>
<string name="more_than_shielded_address">%1$s %2$s est supérieur à votre solde de vos adresses blindées. Cette transaction devra être envoyée à partir d\'une adresse transparente et ne sera pas privée.\n\nEtes-vous absolument sûr?"</string>
<string name="max_spend_in_a_single_tx">Vous ne pouvez pas dépenser plus de %1$d %2$s dans une seule transaction."</string>
<string name="reply_to">Répondre à"</string>
<!-- content_send -->
<string name="to">Vers</string>
<string name="fee">Frais:</string>
<string name="include_reply_to_address">Inclure votre adresse pour vous répondre</string>
<string name="action_settings">Paramétres</string>
<string name="action_about">A propos</string>
<string name="transaction_details">Détail de la transaction</string>
<string name="title_activity_settings">Paramétres</string>
<string name="title_activity_about">A propos</string>
</resources>

220
app/src/main/res/values/strings.xml

@ -1,92 +1,210 @@
<resources>
<!-- For later
<string name="text_english" translatable="false">English</string>
<string name="text_spanish" translatable="false">"Español"</string>
<string name="text_french" translatable="false">"Français"</string>
-->
<!-- general -->
<string name="is_not_a_valid_connection_string">%1$s is not a valid connection string</string>
<string name="valid_address">Valid Address</string>
<string name="balance">Balance</string>
<string name="scan_qr_code">Scan QR Code</string>
<string name="send">Send</string>
<string name="address">Address</string>
<string name="cancel">Cancel</string>
<string name="amount">Amount</string>
<!-- TxDetailsActivity.kt -->
<string name="reply">Reply</string>
<string name="shielded_address">(Shielded Address)</string>
<string name="unconfirmed_tx"> (Unconfirmed Tx)</string>
<string name="confirm_transaction">Confirm Transaction</string>
<string name="confirm_and_send">Confirm and Send</string>
<!-- content_main.xml -->
<string name="past_transactions">Past Transactions</string>
<string name="or">OR</string>
<string name="reconnect">Reconnect</string>
<!-- MainActivity.kt -->
<string name="app_name">SilentDragon</string>
<string name="no_connection">No Connection</string>
<string name="connecting">Connecting&#8230;</string>
<string name="loading">Loading&#8230;</string>
<!-- content_tx_details -->
<string name="memo">Memo</string>
<string name="memo_contents">Memo contents</string>
<string name="view_on_block_explorer">View on Block Explorer</string>
<string name="date_time">Date Time</string>
<!-- fragment_transaction_item -->
<string name="date">Date</string>
<string name="amt">Amt</string>
<!-- fragment_unconfirmed_tx_item -->
<string name="unconfirmed_transaction">Unconfirmed Transaction</string>
<!-- UnconfirmedTxItemFragment.kt -->
<string name="sending">Sending </string>
<string name="receiving">Receiving </string>
<!-- menu_qrcodereader.xml -->
<string name="manual_input">Manual Input</string>
<!-- menu_recieve -->
<string name="share">Share</string>
<!-- menu_txdetails -->
<string name="view">View</string>
<!-- TxDetailsActivity.kt -->
<string name="sent">Sent</string>
<string name="received">received</string>
<!-- menu_main -->
<string name="refresh">Refresh</string>
<!-- connectionManager.kt -->
<string name="Connecting_over_internet_not_enabled_in_desktop_node">Connecting over the internet was not enabled by the desktop node.</string>
<string name="Connecting_over_internet_is_disabled_in_settings">Connecting over the internet is disabled in settings.</string>
<!-- activity_qr_reader -->
<string name="how_to_connect_sd2sda">Go to \"Apps\" -> \"Connect mobile app\" on your desktop and scan the QR Code to connect</string>
<!-- activity_settings -->
<string name="disconnect">Disconnect</string>
<string name="silentDragon_connection_address">SilentDragon connection address</string>
<string name="disallow_routing_over_external_service">Disallow routing over external service/internet</string>
<string name="only_attempts_direct_connection">If checked, the app will only attempt a direct connection to SilentDragon, and not route traffic over the internet via the WormHole service at wormhole.myhush.org . Please see the https://myhush.org/silentdragon for more details</string>
<string name="currency">Currency</string>
<string name="silentdragon_version">SilentDragon version</string>
<!-- activity_about.xml -->
<string name="website">Visit our website</string>
<string name="discord">Join our Discord</string>
<string name="twitter">Twitter</string>
<string name="github">GitHub</string>
<string name="credits">Credits</string>
<string name="license">License</string>
<string name="sda_version">SilentDragonAndroid version</string>
<string name="copyright">Copyright</string>
<!-- SettingActivity.kt -->
<string name="not_connected">Not Connected</string>
<!-- QrReaderActivity.kt -->
<string name="paste_the_code_here_manually">Paste the code here manually</string>
<string name="ok">OK</string>
<string name="is_not_a_valid_hush_address">%1$s is not a valid HUSH address!></string>
<!-- ReceiveActivity.kt.kt -->
<string name="receive">Receive</string>
<string name="no_address">No address!</string>
<string name="hush_address">Hush address</string>
<string name="copied_address_to_clipboard">Copied address to clipboard</string>
<string name="your_hush_transparent_address">Your Hush transparent address</string>
<string name="your_hush_shielded_address">Your Hush shielded address</string>
<!-- SendActivity.kt -->
<string name="send_transaction">Send Transaction</string>
<string name="not_a_valid_hush_address">Not a valid Hush address!</string>
<string name="no_memo_for_taddresses">(No Memo for t-Addresses)</string>
<string name="memo_optional">Memo (Optional)</string>
<string name="send_anyway">Send Anyway</string>
<string name="invalid_amount">Invalid amount!</string>
<string name="invalid_destination_Hush_address">Invalid destination Hush address!</string>
<string name="send_from_taddr">Send from t-addr?</string>
<string name="cant_send_a_memo_to_a_taddr">Can\'t send a memo to a transparent address</string>
<string name="error_sending_transaction">Error Sending Transaction!</string>
<string name="memo_field_over_512">Memo field is too long! Must be at most 512 bytes.</string>
<string name="more_than_shielded_address">%1$s %2$s is more than the balance in your shielded address. This Tx will have to be sent from a transparent address, and will not be private.\n\nAre you absolutely sure?"</string>
<string name="max_spend_in_a_single_tx">Can\'t spend more than %1$d %2$s in a single Tx"</string>
<string name="reply_to">Reply to"</string>
<!-- content_send -->
<string name="to">To</string>
<string name="fee">Fee:</string>
<string name="include_reply_to_address">Include ReplyTo Address</string>
<string name="action_settings">Settings</string>
<string name="action_about">About</string>
<string name="title_activity_scrolling">ScrollingActivity</string>
<!-- <string name="title_activity_scrolling">ScrollingActivity</string> -->
<string name="transaction_details">Transaction Details</string>
<string name="title_activity_receive">ReceiveActivity</string>
<string name="title_activity_send">SendActivity</string>
<string name="title_activity_receive" translatable="false">ReceiveActivity</string>
<string name="title_activity_send" translatable="false">SendActivity</string>
<string name="title_activity_tx_details" translatable="false">TxDetailsActivity</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="title_activity_tx_details">TxDetailsActivity</string>
<string name="title_activity_qr_code_reader">QrCodeReaderActivity</string>
<!-- string name="hello_blank_fragment">Hello blank fragment</string> -->
<!-- <string name="title_activity_qr_code_reader">QrCodeReaderActivity</string>-->
<string name="title_activity_settings">Settings</string>
<string name="title_activity_about">About</string>
<!-- Strings related to Settings -->
<!-- Example General settings -->
<string name="pref_header_general">General</string>
<string name="pref_title_social_recommendations">Enable social recommendations</string>
<string name="pref_description_social_recommendations">Recommendations for people to contact based on your message
<!--<string name="pref_header_general">General</string> -->
<!-- <string name="pref_title_social_recommendations">Enable social recommendations</string>-->
<!-- <string name="pref_description_social_recommendations">Recommendations for people to contact based on your message
history
</string>
<string name="pref_title_display_name">Display name</string>
<string name="pref_default_display_name">John Smith</string>
<string name="pref_title_add_friends_to_messages">Add friends to messages</string>
<string-array name="pref_example_list_titles">
</string>-->
<!-- <string name="pref_title_display_name">Display name</string>-->
<!-- <string name="pref_default_display_name">John Smith</string>-->
<!-- <string name="pref_title_add_friends_to_messages">Add friends to messages</string>-->
<!--<string-array name="pref_example_list_titles">
<item>Always</item>
<item>When possible</item>
<item>Never</item>
</string-array>
<string-array name="pref_example_list_values">
</string-array>-->
<!--<string-array name="pref_example_list_values">
<item>1</item>
<item>0</item>
<item>-1</item>
</string-array>
</string-array>-->
<!-- Example settings for Data & Sync -->
<string name="pref_header_data_sync">Data &amp; sync</string>
<string name="pref_title_sync_frequency">Sync frequency</string>
<string-array name="pref_sync_frequency_titles">
<!-- <string name="pref_header_data_sync">Data &amp; sync</string> -->
<!-- <string name="pref_title_sync_frequency">Sync frequency</string>-->
<!--<string-array name="pref_sync_frequency_titles">
<item>15 minutes</item>
<item>30 minutes</item>
<item>1 hour</item>
<item>3 hours</item>
<item>6 hours</item>
<item>Never</item>
</string-array>
<string-array name="pref_sync_frequency_values">
</string-array>-->
<!--<string-array name="pref_sync_frequency_values">
<item>15</item>
<item>30</item>
<item>60</item>
<item>180</item>
<item>360</item>
<item>-1</item>
</string-array>
<string-array name="list_preference_entries">
</string-array>-->
<!--<string-array name="list_preference_entries">
<item>Entry 1</item>
<item>Entry 2</item>
<item>Entry 3</item>
</string-array>
<string-array name="list_preference_entry_values">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
<string-array name="multi_select_list_preference_default_value"/>
<string name="pref_title_system_sync_settings">System sync settings</string>
</string-array>-->
<!--<string-array name="list_preference_entry_values">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>-->
<!--<string-array name="multi_select_list_preference_default_value"/>-->
<!--<string name="pref_title_system_sync_settings">System sync settings</string>-->
<!-- Example settings for Notifications -->
<string name="pref_header_notifications">Notifications</string>
<string name="pref_title_new_message_notifications">New message notifications</string>
<string name="pref_title_ringtone">Ringtone</string>
<!--<string name="pref_header_notifications">Notifications</string>-->
<!--<string name="pref_title_new_message_notifications">New message notifications</string>-->
<!--<string name="pref_title_ringtone">Ringtone</string>
<string name="pref_ringtone_silent">Silent</string>
<string name="pref_title_vibrate">Vibrate</string>
<string name="title_activity_main2">Main2Activity</string>
<string name="title_home">Home</string>
<string name="title_dashboard">Dashboard</string>
<string name="title_notifications">Notifications</string>
<string name="title_notifications">Notifications</string>-->
</resources>

2
build.gradle

@ -7,7 +7,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
classpath 'com.android.tools.build:gradle:3.5.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong

Loading…
Cancel
Save