diff --git a/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt b/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt
index a278114..c2e2334 100644
--- a/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt
+++ b/app/src/main/java/sh/sar/basedbank/ui/home/TransferReceiptFragment.kt
@@ -375,8 +375,13 @@ class TransferReceiptFragment : Fragment() {
* applied to fit small viewports and doesn't pick up overlapping siblings.
*/
private fun captureReceiptBitmap(callback: (Bitmap?) -> Unit) {
- val view = _receiptCard ?: run { callback(null); return }
- if (view.width == 0 || view.height == 0) { callback(null); return }
+ val shown = _receiptCard ?: run { callback(null); return }
+ if (shown.width == 0 || shown.height == 0) { callback(null); return }
+
+ // BML: the preview follows the app theme, but shared/saved images are always light
+ val view = if (arguments?.getString(ARG_BANK, "MIB") == "BML") {
+ inflateLightBmlCard(shown.width)
+ } else shown
val bitmap = Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
@@ -385,6 +390,27 @@ class TransferReceiptFragment : Fragment() {
callback(bitmap)
}
+ /** Inflates and lays out an offscreen BML receipt card with light-mode resources. */
+ private fun inflateLightBmlCard(widthPx: Int): View {
+ val config = android.content.res.Configuration(resources.configuration).apply {
+ uiMode = (uiMode and android.content.res.Configuration.UI_MODE_NIGHT_MASK.inv()) or
+ android.content.res.Configuration.UI_MODE_NIGHT_NO
+ }
+ val lightCtx = android.view.ContextThemeWrapper(requireContext(), R.style.Theme_BasedBank).apply {
+ applyOverrideConfiguration(config)
+ }
+ val binding = FragmentReceiptBmlBinding.inflate(LayoutInflater.from(lightCtx))
+ bindBml(binding)
+ val card = binding.receiptCard
+ (card.parent as? ViewGroup)?.removeView(card)
+ card.measure(
+ View.MeasureSpec.makeMeasureSpec(widthPx, View.MeasureSpec.EXACTLY),
+ View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
+ )
+ card.layout(0, 0, card.measuredWidth, card.measuredHeight)
+ return card
+ }
+
private fun formatBmlTimestamp(raw: String): String {
if (raw.isBlank()) return ""
return try {
diff --git a/app/src/main/res/drawable-night/bottom_receipt_wave.xml b/app/src/main/res/drawable-night/bottom_receipt_wave.xml
new file mode 100644
index 0000000..b4982e5
--- /dev/null
+++ b/app/src/main/res/drawable-night/bottom_receipt_wave.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/bml_icon.jpg b/app/src/main/res/drawable/bml_icon.jpg
deleted file mode 100644
index e35d50d..0000000
Binary files a/app/src/main/res/drawable/bml_icon.jpg and /dev/null differ
diff --git a/app/src/main/res/layout/fragment_receipt_bml.xml b/app/src/main/res/layout/fragment_receipt_bml.xml
index 0dd0d2f..c4a8ced 100644
--- a/app/src/main/res/layout/fragment_receipt_bml.xml
+++ b/app/src/main/res/layout/fragment_receipt_bml.xml
@@ -24,7 +24,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:orientation="vertical"
- android:background="#FFFFFF">
+ android:background="@color/bml_receipt_bg">
@@ -47,7 +47,7 @@
android:layout_marginBottom="20dp"
android:id="@+id/tvMessage"
android:textSize="14sp"
- android:textColor="#2D2D2D"
+ android:textColor="@color/bml_receipt_message"
android:fontFamily="@font/nunito_sans"
android:gravity="center" />
@@ -75,7 +75,7 @@
android:layout_gravity="center"
android:layout_marginBottom="13dp"
android:textSize="42sp"
- android:textColor="#242424"
+ android:textColor="@color/bml_receipt_amount"
android:fontFamily="@font/sofia_pro"
android:gravity="center" />
@@ -109,66 +109,66 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -199,7 +199,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
- android:background="#F5F5F5"
+ android:background="@color/bml_receipt_footer"
android:paddingVertical="22dp">
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
new file mode 100644
index 0000000..60bb8e2
--- /dev/null
+++ b/app/src/main/res/values-night/colors.xml
@@ -0,0 +1,10 @@
+
+
+
+ #191A1C
+ #DEDEE0
+ #DEDEE0
+ #DEDEE0
+ #000000
+ #3D3E40
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 184950d..bf9032e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -5,4 +5,12 @@
#9AD141
#E85D04
#E8B547
+
+
+ #FFFFFF
+ #2D2D2D
+ #242424
+ #000000
+ #F5F5F5
+ #E9E9E9