commit 3ab6654bbb944dd86ebe840ad4b0c3e3f2d3c829 parent 8336b98f48f5cabce62b1546dca4adab5c7c4867 Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch> Date: Thu, 20 Jun 2024 14:18:31 +0200 update uri scheme & qr examples Diffstat:
6 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/verification-app/app/src/main/java/taler/donau/verification/MainActivity.java b/verification-app/app/src/main/java/taler/donau/verification/MainActivity.java @@ -73,7 +73,7 @@ public class MainActivity extends AppCompatActivity { //sendRequestDialog("00000S00002XR000000000001W0000008NAN400000000000000AHAZC1CQTRFWWHM4C1CNGDSTYB4DPF9EBMHYC1W66CHMF3PVBBQDQAHGVAZN1W5ZHXE8BCBKCN7GWT94HWGW2JW4JH3GZ3XCJQJQ1M40001Z8:" + // "EN7JZPG9FXEZ2NNYGVK92FZVWPM16RF2A4Q56JDFG295442XSP4Y19PMZ34R8Q2F6D9EEBWD6YEJVC32QSK2C5EMXQ8RVKXM1BRG81R:" + // "E24CDJHGSPZG20ZSSTMTBREGCCP495WKETQYCYA9C93EPMZN4FEG"); - sendRequestDialog("2024/EUR:15/N2NYR2SFNGZSS388R2SB0VKNWP8VCYJWQ93WR3RCCS38Y7DPPQEVEN31PNZA3RBZ3TWGPRQ6SAF1SMJ93S1R55R95271Y7TS5F5E388/EN7JZPG9FXEZ2NNYGVK92FZVWPM16RF2A4Q56JDFG295442XSP4Y19PMZ34R8Q2F6D9EEBWD6YEJVC32QSK2C5EMXQ8RVKXM1BRG81R/E24CDJHGSPZG20ZSSTMTBREGCCP495WKETQYCYA9C93EPMZN4FEG"); + sendRequestDialog("donau://2024/EUR:15/N2NYR2SFNGZSS388R2SB0VKNWP8VCYJWQ93WR3RCCS38Y7DPPQEVEN31PNZA3RBZ3TWGPRQ6SAF1SMJ93S1R55R95271Y7TS5F5E388/EN7JZPG9FXEZ2NNYGVK92FZVWPM16RF2A4Q56JDFG295442XSP4Y19PMZ34R8Q2F6D9EEBWD6YEJVC32QSK2C5EMXQ8RVKXM1BRG81R/E24CDJHGSPZG20ZSSTMTBREGCCP495WKETQYCYA9C93EPMZN4FEG"); } diff --git a/verification-app/app/src/main/java/taler/donau/verification/Results.java b/verification-app/app/src/main/java/taler/donau/verification/Results.java @@ -20,6 +20,7 @@ import android.annotation.SuppressLint; import android.content.Intent; import android.os.Bundle; import android.view.View; +import android.widget.TableLayout; import android.widget.TextView; @@ -53,8 +54,10 @@ public class Results extends AppCompatActivity { TextView yearView; TextView taxidView; TextView totalView; + TableLayout tableLayout; public enum SignatureStatus { + INVALID_SCHEME, INVALID_NUMBER_OF_ARGUMENTS, MALFORMED_ARGUMENT, SIGNATURE_INVALID, @@ -62,7 +65,6 @@ public class Results extends AppCompatActivity { } - @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -71,9 +73,16 @@ public class Results extends AppCompatActivity { yearView = findViewById(R.id.year); taxidView = findViewById(R.id.taxid); totalView = findViewById(R.id.total); + tableLayout = findViewById(R.id.tableLayout); + tableLayout.setVisibility(View.INVISIBLE); Intent intent = getIntent(); - String[] parts = intent.getStringExtra("QR-String").split("/"); + String[] scheme = intent.getStringExtra("QR-String").split("//"); + if (scheme == null || scheme.length != 2 || !scheme[0].equals("donau:")) { + statusHandling(SignatureStatus.INVALID_SCHEME); + return; + } + String[] parts = scheme[1].split("/"); if (parts == null || parts.length != NUMBER_OF_ARGUMENTS) { statusHandling(SignatureStatus.INVALID_NUMBER_OF_ARGUMENTS); return; @@ -113,6 +122,10 @@ public class Results extends AppCompatActivity { private void statusHandling(SignatureStatus es) { View rootView = findViewById(R.id.root_view); switch (es) { + case INVALID_SCHEME: + sigStatusView.setText(R.string.invalid_scheme); + rootView.setBackgroundResource(R.color.red); + break; case INVALID_NUMBER_OF_ARGUMENTS: sigStatusView.setText(R.string.invalid_number_of_arguments); rootView.setBackgroundResource(R.color.red); @@ -126,6 +139,7 @@ public class Results extends AppCompatActivity { rootView.setBackgroundResource(R.color.red); break; case SIGNATURE_VALID: + tableLayout.setVisibility(View.VISIBLE); sigStatusView.setText(R.string.valid_signature); yearView.setText(year); taxidView.setText("tbd"); diff --git a/verification-app/app/src/main/res/values/strings.xml b/verification-app/app/src/main/res/values/strings.xml @@ -4,6 +4,7 @@ <string name="with_adapter">List</string> <string name="invalid_number_of_arguments">Invalid number of arguments!</string> <string name="malformed_argument">Malformed argument!</string> - <string name="invalid_signature">Donation Statement signature is invalid!</string> - <string name="valid_signature">Donation Statement signature is valid!</string> + <string name="invalid_signature">Donation statement signature is invalid!</string> + <string name="valid_signature">Donation statement signature is valid!</string> + <string name="invalid_scheme">Invalid scheme!</string> </resources> \ No newline at end of file diff --git a/verification-app/qr-invalid-example.png b/verification-app/qr-invalid-example.png Binary files differ. diff --git a/verification-app/qr-valid-example.png b/verification-app/qr-valid-example.png Binary files differ. diff --git a/verification-app/qr_test.png b/verification-app/qr_test.png Binary files differ.