prober: on-screen + in-report build number (versionCode, now 2)

Ascending integer bumped per deployed change; shown in the header and as
proberBuild in the JSON report so a report is attributable to an exact
build. buildConfig feature enabled for BuildConfig.VERSION_CODE.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mrambossek
2026-07-30 13:03:50 +02:00
co-authored by Claude Opus 5
parent e695fe7aee
commit ee66648e3c
3 changed files with 12 additions and 2 deletions
+4 -1
View File
@@ -13,7 +13,9 @@ android {
applicationId = "app.echo_lot.prober" applicationId = "app.echo_lot.prober"
minSdk = 26 minSdk = 26
targetSdk = 35 targetSdk = 35
versionCode = 1 // Bump versionCode on EVERY deployed change — it is shown on screen and lands in the
// JSON report as proberBuild, so a report is attributable to an exact prober build.
versionCode = 2
versionName = "0.1.0" versionName = "0.1.0"
} }
@@ -32,6 +34,7 @@ android {
buildFeatures { buildFeatures {
compose = true compose = true
aidl = true aidl = true
buildConfig = true // BuildConfig.VERSION_CODE feeds the on-screen + report build number
} }
} }
@@ -7,6 +7,7 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build import android.os.Build
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import app.echo_lot.prober.BuildConfig
import app.echo_lot.prober.probe.ProbeResult import app.echo_lot.prober.probe.ProbeResult
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
@@ -17,6 +18,9 @@ import java.io.File
data class Report( data class Report(
val schema: String = "echolot/prober-report", val schema: String = "echolot/prober-report",
val schemaVersion: String = "0.1.0", val schemaVersion: String = "0.1.0",
// Ascending integer, bumped per deployed change (= versionCode). Shown on screen too, so a
// report and a screenshot are attributable to the same build.
val proberBuild: Int = BuildConfig.VERSION_CODE,
val device: DeviceInfo, val device: DeviceInfo,
val results: List<ProbeResult>, val results: List<ProbeResult>,
) )
@@ -41,7 +41,10 @@ fun ProberScreen(
onShare: () -> Unit, onShare: () -> Unit,
) { ) {
Column(Modifier.fillMaxSize().padding(16.dp)) { Column(Modifier.fillMaxSize().padding(16.dp)) {
Text("Echolot Capability Prober", style = MaterialTheme.typography.headlineSmall) Text(
"Echolot Capability Prober · build ${app.echo_lot.prober.BuildConfig.VERSION_CODE}",
style = MaterialTheme.typography.headlineSmall,
)
Text( Text(
"Runs the borderline no-root probes from the feasibility matrix on THIS device and reports what actually works.", "Runs the borderline no-root probes from the feasibility matrix on THIS device and reports what actually works.",
style = MaterialTheme.typography.bodySmall, style = MaterialTheme.typography.bodySmall,