Files
android/docs/thijooree/05-account-history.md
T
2026-05-30 19:33:15 +05:00

2.0 KiB

Account History

Displays the transaction history for a single account. Opened by tapping an account row in the accounts list.


Fragment — AccountHistoryFragment

Receives the selected MibAccount via navigation arguments.


Data Loading

On open, the fragment calls the appropriate bank API to fetch the first page of transactions:

Bank API
MIB MIB transaction history endpoint (Blowfish-encrypted)
BML BML transaction history endpoint (OAuth Bearer)
Fahipay Fahipay wallet transaction list

Results are mapped to a common display model and shown in a RecyclerView.


Infinite Scroll

The list supports infinite scroll (pagination). When the user scrolls near the bottom of the loaded items, the next page is automatically fetched and appended. A loading spinner appears at the bottom while a page is in flight.

Page state (current page, total pages) is tracked in the fragment's ViewModel. If the last page has been reached the spinner is hidden and no further requests are made.


Search / Filter

A search bar at the top of the screen filters the loaded transaction list by:

  • Description / narrative text
  • Amount string

Filtering is performed locally on already-loaded pages — it does not trigger a new API call. Clearing the search bar restores the full list.


Transaction Rows

Each row shows:

  • Transaction date and time
  • Description / merchant name
  • Debit or credit indicator
  • Amount (hidden as •••• when hide-amounts is active)
  • Running balance (where available from the bank API)

Image Loading

Some MIB transaction entries include merchant logo URLs. These are loaded asynchronously into the row's image view with a generic fallback icon. Images are cached in memory for the session.


Empty State

If no transactions exist (new account or API returned empty list) an empty-state message is shown.


 


← Accounts     Next → Transfer History