Jonathan "Duke" Leto 2 years ago
parent
commit
876c6a8a21
  1. 2
      app/build.gradle
  2. 42
      app/src/main/java/org/myhush/silentdragon/QrReaderActivity.kt
  3. 8
      app/src/main/java/org/myhush/silentdragon/ReceiveActivity.kt
  4. 6
      app/src/main/java/org/myhush/silentdragon/SendActivity.kt
  5. 134
      app/src/main/res/values-nl/strings.xml

2
app/build.gradle

@ -87,7 +87,7 @@ dependencies {
implementation 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:2.0.1'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19'
//implementation 'com.journeyapps:zxing-android-embedded:3.6.0@aar'
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar'
implementation 'com.google.zxing:core:3.3.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'

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

@ -96,7 +96,7 @@ class QrReaderActivity : AppCompatActivity() {
builder.setPositiveButton(getString(R.string.ok)) { dialog, which ->
run {
val txt = input.text.toString()
processText(txt)
processQrCodeText(txt)
}
}
builder.setNegativeButton(getString(R.string.cancel)) { dialog, which -> dialog.cancel() }
@ -123,13 +123,13 @@ class QrReaderActivity : AppCompatActivity() {
captureManager.onDestroy()
}
private fun processText(barcodeInfo: String) {
private fun processQrCodeText(qrcodeInfo: String) {
val code = intent.getIntExtra("REQUEST_CODE", 0)
// See if this the data is of the right format
if (code == REQUEST_CONNDATA && !barcodeInfo.startsWith("ws")) {
// Check if data is websocket connection
if (code == REQUEST_CONNDATA && !qrcodeInfo.startsWith("ws")) {
Log.i(TAG, "Not a connection")
var err = barcodeInfo
var err = qrcodeInfo
if (err.length > 48) {
err = err.substring(0, 22) + "...." + err.substring(err.length - 22, err.length)
}
@ -137,11 +137,12 @@ class QrReaderActivity : AppCompatActivity() {
return
}
// Check if data is valid hush z-address
if (code == REQUEST_ADDRESS &&
!DataModel.isValidAddress(StringBuilder(barcodeInfo).toString()) &&
!barcodeInfo.startsWith("hush:")) {
!DataModel.isValidAddress(StringBuilder(qrcodeInfo).toString()) &&
!qrcodeInfo.startsWith("hush:")) {
Log.i(TAG, "Not an address")
var err = barcodeInfo
var err = qrcodeInfo
if (err.length > 48) {
err = err.substring(0, 22) + "...." + err.substring(err.length - 22, err.length)
}
@ -149,37 +150,20 @@ class QrReaderActivity : AppCompatActivity() {
return
}
// The data seems valid, so return it.
// The data seems valid, so return it
val data = Intent()
// Payment URIs are often formatted as "hush:<addr>", but this causes parsing problems.
// So change it to hush://<addr>, so that it parses properly
if (barcodeInfo.startsWith("hush:") && !barcodeInfo.startsWith("hush://")) {
data.data = Uri.parse(barcodeInfo.replaceFirst("hush:", "hush://"))
if (qrcodeInfo.startsWith("hush:") && !qrcodeInfo.startsWith("hush://")) {
data.data = Uri.parse(qrcodeInfo.replaceFirst("hush:", "hush://"))
} else {
data.data = Uri.parse(barcodeInfo)
data.data = Uri.parse(qrcodeInfo)
}
setResult(Activity.RESULT_OK, data)
finish()
}
private fun processQrCodeText(qrcodeInfo: String) {
if (qrcodeInfo.startsWith("ws")) {
Log.i(TAG, "It's a ws connection")
//Toast.makeText(this, "YEAH: " + qrcodeInfo, Toast.LENGTH_SHORT).show();
val data = Intent() // The data seems valid, so return it
data.data = Uri.parse(qrcodeInfo)
setResult(Activity.RESULT_OK, data)
finish()
} else {
Log.i(TAG, "Not a ws connection")
//Toast.makeText(this, "Not a ws connection", Toast.LENGTH_SHORT).show();
setResult(Activity.RESULT_CANCELED)
finish()
}
}
private val TAG = "QrReader"
}

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

@ -43,8 +43,6 @@ class ReceiveActivity : AppCompatActivity() {
override fun onTabSelected(p0: TabLayout.Tab?) {
if (p0?.text == "zAddr") {
setZAddr()
} else {
setTAddr()
}
}
@ -94,12 +92,6 @@ class ReceiveActivity : AppCompatActivity() {
}
}
fun setTAddr() {
addr = DataModel.mainResponseData?.tAddress ?: ""
txtRcvAddrTitle.text = getString(R.string.your_hush_transparent_address)
setAddr()
}
fun setZAddr() {
addr = DataModel.mainResponseData?.saplingAddress ?: ""
txtRcvAddrTitle.text = getString(R.string.your_hush_shielded_address)

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

@ -15,6 +15,7 @@ import android.text.Editable
import android.text.InputType
import android.text.SpannableStringBuilder
import android.text.TextWatcher
import android.util.Log
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.TextView
@ -24,10 +25,10 @@ import kotlinx.android.synthetic.main.activity_send.*
import kotlinx.android.synthetic.main.content_send.*
import java.text.DecimalFormat
class SendActivity : AppCompatActivity() {
private val REQUEST_CONFIRM = 2
private val TAG = "SendActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -51,7 +52,7 @@ class SendActivity : AppCompatActivity() {
if (intent.getBooleanExtra("includeReplyTo", false))
chkIncludeReplyTo.isChecked = true
imageButton.setOnClickListener { view ->
imageButton.setOnClickListener {
val intent = Intent(this, QrReaderActivity::class.java)
intent.putExtra("REQUEST_CODE",
QrReaderActivity.REQUEST_ADDRESS
@ -264,6 +265,7 @@ class SendActivity : AppCompatActivity() {
when (requestCode) {
QrReaderActivity.REQUEST_ADDRESS -> {
if (resultCode == Activity.RESULT_OK) {
Log.i(TAG, "Send Activity got result for QrCode: ${data?.dataString}")
if (data?.scheme == "hush") {
sendAddress.setText(data.data?.host ?: "", TextView.BufferType.EDITABLE)

134
app/src/main/res/values-nl/strings.xml

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- general -->
<string name="is_not_a_valid_connection_string">%1$s is geen geldige verbindingslink</string>
<string name="valid_address">Geldig adres</string>
<string name="balance">Saldo</string>
<string name="scan_qr_code">Scan QR-code</string>
<string name="send">Versturen</string>
<string name="address">Adres</string>
<string name="cancel">Annuleren</string>
<string name="amount">Bedrag</string>
<!-- TxDetailsActivity.kt -->
<string name="reply">Antwoorden</string>
<string name="shielded_address">(verborgen adres)</string>
<string name="unconfirmed_tx"> (onbevestigde transactie)</string>
<string name="confirm_transaction">Bevestig transactie</string>
<string name="confirm_and_send">Bevestig en verstuur</string>
<!-- content_main.xml -->
<string name="past_transactions">Eerdere transacties</string>
<string name="or">Of</string>
<string name="reconnect">Opnieuw verbinden</string>
<string name="help">Help</string>
<string name="help_text">Deze applicatie bedient uw full node op afstand.&lt;br>&lt;br>Om uw Android apparaat verbinden met uw desktop moet u de desktop SilentDragon applicatie starten en volledig laten synchroniseren.&lt;br>&lt;br>Nadat uw node gesynchroniseerd is, ga naar &lt;b>Apps -> Mobiele app verbinden&lt;/b> om de QR-code van de verbinding te tonen. Scan de code met deze app om met SilentDragon te verbinden.</string>
<!-- MainActivity.kt -->
<string name="app_name">SilentDragon</string>
<string name="no_connection">Geen verbinding</string>
<string name="connecting">Verbinden&#8230;</string>
<string name="loading">Laden&#8230;</string>
<!-- content_tx_details -->
<string name="memo">Bericht</string>
<string name="memo_contents">Inhoud van bericht</string>
<string name="view_on_block_explorer">Op de blockexplorer bekijken</string>
<string name="date_time">Datum / Tijd</string>
<!-- fragment_transaction_item -->
<string name="date">Datum</string>
<string name="amt">Bedrag</string>
<!-- fragment_unconfirmed_tx_item -->
<string name="unconfirmed_transaction">Onbevestigde transactie</string>
<!-- UnconfirmedTxItemFragment.kt -->
<string name="sending">Versturen </string>
<string name="receiving">Ontvangen </string>
<!-- menu_qrcodereader.xml -->
<string name="manual_input">Handmatige invoer</string>
<!-- menu_recieve -->
<string name="share">Delen</string>
<!-- menu_txdetails -->
<string name="view">Bekijken</string>
<!-- TxDetailsActivity.kt -->
<string name="sent">Verzonden</string>
<string name="received">Ontvangen</string>
<!-- menu_main -->
<string name="refresh">Verversen</string>
<!-- connectionManager.kt -->
<string name="Connecting_over_internet_not_enabled_in_desktop_node">Connectie via internet niet ingeschakeld in de desktop node.</string>
<string name="Connecting_over_internet_is_disabled_in_settings">Connectie via internet is uitgeschakeld in de instellingen.</string>
<!-- activity_qr_reader -->
<string name="how_to_connect_sd2sda">Ga naar \"Apps\" -> \"Mobiele app verbinden\" op de desktop wallet en scan de QR-code om te verbinden.</string>
<!-- activity_settings -->
<string name="disconnect">Verbinding verbreken</string>
<string name="silentDragon_connection_address">SilentDragon verbindingsadres</string>
<string name="disallow_routing_over_external_service">Verbinding via internet verbieden</string>
<string name="only_attempts_direct_connection">Wanneer deze optie is ingeschakeld, probeert de app alleen rechtstreeks verbinding te maken met SilentDragon en wordt data-verkeer niet geleid via de WormHole-service op wormhole.hush.is. Zie https://hush.is/silentdragon voor meer informatie.</string>
<string name="currency">Valuta</string>
<string name="silentdragon_version">SilentDragon versie</string>
<!-- activity_about.xml -->
<string name="website">Bezoek onze website</string>
<string name="telegram">Word lid van ons Telegram kanaal</string>
<string name="twitter">Twitter</string>
<string name="git">Git</string>
<string name="credits">Credits</string>
<string name="license">Licentie</string>
<string name="sda_version">SilentDragonAndroid versie</string>
<string name="copyright">Copyright</string>
<!-- SettingActivity.kt -->
<string name="not_connected">Niet verbonden</string>
<!-- QrReaderActivity.kt -->
<string name="paste_the_code_here_manually">Plak hier handmatig de code</string>
<string name="ok">OK</string>
<string name="is_not_a_valid_hush_address">%1$s is geen geldig Hush adres!</string>
<!-- ReceiveActivity.kt.kt -->
<string name="receive">Ontvangen</string>
<string name="no_address">Geen adres ingevoerd!</string>
<string name="hush_address">Hush adres</string>
<string name="copied_address_to_clipboard">Adres naar klembord gekopieerd</string>
<string name="your_hush_transparent_address">Uw transparante Hush adres</string>
<string name="your_hush_shielded_address">Uw verborgen Hush adres</string>
<!-- SendActivity.kt -->
<string name="send_transaction">Verstuur transactie</string>
<string name="not_a_valid_hush_address">Geen geldig Hush adres!</string>
<string name="memo_optional">Bericht (optioneel)</string>
<string name="send_anyway">Toch versturen</string>
<string name="invalid_amount">Ongeldig bedrag!</string>
<string name="invalid_destination_Hush_address">Ongeldig Hush adres ontvanger!</string>
<string name="send_from_taddr">Vanaf transparant adres versturen?</string>
<string name="cant_send_a_memo_to_a_taddr">Kan geen bericht naar een transparant adres versturen.</string>
<string name="error_sending_transaction">Fout bij het versturen van de transactie!</string>
<string name="memo_field_over_512">Het bericht is te lang. Het bericht kan maximaal 512 karakters bevatten.</string>
<string name="more_than_shielded_address">%1$s %2$s is meer dan er beschikbaar is op één verborgen adres. De transactie moet daarom vanaf een transparant adres verstuurd worden en is dan niet meer anoniem.\n\nWilt u toch versturen?</string>
<string name="max_spend_in_a_single_tx">Kan in een enkele transactie niet meer versturen dan: %1$d %2$s"</string>
<string name="reply_to">Antwoorden aan</string>
<!-- content_send -->
<string name="to">Aan</string>
<string name="fee">Kosten:</string>
<string name="include_reply_to_address">Antwoordadres bijvoegen</string>
<string name="action_settings">Instellingen</string>
<string name="action_about">Over</string>
<string name="transaction_details">Transactiedetails</string>
<string name="title_activity_settings">Instellingen</string>
<string name="title_activity_about">Over</string>
</resources>
Loading…
Cancel
Save