# Profile Picture Fahipay profile pictures are **stored locally** by the app. There is no Fahipay endpoint involved. The official Fahipay app exposes `GET https://fahipay.mv/images/profiles/picture/?t={timestamp}` (a 302 redirect to the actual image), but this client never calls it — Fahipay accounts get a user-set picture saved on the device only. --- ## Storage `util/ProfileImageStore.kt` — keyed file storage under `filesDir/profile_images/`. | Bank | Key | |---|---| | Fahipay | `fahipay_{loginId}` | | BML | `bml_{profileId}` | | MIB | (n/a — fetched from server via [P41](../mibapi/02-login.md)) | Helpers: ```kotlin ProfileImageStore.fahipayKey(loginId) // "fahipay_abc123" ProfileImageStore.save(context, key, bitmap) ProfileImageStore.load(context, key) // Bitmap? ProfileImageStore.delete(context, key) ``` Files are JPEGs at quality 90. The filename is the key with non-alphanumerics replaced by `_`. --- ## UI entry points Set/replace/remove a Fahipay profile picture from **Settings → Logins** (`ui/home/SettingsLoginsFragment.kt`). The pencil icon next to a Fahipay login opens a chooser: - Pick from gallery (`ACTION_OPEN_DOCUMENT` image/*) - Take a photo (camera launcher, temp file at `cacheDir/profile_photo_tmp.jpg`) - Remove current picture Saved images are surfaced anywhere the account is shown — accounts list, contact picker, receipts — via a `localProfileImageLoader` that resolves the key with `ProfileImageStore.load`. ---   --- [← Transaction History](05-history.md)