From 4164fb82b5e5439b4a799859542d2e93ea9afca6 Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <mail@justjanne.de>
Date: Thu, 16 Nov 2023 20:13:08 +0100
Subject: [PATCH] wip: current progress

---
 .editorconfig                                 |  30 ++
 .gitignore                                    |  11 +
 app/build.gradle.kts                          | 102 +++++++
 app/proguard-rules.pro                        |  54 ++++
 app/src/main/AndroidManifest.xml              |  27 ++
 .../chatconcept/ChatConceptApplication.kt     |   7 +
 .../de/justjanne/chatconcept/InputArea.kt     |  86 ++++++
 .../de/justjanne/chatconcept/MainActivity.kt  | 266 ++++++++++++++++++
 .../de/justjanne/chatconcept/theme/Color.kt   |  11 +
 .../de/justjanne/chatconcept/theme/Theme.kt   |  94 +++++++
 .../de/justjanne/chatconcept/theme/Type.kt    |  34 +++
 .../main/res/mipmap-xxhdpi/ic_launcher.png    | Bin 0 -> 9925 bytes
 app/src/main/res/values/strings.xml           |  27 ++
 app/src/main/res/values/themes.xml            |  18 ++
 build.gradle.kts                              |  16 ++
 gradle.properties                             |  33 +++
 gradle/convention/build.gradle.kts            |  41 +++
 gradle/convention/gradle.properties           |   3 +
 .../gradle/wrapper/gradle-wrapper.jar         | Bin 0 -> 59536 bytes
 .../gradle/wrapper/gradle-wrapper.properties  |   6 +
 gradle/convention/settings.gradle.kts         |  13 +
 .../kotlin/AndroidApplicationConvention.kt    |  66 +++++
 .../main/kotlin/AndroidLibraryConvention.kt   |  37 +++
 .../main/kotlin/KotlinAndroidConvention.kt    |  46 +++
 .../src/main/kotlin/KotlinConvention.kt       |  45 +++
 .../convention/src/main/kotlin/SigningData.kt |  21 ++
 .../kotlin/util/BaseExtensionExtensions.kt    |   8 +
 .../src/main/kotlin/util/ProjectExtensions.kt |  26 ++
 gradle/init.gradle.kts                        |  55 ++++
 gradle/libs.versions.toml                     |  92 ++++++
 gradle/spotless/copyright.kt                  |  23 ++
 gradle/spotless/copyright.kts                 |  23 ++
 gradle/spotless/copyright.xml                 |  24 ++
 gradle/wrapper/gradle-wrapper.jar             | Bin 0 -> 63721 bytes
 gradle/wrapper/gradle-wrapper.properties      |   7 +
 gradlew                                       | 249 ++++++++++++++++
 gradlew.bat                                   |  92 ++++++
 lint.xml                                      |  53 ++++
 settings.gradle.kts                           |  43 +++
 39 files changed, 1789 insertions(+)
 create mode 100644 .editorconfig
 create mode 100644 .gitignore
 create mode 100644 app/build.gradle.kts
 create mode 100644 app/proguard-rules.pro
 create mode 100644 app/src/main/AndroidManifest.xml
 create mode 100644 app/src/main/kotlin/de/justjanne/chatconcept/ChatConceptApplication.kt
 create mode 100644 app/src/main/kotlin/de/justjanne/chatconcept/InputArea.kt
 create mode 100644 app/src/main/kotlin/de/justjanne/chatconcept/MainActivity.kt
 create mode 100644 app/src/main/kotlin/de/justjanne/chatconcept/theme/Color.kt
 create mode 100644 app/src/main/kotlin/de/justjanne/chatconcept/theme/Theme.kt
 create mode 100644 app/src/main/kotlin/de/justjanne/chatconcept/theme/Type.kt
 create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png
 create mode 100644 app/src/main/res/values/strings.xml
 create mode 100644 app/src/main/res/values/themes.xml
 create mode 100644 build.gradle.kts
 create mode 100644 gradle.properties
 create mode 100644 gradle/convention/build.gradle.kts
 create mode 100644 gradle/convention/gradle.properties
 create mode 100644 gradle/convention/gradle/wrapper/gradle-wrapper.jar
 create mode 100644 gradle/convention/gradle/wrapper/gradle-wrapper.properties
 create mode 100644 gradle/convention/settings.gradle.kts
 create mode 100644 gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt
 create mode 100644 gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt
 create mode 100644 gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt
 create mode 100644 gradle/convention/src/main/kotlin/KotlinConvention.kt
 create mode 100644 gradle/convention/src/main/kotlin/SigningData.kt
 create mode 100644 gradle/convention/src/main/kotlin/util/BaseExtensionExtensions.kt
 create mode 100644 gradle/convention/src/main/kotlin/util/ProjectExtensions.kt
 create mode 100644 gradle/init.gradle.kts
 create mode 100644 gradle/libs.versions.toml
 create mode 100644 gradle/spotless/copyright.kt
 create mode 100644 gradle/spotless/copyright.kts
 create mode 100644 gradle/spotless/copyright.xml
 create mode 100644 gradle/wrapper/gradle-wrapper.jar
 create mode 100644 gradle/wrapper/gradle-wrapper.properties
 create mode 100755 gradlew
 create mode 100644 gradlew.bat
 create mode 100644 lint.xml
 create mode 100644 settings.gradle.kts

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..d9f5985
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,30 @@
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+
+[{*.mod, *.dtd, *.ent, *.elt}]
+indent_style = space
+indent_size = 2
+
+[{*.jhm, *.rng, *.wsdl, *.fxml, *.xslt, *.jrxml, *.ant, *.xul, *.xsl, *.xsd, *.tld, *.jnlp, *.xml}]
+indent_style = space
+indent_size = 2
+
+[*.json]
+indent_style = space
+indent_size = 2
+
+[*.java]
+indent_style = space
+indent_size = 2
+
+[{*.kts, *.kt}]
+indent_style = space
+indent_size = 2
+
+[{*.yml, *.yaml}]
+indent_style = space
+indent_size = 2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..49ca4c2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+*.iml
+.gradle
+/local.properties
+/signing.properties
+/.idea/*
+!/.idea/copyright/
+.DS_Store
+/captures
+build/
+/reports/
+/persistence/schemas/
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 0000000..baf04cf
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,102 @@
+@file:Suppress("UnstableApiUsage")
+
+/*
+ * Quasseldroid - Quassel client for Android
+ *
+ * Copyright (c) 2019 Janne Mareike Koschinski
+ * Copyright (c) 2019 The Quassel Project
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3 as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+plugins {
+  id("justjanne.android.app")
+  alias(libs.plugins.kotlin.serialization)
+  alias(libs.plugins.kotlin.ksp)
+  alias(libs.plugins.dagger.hilt)
+}
+
+android {
+  namespace = "de.justjanne.chatconcept"
+
+  buildTypes {
+    getByName("release") {
+
+      proguardFiles(
+        getDefaultProguardFile("proguard-android.txt"),
+        "proguard-rules.pro"
+      )
+      signingConfig = signingConfigs.getByName("debug")
+    }
+
+    getByName("debug") {
+      applicationIdSuffix = ".debug"
+    }
+  }
+
+  buildFeatures {
+    compose = true
+  }
+
+  composeOptions {
+    kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get()
+  }
+}
+
+dependencies {
+  implementation(libs.kotlin.stdlib)
+  implementation(libs.kotlinx.datetime)
+  implementation(libs.kotlinx.serialization.json)
+  coreLibraryDesugaring(libs.desugar.jdk)
+
+  implementation(libs.kotlinx.coroutines.android)
+  testImplementation(libs.kotlinx.coroutines.test)
+
+  testImplementation(libs.kotlin.test)
+  testImplementation(libs.junit.api)
+  testImplementation(libs.junit.params)
+  testRuntimeOnly(libs.junit.engine)
+
+  implementation(libs.androidx.appcompat)
+  implementation(libs.androidx.appcompat.resources)
+
+  implementation(libs.androidx.activity)
+  implementation(libs.androidx.activity.compose)
+
+  implementation(libs.androidx.compose.animation)
+  implementation(libs.androidx.compose.compiler)
+  implementation(libs.androidx.compose.foundation)
+  implementation(libs.androidx.compose.material)
+  implementation(libs.androidx.compose.material.icons)
+  implementation(libs.androidx.compose.runtime)
+  implementation(libs.androidx.compose.ui.tooling)
+
+  implementation(libs.androidx.room.runtime)
+  implementation(libs.androidx.room.ktx)
+  implementation(libs.androidx.room.paging)
+
+  implementation(libs.androidx.navigation.compose)
+
+  implementation(libs.okhttp)
+  implementation(libs.coil.compose)
+
+  implementation(libs.hilt.navigation)
+  implementation(libs.hilt.android)
+  ksp(libs.hilt.compiler)
+
+  implementation(libs.androidx.datastore.preferences)
+
+  debugImplementation(libs.androidx.compose.ui.tooling)
+  implementation(libs.androidx.compose.ui.preview)
+  testImplementation(libs.androidx.compose.ui.test)
+}
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..690a4be
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,54 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /usr/lib/android-sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.kts.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
+
+# The project is open source anyway, obfuscation is useless.
+-dontobfuscate
+
+# remove unnecessary warnings
+# Android HTTP Libs
+-dontnote android.net.http.**
+-dontnote org.apache.http.**
+# Kotlin stuff
+-dontnote kotlin.**
+# Gson
+-dontnote com.google.gson.**
+# Dagger
+-dontwarn com.google.errorprone.annotations.*
+# Retrofit
+-dontwarn retrofit2.**
+# Annotation used by Retrofit on Java 8 VMs
+-dontwarn javax.annotation.Nullable
+-dontwarn javax.annotation.ParametersAreNonnullByDefault
+-dontwarn javax.annotation.concurrent.GuardedBy
+# Retain generic type information for use by reflection by converters and adapters.
+-keepattributes Signature
+# Retain declared checked exceptions for use by a Proxy instance.
+-keepattributes Exceptions
+# Okio
+-dontwarn okio.**
+-dontwarn org.conscrypt.**
+# OkHttp3
+-dontwarn okhttp3.**
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..14ec190
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+
+  <uses-permission android:name="android.permission.INTERNET" />
+
+  <application
+    android:name=".ChatConceptApplication"
+    android:allowBackup="true"
+    android:icon="@mipmap/ic_launcher"
+    android:label="@string/application_name"
+    android:supportsRtl="true"
+    android:theme="@style/Theme.ChatConcept">
+    <activity
+      android:name=".MainActivity"
+      android:exported="true"
+      android:theme="@style/Theme.ChatConcept"
+      android:windowSoftInputMode="adjustResize">
+      <intent-filter>
+        <action android:name="android.intent.action.MAIN" />
+        <action android:name="android.intent.action.VIEW" />
+
+        <category android:name="android.intent.category.LAUNCHER" />
+      </intent-filter>
+    </activity>
+  </application>
+
+</manifest>
diff --git a/app/src/main/kotlin/de/justjanne/chatconcept/ChatConceptApplication.kt b/app/src/main/kotlin/de/justjanne/chatconcept/ChatConceptApplication.kt
new file mode 100644
index 0000000..b26f8c3
--- /dev/null
+++ b/app/src/main/kotlin/de/justjanne/chatconcept/ChatConceptApplication.kt
@@ -0,0 +1,7 @@
+package de.justjanne.chatconcept
+
+import android.app.Application
+
+class ChatConceptApplication : Application() {
+
+}
diff --git a/app/src/main/kotlin/de/justjanne/chatconcept/InputArea.kt b/app/src/main/kotlin/de/justjanne/chatconcept/InputArea.kt
new file mode 100644
index 0000000..f9a555f
--- /dev/null
+++ b/app/src/main/kotlin/de/justjanne/chatconcept/InputArea.kt
@@ -0,0 +1,86 @@
+package de.justjanne.chatconcept
+
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.text.BasicTextField
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.Send
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.OutlinedTextFieldDefaults
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.RectangleShape
+import androidx.compose.ui.text.input.VisualTransformation
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+
+@Composable
+@Preview
+fun InputArea(modifier: Modifier = Modifier) {
+  var input by remember { mutableStateOf("") }
+  val interactionSource = remember { MutableInteractionSource() }
+
+  Row(verticalAlignment = Alignment.CenterVertically, modifier = modifier) {
+    BasicTextField(
+      value = input,
+      onValueChange = { input = it },
+      modifier = Modifier
+        .weight(1.0f, true)
+        .fillMaxHeight(),
+      singleLine = false,
+      maxLines = 5,
+      minLines = 1,
+      enabled = true,
+      interactionSource = interactionSource,
+    ) {
+      OutlinedTextFieldDefaults.DecorationBox(
+        value = input,
+        visualTransformation = VisualTransformation.None,
+        innerTextField = it,
+        singleLine = false,
+        enabled = true,
+        placeholder = { Text("Send a meow message…") },
+        interactionSource = interactionSource,
+        container = {
+          OutlinedTextFieldDefaults.ContainerBox(
+            enabled = true,
+            isError = false,
+            colors = OutlinedTextFieldDefaults.colors(
+              focusedBorderColor = Color.Transparent,
+              unfocusedBorderColor = Color.Transparent,
+              errorBorderColor = Color.Transparent,
+              disabledBorderColor = Color.Transparent,
+            ),
+            interactionSource = interactionSource,
+            shape = RectangleShape,
+            unfocusedBorderThickness = 0.dp,
+            focusedBorderThickness = 0.dp
+          )
+        }
+      )
+    }
+    IconButton(
+      onClick = { },
+      Modifier
+        .padding(4.dp)
+        .align(Alignment.Top)
+    ) {
+      Icon(
+        Icons.AutoMirrored.Default.Send,
+        contentDescription = null,
+        tint = MaterialTheme.colorScheme.secondary
+      )
+    }
+  }
+}
diff --git a/app/src/main/kotlin/de/justjanne/chatconcept/MainActivity.kt b/app/src/main/kotlin/de/justjanne/chatconcept/MainActivity.kt
new file mode 100644
index 0000000..575ce05
--- /dev/null
+++ b/app/src/main/kotlin/de/justjanne/chatconcept/MainActivity.kt
@@ -0,0 +1,266 @@
+package de.justjanne.chatconcept
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.aspectRatio
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.offset
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
+import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Scaffold
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
+import androidx.compose.material3.TopAppBar
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.draw.shadow
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.layout.ContentScale
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import androidx.compose.ui.unit.dp
+import coil.compose.rememberAsyncImagePainter
+import de.justjanne.chatconcept.theme.ChatConceptTheme
+import kotlinx.datetime.Instant
+
+data class User(
+  val id: String,
+  val displayName: String,
+  val avatarUrl: String,
+)
+
+sealed class FileAttachment {
+  data class Image(val url: String) : FileAttachment()
+  data class Video(val url: String) : FileAttachment()
+  data class Audio(val url: String) : FileAttachment()
+  data class Generic(val url: String) : FileAttachment()
+}
+
+sealed class Message {
+  data class TextMessage(val timestamp: Instant, val sender: User, val content: String) : Message()
+  data class Join(val timestamp: Instant, val sender: User) : Message()
+  data class Leave(val timestamp: Instant, val sender: User) : Message()
+  data class Kick(val timestamp: Instant, val sender: User, val subject: User) : Message()
+  data class AttachmentMessage(
+    val timestamp: Instant,
+    val sender: User,
+    val content: FileAttachment
+  ) : Message()
+}
+
+data class RoomMember(
+  val user: User,
+  val powerLevel: Int,
+  val membership: Membership
+)
+
+enum class Membership {
+  Joined,
+  Invited,
+  Banned
+}
+
+sealed class Room {
+  data class GroupRoom(
+    val displayName: String,
+    val topic: String,
+    val avatarUrl: String,
+    val members: List<RoomMember>,
+    val timeline: Timeline,
+  ) : Room()
+
+  data class DmRoom(
+    val user: User,
+    val members: List<RoomMember>,
+    val timeline: Timeline,
+  ) : Room()
+}
+
+data class Timeline(
+  val messages: List<Message>,
+  val outbox: List<Message>,
+)
+
+object SampleClient {
+  private val evelyn = User(
+    id = "@evelyn:eve.li",
+    displayName = "Evelyn",
+    avatarUrl = "https://avatars.githubusercontent.com/u/36997087?v=4"
+  )
+
+  private val janne = User(
+    id = "@justjanne:decentralised.chat",
+    displayName = "justJanne",
+    avatarUrl = "https://avatars.githubusercontent.com/u/3933349?v=4"
+  )
+
+  val rooms: List<Room> = listOf(
+    Room.DmRoom(
+      user = evelyn,
+      members = listOf(
+        RoomMember(evelyn, 100, Membership.Joined),
+        RoomMember(janne, 100, Membership.Joined),
+      ),
+      timeline = Timeline(
+        messages = listOf(
+          Message.TextMessage(
+            timestamp = Instant.parse("2023-11-16T17:06:54Z"),
+            sender = evelyn,
+            content = "meow!"
+          ),
+          Message.TextMessage(
+            timestamp = Instant.parse("2023-11-16T17:07:08Z"),
+            sender = evelyn,
+            content = "lust zu telefonieren? \uD83E\uDD7A"
+          ),
+          Message.TextMessage(
+            timestamp = Instant.parse("2023-11-16T17:07:12Z"),
+            sender = janne,
+            content = "miaaaauuu"
+          ),
+          Message.TextMessage(
+            timestamp = Instant.parse("2023-11-16T17:07:22Z"),
+            sender = evelyn,
+            content = "mag ui basteln \uD83E\uDD7A"
+          ),
+          Message.TextMessage(
+            timestamp = Instant.parse("2023-11-16T17:07:32Z"),
+            sender = janne,
+            content = "gerne, wie ist's in 2min?"
+          ),
+          Message.TextMessage(
+            timestamp = Instant.parse("2023-11-16T17:07:41Z"),
+            sender = evelyn,
+            content = "ja"
+          ),
+        ),
+        outbox = emptyList()
+      )
+    )
+  )
+}
+
+class SampleMessageProvider : PreviewParameterProvider<Message> {
+  override val values = (SampleClient.rooms[0] as Room.DmRoom).timeline.messages.asSequence()
+}
+
+@Composable
+@Preview(widthDp = 120, showBackground = true)
+fun MessageView(
+  @PreviewParameter(SampleMessageProvider::class)
+  message: Message
+) {
+  Row {
+
+    Text("Hallo")
+  }
+}
+
+@Composable
+fun Avatar(name: String, imageUrl: String, modifier: Modifier = Modifier) {
+  val avatarPainter = rememberAsyncImagePainter(imageUrl)
+
+  Box(modifier) {
+    Text(
+      name.first().toString(),
+      modifier = Modifier.align(Alignment.Center)
+    )
+    Image(
+      avatarPainter,
+      contentDescription = null,
+      contentScale = ContentScale.Fit,
+      modifier = Modifier
+        .aspectRatio(1.0f)
+        .clip(CircleShape)
+        .background(MaterialTheme.colorScheme.primaryContainer)
+    )
+  }
+}
+
+@Composable
+@Preview(showSystemUi = true)
+fun ChatConceptApp() {
+  val room = SampleClient.rooms[0] as Room.DmRoom
+
+  Scaffold(
+    topBar = {
+      TopAppBar(
+        title = { Text(room.user.displayName) },
+        navigationIcon = {
+          Avatar(
+            room.user.displayName,
+            room.user.avatarUrl,
+            modifier = Modifier.size(48.dp)
+          )
+        },
+        modifier = Modifier.shadow(8.dp)
+      )
+    }
+  ) { padding ->
+    Box {
+      Column {
+        LazyColumn(
+          contentPadding = padding,
+          modifier = Modifier
+            .background(Color.Blue)
+            .fillMaxSize()
+        ) {
+          items(room.timeline.messages) { message ->
+            MessageView(message)
+          }
+        }
+        Spacer(Modifier.height(64.dp))
+      }
+      Surface(
+        modifier = Modifier
+          .height(240.dp)
+          .fillMaxWidth()
+          .align(Alignment.BottomCenter)
+          .offset(0.dp, 240.dp - 64.dp),
+        tonalElevation = 16.dp,
+        shadowElevation = 16.dp
+      ) {
+        Column(Modifier.fillMaxWidth()) {
+
+          Surface(
+            color = MaterialTheme.colorScheme.onSurfaceVariant.copy(0.4f),
+            shape = MaterialTheme.shapes.extraLarge,
+            modifier = Modifier
+              .padding(top = 4.dp)
+              .align(Alignment.CenterHorizontally)
+          ) {
+            Box(Modifier.size(width = 32.dp, height = 4.dp))
+          }
+          InputArea(Modifier.fillMaxSize())
+        }
+      }
+    }
+  }
+}
+
+class MainActivity : ComponentActivity() {
+  override fun onCreate(savedInstanceState: Bundle?) {
+    super.onCreate(savedInstanceState)
+    setContent {
+      ChatConceptTheme {
+        ChatConceptApp()
+      }
+    }
+  }
+}
diff --git a/app/src/main/kotlin/de/justjanne/chatconcept/theme/Color.kt b/app/src/main/kotlin/de/justjanne/chatconcept/theme/Color.kt
new file mode 100644
index 0000000..5b4b98c
--- /dev/null
+++ b/app/src/main/kotlin/de/justjanne/chatconcept/theme/Color.kt
@@ -0,0 +1,11 @@
+package de.justjanne.chatconcept.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
diff --git a/app/src/main/kotlin/de/justjanne/chatconcept/theme/Theme.kt b/app/src/main/kotlin/de/justjanne/chatconcept/theme/Theme.kt
new file mode 100644
index 0000000..6398668
--- /dev/null
+++ b/app/src/main/kotlin/de/justjanne/chatconcept/theme/Theme.kt
@@ -0,0 +1,94 @@
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2013-2023 Chaosdorf e.V.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+package de.justjanne.chatconcept.theme
+
+import android.app.Activity
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.ui.graphics.toArgb
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
+import androidx.core.view.WindowCompat
+
+private val DarkColorScheme = darkColorScheme(
+  primary = Purple80,
+  secondary = PurpleGrey80,
+  tertiary = Pink80
+)
+
+private val LightColorScheme = lightColorScheme(
+  primary = Purple40,
+  secondary = PurpleGrey40,
+  tertiary = Pink40
+
+  /* Other default colors to override
+  background = Color(0xFFFFFBFE),
+  surface = Color(0xFFFFFBFE),
+  onPrimary = Color.White,
+  onSecondary = Color.White,
+  onTertiary = Color.White,
+  onBackground = Color(0xFF1C1B1F),
+  onSurface = Color(0xFF1C1B1F),
+  */
+)
+
+@Composable
+fun ChatConceptTheme(
+  darkTheme: Boolean = isSystemInDarkTheme(),
+  // Dynamic color is available on Android 12+
+  dynamicColor: Boolean = true,
+  content: @Composable () -> Unit
+) {
+  val colorScheme = when {
+    dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+      val context = LocalContext.current
+      if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+    }
+
+    darkTheme -> DarkColorScheme
+    else -> LightColorScheme
+  }
+  val view = LocalView.current
+  if (!view.isInEditMode) {
+    SideEffect {
+      val window = (view.context as Activity).window
+      window.statusBarColor = colorScheme.primary.toArgb()
+      WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
+    }
+  }
+
+  MaterialTheme(
+    colorScheme = colorScheme,
+    typography = Typography,
+    content = content
+  )
+}
diff --git a/app/src/main/kotlin/de/justjanne/chatconcept/theme/Type.kt b/app/src/main/kotlin/de/justjanne/chatconcept/theme/Type.kt
new file mode 100644
index 0000000..be1fa7a
--- /dev/null
+++ b/app/src/main/kotlin/de/justjanne/chatconcept/theme/Type.kt
@@ -0,0 +1,34 @@
+package de.justjanne.chatconcept.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+// Set of Material typography styles to start with
+val Typography = Typography(
+  bodyLarge = TextStyle(
+    fontFamily = FontFamily.Default,
+    fontWeight = FontWeight.Normal,
+    fontSize = 16.sp,
+    lineHeight = 24.sp,
+    letterSpacing = 0.5.sp
+  )
+  /* Other default text styles to override
+  titleLarge = TextStyle(
+      fontFamily = FontFamily.Default,
+      fontWeight = FontWeight.Normal,
+      fontSize = 22.sp,
+      lineHeight = 28.sp,
+      letterSpacing = 0.sp
+  ),
+  labelSmall = TextStyle(
+      fontFamily = FontFamily.Default,
+      fontWeight = FontWeight.Medium,
+      fontSize = 11.sp,
+      lineHeight = 16.sp,
+      letterSpacing = 0.5.sp
+  )
+  */
+)
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b6c4512da56438e2b5145882b4e74cf572649f3
GIT binary patch
literal 9925
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
E0L<+hkN^Mx

