forked from thijooree/android
update docs
This commit is contained in:
@@ -10,12 +10,13 @@ Controls navigation mode, nav slot assignment, theme, accent colour, and languag
|
||||
|
||||
## Navigation Mode
|
||||
|
||||
A toggle/radio group:
|
||||
A `MaterialButtonToggleGroup` with three options (`SettingsAppearanceFragment.kt:65-80`):
|
||||
|
||||
| Mode | Description |
|
||||
|---|---|
|
||||
| Drawer | Slide-out navigation drawer (default) |
|
||||
| Bottom Navigation | Bottom bar with 3 visible slots + Dashboard + More |
|
||||
| Mode | Value | Description |
|
||||
|---|---|---|
|
||||
| Drawer (default) | `NAV_MODE_DRAWER` | Slide-out navigation drawer |
|
||||
| Bottom | `NAV_MODE_BOTTOM` | Bottom bar with 3 visible slots + pinned Dashboard + More |
|
||||
| Circular | `NAV_MODE_CIRCULAR` | Radial wheel — see [Circular Nav](26-circular-nav.md) |
|
||||
|
||||
Changing mode takes effect immediately; `HomeActivity` recreates its navigation structure.
|
||||
|
||||
@@ -23,31 +24,33 @@ Changing mode takes effect immediately; `HomeActivity` recreates its navigation
|
||||
|
||||
## Navigation Slot Customisation — `NavCustomization`
|
||||
|
||||
A drag-and-drop list of all 10 navigation destinations. The user reorders items to assign them to slots.
|
||||
|
||||
### Drawer Mode
|
||||
|
||||
All 10 items appear in the drawer in the configured order.
|
||||
Drag-and-reorder lists tailored per mode (`NavCustomization.kt:52-93`). The disabled list is dimmed to 38% opacity.
|
||||
|
||||
### Bottom Navigation Mode
|
||||
|
||||
- Slots 1–3 appear in the bottom bar
|
||||
- Slot 4–10 appear in the **More** bottom sheet (`NavMoreSheetFragment`)
|
||||
- Dashboard is always pinned as the first tab and is not part of the 10-item pool
|
||||
- **3** slots in the bottom bar (defaults: Accounts, Contacts, Transfer)
|
||||
- Dashboard is always pinned as the leftmost tab and is not part of the 3-item pool
|
||||
- All non-slot items appear in the **More** bottom sheet (`NavMoreSheetFragment`)
|
||||
- `switchShowLabels` toggle controls whether the bottom-bar items render text labels
|
||||
|
||||
### Circular Navigation Mode
|
||||
|
||||
- **4** customisable wheel slots (defaults: Transfer, Cards, Contacts, Accounts)
|
||||
- Dashboard, More and the wheel-lock are always present at 6 o'clock / 8 o'clock / centre
|
||||
|
||||
### Quick Action Slots
|
||||
|
||||
Two dedicated quick-action slots are configured separately at the bottom of the customisation screen. These map to FAB-style buttons shown on the dashboard card.
|
||||
Two dedicated FAB-style slots on the dashboard. Defaults: Transfer + PayMV QR. Hidden when the user is in Bottom mode (the dashboard hides the FAB row when a bottom bar is present).
|
||||
|
||||
### Persistence
|
||||
|
||||
The ordered list is serialised to `SharedPreferences` as a comma-separated string of destination IDs.
|
||||
Each slot is stored individually in `SharedPreferences` (`bottom_nav_slot_{n}_key`, `circular_slot_{n}_key`, `quick_action_{n}_key`).
|
||||
|
||||
---
|
||||
|
||||
## Theme
|
||||
|
||||
A three-way selector:
|
||||
A three-way selector applied via `AppCompatDelegate.setDefaultNightMode()`:
|
||||
|
||||
| Option | Behaviour |
|
||||
|---|---|
|
||||
@@ -55,27 +58,30 @@ A three-way selector:
|
||||
| Light | Forces light theme |
|
||||
| Dark | Forces dark theme |
|
||||
|
||||
Applied via `AppCompatDelegate.setDefaultNightMode()`.
|
||||
### Pitch Black
|
||||
|
||||
`switchPitchBlack` (`SettingsAppearanceFragment.kt:162-166`) — only enabled in **Dark** mode. Applies `ThemeOverlay_PitchBlack` for OLED-friendly true-black surfaces.
|
||||
|
||||
---
|
||||
|
||||
## Accent Colour
|
||||
|
||||
A horizontal chip row with several Material colour options. The selected accent is applied to the app's `MaterialTheme` colour scheme (primary / secondary).
|
||||
A toggle group (`accentToggle`) with four options (`SettingsAppearanceFragment.kt:172-192`, `ThemeHelper.kt:14-17`):
|
||||
|
||||
| Option | Seed |
|
||||
|---|---|
|
||||
| Blue (default) | `#3F65AD` |
|
||||
| Red | `#D32F2F` |
|
||||
| Green | `#4CAF50` |
|
||||
| Custom | User-picked hex stored in `accent_custom_color` |
|
||||
|
||||
On API 31+ the seed is fed through `DynamicColors.applyToActivityIfAvailable(...).setContentBasedSource(seedBitmap)` for a full content-derived palette. On older releases a static `ThemeOverlay_Accent_*` style is applied. Disabled when Theme = System (dynamic colours own the palette).
|
||||
|
||||
---
|
||||
|
||||
## Language
|
||||
|
||||
A dropdown or chip selector:
|
||||
|
||||
| Option |
|
||||
|---|
|
||||
| System default |
|
||||
| English |
|
||||
| Dhivehi |
|
||||
|
||||
Applied via `AppCompatDelegate` locale override. Takes effect immediately (activity recreate).
|
||||
A toggle group (`languageToggle`) with two options — **English** and **Dhivehi**. There is no "System default" entry. Applied via `AppCompatDelegate.setApplicationLocales()`; takes effect immediately.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user