summaryrefslogtreecommitdiff
path: root/androidApp
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp')
-rw-r--r--androidApp/build.gradle.kts52
-rw-r--r--androidApp/src/main/AndroidManifest.xml21
-rw-r--r--androidApp/src/main/kotlin/dev/serrahima/lluerna/MainActivity.kt17
-rw-r--r--androidApp/src/main/res/values/strings.xml3
-rw-r--r--androidApp/src/main/res/values/themes.xml8
5 files changed, 101 insertions, 0 deletions
diff --git a/androidApp/build.gradle.kts b/androidApp/build.gradle.kts
new file mode 100644
index 0000000..28e9279
--- /dev/null
+++ b/androidApp/build.gradle.kts
@@ -0,0 +1,52 @@
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+
+// the android entry point. agp 9 has built-in kotlin support, so no separate
+// kotlin android plugin is applied here.
+plugins {
+ alias(libs.plugins.androidApplication)
+ alias(libs.plugins.composeMultiplatform)
+ alias(libs.plugins.composeCompiler)
+}
+
+kotlin {
+ target {
+ compilerOptions {
+ jvmTarget.set(JvmTarget.JVM_17)
+ }
+ }
+
+ dependencies {
+ implementation(project(":shared"))
+ implementation(libs.androidx.activity.compose)
+ }
+}
+
+android {
+ namespace = "dev.serrahima.lluerna"
+ compileSdk = libs.versions.android.compileSdk.get().toInt()
+
+ defaultConfig {
+ applicationId = "dev.serrahima.lluerna"
+ minSdk = libs.versions.android.minSdk.get().toInt()
+ targetSdk = libs.versions.android.targetSdk.get().toInt()
+ versionCode = 1
+ versionName = "0.0.1"
+ }
+
+ packaging {
+ resources {
+ excludes += "/META-INF/{AL2.0,LGPL2.1}"
+ }
+ }
+
+ buildTypes {
+ getByName("release") {
+ isMinifyEnabled = false
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+}
diff --git a/androidApp/src/main/AndroidManifest.xml b/androidApp/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..2c82129
--- /dev/null
+++ b/androidApp/src/main/AndroidManifest.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <application
+ android:allowBackup="true"
+ android:label="@string/app_name"
+ android:supportsRtl="true"
+ android:theme="@style/Theme.Lluerna">
+
+ <activity
+ android:name=".MainActivity"
+ android:exported="true"
+ android:configChanges="orientation|screenSize|screenLayout|keyboardHidden|uiMode">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest>
diff --git a/androidApp/src/main/kotlin/dev/serrahima/lluerna/MainActivity.kt b/androidApp/src/main/kotlin/dev/serrahima/lluerna/MainActivity.kt
new file mode 100644
index 0000000..3feec6f
--- /dev/null
+++ b/androidApp/src/main/kotlin/dev/serrahima/lluerna/MainActivity.kt
@@ -0,0 +1,17 @@
+package dev.serrahima.lluerna
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
+
+class MainActivity : ComponentActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContent {
+ // App() lives in the :shared module
+ App()
+ }
+ }
+}
diff --git a/androidApp/src/main/res/values/strings.xml b/androidApp/src/main/res/values/strings.xml
new file mode 100644
index 0000000..076bc75
--- /dev/null
+++ b/androidApp/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+<resources>
+ <string name="app_name">lluerna</string>
+</resources>
diff --git a/androidApp/src/main/res/values/themes.xml b/androidApp/src/main/res/values/themes.xml
new file mode 100644
index 0000000..23b4794
--- /dev/null
+++ b/androidApp/src/main/res/values/themes.xml
@@ -0,0 +1,8 @@
+<resources>
+ <!-- a bare, dark, actionbar-less theme; compose draws everything. -->
+ <style name="Theme.Lluerna" parent="android:Theme.Material.NoActionBar">
+ <item name="android:windowBackground">#101014</item>
+ <item name="android:statusBarColor">#101014</item>
+ <item name="android:navigationBarColor">#101014</item>
+ </style>
+</resources>