Skip to content

Commit 7132ab0

Browse files
committed
Remove ids.xml from the data module
1 parent 713e0b1 commit 7132ab0

6 files changed

Lines changed: 32 additions & 29 deletions

File tree

‎app/src/main/java/io/github/deweyreed/timer/di/OtherModule.kt‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.github.deweyreed.timer.di
22

3+
import android.app.Application
34
import android.content.Context
45
import android.content.Intent
56
import dagger.Binds
@@ -16,8 +17,11 @@ import xyz.aprildown.timer.app.base.ui.StepUpdater
1617
import xyz.aprildown.timer.app.timer.edit.UpdateStepDialog
1718
import xyz.aprildown.timer.app.timer.run.MachineService
1819
import xyz.aprildown.timer.domain.repositories.AppPreferencesProvider
20+
import xyz.aprildown.timer.domain.repositories.NotifierRepository
1921
import xyz.aprildown.timer.presentation.StreamMachineIntentProvider
2022
import xyz.aprildown.timer.presentation.stream.TimerIndex
23+
import javax.inject.Named
24+
import xyz.aprildown.timer.app.base.R as RBase
2125

2226
@Module
2327
@InstallIn(SingletonComponent::class)
@@ -72,5 +76,11 @@ abstract class OtherModule {
7276

7377
@Provides
7478
fun provideStepUpdater(): StepUpdater = UpdateStepDialog
79+
80+
@Provides
81+
@Named(NotifierRepository.NAMED_DEFAULT_NOTIFIER_NAME)
82+
fun provideDefaultNotifierName(context: Application): String {
83+
return context.getString(RBase.string.edit_default_notifier_name)
84+
}
7585
}
7686
}

‎data/src/androidTest/java/xyz/aprildown/timer/data/db/MachineDatabaseMigratingTest.kt‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package xyz.aprildown.timer.data.db
22

