[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-merchant-terminal-android] 04/08: Show snackbars at the top of th
From: |
gnunet |
Subject: |
[taler-merchant-terminal-android] 04/08: Show snackbars at the top of the order, not at the bottom |
Date: |
Tue, 25 Feb 2020 17:07:43 +0100 |
This is an automated email from the git hooks/post-receive script.
torsten-grote pushed a commit to branch master
in repository merchant-terminal-android.
commit bde95551fcacbc6cec2881fe45ca27a54aaed07e
Author: Torsten Grote <address@hidden>
AuthorDate: Tue Feb 25 10:53:36 2020 -0300
Show snackbars at the top of the order, not at the bottom
---
.../java/net/taler/merchantpos/MainActivity.kt | 2 +-
.../java/net/taler/merchantpos/MerchantHistory.kt | 2 +-
app/src/main/java/net/taler/merchantpos/Utils.kt | 15 ++++++++++++++
.../merchantpos/config/MerchantConfigFragment.kt | 7 ++++---
.../merchantpos/payment/PaymentSuccessFragment.kt | 4 ++--
.../merchantpos/payment/ProcessPaymentFragment.kt | 6 +++---
app/src/main/res/layout/app_bar_main.xml | 24 +++++++++++++++-------
app/src/main/res/layout/content_main.xml | 24 ----------------------
app/src/main/res/values/strings.xml | 1 +
9 files changed, 44 insertions(+), 41 deletions(-)
diff --git a/app/src/main/java/net/taler/merchantpos/MainActivity.kt
b/app/src/main/java/net/taler/merchantpos/MainActivity.kt
index 4206b51..36c1211 100644
--- a/app/src/main/java/net/taler/merchantpos/MainActivity.kt
+++ b/app/src/main/java/net/taler/merchantpos/MainActivity.kt
@@ -53,7 +53,7 @@ class MainActivity : AppCompatActivity(),
OnNavigationItemSelectedListener {
)
val navHostFragment =
- supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as
NavHostFragment
+ supportFragmentManager.findFragmentById(R.id.navHostFragment) as
NavHostFragment
nav = navHostFragment.navController
toolbar.setupWithNavController(nav, appBarConfiguration)
}
diff --git a/app/src/main/java/net/taler/merchantpos/MerchantHistory.kt
b/app/src/main/java/net/taler/merchantpos/MerchantHistory.kt
index c21a8a7..27f8a98 100644
--- a/app/src/main/java/net/taler/merchantpos/MerchantHistory.kt
+++ b/app/src/main/java/net/taler/merchantpos/MerchantHistory.kt
@@ -120,7 +120,7 @@ class MerchantHistory : Fragment() {
private fun onNetworkError() {
this.isLoading.value = false
- Snackbar.make(view!!, "Network Error", LENGTH_SHORT).show()
+ Snackbar.make(view!!, R.string.error_network, LENGTH_SHORT).show()
}
}
diff --git a/app/src/main/java/net/taler/merchantpos/Utils.kt
b/app/src/main/java/net/taler/merchantpos/Utils.kt
index 6ad459d..948120e 100644
--- a/app/src/main/java/net/taler/merchantpos/Utils.kt
+++ b/app/src/main/java/net/taler/merchantpos/Utils.kt
@@ -3,9 +3,13 @@ package net.taler.merchantpos
import android.view.View
import android.view.View.INVISIBLE
import android.view.View.VISIBLE
+import androidx.annotation.StringRes
import androidx.lifecycle.LiveData
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.Observer
+import
com.google.android.material.snackbar.BaseTransientBottomBar.ANIMATION_MODE_FADE
+import com.google.android.material.snackbar.BaseTransientBottomBar.Duration
+import com.google.android.material.snackbar.Snackbar.make
object Utils {
@@ -62,6 +66,17 @@ fun View.fadeOut(endAction: () -> Unit = {}) {
}.start()
}
+fun topSnackbar(view: View, text: CharSequence, @Duration duration: Int) {
+ make(view, text, duration)
+ .setAnimationMode(ANIMATION_MODE_FADE)
+ .setAnchorView(R.id.navHostFragment)
+ .show()
+}
+
+fun topSnackbar(view: View, @StringRes resId: Int, @Duration duration: Int) {
+ topSnackbar(view, view.resources.getText(resId), duration)
+}
+
class CombinedLiveData<T, K, S>(
source1: LiveData<T>,
source2: LiveData<K>,
diff --git
a/app/src/main/java/net/taler/merchantpos/config/MerchantConfigFragment.kt
b/app/src/main/java/net/taler/merchantpos/config/MerchantConfigFragment.kt
index 8b4f5a8..c6e60d3 100644
--- a/app/src/main/java/net/taler/merchantpos/config/MerchantConfigFragment.kt
+++ b/app/src/main/java/net/taler/merchantpos/config/MerchantConfigFragment.kt
@@ -11,11 +11,12 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.lifecycle.Observer
import androidx.navigation.fragment.findNavController
+import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
import com.google.android.material.snackbar.Snackbar
-import com.google.android.material.snackbar.Snackbar.LENGTH_SHORT
import kotlinx.android.synthetic.main.fragment_merchant_config.*
import net.taler.merchantpos.MainViewModel
import net.taler.merchantpos.R
+import net.taler.merchantpos.topSnackbar
/**
* Fragment that displays merchant settings.
@@ -93,14 +94,14 @@ class MerchantConfigFragment : Fragment() {
private fun onConfigReceived(currency: String) {
onResultReceived()
updateView()
- Snackbar.make(view!!, "Changed to new $currency merchant",
LENGTH_SHORT).show()
+ topSnackbar(view!!, getString(R.string.config_changed, currency),
LENGTH_LONG)
findNavController().navigate(R.id.order)
}
private fun onNetworkError(authError: Boolean) {
onResultReceived()
val res = if (authError) R.string.config_auth_error else
R.string.config_error
- Snackbar.make(view!!, res, LENGTH_SHORT).show()
+ Snackbar.make(view!!, res, LENGTH_LONG).show()
}
private fun onResultReceived() {
diff --git
a/app/src/main/java/net/taler/merchantpos/payment/PaymentSuccessFragment.kt
b/app/src/main/java/net/taler/merchantpos/payment/PaymentSuccessFragment.kt
index 176b6fc..e3bfa11 100644
--- a/app/src/main/java/net/taler/merchantpos/payment/PaymentSuccessFragment.kt
+++ b/app/src/main/java/net/taler/merchantpos/payment/PaymentSuccessFragment.kt
@@ -5,7 +5,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
-import androidx.navigation.findNavController
+import androidx.navigation.fragment.findNavController
import kotlinx.android.synthetic.main.fragment_payment_success.*
import net.taler.merchantpos.R
@@ -21,7 +21,7 @@ class PaymentSuccessFragment : Fragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
button_success_back.setOnClickListener {
-
requireActivity().findNavController(R.id.nav_host_fragment).navigateUp()
+ findNavController().navigateUp()
}
}
}
diff --git
a/app/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
b/app/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
index 26234db..6965e56 100644
--- a/app/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
+++ b/app/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
@@ -10,7 +10,6 @@ import androidx.fragment.app.activityViewModels
import androidx.lifecycle.Observer
import androidx.navigation.fragment.findNavController
import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
-import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.fragment_process_payment.*
import net.taler.merchantpos.MainViewModel
import net.taler.merchantpos.NfcManager.Companion.hasNfc
@@ -18,6 +17,7 @@ import net.taler.merchantpos.QrCodeManager.makeQrCode
import net.taler.merchantpos.R
import net.taler.merchantpos.fadeIn
import net.taler.merchantpos.fadeOut
+import net.taler.merchantpos.topSnackbar
class ProcessPaymentFragment : Fragment() {
@@ -45,7 +45,7 @@ class ProcessPaymentFragment : Fragment() {
private fun onPaymentStateChanged(payment: Payment) {
if (payment.error) {
- Snackbar.make(view!!, R.string.error_network, LENGTH_LONG).show()
+ topSnackbar(view!!, R.string.error_network, LENGTH_LONG)
findNavController().navigateUp()
return
}
@@ -72,7 +72,7 @@ class ProcessPaymentFragment : Fragment() {
private fun onPaymentCancel() {
paymentManager.cancelPayment()
findNavController().navigateUp()
- Snackbar.make(view!!, R.string.payment_canceled, LENGTH_LONG).show()
+ topSnackbar(view!!, R.string.payment_canceled, LENGTH_LONG)
}
}
diff --git a/app/src/main/res/layout/app_bar_main.xml
b/app/src/main/res/layout/app_bar_main.xml
index 01c4602..a4ddb39 100644
--- a/app/src/main/res/layout/app_bar_main.xml
+++ b/app/src/main/res/layout/app_bar_main.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<androidx.coordinatorlayout.widget.CoordinatorLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
@@ -8,8 +7,8 @@
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
- android:layout_height="wrap_content"
android:layout_width="match_parent"
+ android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
@@ -17,11 +16,22 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
- app:popupTheme="@style/AppTheme.PopupOverlay"/>
+ app:popupTheme="@style/AppTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>
- <include layout="@layout/content_main"/>
-
+ <androidx.fragment.app.FragmentContainerView
+ android:id="@+id/navHostFragment"
+ android:name="androidx.navigation.fragment.NavHostFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:defaultNavHost="true"
+ app:layout_insetEdge="top"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:navGraph="@navigation/nav_graph" />
-</androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file
+</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/app/src/main/res/layout/content_main.xml
b/app/src/main/res/layout/content_main.xml
deleted file mode 100644
index a87cf40..0000000
--- a/app/src/main/res/layout/content_main.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:layout_behavior="@string/appbar_scrolling_view_behavior"
- tools:showIn="@layout/app_bar_main"
- tools:context=".MainActivity">
-
- <androidx.fragment.app.FragmentContainerView
- android:id="@+id/nav_host_fragment"
- android:name="androidx.navigation.fragment.NavHostFragment"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:defaultNavHost="true"
- app:navGraph="@navigation/nav_graph" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/values/strings.xml
b/app/src/main/res/values/strings.xml
index d9f9a1a..02b3101 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -26,6 +26,7 @@
<string name="config_fetching">Fetching Configuration…</string>
<string name="config_save_password">Remember Password</string>
<string name="config_forget_password">Forget</string>
+ <string name="config_changed">Changed to new merchant using %s</string>
<string name="payment_intro_nfc">Please scan QR Code or use NFC to
pay</string>
<string name="payment_intro">Please scan QR Code to pay</string>
--
To stop receiving notification emails like this one, please contact
address@hidden.
- [taler-merchant-terminal-android] branch master updated (a78fac0 -> 4aa8591), gnunet, 2020/02/25
- [taler-merchant-terminal-android] 01/08: Add CI file for automatic nightly repo, gnunet, 2020/02/25
- [taler-merchant-terminal-android] 07/08: Make fragment titles translatable, gnunet, 2020/02/25
- [taler-merchant-terminal-android] 05/08: Redesign payment successful screen, gnunet, 2020/02/25
- [taler-merchant-terminal-android] 02/08: Improve config fragment: remove currency and move fetch button up, gnunet, 2020/02/25
- [taler-merchant-terminal-android] 06/08: Improve display of order total, gnunet, 2020/02/25
- [taler-merchant-terminal-android] 08/08: Scroll to last added product and select it, gnunet, 2020/02/25
- [taler-merchant-terminal-android] 04/08: Show snackbars at the top of the order, not at the bottom,
gnunet <=
- [taler-merchant-terminal-android] 03/08: Redo payment fragment and upgrade gradle/kotlin, gnunet, 2020/02/25