gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] 01/03: [wallet] change main screen if there is onl


From: gnunet
Subject: [taler-taler-android] 01/03: [wallet] change main screen if there is only one currency
Date: Thu, 16 Apr 2020 20:07:30 +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 0682c6b3d3f7cef22725f3db15916346fdc4529e
Author: Torsten Grote <address@hidden>
AuthorDate: Thu Apr 16 13:37:45 2020 -0300

    [wallet] change main screen if there is only one currency
    
    If there is more than one currency, the screen shows a list of balances
    per currency like it used to.
    If there is only one currency, the main screen directly shows the list
    of transactions with the balance in the toolbar.
---
 .../src/main/java/net/taler/wallet/MainActivity.kt | 10 +--
 .../src/main/java/net/taler/wallet/MainFragment.kt | 81 ++++------------------
 wallet/src/main/java/net/taler/wallet/Utils.kt     | 11 +++
 .../taler/wallet/{ => balances}/BalanceAdapter.kt  |  6 +-
 .../BalancesFragment.kt}                           | 66 ++++--------------
 .../wallet/transactions/TransactionsFragment.kt    |  6 +-
 ...ment_transactions.xml => fragment_balances.xml} | 29 ++++----
 wallet/src/main/res/layout/fragment_main.xml       | 22 +-----
 .../src/main/res/layout/fragment_transactions.xml  |  7 +-
 wallet/src/main/res/menu/fragment_main.xml         | 19 -----
 wallet/src/main/res/navigation/nav_graph.xml       | 50 +++++++------
 wallet/src/main/res/values/strings.xml             |  1 +
 12 files changed, 102 insertions(+), 206 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt 
