Project skeleton: Gradle 9.4.1 wrapper, AGP 9.2.1, Compose, manifest with reminder permission set

Milestone 1 of the build brief. Version catalog pins verified against
Maven Central / Google Maven on 2026-06-10; Kotlin held at 2.3.10 to
match AGP 9.2's bundled KGP (built-in Kotlin) because KSP has no
Kotlin 2.4 release yet. compileSdk 37 (forced by core-ktx 1.19),
targetSdk 35 per brief. allowBackup=false + full dataExtractionRules
opt-out; own encrypted backup comes in milestone 5.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2026-06-10 13:31:39 +02:00
commit 7256c49112
21 changed files with 845 additions and 0 deletions

View file

@ -0,0 +1,36 @@
package no.naiv.meddetsamme
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
MaterialTheme {
AppRoot()
}
}
}
}
@Composable
private fun AppRoot() {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Text(
text = "Med det samme",
style = MaterialTheme.typography.headlineMedium,
modifier = Modifier.padding(innerPadding),
)
}
}

View file

@ -0,0 +1,10 @@
package no.naiv.meddetsamme
import android.app.Application
/**
* Application entry point. Later milestones hang app-wide singletons off this
* (DB, notification channels, alarm re-arm) no DI framework at this size,
* manual wiring via a small service locator.
*/
class MedDetSammeApp : Application()