3-
import android.content.Context
43
import androidx.room.testing.MigrationTestHelper
54
import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory
6-
import androidx.test.core.app.ApplicationProvider
75
import androidx.test.ext.junit.runners.AndroidJUnit4
86
import androidx.test.filters.SmallTest
97
import androidx.test.platform.app.InstrumentationRegistry
@@ -35,7 +33,6 @@ class MachineDatabaseMigratingTest {
3533

3634
private fun migrationTest(fromNth: Int, toNth: Int) {
3735
val db = testHelper.createDatabase(MachineDatabase.DB_NAME, fromNth)
38-
val context = ApplicationProvider.getApplicationContext<Context>()
3936
testHelper.runMigrationsAndValidate(
4037
MachineDatabase.DB_NAME,
4138
toNth,
@@ -46,7 +43,7 @@ class MachineDatabaseMigratingTest {
4643
MachineDatabase.getMigration4to5(),
4744
MachineDatabase.getMigration5to6(),
4845
MachineDatabase.getMigration6to7(),
49-
MachineDatabase.getMigration7to8(context),
46+
MachineDatabase.getMigration7to8(),
5047
)
5148
testHelper.closeWhenFinished(db)
5249
}

‎data/src/main/java/xyz/aprildown/timer/data/db/MachineDatabase.kt‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import androidx.room.RoomDatabase
1111
import androidx.room.TypeConverters
1212
import androidx.room.migration.Migration
1313
import androidx.sqlite.db.SupportSQLiteDatabase
14-
import xyz.aprildown.timer.data.R
1514
import xyz.aprildown.timer.data.datas.FolderData
1615
import xyz.aprildown.timer.data.datas.SchedulerData
1716
import xyz.aprildown.timer.data.datas.StepData
@@ -49,42 +48,43 @@ abstract class MachineDatabase : RoomDatabase() {
4948

5049
const val DB_VERSION = 8
5150

52-
private fun Builder<MachineDatabase>.addMyMigrations(context: Context): Builder<MachineDatabase> {
51+
private fun Builder<MachineDatabase>.addMyMigrations(): Builder<MachineDatabase> {
5352
addMigrations(getMigration1to2())
5453
addMigrations(getMigration2to3())
5554
addMigrations(getMigration3to4())
5655
addMigrations(getMigration4to5())
5756
addMigrations(getMigration5to6())
5857
addMigrations(getMigration6to7())
59-
addMigrations(getMigration7to8(context))
58+
addMigrations(getMigration7to8())
6059
return this
6160
}
6261

63-
private fun Builder<MachineDatabase>.addCallback(context: Context): Builder<MachineDatabase> {
62+
private fun Builder<MachineDatabase>.addCallback(): Builder<MachineDatabase> {
6463
return addCallback(
6564
object : Callback() {
6665
override fun onCreate(db: SupportSQLiteDatabase) {
67-
addHostFolders(context, db)
66+
addHostFolders(db)
6867
}
6968
}
7069
)
7170
}
7271

73-
private fun addHostFolders(context: Context, db: SupportSQLiteDatabase) {
72+
private fun addHostFolders(db: SupportSQLiteDatabase) {
73+
// Names are empty because we populate them at runtime.
7474
db.insert(
7575
"Folder",
7676
SQLiteDatabase.CONFLICT_IGNORE,
7777
contentValuesOf(
7878
"id" to FolderEntity.FOLDER_DEFAULT,
79-
"name" to context.getString(R.string.folder_default),
79+
"name" to "",
8080
)
8181
)
8282
db.insert(
8383
"Folder",
8484
SQLiteDatabase.CONFLICT_IGNORE,
8585
contentValuesOf(
8686
"id" to FolderEntity.FOLDER_TRASH,
87-
"name" to context.getString(R.string.folder_trash),
87+
"name" to "",
8888
)
8989
)
9090
}
@@ -93,8 +93,8 @@ abstract class MachineDatabase : RoomDatabase() {
9393
fun createInMemoryDatabase(context: Context): MachineDatabase {
9494
return Room.inMemoryDatabaseBuilder(context, MachineDatabase::class.java)
9595
.allowMainThreadQueries()
96-
.addMyMigrations(context)
97-
.addCallback(context)
96+
.addMyMigrations()
97+
.addCallback()
9898
.build()
9999
}
100100

@@ -104,8 +104,8 @@ abstract class MachineDatabase : RoomDatabase() {
104104
MachineDatabase::class.java,
105105
DB_NAME
106106
)
107-
.addMyMigrations(context)
108-
.addCallback(context)
107+
.addMyMigrations()
108+
.addCallback()
109109
.build()
110110
}
111111

@@ -209,7 +209,7 @@ abstract class MachineDatabase : RoomDatabase() {
209209
* Add [FolderData] and [TimerData.folderId].
210210
*/
211211
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
212-
fun getMigration7to8(context: Context): Migration = object : Migration(7, 8) {
212+
fun getMigration7to8(): Migration = object : Migration(7, 8) {
213213
override fun migrate(database: SupportSQLiteDatabase) {
214214
database.execSQL(
215215
"ALTER TABLE TimerItem " +
@@ -219,7 +219,7 @@ abstract class MachineDatabase : RoomDatabase() {
219219
"CREATE TABLE IF NOT EXISTS `Folder` " +
220220
"(`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL)"
221221
)
222-
addHostFolders(context, database)
222+
addHostFolders(database)
223223
}
224224
}
225225
}

‎data/src/main/java/xyz/aprildown/timer/data/repositories/NotifierRepositoryImpl.kt‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package xyz.aprildown.timer.data.repositories
22

3-
import android.content.Context
43
import android.content.SharedPreferences
54
import androidx.annotation.VisibleForTesting
65
import com.squareup.moshi.Moshi
76
import dagger.Reusable
8-
import dagger.hilt.android.qualifiers.ApplicationContext
9-
import xyz.aprildown.timer.data.R
107
import xyz.aprildown.timer.data.datas.StepData
118
import xyz.aprildown.timer.data.json.BehaviourDataJsonAdapter
129
import xyz.aprildown.timer.data.mappers.StepOnlyMapper
@@ -16,12 +13,13 @@ import xyz.aprildown.timer.domain.entities.StepEntity
1613
import xyz.aprildown.timer.domain.entities.StepType
1714
import xyz.aprildown.timer.domain.repositories.NotifierRepository
1815
import javax.inject.Inject
16+
import javax.inject.Named
1917

2018
@Reusable
2119
internal class NotifierRepositoryImpl @Inject constructor(
22-
@ApplicationContext private val context: Context,
2320
private val sharedPreferences: SharedPreferences,
2421
private val stepOnlyMapper: StepOnlyMapper,
22+
@Named(NotifierRepository.NAMED_DEFAULT_NOTIFIER_NAME) private val defaultNotifierName: String,
2523
) : NotifierRepository {
2624

2725
override suspend fun get(): StepEntity.Step {
@@ -69,7 +67,7 @@ internal class NotifierRepositoryImpl @Inject constructor(
6967
}
7068

7169
private fun translatedDefaultNotifier(): StepEntity.Step {
72-
return getDefaultNotifier().copy(label = context.getString(R.string.edit_default_notifier_name))
70+
return getDefaultNotifier().copy(label = defaultNotifierName)
7371
}
7472

7573
companion object {

‎data/src/main/res/values/ids.xml‎

Lines changed: 0 additions & 6 deletions
This file was deleted.

‎domain/src/main/java/xyz/aprildown/timer/domain/repositories/NotifierRepository.kt‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@ import xyz.aprildown.timer.domain.entities.StepEntity
55
interface NotifierRepository {
66
suspend fun get(): StepEntity.Step
77
suspend fun set(item: StepEntity.Step?): Boolean
8+
9+
companion object {
10+
const val NAMED_DEFAULT_NOTIFIER_NAME = "default_notifier_name"
11+
}
812
}

0 commit comments

Comments
 (0)