forked from shihaam/thijooree
ui-polish
This branch is 117 commits behind shihaam/thijooree:main
Skeleton loading state:
* Wire item_skeleton_transaction (previously dormant in res) into
AccountHistoryFragment and TransferHistoryFragment. When a load
starts with no cached transactions, 8 skeleton rows appear under
the search bar instead of a blank screen. Skeleton hides as soon
as transactions arrive or the load completes.
* Decision: ActivitiesFragment loads from local storage synchronously,
so no skeleton there — would only flash for a frame.
Accessibility:
* Decorative icons in item_more_nav, item_nav_slot, item_picker_row,
and item_account_dropdown now declare importantForAccessibility="no"
so TalkBack skips them (the adjacent text label conveys meaning).
* Also added tnum to item_picker_row.tvBalance and
item_account_dropdown.tvDropdownBalance — missed amounts from Pass 2.
Snackbar:
* ContactsFragment.deleteContact's success/failure feedback is now
a Snackbar instead of Toast — the fragment stays visible, so a
bottom-anchored Snackbar fits better than a floating Toast.
* Other Toasts are either followed by navigation away (Snackbar
couldn't display), or purely informational ("copied", "press back
to exit") where Toast is the right primitive. Left as-is.
Dark mode:
* Connectivity banner in activity_home no longer hardcodes
#C62828 / #FFFFFF — uses colorErrorContainer / colorOnErrorContainer
so it adapts to the user's theme.
* Other hex literals (card-artwork text, receipt screens that
intentionally emulate paper) are intentional and stay.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Thijooree
A native Android client for Maldivian banking services. It is a pure client: requests go directly from your device to the banks' own servers using the same protocols as their official apps. No proxy, no backend, no middleman.
Requirements
- Android 8.0+ (API 26)
- Existing accounts with MIB, BML, or Fahipay
- Your TOTP seed (base32 secret from your authenticator app setup) for each bank
Download
Privacy
No data ever leaves your device except the API calls to the banking services themselves. See the security audit for a full list of every server the app connects to.
Disclaimer
This is an unofficial third-party app. It is not affiliated with, endorsed by, or supported by MIB, BML, or Fahipay. Use at your own risk. Review the source code before entering your banking credentials.
License
GNU General Public License v3.0 - See LICENSE file for details
Languages
Kotlin
100%