Ports the QTH定位器 (com.us1pm.gridsquarelocator) location panel into Look4Sat as a new 'Roaming' page, restyled with the app's own look. UI (top to bottom): - Info header: GPS status dot, big 8-char locator, Lat/Lon rows with DMS + 5-decimal display, and a GPS 定位 button - 3x3 grid panel: the current 4-char Maidenhead square (e.g. OL42) centered, surrounded by its 8 neighbors (OL33..OL51), with a red position marker in the center cell Logic: - QthConverter gains qthNeighbors(square) building the 3x3 grid with field/square carry at boundaries (AA00 wraps to RR99, IO91 crosses into J field), and qthToSquare(locator) extracting the 4-char square - Verified against the decompiled app algorithm and the reference screenshot (OL42 grid matches exactly); 9 unit tests cover normal, boundary and field-wrap cases Navigation: - New bottom-nav item 'Roaming' between Match and Settings, with a crosshair icon - New feature:roaming module (ViewModel + Compose screen) registered in the app Build config: - Lowered Gradle JVM heap from -Xmx6g to 768m: the 2GB build server froze on the old value; heavy release builds stay on GitHub Actions
32 lines
606 B
Kotlin
32 lines
606 B
Kotlin
pluginManagement {
|
|
includeBuild("build-logic")
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
}
|
|
dependencyResolutionManagement {
|
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
rootProject.name = "Look4Sat"
|
|
include(":app")
|
|
include(
|
|
":core:data",
|
|
":core:domain",
|
|
":core:presentation"
|
|
)
|
|
include(
|
|
":feature:map",
|
|
":feature:mutual",
|
|
":feature:passes",
|
|
":feature:radar",
|
|
":feature:roaming",
|
|
":feature:satellites",
|
|
":feature:settings"
|
|
)
|