From fbed3a8c12741724ac3b9867612536bdbb65a434 Mon Sep 17 00:00:00 2001 From: Alexander Junggeburth Date: Thu, 4 Feb 2021 16:57:11 +0100 Subject: [PATCH 01/21] [wip] add new payment options view --- sample/src/main/AndroidManifest.xml | 1 + .../java/io/snabble/testapp/BaseActivity.java | 9 + .../java/io/snabble/testapp/HomeFragment.java | 7 + .../testapp/PaymentOptionsActivity.java | 14 ++ sample/src/main/res/layout/fragment_home.xml | 6 + .../integration/PaymentOptionsFragment.java | 21 ++ .../snabble_fragment_payment_options.xml | 7 + ui/build.gradle | 10 +- .../java/io/snabble/sdk/ui/SnabbleUI.java | 2 + .../sdk/ui/payment/PaymentOptionsView.kt | 189 ++++++++++++++++++ .../payment/SelectPaymentMethodFragment.java | 11 - .../java/io/snabble/sdk/ui/utils/ViewExt.kt | 23 +++ ...nabble_item_payment_credentials_select.xml | 27 +-- .../snabble_item_payment_options_entry.xml | 26 +++ .../snabble_item_payment_options_header.xml | 10 + .../res/layout/snabble_payment_options.xml | 8 + ui/src/main/res/values/ids.xml | 4 + 17 files changed, 338 insertions(+), 37 deletions(-) create mode 100644 sample/src/main/java/io/snabble/testapp/PaymentOptionsActivity.java create mode 100644 ui-integration/src/main/java/io/snabble/sdk/ui/integration/PaymentOptionsFragment.java create mode 100644 ui-integration/src/main/res/layout/snabble_fragment_payment_options.xml create mode 100644 ui/src/main/java/io/snabble/sdk/ui/payment/PaymentOptionsView.kt create mode 100644 ui/src/main/java/io/snabble/sdk/ui/utils/ViewExt.kt create mode 100644 ui/src/main/res/layout/snabble_item_payment_options_entry.xml create mode 100644 ui/src/main/res/layout/snabble_item_payment_options_header.xml create mode 100644 ui/src/main/res/layout/snabble_payment_options.xml create mode 100644 ui/src/main/res/values/ids.xml diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index b9e2eca039..453bcc266a 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -31,6 +31,7 @@ + diff --git a/sample/src/main/java/io/snabble/testapp/BaseActivity.java b/sample/src/main/java/io/snabble/testapp/BaseActivity.java index 151f841c15..f3b20d3df6 100644 --- a/sample/src/main/java/io/snabble/testapp/BaseActivity.java +++ b/sample/src/main/java/io/snabble/testapp/BaseActivity.java @@ -15,6 +15,7 @@ import io.snabble.sdk.ui.integration.SelfScanningFragment; import io.snabble.sdk.ui.integration.ZebraSupport; import io.snabble.sdk.ui.payment.PaydirektInputView; +import io.snabble.sdk.ui.payment.PaymentOptionsView; import io.snabble.sdk.ui.scanner.ProductResolver; public abstract class BaseActivity extends AppCompatActivity implements SnabbleUI.Callback { @@ -146,6 +147,9 @@ public void execute(SnabbleUI.Action action, Object data) { case SHOW_PAYMENT_CREDENTIALS_LIST: showPaymentCredentialsList(); break; + case SHOW_PAYMENT_OPTIONS: + showPaymentOptions(); + break; case SHOW_AGE_VERIFICATION: showAgeVerification(); break; @@ -238,6 +242,11 @@ public void showPaymentCredentialsList() { startActivity(intent); } + public void showPaymentOptions() { + Intent intent = new Intent(this, PaymentOptionsActivity.class); + startActivity(intent); + } + public void showAgeVerification() { Intent intent = new Intent(this, AgeVerificationActivity.class); startActivity(intent); diff --git a/sample/src/main/java/io/snabble/testapp/HomeFragment.java b/sample/src/main/java/io/snabble/testapp/HomeFragment.java index 62ebcc957e..d2aad56661 100644 --- a/sample/src/main/java/io/snabble/testapp/HomeFragment.java +++ b/sample/src/main/java/io/snabble/testapp/HomeFragment.java @@ -69,6 +69,13 @@ public void onClick(View v) { } }); + v.findViewById(R.id.show_po).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ((BaseActivity)getActivity()).showPaymentOptions(); + } + }); + v.findViewById(R.id.age_verification).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/sample/src/main/java/io/snabble/testapp/PaymentOptionsActivity.java b/sample/src/main/java/io/snabble/testapp/PaymentOptionsActivity.java new file mode 100644 index 0000000000..90786e27c5 --- /dev/null +++ b/sample/src/main/java/io/snabble/testapp/PaymentOptionsActivity.java @@ -0,0 +1,14 @@ +package io.snabble.testapp; + +import androidx.fragment.app.Fragment; + +import io.snabble.sdk.ui.integration.PaymentCredentialsListFragment; +import io.snabble.sdk.ui.integration.PaymentOptionsFragment; + +public class PaymentOptionsActivity extends BaseActivity{ + @Override + public Fragment onCreateFragment() { + return new PaymentOptionsFragment(); + } +} + diff --git a/sample/src/main/res/layout/fragment_home.xml b/sample/src/main/res/layout/fragment_home.xml index 14f9511105..714a68df2a 100644 --- a/sample/src/main/res/layout/fragment_home.xml +++ b/sample/src/main/res/layout/fragment_home.xml @@ -65,6 +65,12 @@ android:id="@+id/show_pm" android:text="Show Payment Methods" /> +