✅ Android 14+ (API 35) Compatible
- Updated to Gradle 8.10.2, AGP 8.7.0, Kotlin 2.0.21
- Full AndroidX migration
- Scoped storage support
- Modern security and permission handling
-
Wi-Fi Status Display: Fixed Wi-Fi detection using NetworkCapabilities API with legacy fallback for older devices. Now correctly shows connected Wi-Fi SSID instead of "no internet connection"
-
Weather command (
tuiweather)- Enable/disable the weather label:
tuiweather -enable- Show weather in status bartuiweather -disable- Hide weather from status bar
- Set location:
tuiweather -location <value>- Set weather location- Coordinates required:
tuiweather -location 59.33,18.06(lat,lon for Stockholm) - Automatically reverse-geocodes coordinates to display city name
- Falls back to showing coordinates if geocoding is unavailable
- Coordinates required:
- Manual refresh:
tuiweather -update- Force immediate weather update
- Automatic updates:
tuiweather -auto true- Enable periodic weather updates (default)tuiweather -auto false- Disable periodic updates (manual only)
- Tutorial/Documentation:
tuiweather -tutorial- Opens SMHI weather data information page
Weather Data Source:
- Uses SMHI (Swedish Meteorological Institute) - Official Swedish weather service
- Free API with no authentication required
- Accurate forecasts for Sweden and surrounding areas
- API endpoint:
opendata-download-metfcst.smhi.se/api/category/pmp3g - Requires coordinates in
lat,lonformat - Configure location via command or in
behavior.xml:weather_location
Display Format:
- Default format:
%name: %main %temp°C - Format variables:
%name- Location name (auto-geocoded from coordinates, e.g., "Stockholm")%main- Weather condition (e.g., "Clear sky", "Overcast")%temp- Temperature in Celsius
- Example output:
Stockholm: Overcast -0.8°C - Configure via
behavior.xml:weather_format
Location Detection:
- Automatically converts coordinates to city names using Android Geocoder
- Tries: Locality (city) → Sub-admin area (county) → Admin area (state/province)
- Falls back to coordinates if geocoding fails or is unavailable
- Requires network access for geocoding functionality
Technical Details:
- HTTPS API calls for security compliance
- SMHI forecast JSON parsing with JsonPath
- Weather symbol codes (1-27) automatically converted to readable text
- Configurable auto-update interval via
weather_update_time(seconds) - Update control via
weather_auto_updateboolean setting
- Enable/disable the weather label:
- Custom build directory (
.build) to avoid OneDrive sync conflicts - Updated ProGuard rules for R8 compatibility with explicit constructor patterns
- JDK 17 or higher
- Android SDK with Android 15 (API 35)
- Gradle 8.10.2 (included via wrapper)
Clone the repository:
git clone https://github.com/ms4ndst/TUI-ConsoleLauncher.git
cd TUI-ConsoleLauncherBuild debug APK:
./gradlew assembleDebugBuild release APK:
./gradlew assembleReleaseInstall on connected device:
./gradlew installDebugThe APK will be generated in:
- Debug:
app/build/outputs/apk/debug/app-debug.apk - Release:
app/build/outputs/apk/release/app-release.apk
Use gradlew.bat instead of ./gradlew:
.\gradlew.bat assembleDebugThe project is configured with release signing using a keystore. The configuration is stored in keystore.properties:
storePassword=android123
keyPassword=android123
keyAlias=tui-launcher
storeFile=../release.keystoreFor Development:
The included release.keystore uses default credentials for convenience. Release builds are automatically signed when you run:
./gradlew assembleReleaseFor Production: Generate a new keystore with strong credentials:
keytool -genkeypair -v -keystore release.keystore -alias tui-launcher \
-keyalg RSA -keysize 2048 -validity 10000Then update keystore.properties with your credentials. Never commit production keystores or credentials to version control.
Security Notes:
- The
.gitignoreis configured to exclude*.keystoreand*.jksfiles - Keep production keystores in a secure location outside the repository
- For CI/CD, use encrypted secrets or secure credential storage
Official links from the original project by fandreuz
@tui_launcher --> Twitter.com
Official community --> Reddit
Official Group --> Telegram
GitHub --> GitHub.com
Wiki --> GitHub.com
FAQ --> GitHub.com
Please obeserve this is an unofficial version of the origial project
Pull requests are welcome. But before you decide to make a major change you should contact the original creator (e-mail) in order to check if they going to include your change in t-ui, so you don't waste your time.
