From 1673a10b26b81c7591cc919b1b7b110728b52561 Mon Sep 17 00:00:00 2001 From: Chris Assigbe Date: Wed, 14 Jan 2026 12:35:25 -0500 Subject: [PATCH 1/2] refactor NoteDatabase creation to AppModule and remove redundant companion object resolves #34 --- .../com/example/cahier/data/NoteDatabase.kt | 22 ------------------- .../java/com/example/cahier/di/AppModule.kt | 10 ++++++++- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/example/cahier/data/NoteDatabase.kt b/app/src/main/java/com/example/cahier/data/NoteDatabase.kt index 99cb16f..ccd5fba 100644 --- a/app/src/main/java/com/example/cahier/data/NoteDatabase.kt +++ b/app/src/main/java/com/example/cahier/data/NoteDatabase.kt @@ -18,9 +18,7 @@ package com.example.cahier.data -import android.content.Context import androidx.room.Database -import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.TypeConverters import com.example.cahier.ui.Converters @@ -33,24 +31,4 @@ import com.example.cahier.ui.Converters @TypeConverters(Converters::class) abstract class NoteDatabase : RoomDatabase() { abstract fun noteDao(): NoteDao - - companion object { - @Volatile - private var Instance: NoteDatabase? = null - - fun getDatabase(context: Context): NoteDatabase { - return Instance ?: synchronized(this) { - Instance ?: Room.databaseBuilder( - context, - NoteDatabase::class.java, - "note_database" - ) - .addMigrations(MIGRATION_7_8) - .build() - .also { - Instance = it - } - } - } - } } diff --git a/app/src/main/java/com/example/cahier/di/AppModule.kt b/app/src/main/java/com/example/cahier/di/AppModule.kt index 8930167..0ec1e08 100644 --- a/app/src/main/java/com/example/cahier/di/AppModule.kt +++ b/app/src/main/java/com/example/cahier/di/AppModule.kt @@ -19,7 +19,9 @@ package com.example.cahier.di import android.content.Context +import androidx.room.Room import coil3.ImageLoader +import com.example.cahier.data.MIGRATION_7_8 import com.example.cahier.data.NoteDatabase import com.example.cahier.data.NotesRepository import com.example.cahier.data.OfflineNotesRepository @@ -38,7 +40,13 @@ object AppModule { @Provides @Singleton fun provideNoteDatabase(@ApplicationContext context: Context): NoteDatabase { - return NoteDatabase.getDatabase(context) + return Room.databaseBuilder( + context, + NoteDatabase::class.java, + "note_database" + ) + .addMigrations(MIGRATION_7_8) + .build() } @Provides From aee4caae8f77e1059148029adb8f93fb3f2dad38 Mon Sep 17 00:00:00 2001 From: Chris Assigbe Date: Wed, 14 Jan 2026 12:53:01 -0500 Subject: [PATCH 2/2] address Gemini Code Assist comment --- app/src/main/java/com/example/cahier/data/NoteDatabase.kt | 4 ++++ app/src/main/java/com/example/cahier/di/AppModule.kt | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/cahier/data/NoteDatabase.kt b/app/src/main/java/com/example/cahier/data/NoteDatabase.kt index ccd5fba..c4f8616 100644 --- a/app/src/main/java/com/example/cahier/data/NoteDatabase.kt +++ b/app/src/main/java/com/example/cahier/data/NoteDatabase.kt @@ -31,4 +31,8 @@ import com.example.cahier.ui.Converters @TypeConverters(Converters::class) abstract class NoteDatabase : RoomDatabase() { abstract fun noteDao(): NoteDao + + companion object { + const val DATABASE_NAME = "note_database" + } } diff --git a/app/src/main/java/com/example/cahier/di/AppModule.kt b/app/src/main/java/com/example/cahier/di/AppModule.kt index 0ec1e08..82b805e 100644 --- a/app/src/main/java/com/example/cahier/di/AppModule.kt +++ b/app/src/main/java/com/example/cahier/di/AppModule.kt @@ -43,7 +43,7 @@ object AppModule { return Room.databaseBuilder( context, NoteDatabase::class.java, - "note_database" + NoteDatabase.DATABASE_NAME ) .addMigrations(MIGRATION_7_8) .build()