gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] 09/12: [wallet] DD53: transaction-list: replace ho


From: gnunet
Subject: [taler-taler-android] 09/12: [wallet] DD53: transaction-list: replace horizontal scroll with flow
Date: Mon, 13 May 2024 21:22:48 +0200

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository taler-android.

commit e570b773014d76c1dd2b0d93376d2d3452d7f342
Author: Iván Ávalos <avalos@disroot.org>
AuthorDate: Mon May 13 10:53:07 2024 -0600

    [wallet] DD53: transaction-list: replace horizontal scroll with flow
---
 .../wallet/transactions/TransactionsFragment.kt    |   6 +-
 wallet/src/main/res/layout/balance_actions.xml     | 117 ++++++++++++++++++
 .../src/main/res/layout/fragment_transactions.xml  | 134 +++++----------------
 3 files changed, 150 insertions(+), 107 deletions(-)

diff --git 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
index 49e88a1..d2d0c9c 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
@@ -118,7 +118,7 @@ class TransactionsFragment : Fragment(), 
OnTransactionClickListener, ActionMode.
             if (balances.size == 1) ui.mainFab.visibility = INVISIBLE
 
             balances.find { it.scopeInfo == scopeInfo }?.let { balance ->
-                ui.amount.text = balance.available.toString(showSymbol = false)
+                ui.actionsBar.amount.text = 
balance.available.toString(showSymbol = false)
                 transactionAdapter.setCurrencySpec(balance.available.spec)
             }
         }
@@ -128,10 +128,10 @@ class TransactionsFragment : Fragment(), 
OnTransactionClickListener, ActionMode.
         transactionManager.transactions.observe(viewLifecycleOwner) { result ->
             onTransactionsResult(result)
         }
