From cffc5f8e84d1758d0350dfc016295ec7d6ad7462 Mon Sep 17 00:00:00 2001 From: razeeman Date: Sun, 3 May 2020 11:00:09 +0300 Subject: [PATCH] add data local module --- app/build.gradle | 4 +-- .../util/simpletimetracker/di/AppModule.kt | 6 ++-- data_local/.gitignore | 1 + data_local/build.gradle | 29 +++++++++++++++++++ .../data_local/ExampleInstrumentedTest.kt | 24 +++++++++++++++ data_local/src/main/AndroidManifest.xml | 1 + .../data_local}/AppDatabase.kt | 2 +- .../data_local}/RecordDBO.kt | 2 +- .../data_local}/RecordDao.kt | 2 +- .../data_local}/RecordDataLocalMapper.kt | 2 +- .../data_local}/RecordRepo.kt | 2 +- .../data_local/ExampleUnitTest.kt | 17 +++++++++++ settings.gradle | 1 + 13 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 data_local/.gitignore create mode 100644 data_local/build.gradle create mode 100644 data_local/src/androidTest/java/com/example/util/simpletimetracker/data_local/ExampleInstrumentedTest.kt create mode 100644 data_local/src/main/AndroidManifest.xml rename {app/src/main/java/com/example/util/simpletimetracker/data => data_local/src/main/java/com/example/util/simpletimetracker/data_local}/AppDatabase.kt (84%) rename {app/src/main/java/com/example/util/simpletimetracker/data => data_local/src/main/java/com/example/util/simpletimetracker/data_local}/RecordDBO.kt (87%) rename {app/src/main/java/com/example/util/simpletimetracker/data => data_local/src/main/java/com/example/util/simpletimetracker/data_local}/RecordDao.kt (84%) rename {app/src/main/java/com/example/util/simpletimetracker/data => data_local/src/main/java/com/example/util/simpletimetracker/data_local}/RecordDataLocalMapper.kt (91%) rename {app/src/main/java/com/example/util/simpletimetracker/data => data_local/src/main/java/com/example/util/simpletimetracker/data_local}/RecordRepo.kt (92%) create mode 100644 data_local/src/test/java/com/example/util/simpletimetracker/data_local/ExampleUnitTest.kt diff --git a/app/build.gradle b/app/build.gradle index 91386cbd..7cc39800 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -37,6 +37,7 @@ android { dependencies { implementation project(':domain') + implementation project(':data_local') implementation deps.androidx.appcompat implementation deps.androidx.constraintlayout @@ -50,13 +51,10 @@ dependencies { implementation deps.ktx.livedata_core implementation deps.ktx.livedata implementation deps.ktx.viewmodel - implementation deps.ktx.room - kapt deps.kapt.room kapt deps.kapt.dagger testImplementation deps.test.junit - androidTestImplementation deps.uitest.junit androidTestImplementation deps.uitest.espresso } diff --git a/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt b/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt index 86e19ae0..0c9f233c 100644 --- a/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt +++ b/app/src/main/java/com/example/util/simpletimetracker/di/AppModule.kt @@ -3,9 +3,9 @@ package com.example.util.simpletimetracker.di import android.content.Context import androidx.room.Room import com.example.util.simpletimetracker.TimeTrackerApp -import com.example.util.simpletimetracker.data.AppDatabase -import com.example.util.simpletimetracker.data.RecordDao -import com.example.util.simpletimetracker.data.RecordRepo +import com.example.util.simpletimetracker.data_local.AppDatabase +import com.example.util.simpletimetracker.data_local.RecordDao +import com.example.util.simpletimetracker.data_local.RecordRepo import com.example.util.simpletimetracker.domain.BaseRecordRepo import dagger.Module import dagger.Provides diff --git a/data_local/.gitignore b/data_local/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/data_local/.gitignore @@ -0,0 +1 @@ +/build diff --git a/data_local/build.gradle b/data_local/build.gradle new file mode 100644 index 00000000..1a2e16c4 --- /dev/null +++ b/data_local/build.gradle @@ -0,0 +1,29 @@ +apply from: "$rootDir/deps.gradle" + +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' + +android { + compileSdkVersion base.currentSDK + + defaultConfig { + minSdkVersion base.minSDK + targetSdkVersion base.currentSDK + versionCode base.versionCode + versionName base.versionName + } +} + +dependencies { + implementation project(':domain') + + implementation deps.androidx.room + implementation deps.ktx.room + kapt deps.kapt.room + + testImplementation deps.test.junit + androidTestImplementation deps.uitest.junit + androidTestImplementation deps.uitest.espresso +} diff --git a/data_local/src/androidTest/java/com/example/util/simpletimetracker/data_local/ExampleInstrumentedTest.kt b/data_local/src/androidTest/java/com/example/util/simpletimetracker/data_local/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..b023cf8e --- /dev/null +++ b/data_local/src/androidTest/java/com/example/util/simpletimetracker/data_local/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.example.util.simpletimetracker.data_local + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.example.util.simpletimetracker.data_local.test", appContext.packageName) + } +} diff --git a/data_local/src/main/AndroidManifest.xml b/data_local/src/main/AndroidManifest.xml new file mode 100644 index 00000000..b1fcf984 --- /dev/null +++ b/data_local/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/app/src/main/java/com/example/util/simpletimetracker/data/AppDatabase.kt b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/AppDatabase.kt similarity index 84% rename from app/src/main/java/com/example/util/simpletimetracker/data/AppDatabase.kt rename to data_local/src/main/java/com/example/util/simpletimetracker/data_local/AppDatabase.kt index e5a951c1..aec354e2 100644 --- a/app/src/main/java/com/example/util/simpletimetracker/data/AppDatabase.kt +++ b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/AppDatabase.kt @@ -1,4 +1,4 @@ -package com.example.util.simpletimetracker.data +package com.example.util.simpletimetracker.data_local import androidx.room.Database import androidx.room.RoomDatabase diff --git a/app/src/main/java/com/example/util/simpletimetracker/data/RecordDBO.kt b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDBO.kt similarity index 87% rename from app/src/main/java/com/example/util/simpletimetracker/data/RecordDBO.kt rename to data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDBO.kt index 825c70b6..ed478bed 100644 --- a/app/src/main/java/com/example/util/simpletimetracker/data/RecordDBO.kt +++ b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDBO.kt @@ -1,4 +1,4 @@ -package com.example.util.simpletimetracker.data +package com.example.util.simpletimetracker.data_local import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/com/example/util/simpletimetracker/data/RecordDao.kt b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDao.kt similarity index 84% rename from app/src/main/java/com/example/util/simpletimetracker/data/RecordDao.kt rename to data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDao.kt index b4a314c5..6babcc38 100644 --- a/app/src/main/java/com/example/util/simpletimetracker/data/RecordDao.kt +++ b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDao.kt @@ -1,4 +1,4 @@ -package com.example.util.simpletimetracker.data +package com.example.util.simpletimetracker.data_local import androidx.room.Dao import androidx.room.Insert diff --git a/app/src/main/java/com/example/util/simpletimetracker/data/RecordDataLocalMapper.kt b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDataLocalMapper.kt similarity index 91% rename from app/src/main/java/com/example/util/simpletimetracker/data/RecordDataLocalMapper.kt rename to data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDataLocalMapper.kt index cd90833c..079aed0e 100644 --- a/app/src/main/java/com/example/util/simpletimetracker/data/RecordDataLocalMapper.kt +++ b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordDataLocalMapper.kt @@ -1,4 +1,4 @@ -package com.example.util.simpletimetracker.data +package com.example.util.simpletimetracker.data_local import com.example.util.simpletimetracker.domain.Record import javax.inject.Inject diff --git a/app/src/main/java/com/example/util/simpletimetracker/data/RecordRepo.kt b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordRepo.kt similarity index 92% rename from app/src/main/java/com/example/util/simpletimetracker/data/RecordRepo.kt rename to data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordRepo.kt index 632e4bdf..c0af4894 100644 --- a/app/src/main/java/com/example/util/simpletimetracker/data/RecordRepo.kt +++ b/data_local/src/main/java/com/example/util/simpletimetracker/data_local/RecordRepo.kt @@ -1,4 +1,4 @@ -package com.example.util.simpletimetracker.data +package com.example.util.simpletimetracker.data_local import com.example.util.simpletimetracker.domain.BaseRecordRepo import com.example.util.simpletimetracker.domain.Record diff --git a/data_local/src/test/java/com/example/util/simpletimetracker/data_local/ExampleUnitTest.kt b/data_local/src/test/java/com/example/util/simpletimetracker/data_local/ExampleUnitTest.kt new file mode 100644 index 00000000..4fff702c --- /dev/null +++ b/data_local/src/test/java/com/example/util/simpletimetracker/data_local/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.example.util.simpletimetracker.data_local + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} diff --git a/settings.gradle b/settings.gradle index 155cbce3..1047844c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,4 @@ rootProject.name='Simple Time Tracker' include ':app' include ':domain' +include ':data_local' -- 2.51.2