Skip to content

fix: Resolve Location Crash and Implement On-Demand Permissions#406

Open
cycloarcane wants to merge 6 commits intofandreuz:masterfrom
cycloarcane:master
Open

fix: Resolve Location Crash and Implement On-Demand Permissions#406
cycloarcane wants to merge 6 commits intofandreuz:masterfrom
cycloarcane:master

Conversation

@cycloarcane
Copy link
Contributor

This update addresses a critical crash reported by users and further polishes the user experience.

🛠 Fixes & Improvements

  • Resolved Location Crash: Fixed a NullPointerException in UIManager when location permissions are denied.
  • On-Demand Permissions: The app no longer requests Location or Phone State at startup. Permissions are now requested only when a specific feature (like weather or signal info) is used.
  • Improved UX:
    • Theme presets are now 100% transparent when system wallpaper is active (no color tint).
    • Weather update time is now correctly formatted as HH:mm.
    • Added a first-run welcome message and 'explain' command for easier onboarding.
  • Build Hygiene: Synchronized LICENSE with the maintainer's recent MIT change and modernized Gradle wrapper scripts.

This major update brings the dormant project up to modern Android standards while introducing enhanced security features and powerful new tools:

Security & Privacy:
- Hardened Signing: Sensitive signing credentials moved to local.properties (git-ignored) with dynamic build configuration.
- Secure BusyBox: Replaced bundled binaries with a verified, architecture-aware installer (bbman) using hardcoded SHA-256 integrity checks.
- Permissions: Updated permission model for Android 10-14, including granular location checks for WiFi SSID and modern storage access.
- Network: Audited network code to prefer HTTPS and secure transport.

New Features:
- bbman: Built-in verified BusyBox manager for a full Linux environment (ls, grep, vi, etc.).
- Modernized build system using Gradle 8.2 and Java 8.
- Comprehensive technical documentation in COMMANDS.md.

Fixes & Cleanup:
- Fixed binary execution issues on Android 10+ using shell aliasing.
- Removed obsolete social links and community tooltips.
- General codebase cleanup and removal of dead code blocks.
- Removed redundant MessagesManager and associated logic.
- Reverted fork references in README.md as requested by upstream.
- Added summary for 'username' and 'theme -preset' commands to README.md.
…ish UI/UX

- Implemented On-Demand Permissions: Location and Phone State are now requested only when needed.
- Fixed: App no longer crashes when Location permission is denied.
- Added 'explain' command for feature discovery.
- Added 'weather' command alias for 'tuiweather'.
- Improved: Theme presets (red, green, etc.) are now 100% transparent when system wallpaper is active.
- Fixed: Weather update time formatting (HH:mm).
- Modernized build system: updated Gradle wrapper scripts to 8.2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant