diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 2df14bed..0cf9423a 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -12,10 +12,10 @@
+
-
diff --git a/app/build.gradle b/app/build.gradle
index b269f2a4..15a9262c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,7 +1,6 @@
plugins {
id 'com.android.application'
id 'kotlin-android'
- id 'kotlin-kapt'
}
android {
@@ -14,16 +13,6 @@ android {
targetSdkVersion 30
versionCode 1
versionName "1.0"
-
- javaCompileOptions {
- annotationProcessorOptions {
- arguments = [
- "room.incremental" : "true",
- "room.expandProjection": "true"
- ]
- }
- }
-
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -33,14 +22,16 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+
compileOptions {
- coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+
buildFeatures {
compose true
}
+
composeOptions {
kotlinCompilerVersion '1.4.0'
kotlinCompilerExtensionVersion "${compose_version}"
@@ -56,7 +47,7 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
dependencies {
- kapt "androidx.room:room-compiler:$room_version"
+ implementation(project(":data"))
implementation 'androidx.core:core-ktx:1.5.0-alpha02'
implementation 'androidx.appcompat:appcompat:1.3.0-alpha02'
implementation "androidx.compose.foundation:foundation:$compose_version"
@@ -69,13 +60,10 @@ dependencies {
implementation "androidx.compose.ui:ui-text:$compose_version"
implementation "androidx.compose.ui:ui-text-android:$compose_version"
implementation "androidx.compose.ui:ui-unit:$compose_version"
- implementation "androidx.room:room-runtime:$room_version"
- implementation "androidx.room:room-ktx:$room_version"
implementation "androidx.ui:ui-tooling:$compose_version"
implementation 'com.google.android.material:material:1.3.0-alpha02'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation "androidx.ui:ui-test:$compose_version"
- coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.0.10"
}
diff --git a/data/.gitignore b/data/.gitignore
new file mode 100644
index 00000000..42afabfd
--- /dev/null
+++ b/data/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/data/build.gradle b/data/build.gradle
new file mode 100644
index 00000000..4d931b88
--- /dev/null
+++ b/data/build.gradle
@@ -0,0 +1,38 @@
+plugins {
+ id 'com.android.library'
+ id 'kotlin-android'
+ id 'kotlin-kapt'
+}
+
+android {
+ compileSdkVersion 30
+ buildToolsVersion "30.0.2"
+
+ defaultConfig {
+ minSdkVersion 23
+ targetSdkVersion 30
+ versionCode 1
+ versionName "1.0"
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ compileOptions {
+ coreLibraryDesugaringEnabled true
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+}
+
+dependencies {
+ kapt "androidx.room:room-compiler:$room_version"
+ api "androidx.room:room-runtime:$room_version"
+ api "androidx.room:room-ktx:$room_version"
+ testImplementation 'junit:junit:4.13'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+ coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.0.10"
+}
diff --git a/data/src/main/AndroidManifest.xml b/data/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..6ca79db8
--- /dev/null
+++ b/data/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/dev/msfjarvis/todo/data/model/TodoItem.kt b/data/src/main/java/dev/msfjarvis/todo/data/model/TodoItem.kt
similarity index 85%
rename from app/src/main/java/dev/msfjarvis/todo/data/model/TodoItem.kt
rename to data/src/main/java/dev/msfjarvis/todo/data/model/TodoItem.kt
index bd2a2ca8..a34a51a2 100644
--- a/app/src/main/java/dev/msfjarvis/todo/data/model/TodoItem.kt
+++ b/data/src/main/java/dev/msfjarvis/todo/data/model/TodoItem.kt
@@ -1,12 +1,10 @@
package dev.msfjarvis.todo.data.model
-import androidx.compose.runtime.Immutable
import androidx.room.Entity
import androidx.room.PrimaryKey
import java.time.LocalDateTime
import java.time.ZoneId
-@Immutable
@Entity(
tableName = "todo_items",
)
diff --git a/app/src/main/java/dev/msfjarvis/todo/data/source/DateTimeTypeConverters.kt b/data/src/main/java/dev/msfjarvis/todo/data/source/DateTimeTypeConverters.kt
similarity index 100%
rename from app/src/main/java/dev/msfjarvis/todo/data/source/DateTimeTypeConverters.kt
rename to data/src/main/java/dev/msfjarvis/todo/data/source/DateTimeTypeConverters.kt
diff --git a/app/src/main/java/dev/msfjarvis/todo/data/source/TodoDatabase.kt b/data/src/main/java/dev/msfjarvis/todo/data/source/TodoDatabase.kt
similarity index 100%
rename from app/src/main/java/dev/msfjarvis/todo/data/source/TodoDatabase.kt
rename to data/src/main/java/dev/msfjarvis/todo/data/source/TodoDatabase.kt
diff --git a/app/src/main/java/dev/msfjarvis/todo/data/source/TodoItemDao.kt b/data/src/main/java/dev/msfjarvis/todo/data/source/TodoItemDao.kt
similarity index 100%
rename from app/src/main/java/dev/msfjarvis/todo/data/source/TodoItemDao.kt
rename to data/src/main/java/dev/msfjarvis/todo/data/source/TodoItemDao.kt
diff --git a/settings.gradle b/settings.gradle
index 2b3f68fe..6f56f806 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,2 +1,3 @@
rootProject.name = "Compose-ToDo"
include ':app'
+include ':data'