literal 0
HcmV?d00001

diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..3212f66
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ The MIT License (MIT)
+  ~
+  ~ Copyright (c) 2013-2023 Chaosdorf e.V.
+  ~
+  ~ Permission is hereby granted, free of charge, to any person obtaining a copy
+  ~ of this software and associated documentation files (the "Software"), to deal
+  ~ in the Software without restriction, including without limitation the rights
+  ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+  ~ copies of the Software, and to permit persons to whom the Software is
+  ~ furnished to do so, subject to the following conditions:
+  ~
+  ~ The above copyright notice and this permission notice shall be included in
+  ~ all copies or substantial portions of the Software.
+  ~
+  ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+  ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+  ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+  ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+  ~ THE SOFTWARE.
+  -->
+
+<resources>
+    <string name="application_name">ChatConcept</string>
+</resources>
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..895101c
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+  <style name="Theme.ChatConcept" parent="Theme.Material.DayNight.NoActionBar">
+    <item name="android:colorPrimary">#ff9800</item>
+    <item name="android:colorAccent">#3a3f44</item>
+    <item name="android:statusBarColor">@android:color/transparent</item>
+    <item name="android:navigationBarColor">@android:color/transparent</item>
+    <item name="android:dialogTheme">@style/Theme.DialogFullScreen</item>
+  </style>
+
+  <style name="Theme.Material.DayNight.NoActionBar" parent="@android:style/Theme.Material.Light.NoActionBar" />
+
+  <style name="Theme.DialogFullScreen" parent="Theme.Material.DayNight.NoActionBar">
+    <item name="android:windowMinWidthMajor">100%</item>
+    <item name="android:windowMinWidthMinor">100%</item>
+  </style>
+</resources>
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000..c2d0836
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,16 @@
+group = "de.justjanne"
+
+buildscript {
+  repositories {
+    google()
+    mavenCentral()
+  }
+}
+
+plugins {
+  alias(libs.plugins.android.application) apply false
+  alias(libs.plugins.kotlin.jvm) apply false
+  alias(libs.plugins.kotlin.serialization) apply false
+  alias(libs.plugins.kotlin.ksp) apply false
+  alias(libs.plugins.dagger.hilt) apply false
+}
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..de22634
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,33 @@
+# Quasseldroid - Quassel client for Android
+#
+# Copyright (c) 2019 Janne Mareike Koschinski
+# Copyright (c) 2019 The Quassel Project
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 3 as published
+# by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+#org.gradle.parallel=true
+# Enable gradle build cache
+#org.gradle.caching=true
+# Enable AndroidX
+android.useAndroidX=true
diff --git a/gradle/convention/build.gradle.kts b/gradle/convention/build.gradle.kts
new file mode 100644
index 0000000..5039b12
--- /dev/null
+++ b/gradle/convention/build.gradle.kts
@@ -0,0 +1,41 @@
+plugins {
+  `kotlin-dsl`
+}
+
+repositories {
+  gradlePluginPortal()
+  mavenCentral()
+  google()
+}
+
+dependencies {
+  compileOnly(libs.android.gradlePlugin)
+  compileOnly(libs.kotlin.gradlePlugin)
+}
+
+gradlePlugin {
+  plugins {
+    register("androidApplication") {
+      id = "justjanne.android.app"
+      implementationClass = "AndroidApplicationConvention"
+    }
+    register("androidLibrary") {
+      id = "justjanne.android.library"
+      implementationClass = "AndroidLibraryConvention"
+    }
+    register("kotlinAndroid") {
+      id = "justjanne.kotlin.android"
+      implementationClass = "KotlinAndroidConvention"
+    }
+    register("kotlin") {
+      id = "justjanne.kotlin"
+      implementationClass = "KotlinConvention"
+    }
+  }
+}
+
+configure<JavaPluginExtension> {
+  toolchain {
+    languageVersion.set(JavaLanguageVersion.of(17))
+  }
+}
diff --git a/gradle/convention/gradle.properties b/gradle/convention/gradle.properties
new file mode 100644
index 0000000..c6cd2a7
--- /dev/null
+++ b/gradle/convention/gradle.properties
@@ -0,0 +1,3 @@
+org.gradle.parallel=true
+org.gradle.caching=true
+org.gradle.configureondemand=true
diff --git a/gradle/convention/gradle/wrapper/gradle-wrapper.jar b/gradle/convention/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..7454180f2ae8848c63b8b4dea2cb829da983f2fa
GIT binary patch
literal 59536
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
QuEJmfE|#`Dqx|px0L@K;Y5)KL

