forked from thijooree/android
update docs
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# 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](04-accounts.md) **Next →** [Transfer History](06-transfer-history.md)
|
||||
Reference in New Issue
Block a user