diff options
11 files changed, 38 insertions, 40 deletions
diff --git a/wallet/src/main/AndroidManifest.xml b/wallet/src/main/AndroidManifest.xml index c40b87e..a099c00 100644 --- a/wallet/src/main/AndroidManifest.xml +++ b/wallet/src/main/AndroidManifest.xml @@ -50,7 +50,7 @@ android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" - android:theme="@style/AppTheme.NoActionBar"> + android:theme="@style/AppTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt index fcc9dee..a5ce8ed 100644 --- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt +++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt @@ -22,7 +22,9 @@ import android.content.Context import android.content.Intent import android.content.Intent.ACTION_VIEW import android.content.IntentFilter +import android.graphics.Color import android.net.Uri +import android.os.Build import android.os.Bundle import android.util.Log import android.view.MenuItem @@ -34,6 +36,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.os.bundleOf import androidx.core.view.GravityCompat.START +import androidx.core.view.WindowCompat import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Observer import androidx.lifecycle.viewModelScope @@ -45,6 +48,7 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat.OnPreferenceStartFragmentCallback import com.google.android.material.navigation.NavigationView.OnNavigationItemSelectedListener +import com.google.android.material.shape.MaterialShapeDrawable import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG import com.google.android.material.snackbar.Snackbar import com.google.zxing.client.android.Intents.Scan.MIXED_SCAN @@ -89,11 +93,20 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener, ui = ActivityMainBinding.inflate(layoutInflater) setContentView(ui.root) + // Set status bar color + WindowCompat.setDecorFitsSystemWindows(window, false) + ui.content.appBarLayout.statusBarForeground = + MaterialShapeDrawable.createWithElevationOverlay(this) + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) { + window.navigationBarColor = Color.BLACK + } + val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment nav = navHostFragment.navController ui.navView.setupWithNavController(nav) ui.navView.setNavigationItemSelectedListener(this) + ui.navView.skipSystemBars() if (savedInstanceState == null) { ui.navView.menu.getItem(0).isChecked = true } diff --git a/wallet/src/main/java/net/taler/wallet/MainFragment.kt b/wallet/src/main/java/net/taler/wallet/MainFragment.kt index 2521e29..e2be815 100644 --- a/wallet/src/main/java/net/taler/wallet/MainFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/MainFragment.kt @@ -61,6 +61,7 @@ class MainFragment : Fragment() { } }) + ui.mainFab.skipSystemBars() ui.mainFab.setOnClickListener { model.scanCode() } 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 44c98c1..dcf99a4 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt @@ -33,6 +33,7 @@ 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 { @@ -58,6 +59,7 @@ 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 cd66193..685be3d 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt @@ -44,6 +44,7 @@ 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) @@ -125,6 +126,7 @@ class TransactionsFragment : Fragment(), OnTransactionClickListener, ActionMode. ui.receiveButton.setOnClickListener { findNavController().navigate(R.id.receiveFunds) } + ui.mainFab.skipSystemBars() ui.mainFab.setOnClickListener { model.scanCode() } diff --git a/wallet/src/main/res/layout/activity_main.xml b/wallet/src/main/res/layout/activity_main.xml index 15e11fe..9745a40 100644 --- a/wallet/src/main/res/layout/activity_main.xml +++ b/wallet/src/main/res/layout/activity_main.xml @@ -20,7 +20,6 @@ android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" - android:fitsSystemWindows="true" tools:openDrawer="start"> <include diff --git a/wallet/src/main/res/layout/app_content_main.xml b/wallet/src/main/res/layout/app_content_main.xml index b53717f..296592e 100644 --- a/wallet/src/main/res/layout/app_content_main.xml +++ b/wallet/src/main/res/layout/app_content_main.xml @@ -22,9 +22,10 @@ tools:context=".MainActivity"> <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appBarLayout" + android:fitsSystemWindows="true" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:theme="@style/AppTheme.AppBarOverlay"> + android:layout_height="wrap_content"> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/relativeLayout" @@ -33,10 +34,8 @@ <com.google.android.material.appbar.MaterialToolbar android:id="@+id/toolbar" - style="@style/AppTheme.Toolbar" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:theme="@style/Widget.Material3.ActionBar.Solid" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/wallet/src/main/res/layout/nav_header_main.xml b/wallet/src/main/res/layout/nav_header_main.xml index 6837814..5bb03a2 100644 --- a/wallet/src/main/res/layout/nav_header_main.xml +++ b/wallet/src/main/res/layout/nav_header_main.xml @@ -19,6 +19,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" + android:fitsSystemWindows="true" android:background="@drawable/side_nav_bar" android:theme="@style/ThemeOverlay.AppCompat.Dark"> diff --git a/wallet/src/main/res/values-night/styles.xml b/wallet/src/main/res/values-night/styles.xml index d61986e..1c92f80 100644 --- a/wallet/src/main/res/values-night/styles.xml +++ b/wallet/src/main/res/values-night/styles.xml @@ -15,14 +15,8 @@ --> -<resources xmlns:tools="http://schemas.android.com/tools"> +<resources> - <style name="AppTheme" parent="AppTheme.Dark"> - <item name="windowActionModeOverlay">true</item> - <item name="android:statusBarColor">?colorSurface</item> - <item name="android:windowLightStatusBar" tools:targetApi="m">false</item> - <item name="android:navigationBarColor">?colorSurface</item> - <item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item> - </style> + <style name="AppTheme" parent="AppTheme.Dark" /> </resources> diff --git a/wallet/src/main/res/values-v27/styles.xml b/wallet/src/main/res/values-v27/styles.xml index 5a21b91..bba58ae 100644 --- a/wallet/src/main/res/values-v27/styles.xml +++ b/wallet/src/main/res/values-v27/styles.xml @@ -17,9 +17,7 @@ <resources> <style name="AppTheme" parent="AppTheme.Light"> - <item name="android:statusBarColor">?colorSurface</item> - <item name="android:windowLightStatusBar">true</item> - <item name="android:navigationBarColor">?colorSurface</item> + <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowLightNavigationBar">true</item> </style> diff --git a/wallet/src/main/res/values/styles.xml b/wallet/src/main/res/values/styles.xml index d7d939f..1034c0c 100644 --- a/wallet/src/main/res/values/styles.xml +++ b/wallet/src/main/res/values/styles.xml @@ -14,9 +14,13 @@ ~ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> --> -<resources xmlns:tools="http://schemas.android.com/tools"> +<resources> + + <style name="AppTheme.Light" parent="Theme.Material3.Light.NoActionBar"> + <item name="android:navigationBarColor">@android:color/transparent</item> + <item name="android:statusBarColor">@android:color/black</item> + <item name="android:windowLightStatusBar">true</item> - <style name="AppTheme.Light" parent="Theme.Material3.Light"> <!-- Material 3 theme builder --> <item name="colorPrimary">@color/md_theme_light_primary</item> <item name="colorOnPrimary">@color/md_theme_light_onPrimary</item> @@ -46,12 +50,9 @@ <item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary</item> </style> - <style name="AppTheme.Dark" parent="Theme.Material3.Dark"> - <item name="windowActionModeOverlay">true</item> - <item name="android:statusBarColor" tools:targetApi="m">?colorSurface</item> - <item name="android:windowLightStatusBar" tools:targetApi="m">false</item> - <item name="android:navigationBarColor" tools:targetApi="o_mr1">?colorSurface</item> - <item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item> + <style name="AppTheme.Dark" parent="Theme.Material3.Dark.NoActionBar"> + <item name="android:navigationBarColor">@android:color/transparent</item> + <item name="android:statusBarColor">@android:color/transparent</item> <!-- Material 3 theme builder --> <item name="colorPrimary">@color/md_theme_dark_primary</item> @@ -82,18 +83,7 @@ <item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item> </style> - <style name="AppTheme" parent="AppTheme.Light"> - <item name="windowActionModeOverlay">true</item> - </style> - - <style name="AppTheme.NoActionBar"> - <item name="windowActionBar">false</item> - <item name="windowNoTitle">true</item> - </style> - - <style name="AppTheme.AppBarOverlay" parent="Widget.Material3.ActionBar.Solid" /> - - <style name="AppTheme.Toolbar" parent="Widget.Material3.Toolbar" /> + <style name="AppTheme" parent="AppTheme.Light" /> <style name="DialogTheme" parent="Theme.Material3.DayNight.Dialog.Alert" /> @@ -135,7 +125,6 @@ <item name="android:layout_gravity">bottom|end</item> <item name="android:layout_marginEnd">16dp</item> <item name="android:layout_marginBottom">16dp</item> - <item name="layout_dodgeInsetEdges">bottom</item> </style> </resources> |