summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-02-05 15:24:41 -0600
committerIván Ávalos <avalos@disroot.org>2023-02-18 19:15:52 -0600
commit369b4c1d3666b31081d1bd437585e44108026d5a (patch)
tree852f2a5d30072d427d5c7c7709d245de68837625
parent2ada1779f9d3609c9eab6bebe3de67db1992dc76 (diff)
downloadtaler-android-dev/ivan-avalos/material3.tar.gz
taler-android-dev/ivan-avalos/material3.tar.bz2
taler-android-dev/ivan-avalos/material3.zip
[wallet] Don't draw over nav bar, as it is problematic.dev/ivan-avalos/material3
-rw-r--r--wallet/src/main/java/net/taler/wallet/MainActivity.kt1
-rw-r--r--wallet/src/main/java/net/taler/wallet/MainFragment.kt1
-rw-r--r--wallet/src/main/java/net/taler/wallet/Utils.kt20
-rw-r--r--wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt2
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt2
5 files changed, 21 insertions, 5 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
index a5ce8ed..67d6c6e 100644
--- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -95,6 +95,7 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener,
// Set status bar color
WindowCompat.setDecorFitsSystemWindows(window, false)
+ ui.content.navHostFragment.skipSystemBars(top = false)
ui.content.appBarLayout.statusBarForeground =
MaterialShapeDrawable.createWithElevationOverlay(this)
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
diff --git a/wallet/src/main/java/net/taler/wallet/MainFragment.kt b/wallet/src/main/java/net/taler/wallet/MainFragment.kt
index e2be815..2521e29 100644
--- a/wallet/src/main/java/net/taler/wallet/MainFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainFragment.kt
@@ -61,7 +61,6 @@ class MainFragment : Fragment() {
}
})
- ui.mainFab.skipSystemBars()
ui.mainFab.setOnClickListener {
model.scanCode()
}
diff --git a/wallet/src/main/java/net/taler/wallet/Utils.kt b/wallet/src/main/java/net/taler/wallet/Utils.kt
index 435aa96..a97ab70 100644
--- a/wallet/src/main/java/net/taler/wallet/Utils.kt
+++ b/wallet/src/main/java/net/taler/wallet/Utils.kt
@@ -27,11 +27,18 @@ import android.net.wifi.WifiManager
import android.net.wifi.WifiNetworkSpecifier
import android.os.Build.VERSION.SDK_INT
import android.util.TypedValue
+import android.view.View
+import android.view.ViewGroup
import android.widget.Toast
import android.widget.Toast.LENGTH_LONG
import androidx.annotation.RequiresApi
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.getSystemService
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.core.view.marginBottom
+import androidx.core.view.marginTop
+import androidx.core.view.updateLayoutParams
import net.taler.common.Amount
import net.taler.common.AmountParserException
import net.taler.common.startActivitySafe
@@ -124,4 +131,17 @@ fun launchInAppBrowser(context: Context, url: String) {
val intent = builder.build().intent
intent.data = Uri.parse(url)
context.startActivitySafe(intent)
+}
+
+fun View.skipSystemBars(top: Boolean = true, bottom: Boolean = true) {
+ val initialMarginBottom = marginBottom
+ val initialMarginTop = marginTop
+ ViewCompat.setOnApplyWindowInsetsListener(this) { view, windowInsets ->
+ val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
+ view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
+ if (top) topMargin = insets.top + initialMarginTop
+ if (bottom) bottomMargin = insets.bottom + initialMarginBottom
+ }
+ WindowInsetsCompat.CONSUMED
+ }
} \ No newline at end of file
diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
index dcf99a4..44c98c1 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
@@ -33,7 +33,6 @@ import net.taler.common.fadeOut
import net.taler.wallet.MainViewModel
import net.taler.wallet.R
import net.taler.wallet.databinding.FragmentExchangeListBinding
-import net.taler.wallet.skipSystemBars
open class ExchangeListFragment : Fragment(), ExchangeClickListener {
@@ -59,7 +58,6 @@ open class ExchangeListFragment : Fragment(), ExchangeClickListener {
adapter = exchangeAdapter
addItemDecoration(DividerItemDecoration(context, VERTICAL))
}
- ui.addExchangeFab.skipSystemBars()
ui.addExchangeFab.setOnClickListener {
AddExchangeDialogFragment().show(parentFragmentManager, "ADD_EXCHANGE")
}
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 685be3d..cd66193 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
@@ -44,7 +44,6 @@ import net.taler.wallet.R
import net.taler.wallet.databinding.FragmentTransactionsBinding
import net.taler.wallet.handleKyc
import net.taler.wallet.launchInAppBrowser
-import net.taler.wallet.skipSystemBars
interface OnTransactionClickListener {
fun onTransactionClicked(transaction: Transaction)
@@ -126,7 +125,6 @@ class TransactionsFragment : Fragment(), OnTransactionClickListener, ActionMode.
ui.receiveButton.setOnClickListener {
findNavController().navigate(R.id.receiveFunds)
}
- ui.mainFab.skipSystemBars()
ui.mainFab.setOnClickListener {
model.scanCode()
}