All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 4s
403 lines
20 KiB
XML
403 lines
20 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<androidx.core.widget.NestedScrollView
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:background="?attr/colorSurface">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:padding="16dp">
|
|
|
|
|
|
<!-- From label + account dropdown -->
|
|
<TextView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="6dp"
|
|
android:text="@string/transfer_label_from"
|
|
android:textAppearance="?attr/textAppearanceLabelMedium"
|
|
android:textColor="?attr/colorOnSurfaceVariant" />
|
|
|
|
<com.google.android.material.textfield.TextInputLayout
|
|
android:id="@+id/tilFrom"
|
|
style="@style/Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:hint="@string/transfer_from"
|
|
android:layout_marginBottom="8dp">
|
|
|
|
<AutoCompleteTextView
|
|
android:id="@+id/actvFrom"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:inputType="none"
|
|
android:focusable="false"
|
|
android:focusableInTouchMode="false" />
|
|
|
|
</com.google.android.material.textfield.TextInputLayout>
|
|
|
|
<!-- Selected source account info card -->
|
|
<com.google.android.material.card.MaterialCardView
|
|
android:id="@+id/cardFromInfo"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:visibility="gone"
|
|
android:layout_marginBottom="16dp"
|
|
app:cardCornerRadius="4dp"
|
|
app:cardElevation="0dp"
|
|
app:strokeWidth="1dp"
|
|
app:strokeColor="?attr/colorPrimary">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:paddingStart="12dp"
|
|
android:paddingEnd="4dp"
|
|
android:paddingVertical="12dp"
|
|
android:gravity="center_vertical">
|
|
|
|
<com.google.android.material.imageview.ShapeableImageView
|
|
android:id="@+id/ivFromPhoto"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:layout_marginEnd="12dp"
|
|
app:shapeAppearanceOverlay="@style/ShapeAppearance.Circle" />
|
|
|
|
<LinearLayout
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:orientation="vertical">
|
|
|
|
<TextView
|
|
android:id="@+id/tvFromAccountName"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:textAppearance="?attr/textAppearanceBodyMedium"
|
|
android:textStyle="bold"
|
|
android:textColor="?attr/colorOnSurface" />
|
|
|
|
<TextView
|
|
android:id="@+id/tvFromAccountNumber"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="2dp"
|
|
android:textAppearance="?attr/textAppearanceBodySmall"
|
|
android:textColor="?attr/colorOnSurfaceVariant"
|
|
android:fontFamily="monospace" />
|
|
|
|
<TextView
|
|
android:id="@+id/tvFromAccountDetails"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="2dp"
|
|
android:textAppearance="?attr/textAppearanceBodySmall"
|
|
android:textColor="?attr/colorOnSurfaceVariant" />
|
|
|
|
</LinearLayout>
|
|
|
|
<ImageButton
|
|
android:id="@+id/btnClearFromInfo"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:src="@android:drawable/ic_menu_close_clear_cancel"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:contentDescription="@string/transfer_clear_recipient" />
|
|
|
|
</LinearLayout>
|
|
|
|
</com.google.android.material.card.MaterialCardView>
|
|
|
|
<!-- To label + field row: input + pick contact button -->
|
|
<TextView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="6dp"
|
|
android:text="@string/transfer_label_to"
|
|
android:textAppearance="?attr/textAppearanceLabelMedium"
|
|
android:textColor="?attr/colorOnSurfaceVariant" />
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:gravity="center_vertical">
|
|
|
|
<com.google.android.material.textfield.TextInputLayout
|
|
android:id="@+id/tilTo"
|
|
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
|
|
android:layout_width="0dp"
|
|
android:layout_weight="1"
|
|
android:layout_height="wrap_content"
|
|
android:hint="@string/transfer_to"
|
|
app:endIconMode="custom"
|
|
app:endIconDrawable="@android:drawable/ic_menu_search"
|
|
app:endIconContentDescription="@string/transfer_lookup_account">
|
|
|
|
<com.google.android.material.textfield.TextInputEditText
|
|
android:id="@+id/etTo"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:inputType="textNoSuggestions"
|
|
android:maxLines="1" />
|
|
|
|
</com.google.android.material.textfield.TextInputLayout>
|
|
|
|
<com.google.android.material.button.MaterialButton
|
|
android:id="@+id/btnPickContact"
|
|
style="@style/Widget.Material3.Button.IconButton"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="8dp"
|
|
app:icon="@drawable/ic_contacts"
|
|
android:contentDescription="@string/transfer_pick_contact"
|
|
android:tooltipText="@string/transfer_pick_contact" />
|
|
|
|
<com.google.android.material.button.MaterialButton
|
|
android:id="@+id/btnScanQr"
|
|
style="@style/Widget.Material3.Button.IconButton"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="4dp"
|
|
app:icon="@drawable/ic_qr_scan"
|
|
android:contentDescription="@string/transfer_scan_qr"
|
|
android:tooltipText="@string/transfer_scan_qr" />
|
|
|
|
</LinearLayout>
|
|
|
|
<!-- Confirmed account info card (shown after successful lookup) -->
|
|
<com.google.android.material.card.MaterialCardView
|
|
android:id="@+id/cardToInfo"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:visibility="gone"
|
|
android:layout_marginTop="8dp"
|
|
app:cardCornerRadius="4dp"
|
|
app:cardElevation="0dp"
|
|
app:strokeWidth="1dp"
|
|
app:strokeColor="?attr/colorPrimary">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:paddingStart="12dp"
|
|
android:paddingEnd="4dp"
|
|
android:paddingVertical="12dp"
|
|
android:gravity="center_vertical">
|
|
|
|
<com.google.android.material.imageview.ShapeableImageView
|
|
android:id="@+id/ivToPhoto"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:layout_marginEnd="12dp"
|
|
app:shapeAppearanceOverlay="@style/ShapeAppearance.Circle" />
|
|
|
|
<LinearLayout
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:orientation="vertical">
|
|
|
|
<TextView
|
|
android:id="@+id/tvToAccountName"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:textAppearance="?attr/textAppearanceBodyMedium"
|
|
android:textStyle="bold"
|
|
android:textColor="?attr/colorOnSurface" />
|
|
|
|
<TextView
|
|
android:id="@+id/tvToBankBic"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="2dp"
|
|
android:textAppearance="?attr/textAppearanceBodySmall"
|
|
android:textColor="?attr/colorOnSurfaceVariant" />
|
|
|
|
</LinearLayout>
|
|
|
|
<ImageButton
|
|
android:id="@+id/btnClearToInfo"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:src="@android:drawable/ic_menu_close_clear_cancel"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:contentDescription="@string/transfer_clear_recipient" />
|
|
|
|
</LinearLayout>
|
|
|
|
</com.google.android.material.card.MaterialCardView>
|
|
|
|
<!-- Service selector: invisible to reserve space, prevents amount/remarks from shifting -->
|
|
<LinearLayout
|
|
android:id="@+id/layoutServiceSelector"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:layout_marginTop="8dp"
|
|
android:visibility="invisible">
|
|
|
|
<TextView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="4dp"
|
|
android:text="@string/transfer_select_service"
|
|
android:textAppearance="?attr/textAppearanceLabelMedium"
|
|
android:textColor="?attr/colorOnSurfaceVariant" />
|
|
|
|
<com.google.android.material.chip.ChipGroup
|
|
android:id="@+id/chipGroupService"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
app:singleSelection="true"
|
|
app:selectionRequired="true">
|
|
|
|
<com.google.android.material.chip.Chip
|
|
android:id="@+id/chipDhiraaguReload"
|
|
style="@style/Widget.Material3.Chip.Filter"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Dhiraagu Reload"
|
|
android:visibility="gone" />
|
|
|
|
<com.google.android.material.chip.Chip
|
|
android:id="@+id/chipDhiraaguBill"
|
|
style="@style/Widget.Material3.Chip.Filter"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Dhiraagu Bill Pay"
|
|
android:visibility="gone" />
|
|
|
|
<com.google.android.material.chip.Chip
|
|
android:id="@+id/chipRaastas"
|
|
style="@style/Widget.Material3.Chip.Filter"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Raastas"
|
|
android:visibility="gone" />
|
|
|
|
<com.google.android.material.chip.Chip
|
|
android:id="@+id/chipOoredooBill"
|
|
style="@style/Widget.Material3.Chip.Filter"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="Ooredoo Bill Pay"
|
|
android:visibility="gone" />
|
|
|
|
</com.google.android.material.chip.ChipGroup>
|
|
|
|
</LinearLayout>
|
|
|
|
<View
|
|
android:id="@+id/spacerTo"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="16dp" />
|
|
|
|
<!-- Amount -->
|
|
<com.google.android.material.textfield.TextInputLayout
|
|
android:id="@+id/tilAmount"
|
|
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:hint="@string/transfer_amount"
|
|
app:prefixText="MVR "
|
|
android:layout_marginBottom="16dp">
|
|
|
|
<com.google.android.material.textfield.TextInputEditText
|
|
android:id="@+id/etAmount"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:inputType="numberDecimal"
|
|
android:maxLines="1" />
|
|
|
|
</com.google.android.material.textfield.TextInputLayout>
|
|
|
|
<!-- Remarks -->
|
|
<com.google.android.material.textfield.TextInputLayout
|
|
android:id="@+id/tilRemarks"
|
|
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:hint="@string/transfer_remarks"
|
|
android:layout_marginBottom="24dp">
|
|
|
|
<com.google.android.material.textfield.TextInputEditText
|
|
android:id="@+id/etRemarks"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:inputType="text"
|
|
android:maxLines="1" />
|
|
|
|
</com.google.android.material.textfield.TextInputLayout>
|
|
|
|
<!-- BML business OTP: channel selection (shown after confirmation, before OTP entry) -->
|
|
<LinearLayout
|
|
android:id="@+id/layoutBmlChannelSelection"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:layout_marginBottom="8dp"
|
|
android:visibility="gone">
|
|
|
|
<TextView
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="4dp"
|
|
android:text="@string/transfer_send_otp_via"
|
|
android:textAppearance="?attr/textAppearanceLabelMedium"
|
|
android:textColor="?attr/colorOnSurfaceVariant" />
|
|
|
|
<LinearLayout
|
|
android:id="@+id/containerBmlChannels"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical" />
|
|
|
|
</LinearLayout>
|
|
|
|
<!-- BML business OTP: sent-via label (shown after channel selection) -->
|
|
<TextView
|
|
android:id="@+id/tvBmlOtpSentVia"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginBottom="8dp"
|
|
android:textAppearance="?attr/textAppearanceBodySmall"
|
|
android:textColor="?attr/colorOnSurfaceVariant"
|
|
android:visibility="gone" />
|
|
|
|
<!-- BML business OTP: verification code input (shown after channel selection) -->
|
|
<com.google.android.material.textfield.TextInputLayout
|
|
android:id="@+id/tilBmlOtp"
|
|
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:hint="@string/transfer_otp_code_hint"
|
|
android:layout_marginBottom="16dp"
|
|
android:visibility="gone">
|
|
|
|
<com.google.android.material.textfield.TextInputEditText
|
|
android:id="@+id/etBmlOtp"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:inputType="number"
|
|
android:maxLines="1"
|
|
android:maxLength="6" />
|
|
|
|
</com.google.android.material.textfield.TextInputLayout>
|
|
|
|
<com.google.android.material.button.MaterialButton
|
|
android:id="@+id/btnTransfer"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/transfer" />
|
|
|
|
</LinearLayout>
|
|
|
|
</androidx.core.widget.NestedScrollView>
|