literal 0
HcmV?d00001

diff --git a/gradle/convention/gradle/wrapper/gradle-wrapper.properties b/gradle/convention/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..fb6d3d6
--- /dev/null
+++ b/gradle/convention/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
+distributionSha256Szm=3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradle/convention/settings.gradle.kts b/gradle/convention/settings.gradle.kts
new file mode 100644
index 0000000..1475431
--- /dev/null
+++ b/gradle/convention/settings.gradle.kts
@@ -0,0 +1,13 @@
+rootProject.name = "convention"
+
+dependencyResolutionManagement {
+  repositories {
+    google()
+    mavenCentral()
+  }
+  versionCatalogs {
+    create("libs") {
+      from(files("../libs.versions.toml"))
+    }
+  }
+}
diff --git a/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt b/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt
new file mode 100644
index 0000000..a6a58c4
--- /dev/null
+++ b/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt
@@ -0,0 +1,66 @@
+import com.android.build.api.dsl.ApplicationExtension
+import org.gradle.api.JavaVersion
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.kotlin.dsl.configure
+import util.cmd
+import util.properties
+import java.util.Locale
+
+class AndroidApplicationConvention : Plugin<Project> {
+  override fun apply(target: Project) {
+    with(target) {
+      with(pluginManager) {
+        apply("com.android.application")
+        apply("justjanne.kotlin.android")
+      }
+
+      extensions.configure<ApplicationExtension> {
+        compileSdk = 34
+
+        defaultConfig {
+          minSdk = 21
+          targetSdk = 34
+
+          applicationId = "${rootProject.group}.${rootProject.name.lowercase(Locale.ROOT)}"
+          versionCode = cmd("git", "rev-list", "--count", "HEAD")?.toIntOrNull() ?: 1
+          versionName = cmd("git", "describe", "--always", "--tags", "HEAD") ?: "1.0.0"
+
+          signingConfig = signingConfigs.findByName("default")
+
+          setProperty("archivesBaseName", "${rootProject.name}-$versionName")
+
+          // Disable test runner analytics
+          testInstrumentationRunnerArguments["disableAnalytics"] = "true"
+        }
+
+        signingConfigs {
+          SigningData.of(project.rootProject.properties("signing.properties"))?.let {
+            create("default") {
+              storeFile = file(it.storeFile)
+              storePassword = it.storePassword
+              keyAlias = it.keyAlias
+              keyPassword = it.keyPassword
+            }
+          }
+        }
+
+        compileOptions {
+          sourceCompatibility = JavaVersion.VERSION_17
+          targetCompatibility = JavaVersion.VERSION_17
+
+          isCoreLibraryDesugaringEnabled = true
+        }
+
+        testOptions {
+          unitTests.isIncludeAndroidResources = true
+        }
+
+        lint {
+          warningsAsErrors = true
+          lintConfig = file("../lint.xml")
+        }
+      }
+    }
+  }
+}
diff --git a/gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt b/gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt
new file mode 100644
index 0000000..ead4e60
--- /dev/null
+++ b/gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt
@@ -0,0 +1,37 @@
+import com.android.build.api.dsl.LibraryExtension
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.kotlin.dsl.configure
+
+class AndroidLibraryConvention : Plugin<Project> {
+  override fun apply(target: Project) {
+    with(target) {
+      with(pluginManager) {
+        apply("com.android.library")
+        apply("justjanne.kotlin.android")
+      }
+
+      extensions.configure<LibraryExtension> {
+        compileSdk = 34
+
+        defaultConfig {
+          minSdk = 21
+
+          consumerProguardFiles("proguard-rules.pro")
+
+          // Disable test runner analytics
+          testInstrumentationRunnerArguments["disableAnalytics"] = "true"
+        }
+
+        compileOptions {
+          isCoreLibraryDesugaringEnabled = true
+        }
+
+        lint {
+          warningsAsErrors = true
+          lintConfig = file("../lint.xml")
+        }
+      }
+    }
+  }
+}
diff --git a/gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt b/gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt
new file mode 100644
index 0000000..dbbe81b
--- /dev/null
+++ b/gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt
@@ -0,0 +1,46 @@
+import com.android.build.gradle.BaseExtension
+import org.gradle.api.JavaVersion
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.api.plugins.JavaPluginExtension
+import org.gradle.api.tasks.testing.Test
+import org.gradle.jvm.toolchain.JavaLanguageVersion
+import org.gradle.kotlin.dsl.configure
+import org.gradle.kotlin.dsl.withType
+import util.kotlinOptions
+
+@Suppress("UnstableApiUsage")
+class KotlinAndroidConvention : Plugin<Project> {
+  override fun apply(target: Project) {
+    with(target) {
+      with(pluginManager) {
+        apply("org.jetbrains.kotlin.android")
+      }
+
+      extensions.configure<BaseExtension> {
+        kotlinOptions {
+          freeCompilerArgs = freeCompilerArgs + listOf(
+            "-opt-in=kotlin.RequiresOptIn",
+            // Enable experimental coroutines APIs, including Flow
+            "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
+            "-opt-in=kotlinx.coroutines.FlowPreview",
+            "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
+            "-opt-in=kotlin.ExperimentalUnsignedTypes",
+          )
+
+          jvmTarget = JavaVersion.VERSION_17.toString()
+        }
+      }
+
+      tasks.withType<Test> {
+        useJUnitPlatform()
+      }
+
+      configure<JavaPluginExtension> {
+        toolchain {
+          languageVersion.set(JavaLanguageVersion.of(17))
+        }
+      }
+    }
+  }
+}
diff --git a/gradle/convention/src/main/kotlin/KotlinConvention.kt b/gradle/convention/src/main/kotlin/KotlinConvention.kt
new file mode 100644
index 0000000..d99f881
--- /dev/null
+++ b/gradle/convention/src/main/kotlin/KotlinConvention.kt
@@ -0,0 +1,45 @@
+import org.gradle.api.JavaVersion
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.api.plugins.JavaPluginExtension
+import org.gradle.api.tasks.testing.Test
+import org.gradle.jvm.toolchain.JavaLanguageVersion
+import org.gradle.kotlin.dsl.configure
+import org.gradle.kotlin.dsl.withType
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
+import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
+import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
+import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
+
+class KotlinConvention : Plugin<Project> {
+  override fun apply(target: Project) {
+    with(target) {
+      with(pluginManager) {
+        apply("org.jetbrains.kotlin.jvm")
+      }
+
+      extensions.configure<KotlinJvmProjectExtension> {
+        compilerOptions.freeCompilerArgs.addAll(
+          "-opt-in=kotlin.RequiresOptIn",
+          // Enable experimental coroutines APIs, including Flow
+          "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
+          "-opt-in=kotlinx.coroutines.FlowPreview",
+          "-opt-in=kotlin.Experimental",
+          "-opt-in=kotlin.ExperimentalUnsignedTypes",
+        )
+
+        compilerOptions.jvmTarget.set(JvmTarget.JVM_17)
+      }
+
+      tasks.withType<Test> {
+        useJUnitPlatform()
+      }
+
+      configure<JavaPluginExtension> {
+        toolchain {
+          languageVersion.set(JavaLanguageVersion.of(17))
+        }
+      }
+    }
+  }
+}
diff --git a/gradle/convention/src/main/kotlin/SigningData.kt b/gradle/convention/src/main/kotlin/SigningData.kt
new file mode 100644
index 0000000..606738e
--- /dev/null
+++ b/gradle/convention/src/main/kotlin/SigningData.kt
@@ -0,0 +1,21 @@
+import java.util.*
+
+data class SigningData(
+  val storeFile: String,
+  val storePassword: String,
+  val keyAlias: String,
+  val keyPassword: String
+) {
+  companion object {
+    fun of(properties: Properties?): SigningData? {
+      if (properties == null) return null
+
+      val storeFile = properties.getProperty("storeFile") ?: return null
+      val storePassword = properties.getProperty("storePassword") ?: return null
+      val keyAlias = properties.getProperty("keyAlias") ?: return null
+      val keyPassword = properties.getProperty("keyPassword") ?: return null
+
+      return SigningData(storeFile, storePassword, keyAlias, keyPassword)
+    }
+  }
+}
diff --git a/gradle/convention/src/main/kotlin/util/BaseExtensionExtensions.kt b/gradle/convention/src/main/kotlin/util/BaseExtensionExtensions.kt
new file mode 100644
index 0000000..667f8da
--- /dev/null
+++ b/gradle/convention/src/main/kotlin/util/BaseExtensionExtensions.kt
@@ -0,0 +1,8 @@
+package util
+
+import com.android.build.gradle.BaseExtension
+import org.gradle.api.plugins.ExtensionAware
+import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
+
+fun BaseExtension.kotlinOptions(configure: KotlinJvmOptions.() -> Unit): Unit =
+  (this as ExtensionAware).extensions.configure("kotlinOptions", configure)
diff --git a/gradle/convention/src/main/kotlin/util/ProjectExtensions.kt b/gradle/convention/src/main/kotlin/util/ProjectExtensions.kt
new file mode 100644
index 0000000..9ab40fe
--- /dev/null
+++ b/gradle/convention/src/main/kotlin/util/ProjectExtensions.kt
@@ -0,0 +1,26 @@
+package util
+
+import org.gradle.api.Project
+import java.io.ByteArrayOutputStream
+import java.util.Properties
+
+fun Project.cmd(vararg command: String) = try {
+  val stdOut = ByteArrayOutputStream()
+  exec {
+    commandLine(*command)
+    standardOutput = stdOut
+  }
+  stdOut.toString(Charsets.UTF_8.name()).trim()
+} catch (e: Throwable) {
+  e.printStackTrace()
+  null
+}
+
+fun Project.properties(fileName: String): Properties? {
+  val file = file(fileName)
+  if (!file.exists())
+    return null
+  val props = Properties()
+  props.load(file.inputStream())
+  return props
+}
diff --git a/gradle/init.gradle.kts b/gradle/init.gradle.kts
new file mode 100644
index 0000000..7f161ba
--- /dev/null
+++ b/gradle/init.gradle.kts
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2022 The Android Open Source Project
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       https://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ */
+
+val ktlintVersion = "0.48.1"
+
+initscript {
+  val spotlessVersion = "6.13.0"
+
+  repositories {
+    mavenCentral()
+  }
+
+  dependencies {
+    classpath("com.diffplug.spotless:spotless-plugin-gradle:$spotlessVersion")
+  }
+}
+
+rootProject {
+  subprojects {
+    apply<com.diffplug.gradle.spotless.SpotlessPlugin>()
+    extensions.configure<com.diffplug.gradle.spotless.SpotlessExtension> {
+      kotlin {
+        target("**/*.kt")
+        targetExclude("**/build/**/*.kt")
+        ktlint(ktlintVersion).userData(mapOf("android" to "true"))
+        licenseHeaderFile(rootProject.file("gradle/spotless/copyright.kt"))
+      }
+      format("kts") {
+        target("**/*.kts")
+        targetExclude("**/build/**/*.kts")
+        // Look for the first line that doesn't have a block comment (assumed to be the license)
+        licenseHeaderFile(rootProject.file("gradle/spotless/copyright.kts"), "(^(?![\\/ ]\\*).*$)")
+      }
+      format("xml") {
+        target("**/*.xml")
+        targetExclude("**/build/**/*.xml")
+        // Look for the first XML tag that isn't a comment (<!--) or the xml declaration (<?xml)
+        licenseHeaderFile(rootProject.file("gradle/spotless/copyright.xml"), "(<[^!?])")
+      }
+    }
+  }
+}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000..7d17d98
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,92 @@
+[versions]
+androidGradlePlugin = "8.1.3"
+androidx-activity = "1.8.0"
+androidx-appcompat = "1.6.1"
+androidx-compose-bom = "2023.10.01"
+androidx-compose-compiler = "1.5.4"
+androidx-compose-material = "1.5.0-alpha04"
+androidx-compose-material3 = "1.2.0-alpha10"
+androidx-compose-runtimetracing = "1.0.0-alpha04"
+androidx-compose-tooling = "1.6.0-alpha08"
+androidx-datastore = "1.0.0"
+androidx-hilt = "1.1.0"
+androidx-navigation = "2.7.5"
+androidx-room = "2.6.0"
+coil = "2.4.0"
+dagger-hilt = "2.48.1"
+desugar-jdk = "2.0.4"
+kotlin = "1.9.20"
+kotlin-ksp = "1.9.20-1.0.14"
+kotlinxCoroutines = "1.7.1"
+kotlinxDatetime = "0.4.0"
+kotlinxSerializationJson = "1.5.1"
+junit = "5.10.0"
+
+[libraries]
+androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
+androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" }
+
+androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
+androidx-appcompat-resources = { module = "androidx.appcompat:appcompat-resources", version.ref = "androidx-appcompat" }
+
+androidx-compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "androidx-compose-compiler" }
+androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidx-compose-bom" }
+androidx-compose-animation = { group = "androidx.compose.animation", name = "animation" }
+androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
+androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout" }
+androidx-compose-material-icons = { group = "androidx.compose.material", name = "material-icons-extended", version = "1.6.0-alpha08" }
+androidx-compose-material = { group = "androidx.compose.material3", name = "material3", version.ref = "androidx-compose-material3" }
+androidx-compose-material-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class", version.ref = "androidx-compose-material3" }
+androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
+androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata" }
+androidx-compose-runtime-tracing = { group = "androidx.compose.runtime", name = "runtime-tracing", version.ref = "androidx-compose-runtimetracing" }
+androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test" }
+androidx-compose-ui-testManifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
+androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "androidx-compose-tooling" }
+androidx-compose-ui-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "androidx-compose-tooling" }
+androidx-compose-ui-util = { group = "androidx.compose.ui", name = "ui-util" }
+
+androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" }
+
+androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "androidx-room" }
+androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
+androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
+androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "androidx-room" }
+
+coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
+
+hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "dagger-hilt" }
+hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "dagger-hilt" }
+hilt-navigation = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "androidx-hilt" }
+okhttp = { module = "com.squareup.okhttp3:okhttp", version = "4.12.0" }
+retrofit-core = { module = "com.squareup.retrofit2:retrofit", version = "2.9.0" }
+retrofit-converter-kotlinx = { module = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter", version = "1.0.0" }
+
+androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidx-navigation" }
+
+junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit" }
+junit-params = { group = "org.junit.jupiter", name = "junit-jupiter-params", version.ref = "junit" }
+junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine" }
+
+kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
+kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit5", version.ref = "kotlin" }
+kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
+kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutines" }
+kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
+kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinxDatetime" }
+kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
+
+desugar-jdk = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar-jdk" }
+
+# Dependencies of the included build-logic
+android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" }
+kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
+
+[plugins]
+android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
+android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
+android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" }
+dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "dagger-hilt" }
+kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
+kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "kotlin.ksp" }
diff --git a/gradle/spotless/copyright.kt b/gradle/spotless/copyright.kt
new file mode 100644
index 0000000..cc357e5
--- /dev/null
+++ b/gradle/spotless/copyright.kt
@@ -0,0 +1,23 @@
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2013-$YEAR Chaosdorf e.V.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
diff --git a/gradle/spotless/copyright.kts b/gradle/spotless/copyright.kts
new file mode 100644
index 0000000..cc357e5
--- /dev/null
+++ b/gradle/spotless/copyright.kts
@@ -0,0 +1,23 @@
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2013-$YEAR Chaosdorf e.V.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
diff --git a/gradle/spotless/copyright.xml b/gradle/spotless/copyright.xml
new file mode 100644
index 0000000..6c59cba
--- /dev/null
+++ b/gradle/spotless/copyright.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    The MIT License (MIT)
+
+    Copyright (c) 2013-$YEAR Chaosdorf e.V.
+
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to deal
+    in the Software without restriction, including without limitation the rights
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+    copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+    THE SOFTWARE.
+-->
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..7f93135c49b765f8051ef9d0a6055ff8e46073d8
GIT binary patch
literal 63721
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

