소스 검색

fix: apparently I don't respect sqlite enough so it's showing me flames

beautusg 7 년 전
부모
커밋
0d736deaeb

+ 3 - 3
app/src/main/java/com/sduduzog/slimlauncher/data/BaseDatabase.kt

@@ -22,7 +22,7 @@ abstract class BaseDatabase : RoomDatabase() {
         private var INSTANCE: BaseDatabase? = null
 
         fun getDatabase(context: Context): BaseDatabase? {
-            synchronized(Database::class.java) {
+            synchronized(BaseDatabase::class.java) {
                 if (INSTANCE == null) {
                     INSTANCE = Room.databaseBuilder(context.applicationContext,
                             BaseDatabase::class.java, "app_database")
@@ -69,9 +69,9 @@ abstract class BaseDatabase : RoomDatabase() {
         private val MIGRATION_4_5 = object : Migration(4, 5) {
             override fun migrate(database: SupportSQLiteDatabase) {
                 database.execSQL("ALTER TABLE `notes` RENAME TO `notes_old`")
-                database.execSQL("CREATE TABLE IF NOT EXISTS `notes` (`id` INTEGER PRIMARY KEY, `body` TEXT NOT NULL, `title` TEXT, `edited` INTEGER NOT NULL)")
+                database.execSQL("CREATE TABLE IF NOT EXISTS `notes` (`id` INTEGER PRIMARY KEY NOT NULL, `body` TEXT NOT NULL, `title` TEXT, `edited` INTEGER NOT NULL)")
                 database.execSQL("INSERT INTO `notes` (`id`, `body`, `edited`, `title`) SELECT `id`, `body`, `edited`, `title` FROM `notes_old`")
-                database.execSQL("ALTER TABLE `notes` ADD COLUMN `is_voice` INTEGER NOT NULL DEFAULT 0")
+                database.execSQL("ALTER TABLE `notes` ADD COLUMN `type` INTEGER NOT NULL DEFAULT 0")
                 database.execSQL("ALTER TABLE `notes` ADD COLUMN `path` TEXT")
             }
         }

+ 10 - 5
app/src/main/java/com/sduduzog/slimlauncher/data/model/Note.kt

@@ -13,12 +13,17 @@ data class Note(
         var id: Long,
         @field:ColumnInfo(name = "body")
         var body: String,
-        @field:ColumnInfo(name = "edited")
-        var edited: Long = -1L,
-        @field:ColumnInfo(name = "is_voice")
-        var is_voice: Boolean = false,
         @field:ColumnInfo(name = "title")
         var title: String? = null,
+        @field:ColumnInfo(name = "edited")
+        var edited: Long = -1L,
+        @field:ColumnInfo(name = "type")
+        var type: Int = 0,
         @field:ColumnInfo(name = "path")
         var path: String? = null
-) : Serializable
+) : Serializable {
+    companion object {
+        const val TYPE_TEXT = 0
+        const val TYPE_VOICE = 2
+    }
+}

+ 3 - 3
app/src/main/java/com/sduduzog/slimlauncher/ui/main/NotesFragment.kt

@@ -116,12 +116,12 @@ class NotesFragment : BaseFragment(), OnShitDoneToNotesListener {
     override fun onView(note: Note) {
         val bundle = Bundle()
         bundle.putLong(getString(R.string.nav_key_note), note.id)
-        if (note.is_voice)
+        if (note.type == Note.TYPE_TEXT)
             Navigation.findNavController(notes_fragment)
-                    .navigate(R.id.action_notesFragment_to_voiceNoteFragment, bundle)
+                    .navigate(R.id.action_notesFragment_to_noteFragment, bundle)
         else
             Navigation.findNavController(notes_fragment)
-                    .navigate(R.id.action_notesFragment_to_noteFragment, bundle)
+                    .navigate(R.id.action_notesFragment_to_voiceNoteFragment, bundle)
     }
 
     override fun onDelete(note: Note) {

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/ui/notes/EditNoteFragment.kt

@@ -77,7 +77,7 @@ class EditNoteFragment : BaseFragment() {
         val title = edit_note_fragment_title.text.toString()
         val timestamp = Date().time
         if (note.id == -1L) {
-            val newNote = Note(timestamp, body, timestamp)
+            val newNote = Note(timestamp, body, edited = timestamp)
             newNote.title = title.trim()
             newNote.body = body.trim()
             viewModel.add(newNote)

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/utils/VoiceRecorder.kt

@@ -26,7 +26,7 @@ class VoiceRecorder private constructor() {
         val title = "Voice note : ${DateFormat.getDateInstance().format(Date(timestamp))}"
         val body = "Recorded at ${DateFormat.getTimeInstance().format(Date(timestamp))}"
         val path = "$fileName/$timestamp.3gp"
-        note = Note(timestamp, body, timestamp, true).apply { this.title = title; this.path = path }
+        note = Note(timestamp, body, title, timestamp, Note.TYPE_VOICE, path)
         mediaRecorder?.setAudioSource(MediaRecorder.AudioSource.MIC)
         mediaRecorder?.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
         mediaRecorder?.setOutputFile(path)

+ 1 - 2
app/src/main/res/layout/home_fragment.xml

@@ -5,8 +5,7 @@
     android:id="@+id/home_fragment"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    app:layoutDescription="@xml/home_motion_scene"
-    tools:showPaths="true">
+    app:layoutDescription="@xml/home_motion_scene">
 
     <TextView
         android:id="@+id/home_fragment_time"