diff --git a/app/src/debug/res/drawable/ic_launcher_background.xml b/app/src/debug/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..4cb08a7 --- /dev/null +++ b/app/src/debug/res/drawable/ic_launcher_background.xml @@ -0,0 +1,10 @@ + + + + diff --git a/app/src/debug/res/values/strings.xml b/app/src/debug/res/values/strings.xml new file mode 100644 index 0000000..e1ab9be --- /dev/null +++ b/app/src/debug/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Thijooree Debug + diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/AccountHistoryFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/AccountHistoryFragment.kt index 2d4232d..64ed377 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/AccountHistoryFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/AccountHistoryFragment.kt @@ -142,6 +142,8 @@ class AccountHistoryFragment : Fragment() { } adapter.setTransactions(filtered) binding.emptyView.visibility = if (filtered.isEmpty() && !isLoading) View.VISIBLE else View.GONE + binding.skeletonContainer.visibility = + if (allTransactions.isEmpty() && isLoading) View.VISIBLE else View.GONE } private fun resetAndReload() { @@ -168,6 +170,9 @@ class AccountHistoryFragment : Fragment() { if (firstPageDone && allTransactions.isNotEmpty()) { adapter.showLoadingFooter = true + } else if (allTransactions.isEmpty()) { + binding.skeletonContainer.visibility = View.VISIBLE + binding.emptyView.visibility = View.GONE } val app = requireActivity().application as BasedBankApp @@ -187,6 +192,7 @@ class AccountHistoryFragment : Fragment() { isLoading = false if (_binding == null) return@launch + binding.skeletonContainer.visibility = View.GONE if (!firstPageDone) { firstPageDone = true diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/ContactsFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/ContactsFragment.kt index fb0897a..e013690 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/ContactsFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/ContactsFragment.kt @@ -9,6 +9,7 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.google.android.material.snackbar.Snackbar import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.core.widget.addTextChangedListener @@ -194,10 +195,10 @@ class ContactsFragment : Fragment() { viewLifecycleOwner.lifecycleScope.launch { val success = withContext(Dispatchers.IO) { ContactManager.delete(contact, app) } if (success) { - Toast.makeText(requireContext(), R.string.contact_deleted, Toast.LENGTH_SHORT).show() removeFromViewModel(contact) + Snackbar.make(binding.root, R.string.contact_deleted, Snackbar.LENGTH_SHORT).show() } else { - Toast.makeText(requireContext(), R.string.contact_delete_failed, Toast.LENGTH_SHORT).show() + Snackbar.make(binding.root, R.string.contact_delete_failed, Snackbar.LENGTH_LONG).show() } } } diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/DashboardFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/DashboardFragment.kt index c33bf9f..ba2d96d 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/DashboardFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/DashboardFragment.kt @@ -126,6 +126,12 @@ class DashboardFragment : Fragment() { private fun refreshQuickActions() { val prefs = requireContext().getSharedPreferences("prefs", Context.MODE_PRIVATE) + val isBottom = prefs.getBoolean("bottom_nav", false) + if (isBottom) { + binding.buttonBar.visibility = View.GONE + return + } + binding.buttonBar.visibility = View.VISIBLE val ids = NavCustomization.getQuickActions(prefs) listOf(binding.btnQuickAction1, binding.btnQuickAction2).forEachIndexed { i, btn -> val def = NavCustomization.ALL_SWAPPABLE.find { it.id == ids[i] } diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/PayWithCardFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/PayWithCardFragment.kt index ae1b2be..35a834c 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/PayWithCardFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/PayWithCardFragment.kt @@ -305,12 +305,7 @@ ViewCompat.setOnApplyWindowInsetsListener(binding.contentLayout) { v, insets -> if (statusLabel == null) { tv.visibility = View.GONE; return } tv.visibility = View.VISIBLE tv.text = statusLabel - val dp = tv.context.resources.displayMetrics.density - tv.background = GradientDrawable().apply { - shape = GradientDrawable.RECTANGLE - cornerRadius = 12 * dp - setColor(0xCC212121.toInt()) - } + tv.setBackgroundResource(R.drawable.card_overlay_pill_bg) } fun formatMasked(masked: String): String { diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/SettingsAppearanceFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/SettingsAppearanceFragment.kt index 778f3d9..0579c26 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/SettingsAppearanceFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/SettingsAppearanceFragment.kt @@ -54,19 +54,29 @@ class SettingsAppearanceFragment : Fragment() { // Quick actions quickActions.clear() quickActions.addAll(NavCustomization.getQuickActions(prefs)) - quickActionAdapter = NavItemAdapter(quickActions) { - NavCustomization.saveQuickActions(prefs, quickActions) + quickActionAdapter = NavItemAdapter( + items = quickActions, + onSave = { NavCustomization.saveQuickActions(prefs, quickActions) }, + isEnabled = { !prefs.getBoolean("bottom_nav", false) } + ) + setupNavItemRecyclerView(binding.rvQuickActions, quickActionAdapter, quickActions) { + !prefs.getBoolean("bottom_nav", false) } - setupNavItemRecyclerView(binding.rvQuickActions, quickActionAdapter, quickActions) // Bottom bar shortcuts slots.clear() slots.addAll(NavCustomization.getSlots(prefs)) - slotAdapter = NavItemAdapter(slots) { - NavCustomization.saveSlots(prefs, slots) - (activity as? HomeActivity)?.rebuildBottomNav(prefs) + slotAdapter = NavItemAdapter( + items = slots, + onSave = { + NavCustomization.saveSlots(prefs, slots) + (activity as? HomeActivity)?.rebuildBottomNav(prefs) + }, + isEnabled = { prefs.getBoolean("bottom_nav", false) } + ) + setupNavItemRecyclerView(binding.rvNavSlots, slotAdapter, slots) { + prefs.getBoolean("bottom_nav", false) } - setupNavItemRecyclerView(binding.rvNavSlots, slotAdapter, slots) // Show labels toggle val showLabels = prefs.getBoolean("bottom_nav_show_labels", true) binding.switchShowLabels.isChecked = showLabels @@ -109,13 +119,18 @@ class SettingsAppearanceFragment : Fragment() { private fun setupNavItemRecyclerView( rv: RecyclerView, adapter: NavItemAdapter, - items: MutableList + items: MutableList, + isEnabled: () -> Boolean ) { rv.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false) rv.adapter = adapter ItemTouchHelper(object : ItemTouchHelper.SimpleCallback( ItemTouchHelper.START or ItemTouchHelper.END, 0 ) { + override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int { + if (!isEnabled()) return 0 + return super.getMovementFlags(recyclerView, viewHolder) + } override fun onMove( rv: RecyclerView, from: RecyclerView.ViewHolder, @@ -134,11 +149,17 @@ class SettingsAppearanceFragment : Fragment() { private fun updateShortcutsVisibility() { val isBottom = prefs.getBoolean("bottom_nav", false) + binding.sectionQuickActions.alpha = if (isBottom) 0.38f else 1f binding.sectionBottomBarShortcuts.alpha = if (isBottom) 1f else 0.38f + binding.switchShowLabels.isClickable = isBottom + quickActionAdapter.notifyDataSetChanged() + slotAdapter.notifyDataSetChanged() } private fun showItemPicker(items: MutableList, slotIndex: Int, adapter: NavItemAdapter) { - if (items === slots && !prefs.getBoolean("bottom_nav", false)) return + val isBottom = prefs.getBoolean("bottom_nav", false) + if (items === slots && !isBottom) return + if (items === quickActions && isBottom) return val ctx = requireContext() val otherIds = items.filterIndexed { i, _ -> i != slotIndex }.toSet() val available = NavCustomization.ALL_SWAPPABLE.filter { it.id !in otherIds } @@ -169,7 +190,8 @@ class SettingsAppearanceFragment : Fragment() { private inner class NavItemAdapter( val items: MutableList, - val onSave: () -> Unit + val onSave: () -> Unit, + val isEnabled: () -> Boolean = { true } ) : RecyclerView.Adapter() { inner class VH(view: View) : RecyclerView.ViewHolder(view) { @@ -191,7 +213,12 @@ class SettingsAppearanceFragment : Fragment() { val def = NavCustomization.ALL_SWAPPABLE.find { it.id == items[position] } ?: return holder.ivNavIcon.setImageResource(def.iconRes) holder.tvNavLabel.setText(def.titleRes) - holder.itemView.setOnClickListener { showItemPicker(items, holder.adapterPosition, this) } + val enabled = isEnabled() + holder.itemView.setOnClickListener( + if (enabled) View.OnClickListener { showItemPicker(items, holder.adapterPosition, this) } + else null + ) + holder.itemView.isClickable = enabled } } diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/TransferHistoryFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/TransferHistoryFragment.kt index 82bac28..0a8d9f1 100644 --- a/app/src/main/java/sh/sar/basedbank/ui/home/TransferHistoryFragment.kt +++ b/app/src/main/java/sh/sar/basedbank/ui/home/TransferHistoryFragment.kt @@ -181,6 +181,9 @@ class TransferHistoryFragment : Fragment() { if (firstBatchDone && allTransactions.isNotEmpty()) { adapter.showLoadingFooter = true + } else if (allTransactions.isEmpty()) { + binding.skeletonContainer.visibility = View.VISIBLE + binding.emptyView.visibility = View.GONE } val app = requireActivity().application as BasedBankApp @@ -286,6 +289,7 @@ class TransferHistoryFragment : Fragment() { isLoading = false if (_binding == null) return@launch + binding.skeletonContainer.visibility = View.GONE val raw = bannerMsg.get() when { @@ -329,6 +333,8 @@ class TransferHistoryFragment : Fragment() { } adapter.setTransactions(filtered) binding.emptyView.visibility = if (filtered.isEmpty() && !isLoading) View.VISIBLE else View.GONE + binding.skeletonContainer.visibility = + if (allTransactions.isEmpty() && isLoading) View.VISIBLE else View.GONE } private fun loadContactImage(name: String) { diff --git a/app/src/main/res/drawable/card_overlay_pill_bg.xml b/app/src/main/res/drawable/card_overlay_pill_bg.xml new file mode 100644 index 0000000..cf0a838 --- /dev/null +++ b/app/src/main/res/drawable/card_overlay_pill_bg.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 3b76046..dbbb6b3 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -44,8 +44,8 @@ android:id="@+id/connectivityBanner" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="#C62828" - android:textColor="#FFFFFF" + android:background="?attr/colorErrorContainer" + android:textColor="?attr/colorOnErrorContainer" android:gravity="center" android:paddingTop="6dp" android:paddingBottom="6dp" diff --git a/app/src/main/res/layout/fragment_account_history.xml b/app/src/main/res/layout/fragment_account_history.xml index 83fb1fc..c368fa3 100644 --- a/app/src/main/res/layout/fragment_account_history.xml +++ b/app/src/main/res/layout/fragment_account_history.xml @@ -48,12 +48,28 @@ android:paddingBottom="16dp" android:clipToPadding="false" /> + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_activities.xml b/app/src/main/res/layout/fragment_activities.xml index 0cf9ce9..ab02cc4 100644 --- a/app/src/main/res/layout/fragment_activities.xml +++ b/app/src/main/res/layout/fragment_activities.xml @@ -49,7 +49,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" - android:text="No recent transfers" + android:text="@string/activities_empty" android:textAppearance="?attr/textAppearanceBodyMedium" android:textColor="?attr/colorOnSurfaceVariant" android:visibility="gone" /> diff --git a/app/src/main/res/layout/fragment_bank_selection.xml b/app/src/main/res/layout/fragment_bank_selection.xml index b842035..9780c82 100644 --- a/app/src/main/res/layout/fragment_bank_selection.xml +++ b/app/src/main/res/layout/fragment_bank_selection.xml @@ -38,7 +38,7 @@ android:layout_marginBottom="16dp" android:clickable="true" android:focusable="true" - app:cardCornerRadius="16dp" + app:cardCornerRadius="@dimen/card_radius_lg" app:strokeWidth="1dp" app:strokeColor="?attr/colorOutline"> @@ -81,7 +81,7 @@ android:layout_marginBottom="16dp" android:clickable="true" android:focusable="true" - app:cardCornerRadius="16dp" + app:cardCornerRadius="@dimen/card_radius_lg" app:strokeWidth="1dp" app:strokeColor="?attr/colorOutline"> @@ -125,7 +125,7 @@ android:layout_marginBottom="16dp" android:clickable="true" android:focusable="true" - app:cardCornerRadius="16dp" + app:cardCornerRadius="@dimen/card_radius_lg" app:strokeWidth="1dp" app:strokeColor="?attr/colorOutline"> diff --git a/app/src/main/res/layout/fragment_credentials.xml b/app/src/main/res/layout/fragment_credentials.xml index 55ef8fe..f5a0a85 100644 --- a/app/src/main/res/layout/fragment_credentials.xml +++ b/app/src/main/res/layout/fragment_credentials.xml @@ -117,8 +117,8 @@ android:layout_marginBottom="8dp" android:visibility="invisible" app:cardBackgroundColor="?attr/colorSecondaryContainer" - app:cardCornerRadius="12dp" - app:cardElevation="0dp"> + app:cardCornerRadius="@dimen/card_radius_md" + app:cardElevation="@dimen/card_elevation_flat"> + android:padding="@dimen/screen_margin"> + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md"> + android:textAppearance="?attr/textAppearanceTitleMedium" + android:fontFeatureSettings="tnum" /> @@ -67,8 +68,8 @@ android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="8dp" - app:cardElevation="1dp" - app:cardCornerRadius="12dp"> + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md"> + android:textAppearance="?attr/textAppearanceTitleMedium" + android:fontFeatureSettings="tnum" /> @@ -112,8 +114,8 @@ android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginEnd="8dp" - app:cardElevation="1dp" - app:cardCornerRadius="12dp"> + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md"> + android:textAppearance="?attr/textAppearanceTitleMedium" + android:fontFeatureSettings="tnum" /> @@ -146,8 +149,8 @@ android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="8dp" - app:cardElevation="1dp" - app:cardCornerRadius="12dp"> + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md"> + android:textAppearance="?attr/textAppearanceTitleMedium" + android:fontFeatureSettings="tnum" /> @@ -191,8 +195,8 @@ android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginEnd="8dp" - app:cardElevation="1dp" - app:cardCornerRadius="12dp" + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md" app:cardBackgroundColor="?attr/colorErrorContainer" android:visibility="gone"> @@ -216,7 +220,8 @@ android:layout_marginTop="4dp" android:text="MVR —" android:textAppearance="?attr/textAppearanceTitleMedium" - android:textColor="?attr/colorOnErrorContainer" /> + android:textColor="?attr/colorOnErrorContainer" + android:fontFeatureSettings="tnum" /> @@ -238,8 +244,8 @@ android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="8dp" - app:cardElevation="1dp" - app:cardCornerRadius="12dp" + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md" app:cardBackgroundColor="?attr/colorErrorContainer" android:clickable="true" android:focusable="true" @@ -265,7 +271,8 @@ android:layout_marginTop="4dp" android:text="MVR —" android:textAppearance="?attr/textAppearanceTitleMedium" - android:textColor="?attr/colorOnErrorContainer" /> + android:textColor="?attr/colorOnErrorContainer" + android:fontFeatureSettings="tnum" /> @@ -279,8 +286,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" - app:cardElevation="1dp" - app:cardCornerRadius="12dp" + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md" android:clickable="true" android:focusable="true"> @@ -303,7 +310,8 @@ android:layout_height="wrap_content" android:layout_marginTop="4dp" android:text="MVR —" - android:textAppearance="?attr/textAppearanceTitleMedium" /> + android:textAppearance="?attr/textAppearanceTitleMedium" + android:fontFeatureSettings="tnum" /> diff --git a/app/src/main/res/layout/fragment_security_setup.xml b/app/src/main/res/layout/fragment_security_setup.xml index 7146e00..2204712 100644 --- a/app/src/main/res/layout/fragment_security_setup.xml +++ b/app/src/main/res/layout/fragment_security_setup.xml @@ -52,7 +52,7 @@ android:layout_marginBottom="12dp" android:clickable="true" android:focusable="true" - app:cardCornerRadius="16dp" + app:cardCornerRadius="@dimen/card_radius_lg" app:strokeWidth="1dp" app:strokeColor="?attr/colorOutline"> - - - - + + android:orientation="vertical" + android:layout_marginBottom="16dp"> + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_account.xml b/app/src/main/res/layout/item_account.xml index 56329ff..1abb384 100644 --- a/app/src/main/res/layout/item_account.xml +++ b/app/src/main/res/layout/item_account.xml @@ -9,8 +9,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:paddingHorizontal="16dp" - android:paddingVertical="14dp" + android:paddingHorizontal="@dimen/list_item_padding_h" + android:paddingVertical="@dimen/list_item_padding_v" android:gravity="center_vertical" android:foreground="?attr/selectableItemBackground"> @@ -70,7 +70,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?attr/textAppearanceTitleSmall" - android:textColor="?attr/colorOnSurface" /> + android:textColor="?attr/colorOnSurface" + android:fontFeatureSettings="tnum" /> @@ -49,7 +50,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?attr/textAppearanceBodySmall" - android:textColor="?attr/colorOnSurface" /> + android:textColor="?attr/colorOnSurface" + android:fontFeatureSettings="tnum" /> diff --git a/app/src/main/res/layout/item_account_history_header.xml b/app/src/main/res/layout/item_account_history_header.xml index 2866877..019a0f3 100644 --- a/app/src/main/res/layout/item_account_history_header.xml +++ b/app/src/main/res/layout/item_account_history_header.xml @@ -7,8 +7,8 @@ android:layout_marginHorizontal="16dp" android:layout_marginTop="12dp" android:layout_marginBottom="8dp" - app:cardCornerRadius="16dp" - app:cardElevation="0dp" + app:cardCornerRadius="@dimen/card_radius_lg" + app:cardElevation="@dimen/card_elevation_flat" app:strokeWidth="1dp" app:strokeColor="?attr/colorOutlineVariant"> @@ -114,7 +114,8 @@ android:layout_height="wrap_content" android:textAppearance="?attr/textAppearanceTitleMedium" android:textColor="?attr/colorOnSurface" - android:layout_marginTop="2dp" /> + android:layout_marginTop="2dp" + android:fontFeatureSettings="tnum" /> @@ -137,7 +138,8 @@ android:layout_height="wrap_content" android:textAppearance="?attr/textAppearanceTitleMedium" android:textColor="?attr/colorOnSurface" - android:layout_marginTop="2dp" /> + android:layout_marginTop="2dp" + android:fontFeatureSettings="tnum" /> @@ -162,7 +164,8 @@ android:layout_height="wrap_content" android:textAppearance="?attr/textAppearanceTitleMedium" android:textColor="?attr/colorError" - android:layout_marginTop="2dp" /> + android:layout_marginTop="2dp" + android:fontFeatureSettings="tnum" /> diff --git a/app/src/main/res/layout/item_bml_loan.xml b/app/src/main/res/layout/item_bml_loan.xml index 5f40222..daa36b1 100644 --- a/app/src/main/res/layout/item_bml_loan.xml +++ b/app/src/main/res/layout/item_bml_loan.xml @@ -5,8 +5,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="12dp" - app:cardCornerRadius="16dp" - app:cardElevation="0dp" + android:clickable="true" + android:focusable="true" + app:cardCornerRadius="@dimen/card_radius_lg" + app:cardElevation="@dimen/card_elevation_flat" app:strokeWidth="1dp" app:strokeColor="?attr/colorOutlineVariant"> @@ -51,11 +53,7 @@ android:id="@+id/tvLoanStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingHorizontal="10dp" - android:paddingVertical="4dp" - android:background="@drawable/chip_background" - android:textAppearance="?attr/textAppearanceLabelSmall" - android:textColor="?attr/colorOnSecondaryContainer" /> + style="@style/Widget.App.StatusChip" /> diff --git a/app/src/main/res/layout/item_card.xml b/app/src/main/res/layout/item_card.xml index 53285eb..828457b 100644 --- a/app/src/main/res/layout/item_card.xml +++ b/app/src/main/res/layout/item_card.xml @@ -9,8 +9,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:paddingHorizontal="16dp" - android:paddingVertical="14dp" + android:paddingHorizontal="@dimen/list_item_padding_h" + android:paddingVertical="@dimen/list_item_padding_v" android:gravity="center_vertical" android:foreground="?attr/selectableItemBackground"> @@ -83,7 +83,8 @@ android:layout_height="wrap_content" android:textAppearance="?attr/textAppearanceTitleSmall" android:textColor="?attr/colorOnSurface" - android:layout_marginTop="6dp" /> + android:layout_marginTop="6dp" + android:fontFeatureSettings="tnum" /> @@ -51,11 +53,7 @@ android:id="@+id/tvStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingHorizontal="10dp" - android:paddingVertical="4dp" - android:background="@drawable/chip_background" - android:textAppearance="?attr/textAppearanceLabelSmall" - android:textColor="?attr/colorOnSecondaryContainer" /> + style="@style/Widget.App.StatusChip" /> diff --git a/app/src/main/res/layout/item_foreign_limit.xml b/app/src/main/res/layout/item_foreign_limit.xml index 7e76177..0c05bd6 100644 --- a/app/src/main/res/layout/item_foreign_limit.xml +++ b/app/src/main/res/layout/item_foreign_limit.xml @@ -5,8 +5,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" - app:cardElevation="1dp" - app:cardCornerRadius="12dp"> + android:clickable="true" + android:focusable="true" + app:cardElevation="@dimen/card_elevation_raised" + app:cardCornerRadius="@dimen/card_radius_md"> + android:layout_marginEnd="16dp" + android:importantForAccessibility="no" /> + android:layout_marginBottom="6dp" + android:importantForAccessibility="no" /> + app:cardCornerRadius="@dimen/card_radius_lg" + app:cardElevation="@dimen/card_elevation_raised"> diff --git a/app/src/main/res/layout/item_profile_header.xml b/app/src/main/res/layout/item_profile_header.xml index c7b8285..2df4673 100644 --- a/app/src/main/res/layout/item_profile_header.xml +++ b/app/src/main/res/layout/item_profile_header.xml @@ -20,10 +20,6 @@ android:id="@+id/tvProfileType" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingHorizontal="10dp" - android:paddingVertical="4dp" - android:background="@drawable/chip_background" - android:textAppearance="?attr/textAppearanceLabelSmall" - android:textColor="?attr/colorOnSecondaryContainer" /> + style="@style/Widget.App.StatusChip" /> diff --git a/app/src/main/res/layout/item_transaction.xml b/app/src/main/res/layout/item_transaction.xml index 83c64e7..3141f8d 100644 --- a/app/src/main/res/layout/item_transaction.xml +++ b/app/src/main/res/layout/item_transaction.xml @@ -86,6 +86,7 @@ android:layout_height="wrap_content" android:textAppearance="?attr/textAppearanceTitleSmall" android:textStyle="bold" + android:fontFeatureSettings="tnum" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/fvAvatar" app:layout_constraintBottom_toBottomOf="@id/fvAvatar" /> diff --git a/app/src/main/res/layout/sheet_add_contact.xml b/app/src/main/res/layout/sheet_add_contact.xml index 47364ce..5e8021e 100644 --- a/app/src/main/res/layout/sheet_add_contact.xml +++ b/app/src/main/res/layout/sheet_add_contact.xml @@ -65,8 +65,8 @@ android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:visibility="gone" - app:cardCornerRadius="12dp" - app:cardElevation="2dp"> + app:cardCornerRadius="@dimen/card_radius_md" + app:cardElevation="@dimen/card_elevation_raised"> 8dp 176dp 16dp - \ No newline at end of file + + + + + 16dp + 12dp + + + 0dp + 1dp + + + 16dp + 16dp + + + 16dp + 14dp + + + 2dp + 4dp + 8dp + 12dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8c0fc41..4e84a2f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -255,6 +255,8 @@ No accounts found + No recent transfers + No transactions found No contacts found diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index c47bc14..abd5ed0 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,6 +1,15 @@ +