literal 0
HcmV?d00001

diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..3fa8f86
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100755
index 0000000..1aa94a4
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,249 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#       noncompliant, but you have some other compliant shell such as ksh or
+#       bash, then to run this script, type that shell name before the whole
+#       command line, like:
+#
+#           ksh Gradle
+#
+#       Busybox and similar reduced shells will NOT work, because this script
+#       requires all of these POSIX shell features:
+#         * functions;
+#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+#         * compound commands having a testable exit status, especially «case»;
+#         * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#       by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#       The "traditional" practice of packing multiple parameters into a
+#       space-separated string is a well documented source of bugs and security
+#       problems, so this is (mostly) avoided, by progressively accumulating
+#       options in "$@", and eventually passing that to Java.
+#
+#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#       see the in-line comments for details.
+#
+#       There are tweaks for specific operating systems such as AIX, CygWin,
+#       Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#       https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       within the Gradle project.
+#
+#       You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
+    [ -h "$app_path" ]
+do
+    ls=$( ls -ld "$app_path" )
+    link=${ls#*' -> '}
+    case $link in             #(
+      /*)   app_path=$link ;; #(
+      *)    app_path=$APP_HOME$link ;;
+    esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+    echo "$*"
+} >&2
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in                #(
+  CYGWIN* )         cygwin=true  ;; #(
+  Darwin* )         darwin=true  ;; #(
+  MSYS* | MINGW* )  msys=true    ;; #(
+  NONSTOP* )        nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD=$JAVA_HOME/jre/sh/java
+    else
+        JAVACMD=$JAVA_HOME/bin/java
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD=java
+    if ! command -v java >/dev/null 2>&1
+    then
+        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+    case $MAX_FD in #(
+      max*)
+        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        MAX_FD=$( ulimit -H -n ) ||
+            warn "Could not query maximum file descriptor limit"
+    esac
+    case $MAX_FD in  #(
+      '' | soft) :;; #(
+      *)
+        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        ulimit -n "$MAX_FD" ||
+            warn "Could not set maximum file descriptor limit to $MAX_FD"
+    esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+#   * args from the command line
+#   * the main class name
+#   * -classpath
+#   * -D...appname settings
+#   * --module-path (only if needed)
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+    JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    for arg do
+        if
+            case $arg in                                #(
+              -*)   false ;;                            # don't mess with options #(
+              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
+                    [ -e "$t" ] ;;                      #(
+              *)    false ;;
+            esac
+        then
+            arg=$( cygpath --path --ignore --mixed "$arg" )
+        fi
+        # Roll the args list around exactly as many times as the number of
+        # args, so each arg winds up back in the position where it started, but
+        # possibly modified.
+        #
+        # NB: a `for` loop captures its iteration list before it begins, so
+        # changing the positional parameters here affects neither the number of
+        # iterations, nor the values presented in `arg`.
+        shift                   # remove old arg
+        set -- "$@" "$arg"      # push replacement arg
+    done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+#     and any embedded shellness will be escaped.
+#   * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+#     treated as '${Hostname}' itself on the command line.
+
+set -- \
+        "-Dorg.gradle.appname=$APP_BASE_NAME" \
+        -classpath "$CLASSPATH" \
+        org.gradle.wrapper.GradleWrapperMain \
+        "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+    die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+#   set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+        xargs -n1 |
+        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+        tr '\n' ' '
+    )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..6689b85
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,92 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/lint.xml b/lint.xml
new file mode 100644
index 0000000..eab67bd
--- /dev/null
+++ b/lint.xml
@@ -0,0 +1,53 @@
+<!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2019 Janne Mareike Koschinski
+  Copyright (c) 2019 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program. If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<lint>
+  <issue id="NewerVersionAvailable" severity="error" />
+
+  <!-- Because of course paging and room have incompatible versions -->
+  <issue id="GradleCompatible" severity="ignore" />
+
+  <!-- Because these are entirely broken -->
+  <issue id="ResourceType" severity="ignore" />
+  <issue id="UnusedResources" severity="ignore" />
+  <issue id="ObsoleteLintCustomCheck" severity="ignore" />
+  <issue id="UnusedAttribute" severity="informational" />
+
+  <!-- Because this doesn’t work when using splash themes -->
+  <issue id="Overdraw" severity="ignore" />
+
+  <!-- Can’t request a translation without a release, can’t release without translation -->
+  <issue id="MissingTranslation" severity="informational" />
+  <!-- Because we don’t use app bundles and never will use them -->
+  <issue id="AppBundleLocaleChanges" severity="informational" />
+  <!-- Because this tries to apply english orthography to other locales -->
+  <issue id="Typos" severity="ignore" />
+
+  <!-- Because Autofill isn’t a priority at the moment -->
+  <issue id="Autofill" severity="informational" />
+
+  <!-- We’re not using AGP 5 yet, and once we are, we’ll use compose anyway -->
+  <issue id="NonConstantResourceId" severity="informational" />
+
+  <!-- It’s only used for testing -->
+  <issue id="TrustAllX509TrustManager" severity="informational" />
+
+  <!-- TODO for the future -->
+  <issue id="DataExtractionRules" severity="informational" />
+</lint>
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644
index 0000000..e77b474
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1,43 @@
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2013-2023 Chaosdorf e.V.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+rootProject.name = "chatconcept"
+
+pluginManagement {
+  includeBuild("gradle/convention")
+  repositories {
+    google()
+    mavenCentral()
+    gradlePluginPortal()
+  }
+}
+
+dependencyResolutionManagement {
+  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+  repositories {
+    google()
+    mavenCentral()
+  }
+}
+
+include(":app")
-- 
GitLab