Full FT8 mode integration (user chose scope C: complete port, keep original visual style): - feature/ft8 module: 213 Java classes from FT8CN 0.93 source (com.bg7yoz.ft8cn namespace preserved so code needs zero changes), DataBinding enabled, BuildConfig fields (APPLICATION_ID/VERSION_NAME/ apkBuildTime) restored for AGP9 - libft8cn.so from the user's FT8CN_0.93 APK (armeabi-v7a, 1.53MB; differs from repo copy, APK version used) - 237 res files + 58 assets + 4 local libs (MPAndroidChart spectrum, commons-net, nanohttpd, osmdroid map) copied verbatim - Proguard keep rules for JNI classes (RegisterNatives) - Entry: More menu "FT8" (default sub menu, after AMSAT) launches MainActivity via Intent (external activity, LAUNCHER filter removed to avoid double launcher) - Manifest merged via module (RECORD_AUDIO/BT/location perms) - Version 4.5.5/455 + What's new 5 languages (REPLACED per rule) Verified: :feature:ft8:compileDebugJavaWithJavac + :app:compileDebugKotlin BUILD SUCCESSFUL; check_strings 9 files OK.
114 lines
5.5 KiB
TOML
114 lines
5.5 KiB
TOML
[versions]
|
|
#noinspection UnusedVersionCatalogEntry
|
|
appVersionCode = "455"
|
|
#noinspection UnusedVersionCatalogEntry
|
|
appVersionName = "4.5.5"
|
|
#noinspection UnusedVersionCatalogEntry
|
|
compileSdk = "37"
|
|
#noinspection UnusedVersionCatalogEntry
|
|
minSdk = "24"
|
|
#noinspection UnusedVersionCatalogEntry
|
|
jdkVersion = "21"
|
|
#noinspection UnusedVersionCatalogEntry
|
|
packageName = "com.rtbishop.look4sat"
|
|
# Fork application ID: official app uses com.rtbishop.look4sat with a different
|
|
# signing cert. Installing a fork with the same applicationId would conflict
|
|
# with the official build (signature mismatch / cannot overwrite), so the fork
|
|
# ships under its own applicationId suffix.
|
|
applicationId = "com.rtbishop.look4sat.bg7nta"
|
|
|
|
android-gradle-plugin = "9.3.1"
|
|
|
|
androidx-core-ktx = "1.19.0"
|
|
androidx-core-splashscreen = "1.2.0"
|
|
androidx-room = "2.8.4"
|
|
|
|
compose-bom = "2026.06.01"
|
|
compose-activity = "1.13.0"
|
|
compose-lifecycle = "2.11.0"
|
|
compose-navigation3 = "1.1.5"
|
|
|
|
google-ksp = "2.3.8"
|
|
|
|
kotlin = "2.4.10"
|
|
kotlin-coroutines = "1.11.0"
|
|
kotlin-serialization = "1.11.0"
|
|
|
|
other-okhttp = "5.4.0"
|
|
other-osmdroid = "6.1.20"
|
|
|
|
test-junit4 = "4.13.2"
|
|
|
|
androidTest-junit = "1.3.0"
|
|
androidTest-espresso = "3.7.0"
|
|
|
|
[libraries]
|
|
android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android-gradle-plugin" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core-ktx" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidx-core-splashscreen" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
androidx-room = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "androidx-room" }
|
|
|
|
#noinspection UnusedVersionCatalogEntry
|
|
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
|
|
compose-material3 = { group = "androidx.compose.material3", name = "material3" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
compose-material3-adaptive = { group = "androidx.compose.material3", name = "material3-adaptive-navigation-suite" }
|
|
compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
|
|
compose-tooling = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
|
|
|
|
compose-activity = { module = "androidx.activity:activity-compose", version.ref = "compose-activity" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
compose-navigation3 = { module = "androidx.navigation3:navigation3-ui", version.ref = "compose-navigation3" }
|
|
compose-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-navigation3", version.ref = "compose-lifecycle" }
|
|
|
|
compose-debug-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
|
|
compose-debug-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
|
|
|
|
#noinspection UnusedVersionCatalogEntry
|
|
kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlin-coroutines" }
|
|
kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
kotlin-serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlin-serialization" }
|
|
|
|
#noinspection UnusedVersionCatalogEntry
|
|
other-okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "other-okhttp" }
|
|
#noinspection UnusedVersionCatalogEntry
|
|
other-osmdroid = { module = "org.osmdroid:osmdroid-android", version.ref = "other-osmdroid" }
|
|
|
|
test-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" }
|
|
test-junit4 = { module = "junit:junit", version.ref = "test-junit4" }
|
|
|
|
androidTest-junit = { module = "androidx.test.ext:junit", version.ref = "androidTest-junit" }
|
|
androidTest-espresso = { module = "androidx.test.espresso:espresso-core", version.ref = "androidTest-espresso" }
|
|
|
|
[plugins]
|
|
android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
|
|
android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
|
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
|
google-ksp = { id = "com.google.devtools.ksp", version.ref = "google-ksp" }
|
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
|
# plugins defined by this project
|
|
convention-applicationPlugin = { id = "com.rtbishop.look4sat.convention.applicationPlugin" }
|
|
convention-coreDataPlugin = { id = "com.rtbishop.look4sat.convention.coreDataPlugin" }
|
|
convention-coreDomainPlugin = { id = "com.rtbishop.look4sat.convention.coreDomainPlugin" }
|
|
convention-corePresentationPlugin = { id = "com.rtbishop.look4sat.convention.corePresentationPlugin" }
|
|
convention-featurePlugin = { id = "com.rtbishop.look4sat.convention.featurePlugin" }
|
|
|
|
[bundles]
|
|
#noinspection UnusedVersionCatalogEntry
|
|
composeAll = ["compose-runtime", "compose-tooling", "compose-activity", "compose-material3", "compose-viewmodel"]
|
|
#noinspection UnusedVersionCatalogEntry
|
|
composeDebug = ["compose-debug-manifest", "compose-debug-tooling"]
|
|
#noinspection UnusedVersionCatalogEntry
|
|
unitTest = ["test-coroutines", "test-junit4"]
|
|
#noinspection UnusedVersionCatalogEntry
|
|
androidTest = ["androidTest-junit", "androidTest-espresso"]
|