b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
index fa78b16..b6e9a7a 100644
--- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -75,7 +75,7 @@ class MainActivity : AppCompatActivity(), 
OnNavigationItemSelectedListener {
 
         setSupportActionBar(toolbar)
         val appBarConfiguration = AppBarConfiguration(
-            setOf(R.id.showBalance, R.id.settings, 
R.id.nav_pending_operations),
+            setOf(R.id.nav_main, R.id.nav_settings, 
R.id.nav_pending_operations),
             drawer_layout
         )
         toolbar.setupWithNavController(nav, appBarConfiguration)
@@ -113,8 +113,8 @@ class MainActivity : AppCompatActivity(), 
OnNavigationItemSelectedListener {
 
     override fun onNavigationItemSelected(item: MenuItem): Boolean {
         when (item.itemId) {
-            R.id.nav_home -> nav.navigate(R.id.showBalance)
-            R.id.nav_settings -> nav.navigate(R.id.settings)
+            R.id.nav_home -> nav.navigate(R.id.nav_main)
+            R.id.nav_settings -> nav.navigate(R.id.nav_settings)
             R.id.nav_pending_operations -> 
nav.navigate(R.id.nav_pending_operations)
         }
         drawer_layout.closeDrawer(START)
@@ -142,12 +142,12 @@ class MainActivity : AppCompatActivity(), 
OnNavigationItemSelectedListener {
         when {
             url.toLowerCase(ROOT).startsWith("taler://pay/") -> {
                 Log.v(TAG, "navigating!")
-                nav.navigate(R.id.action_showBalance_to_promptPayment)
+                nav.navigate(R.id.action_nav_main_to_promptPayment)
                 model.paymentManager.preparePay(url)
             }
             url.toLowerCase(ROOT).startsWith("taler://withdraw/") -> {
                 Log.v(TAG, "navigating!")
-                nav.navigate(R.id.action_showBalance_to_promptWithdraw)
+                nav.navigate(R.id.action_nav_main_to_promptWithdraw)
                 model.withdrawManager.getWithdrawalInfo(url)
             }
             url.toLowerCase(ROOT).startsWith("taler://refund/") -> {
diff --git a/wallet/src/main/java/net/taler/wallet/MainFragment.kt 
b/wallet/src/main/java/net/taler/wallet/MainFragment.kt
index e0e6f51..0bc6084 100644
--- a/wallet/src/main/java/net/taler/wallet/MainFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainFragment.kt
@@ -17,41 +17,20 @@
 package net.taler.wallet
 
 import android.os.Bundle
-import android.transition.TransitionManager.beginDelayedTransition
 import android.view.LayoutInflater
-import android.view.Menu
-import android.view.MenuInflater
-import android.view.MenuItem
 import android.view.View
-import android.view.View.GONE
-import android.view.View.VISIBLE
 import android.view.ViewGroup
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
 import androidx.lifecycle.Observer
-import androidx.navigation.fragment.findNavController
-import androidx.recyclerview.widget.DividerItemDecoration
-import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.recyclerview.widget.LinearLayoutManager.VERTICAL
-import com.google.zxing.integration.android.IntentIntegrator
-import com.google.zxing.integration.android.IntentIntegrator.QR_CODE
 import kotlinx.android.synthetic.main.fragment_main.*
+import net.taler.wallet.balances.BalancesFragment
+import net.taler.wallet.transactions.TransactionsFragment
 
-interface BalanceClickListener {
-    fun onBalanceClick(currency: String)
-}
-
-class MainFragment : Fragment(), BalanceClickListener {
+class MainFragment : Fragment() {
 
     private val model: MainViewModel by activityViewModels()
 
-    private val balancesAdapter = BalanceAdapter(this)
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        setHasOptionsMenu(true)
-    }
-
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
@@ -61,18 +40,12 @@ class MainFragment : Fragment(), BalanceClickListener {
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        mainList.apply {
-            layoutManager = LinearLayoutManager(context)
-            adapter = balancesAdapter
-            addItemDecoration(DividerItemDecoration(context, VERTICAL))
-        }
-
         model.balances.observe(viewLifecycleOwner, Observer {
             onBalancesChanged(it.values.toList())
         })
 
         mainFab.setOnClickListener {
-            onScanButtonClicked()
+            scanQrCode(requireActivity())
         }
     }
 
@@ -81,44 +54,18 @@ class MainFragment : Fragment(), BalanceClickListener {
         model.loadBalances()
     }
 
-    override fun onOptionsItemSelected(item: MenuItem): Boolean {
-        return when (item.itemId) {
-            else -> super.onOptionsItemSelected(item)
-        }
-    }
-
-    override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
-        inflater.inflate(R.menu.fragment_main, menu)
-        super.onCreateOptionsMenu(menu, inflater)
-    }
-
-    private fun onScanButtonClicked() {
-        IntentIntegrator(activity).apply {
-            setPrompt("")
-            setBeepEnabled(true)
-            setOrientationLocked(false)
-        }.initiateScan(listOf(QR_CODE))
-    }
-
     private fun onBalancesChanged(balances: List<BalanceItem>) {
-        delayedTransition()
-        if (balances.isEmpty()) {
-            mainEmptyState.visibility = VISIBLE
-            mainList.visibility = GONE
-        } else {
-            balancesAdapter.setItems(balances)
-            mainEmptyState.visibility = GONE
-            mainList.visibility = VISIBLE
+        if (childFragmentManager.fragments.isEmpty()) {
+            val f = if (balances.size == 1) {
+                model.transactionManager.selectedCurrency = 
balances[0].available.currency
+                TransactionsFragment()
+            } else {
+                BalancesFragment()
+            }
+            childFragmentManager.beginTransaction()
+                .add(R.id.mainFragmentContainer, f)
+                .commitNow()
         }
     }
 
-    private fun delayedTransition() {
-        beginDelayedTransition(view as ViewGroup)
-    }
-
-    override fun onBalanceClick(currency: String) {
-        model.transactionManager.selectedCurrency = currency
-        findNavController().navigate(R.id.nav_transactions)
-    }
-
 }
diff --git a/wallet/src/main/java/net/taler/wallet/Utils.kt 
b/wallet/src/main/java/net/taler/wallet/Utils.kt
index ae8712f..b41a202 100644
--- a/wallet/src/main/java/net/taler/wallet/Utils.kt
+++ b/wallet/src/main/java/net/taler/wallet/Utils.kt
@@ -16,6 +16,17 @@
 
 package net.taler.wallet
 
+import android.app.Activity
+import com.google.zxing.integration.android.IntentIntegrator
+
+fun scanQrCode(activity: Activity) {
+    IntentIntegrator(activity).apply {
+        setPrompt("")
+        setBeepEnabled(true)
+        setOrientationLocked(false)
+    }.initiateScan(listOf(IntentIntegrator.QR_CODE))
+}
+
 fun cleanExchange(exchange: String) = exchange.let {
     if (it.startsWith("https://";)) it.substring(8) else it
 }.trimEnd('/')
diff --git a/wallet/src/main/java/net/taler/wallet/BalanceAdapter.kt 
b/wallet/src/main/java/net/taler/wallet/balances/BalanceAdapter.kt
similarity index 94%
rename from wallet/src/main/java/net/taler/wallet/BalanceAdapter.kt
rename to wallet/src/main/java/net/taler/wallet/balances/BalanceAdapter.kt
index b7b2ef0..0ccfeb2 100644
--- a/wallet/src/main/java/net/taler/wallet/BalanceAdapter.kt
+++ b/wallet/src/main/java/net/taler/wallet/balances/BalanceAdapter.kt
@@ -14,7 +14,7 @@
  * GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-package net.taler.wallet
+package net.taler.wallet.balances
 
 import android.view.LayoutInflater
 import android.view.View
@@ -24,7 +24,9 @@ import android.view.ViewGroup
 import android.widget.TextView
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView.Adapter
-import net.taler.wallet.BalanceAdapter.BalanceViewHolder
+import net.taler.wallet.BalanceItem
+import net.taler.wallet.R
+import net.taler.wallet.balances.BalanceAdapter.BalanceViewHolder
 
 class BalanceAdapter(private val listener: BalanceClickListener) : 
Adapter<BalanceViewHolder>() {
 
diff --git a/wallet/src/main/java/net/taler/wallet/MainFragment.kt 
b/wallet/src/main/java/net/taler/wallet/balances/BalancesFragment.kt
similarity index 59%
copy from wallet/src/main/java/net/taler/wallet/MainFragment.kt
copy to wallet/src/main/java/net/taler/wallet/balances/BalancesFragment.kt
index e0e6f51..0a2b29a 100644
--- a/wallet/src/main/java/net/taler/wallet/MainFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/balances/BalancesFragment.kt
@@ -14,16 +14,14 @@
  * GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-package net.taler.wallet
+package net.taler.wallet.balances
 
 import android.os.Bundle
 import android.transition.TransitionManager.beginDelayedTransition
 import android.view.LayoutInflater
-import android.view.Menu
-import android.view.MenuInflater
-import android.view.MenuItem
 import android.view.View
 import android.view.View.GONE
+import android.view.View.INVISIBLE
 import android.view.View.VISIBLE
 import android.view.ViewGroup
 import androidx.fragment.app.Fragment
@@ -31,38 +29,34 @@ import androidx.fragment.app.activityViewModels
 import androidx.lifecycle.Observer
 import androidx.navigation.fragment.findNavController
 import androidx.recyclerview.widget.DividerItemDecoration
-import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager.VERTICAL
-import com.google.zxing.integration.android.IntentIntegrator
-import com.google.zxing.integration.android.IntentIntegrator.QR_CODE
-import kotlinx.android.synthetic.main.fragment_main.*
+import kotlinx.android.synthetic.main.fragment_balances.*
+import net.taler.common.fadeIn
+import net.taler.wallet.BalanceItem
+import net.taler.wallet.MainViewModel
+import net.taler.wallet.R
 
 interface BalanceClickListener {
     fun onBalanceClick(currency: String)
 }
 
-class MainFragment : Fragment(), BalanceClickListener {
+class BalancesFragment : Fragment(),
+    BalanceClickListener {
 
     private val model: MainViewModel by activityViewModels()
 
     private val balancesAdapter = BalanceAdapter(this)
 
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        setHasOptionsMenu(true)
-    }
-
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
-        return inflater.inflate(R.layout.fragment_main, container, false)
+        return inflater.inflate(R.layout.fragment_balances, container, false)
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         mainList.apply {
-            layoutManager = LinearLayoutManager(context)
             adapter = balancesAdapter
             addItemDecoration(DividerItemDecoration(context, VERTICAL))
         }
@@ -70,55 +64,23 @@ class MainFragment : Fragment(), BalanceClickListener {
         model.balances.observe(viewLifecycleOwner, Observer {
             onBalancesChanged(it.values.toList())
         })
-
-        mainFab.setOnClickListener {
-            onScanButtonClicked()
-        }
-    }
-
-    override fun onStart() {
-        super.onStart()
-        model.loadBalances()
-    }
-
-    override fun onOptionsItemSelected(item: MenuItem): Boolean {
-        return when (item.itemId) {
-            else -> super.onOptionsItemSelected(item)
-        }
-    }
-
-    override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
-        inflater.inflate(R.menu.fragment_main, menu)
-        super.onCreateOptionsMenu(menu, inflater)
-    }
-
-    private fun onScanButtonClicked() {
-        IntentIntegrator(activity).apply {
-            setPrompt("")
-            setBeepEnabled(true)
-            setOrientationLocked(false)
-        }.initiateScan(listOf(QR_CODE))
     }
 
     private fun onBalancesChanged(balances: List<BalanceItem>) {
-        delayedTransition()
+        beginDelayedTransition(view as ViewGroup)
         if (balances.isEmpty()) {
             mainEmptyState.visibility = VISIBLE
             mainList.visibility = GONE
         } else {
             balancesAdapter.setItems(balances)
-            mainEmptyState.visibility = GONE
-            mainList.visibility = VISIBLE
+            mainEmptyState.visibility = INVISIBLE
+            mainList.fadeIn()
         }
     }
 
-    private fun delayedTransition() {
-        beginDelayedTransition(view as ViewGroup)
-    }
-
     override fun onBalanceClick(currency: String) {
         model.transactionManager.selectedCurrency = currency
-        findNavController().navigate(R.id.nav_transactions)
+        findNavController().navigate(R.id.action_nav_main_to_nav_transactions)
     }
 
 }
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 4f62547..0d6e9ce 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
@@ -30,7 +30,6 @@ import androidx.fragment.app.activityViewModels
 import androidx.lifecycle.Observer
 import androidx.navigation.fragment.findNavController
 import androidx.recyclerview.widget.DividerItemDecoration
-import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager.VERTICAL
 import kotlinx.android.synthetic.main.fragment_transactions.*
 import net.taler.common.fadeIn
@@ -46,6 +45,7 @@ class TransactionsFragment : Fragment(), OnEventClickListener 
{
 
     private val model: MainViewModel by activityViewModels()
     private val transactionManager by lazy { model.transactionManager }
+
     private val transactionAdapter by lazy { 
TransactionAdapter(model.devMode.value == true, this) }
     private val currency by lazy { transactionManager.selectedCurrency!! }
 
@@ -63,7 +63,6 @@ class TransactionsFragment : Fragment(), OnEventClickListener 
{
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         list.apply {
-            layoutManager = LinearLayoutManager(context)
             adapter = transactionAdapter
             addItemDecoration(DividerItemDecoration(context, VERTICAL))
         }
@@ -102,7 +101,7 @@ class TransactionsFragment : Fragment(), 
OnEventClickListener {
     override fun onEventClicked(event: Transaction) {
         if (event.detailPageLayout != 0) {
             transactionManager.selectedEvent = event
-            
findNavController().navigate(R.id.action_nav_transactions_to_nav_transaction_detail)
+            findNavController().navigate(R.id.action_nav_transaction_detail)
         } else if (model.devMode.value == true) {
             JsonDialogFragment.new(event.json.toString(2))
                 .show(parentFragmentManager, null)
@@ -118,6 +117,7 @@ class TransactionsFragment : Fragment(), 
OnEventClickListener {
         is TransactionsResult.Success -> {
             emptyState.visibility = if (result.transactions.isEmpty()) VISIBLE 
else INVISIBLE
             transactionAdapter.update(result.transactions)
+            list.fadeIn()
         }
     }
 
diff --git a/wallet/src/main/res/layout/fragment_transactions.xml 
b/wallet/src/main/res/layout/fragment_balances.xml
similarity index 71%
copy from wallet/src/main/res/layout/fragment_transactions.xml
copy to wallet/src/main/res/layout/fragment_balances.xml
index a2aebcd..84c7bca 100644
--- a/wallet/src/main/res/layout/fragment_transactions.xml
+++ b/wallet/src/main/res/layout/fragment_balances.xml
@@ -13,33 +13,30 @@
   ~ 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/>
   -->
-
 <FrameLayout 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"
     android:layout_height="match_parent">
 
     <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/list"
+        android:id="@+id/mainList"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:scrollbars="vertical" />
-
-    <TextView
-        android:id="@+id/emptyState"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:text="@string/transactions_empty"
         android:visibility="invisible"
+        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
+        tools:listitem="@layout/list_item_balance"
         tools:visibility="visible" />
 
-    <ProgressBar
-        android:id="@+id/progressBar"
-        style="?android:progressBarStyleLarge"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
+    <TextView
+        android:id="@+id/mainEmptyState"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:autoLink="web"
+        android:gravity="center"
+        android:padding="16dp"
+        android:text="@string/balances_empty_state"
+        android:textSize="18sp"
         android:visibility="invisible"
         tools:visibility="visible" />
 
diff --git a/wallet/src/main/res/layout/fragment_main.xml 
b/wallet/src/main/res/layout/fragment_main.xml
index 57fe73e..81121b5 100644
--- a/wallet/src/main/res/layout/fragment_main.xml
+++ b/wallet/src/main/res/layout/fragment_main.xml
@@ -15,29 +15,13 @@
   -->
 <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"
     android:layout_height="match_parent">
 
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/mainList"
+    <androidx.fragment.app.FragmentContainerView
+        android:id="@+id/mainFragmentContainer"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:visibility="gone"
-        tools:listitem="@layout/list_item_balance"
-        tools:visibility="visible" />
-
-    <TextView
-        android:id="@+id/mainEmptyState"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:autoLink="web"
-        android:gravity="center"
-        android:padding="16dp"
-        android:text="@string/balances_empty_state"
-        android:textSize="18sp"
-        android:visibility="gone"
-        tools:visibility="visible" />
+        android:layout_height="match_parent" />
 
     <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/mainFab"
diff --git a/wallet/src/main/res/layout/fragment_transactions.xml 
b/wallet/src/main/res/layout/fragment_transactions.xml
index a2aebcd..aaf638c 100644
--- a/wallet/src/main/res/layout/fragment_transactions.xml
+++ b/wallet/src/main/res/layout/fragment_transactions.xml
@@ -15,6 +15,7 @@
   -->
 
 <FrameLayout 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"
     android:layout_height="match_parent">
@@ -23,7 +24,11 @@
         android:id="@+id/list"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:scrollbars="vertical" />
+        android:scrollbars="vertical"
+        android:visibility="invisible"
+        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
+        tools:listitem="@layout/list_item_transaction"
+        tools:visibility="visible" />
 
     <TextView
         android:id="@+id/emptyState"
diff --git a/wallet/src/main/res/menu/fragment_main.xml 
b/wallet/src/main/res/menu/fragment_main.xml
deleted file mode 100644
index d4568d4..0000000
--- a/wallet/src/main/res/menu/fragment_main.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!--
-  ~ This file is part of GNU Taler
-  ~ (C) 2020 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/>
-  -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android";
-    xmlns:app="http://schemas.android.com/apk/res-auto";>
-</menu>
diff --git a/wallet/src/main/res/navigation/nav_graph.xml 
b/wallet/src/main/res/navigation/nav_graph.xml
index ef0f48b..f8d515e 100644
--- a/wallet/src/main/res/navigation/nav_graph.xml
+++ b/wallet/src/main/res/navigation/nav_graph.xml
@@ -18,21 +18,24 @@
     xmlns:app="http://schemas.android.com/apk/res-auto";
     xmlns:tools="http://schemas.android.com/tools";
     android:id="@+id/nav_graph"
-    app:startDestination="@id/showBalance"
-    tools:ignore="UnusedNavigation">
+    app:startDestination="@id/nav_main">
 
     <fragment
-        android:id="@+id/showBalance"
+        android:id="@+id/nav_main"
         android:name="net.taler.wallet.MainFragment"
         android:label="@string/balances_title"
-        tools:layout="@layout/fragment_main">
+        tools:layout="@layout/fragment_balances">
         <action
-            android:id="@+id/action_showBalance_to_promptPayment"
+            android:id="@+id/action_nav_main_to_promptPayment"
             app:destination="@id/promptPayment" />
         <action
-            android:id="@+id/action_showBalance_to_promptWithdraw"
+            android:id="@+id/action_nav_main_to_promptWithdraw"
             app:destination="@id/promptWithdraw" />
+        <action
+            android:id="@+id/action_nav_main_to_nav_transactions"
+            app:destination="@id/nav_transactions" />
     </fragment>
+
     <fragment
         android:id="@+id/promptPayment"
         android:name="net.taler.wallet.payment.PromptPaymentFragment"
@@ -41,31 +44,28 @@
         <action
             android:id="@+id/action_promptPayment_to_paymentSuccessful"
             app:destination="@id/paymentSuccessful"
-            app:popUpTo="@id/showBalance" />
+            app:popUpTo="@id/nav_main" />
         <action
             android:id="@+id/action_promptPayment_to_alreadyPaid"
             app:destination="@id/alreadyPaid"
-            app:popUpTo="@id/showBalance" />
+            app:popUpTo="@id/nav_main" />
     </fragment>
     <fragment
         android:id="@+id/paymentSuccessful"
         android:name="net.taler.wallet.payment.PaymentSuccessfulFragment"
         android:label="Payment Successful"
         tools:layout="@layout/fragment_payment_successful" />
+
     <fragment
-        android:id="@+id/settings"
+        android:id="@+id/nav_settings"
         android:name="net.taler.wallet.SettingsFragment"
-        android:label="Settings" />
+        android:label="@string/menu_settings" />
 
     <fragment
         android:id="@+id/nav_transactions"
         android:name="net.taler.wallet.transactions.TransactionsFragment"
         android:label="@string/transactions_title"
-        tools:layout="@layout/fragment_transactions">
-        <action
-            android:id="@+id/action_nav_transactions_to_nav_transaction_detail"
-            app:destination="@id/nav_transactions_detail" />
-    </fragment>
+        tools:layout="@layout/fragment_transactions" />
 
     <fragment
         android:id="@+id/nav_transactions_detail"
@@ -76,7 +76,7 @@
     <fragment
         android:id="@+id/alreadyPaid"
         android:name="net.taler.wallet.payment.AlreadyPaidFragment"
-        android:label="Already Paid"
+        android:label="@string/payment_already_paid_title"
         tools:layout="@layout/fragment_already_paid" />
 
     <fragment
@@ -90,11 +90,11 @@
         <action
             android:id="@+id/action_promptWithdraw_to_withdrawSuccessful"
             app:destination="@id/withdrawSuccessful"
-            app:popUpTo="@id/showBalance" />
+            app:popUpTo="@id/nav_main" />
         <action
             android:id="@+id/action_promptWithdraw_to_errorFragment"
             app:destination="@id/errorFragment"
-            app:popUpTo="@id/showBalance" />
+            app:popUpTo="@id/nav_main" />
         <action
             android:id="@+id/action_promptWithdraw_to_selectExchangeFragment"
             app:destination="@id/selectExchangeFragment" />
@@ -103,8 +103,9 @@
     <fragment
         android:id="@+id/withdrawSuccessful"
         android:name="net.taler.wallet.withdraw.WithdrawSuccessfulFragment"
-        android:label="Withdrawal Confirmed"
+        android:label="@string/withdraw_accepted"
         tools:layout="@layout/fragment_withdraw_successful" />
+
     <fragment
         android:id="@+id/reviewExchangeTOS"
         android:name="net.taler.wallet.withdraw.ReviewExchangeTosFragment"
@@ -113,7 +114,7 @@
         <action
             android:id="@+id/action_reviewExchangeTOS_to_promptWithdraw"
             app:destination="@id/promptWithdraw"
-            app:popUpTo="@id/showBalance" />
+            app:popUpTo="@id/nav_main" />
     </fragment>
     <fragment
         android:id="@+id/selectExchangeFragment"
@@ -124,8 +125,9 @@
     <fragment
         android:id="@+id/nav_pending_operations"
         android:name="net.taler.wallet.pending.PendingOperationsFragment"
-        android:label="Pending Operations"
+        android:label="@string/pending_operations_title"
         tools:layout="@layout/fragment_pending_operations" />
+
     <fragment
         android:id="@+id/errorFragment"
         android:name="net.taler.wallet.withdraw.ErrorFragment"
@@ -140,4 +142,8 @@
         android:id="@+id/action_global_pending_operations"
         app:destination="@id/nav_pending_operations" />
 
-</navigation>
\ No newline at end of file
+    <action
+        android:id="@+id/action_nav_transaction_detail"
+        app:destination="@id/nav_transactions_detail" />
+
+</navigation>
diff --git a/wallet/src/main/res/values/strings.xml 
b/wallet/src/main/res/values/strings.xml
index e0b3183..b4af3b8 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -80,6 +80,7 @@
     <string name="payment_hide_details">Hide Details</string>
     <string name="payment_successful">Payment was successful</string>
     <string name="payment_back_button">OK</string>
+    <string name="payment_already_paid_title">Already paid</string>
     <string name="payment_already_paid">You\'ve already paid for this 
order.</string>
 
     <string name="withdraw_accepted">Withdrawal accepted</string>

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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