What's Changed
- ui_improvements by @noobexon1 in noobexon1/XposedFakeLocation#39
- accuracy_refactor by @noobexon1 in noobexon1/XposedFakeLocation#40
Full Changelog: noobexon1/XposedFakeLocation@v0.1.1...v0.1.2
Release Notes
π Features
Favorites
- Added editing functionality for favorite locations with UI dialogs and validation.
- Enhanced Favorites screen with comprehensive KDoc comments, improved state management, and detailed UI updates.
- Introduced an optional description field for favorite locations.
- Implemented navigation to the Favorites screen after successfully saving a new favorite location.
Map & Navigation
- Implemented map zoom persistence and retrieval functionality.
- Added dialogs for adding favorites and navigating to specific coordinates.
- Improved map UI with detailed documentation, better lifecycle management, and enhanced navigation drawer functionality.
- Implemented initial camera positioning based on user location.
Target Apps
- Added search functionality in the
TargetAppsScreento filter target apps efficiently.
Settings
- Introduced a theme selection feature (system default, light, dark themes).
- Added default values for numeric settings with a
resetToDefaults()functionality. - Implemented decimal rounding and decimal keyboards for numeric inputs.
- Restyled the Settings screen with search functionality and reordered sections.
π Bug Fixes
- Changed the minimum SDK requirement to support Android 10.
- Refined precision handling for numeric settings to ensure consistent rounding behavior.
- Cleared relaunching packages when the module goes offline in
TargetApps. - Updated the inactive track color for sliders in the Settings screen for better visibility.
- Improved and refined the search functionality behavior and interaction in the Settings screen.
- Reformatted numeric fields on blur and ensured a stable state for key rows.
π¨ Refactors & Improvements
Performance
- Loaded AppIcon bitmaps asynchronously via
produceStateonDispatchers.IO. - Annotated
TargetAppsUiStatewith@Immutablefor performance optimization.
Architecture & State Management
- Streamlined map event handling and improved lifecycle awareness (e.g., using
collectAsStateWithLifecycle). - Consolidated settings UI state into a single
StateFlow. - Refactored
TargetAppsScreeninto thin stateful and stateless components. - Centralized setting keys in a
SettingKeysobject for improved maintainability. - Replaced
MutableSharedFlowwithChannelfor one-shot events in view models.
UI/UX & Documentation
- Enhanced localization management, updated unit representations to use string resources, and improved the language setting UI.
- Cleaned up unused dialog components, menus, and imports across Map and Favorites screens.
- Reorganized package structures and improved the structure of test files.
- Added comprehensive KDoc comments across multiple view models and UI components for better clarity and maintainability.