-        ui.sendButton.setOnClickListener {
+        ui.actionsBar.sendButton.setOnClickListener {
             findNavController().navigate(R.id.sendFunds)
         }
-        ui.receiveButton.setOnClickListener {
+        ui.actionsBar.receiveButton.setOnClickListener {
             findNavController().navigate(R.id.action_global_receiveFunds)
         }
         ui.mainFab.setOnClickListener {
diff --git a/wallet/src/main/res/layout/balance_actions.xml 
b/wallet/src/main/res/layout/balance_actions.xml
new file mode 100644
index 0000000..d071a78
--- /dev/null
+++ b/wallet/src/main/res/layout/balance_actions.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ This file is part of GNU Taler
+  ~ (C) 2024 Taler Systems S.A.
+  ~
+  ~ GNU Taler is free software; you can redistribute it and/or modify it under 
the
+  ~ terms of the GNU General Public License as published by the Free Software
+  ~ Foundation; either version 3, or (at your option) any later version.
+  ~
+  ~ GNU Taler is distributed in the hope that it will be useful, but WITHOUT 
ANY
+  ~ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
FOR
+  ~ A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License along 
with
+  ~ GNU Taler; see the file COPYING.  If not, see 
<http://www.gnu.org/licenses/>
+  -->
+
+<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android";
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    xmlns:app="http://schemas.android.com/apk/res-auto";
+    xmlns:tools="http://schemas.android.com/tools";>
+
+    <com.google.android.material.button.MaterialButton
+        android:id="@+id/sendButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="10dp"
+        android:layout_marginVertical="10dp"
+        android:paddingHorizontal="18dp"
+        android:text="@string/transactions_send_funds"
+        app:icon="@drawable/ic_funds_send"
+        tools:ignore="MissingConstraints" />
+
+    <com.google.android.material.button.MaterialButton
+        android:id="@+id/receiveButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="10dp"
+        android:layout_marginVertical="10dp"
+        android:paddingHorizontal="18dp"
+        android:text="@string/transactions_receive_funds"
+        app:icon="@drawable/ic_funds_receive"
+        tools:ignore="MissingConstraints" />
+
+    <androidx.constraintlayout.helper.widget.Flow
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        app:constraint_referenced_ids="sendButton,receiveButton"
+        android:paddingHorizontal="10dp"
+        app:flow_horizontalGap="10dp"
+        app:flow_horizontalBias="0"
+        app:flow_horizontalAlign="start"
+        app:flow_horizontalStyle="packed"
+        app:flow_wrapMode="chain"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toStartOf="@id/amountBarrier"
+        app:layout_constraintBottom_toBottomOf="@id/topBarrier"/>
+
+    <androidx.constraintlayout.widget.Barrier
+        android:id="@+id/amountBarrier"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toTopOf="@id/divider"
+        app:barrierDirection="start"/>
+
+    <LinearLayout
+        android:id="@+id/amountLayout"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="16dp"
+        android:orientation="vertical"
+        android:gravity="end"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintBottom_toTopOf="@id/divider"
+        app:layout_constraintStart_toEndOf="@id/amountBarrier">
+
+        <TextView
+            android:id="@+id/balanceLabel"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:layout_marginEnd="16dp"
+            android:text="@string/transactions_balance"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/amount"
+            style="@style/TextAppearance.Material3.TitleLarge"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="16dp"
+            android:layout_marginBottom="8dp"
+            android:textStyle="bold"
+            tools:text="23.42"
+            tools:visibility="visible" />
+
+    </LinearLayout>
+
+    <androidx.constraintlayout.widget.Barrier
+        android:id="@+id/topBarrier"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:barrierDirection="bottom"
+        app:constraint_referenced_ids="sendButton,receiveButton,amountLayout" 
/>
+
+    <com.google.android.material.divider.MaterialDivider
+        android:id="@+id/divider"
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/topBarrier" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/wallet/src/main/res/layout/fragment_transactions.xml 
b/wallet/src/main/res/layout/fragment_transactions.xml
index 564b7f8..c417540 100644
--- a/wallet/src/main/res/layout/fragment_transactions.xml
+++ b/wallet/src/main/res/layout/fragment_transactions.xml
@@ -20,114 +20,40 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <HorizontalScrollView
-        android:id="@+id/buttonScroll"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:fadeScrollbars="false"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/amountBarrier"
-        app:layout_constraintBottom_toTopOf="@id/divider">
+    <androidx.core.widget.NestedScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
 
         <LinearLayout
-            android:layout_width="wrap_content"
+            android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:orientation="horizontal">
-
-            <com.google.android.material.button.MaterialButton
-                android:id="@+id/sendButton"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginStart="10dp"
-                android:layout_marginVertical="10dp"
-                android:paddingHorizontal="18dp"
-                android:text="@string/transactions_send_funds"
-                app:icon="@drawable/ic_funds_send" />
-
-            <com.google.android.material.button.MaterialButton
-                android:id="@+id/receiveButton"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginHorizontal="10dp"
-                android:layout_marginVertical="10dp"
-                android:paddingHorizontal="18dp"
-                android:text="@string/transactions_receive_funds"
-                app:icon="@drawable/ic_funds_receive" />
+            android:orientation="vertical">
+
+            <FrameLayout
+                android:id="@+id/actionsFrame"
+                android:layout_height="wrap_content"
+                android:layout_width="match_parent">
+                <include
+                    android:id="@+id/actionsBar"
+                    layout="@layout/balance_actions"
+                    android:layout_height="wrap_content"
+                    android:layout_width="match_parent"/>
+            </FrameLayout>
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/list"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:nestedScrollingEnabled="false"
+                android:scrollbars="vertical"
+                android:visibility="invisible"
+                
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
+                tools:listitem="@layout/list_item_transaction"
+                tools:visibility="visible" />
 
         </LinearLayout>
-    </HorizontalScrollView>
-
-    <androidx.constraintlayout.widget.Barrier
-        android:id="@+id/amountBarrier"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toTopOf="@id/divider"
-        app:barrierDirection="start"/>
-
-    <LinearLayout
-        android:id="@+id/amountLayout"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="16dp"
-        android:orientation="vertical"
-        android:gravity="end"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintBottom_toTopOf="@id/divider"
-        app:layout_constraintStart_toEndOf="@id/amountBarrier">
-
-        <TextView
-            android:id="@+id/balanceLabel"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="8dp"
-            android:layout_marginEnd="16dp"
-            android:text="@string/transactions_balance"
-            android:textSize="14sp" />
 
-        <TextView
-            android:id="@+id/amount"
-            style="@style/TextAppearance.Material3.TitleLarge"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginEnd="16dp"
-            android:layout_marginBottom="8dp"
-            android:textStyle="bold"
-            tools:text="23.42"
-            tools:visibility="visible" />
-
-    </LinearLayout>
-
-    <androidx.constraintlayout.widget.Barrier
-        android:id="@+id/topBarrier"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:barrierDirection="bottom"
-        app:constraint_referenced_ids="buttonScroll,amountLayout" />
-
-    <com.google.android.material.divider.MaterialDivider
-        android:id="@+id/divider"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/topBarrier" />
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/list"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:scrollbars="vertical"
-        android:visibility="invisible"
-        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/divider"
-        tools:listitem="@layout/list_item_transaction"
-        tools:visibility="visible" />
+    </androidx.core.widget.NestedScrollView>
 
     <TextView
         android:id="@+id/emptyState"
@@ -142,7 +68,7 @@
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/divider"
+        app:layout_constraintTop_toTopOf="parent"
         tools:visibility="visible" />
 
     <ProgressBar
@@ -155,7 +81,7 @@
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/divider"
+        app:layout_constraintTop_toTopOf="parent"
         tools:visibility="visible" />
 
     
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]