diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/notes/Constants.kt index adc6f0f4..aa02a96b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/Constants.kt @@ -17,3 +17,7 @@ val FONT_SIZE_SMALL = 0 val FONT_SIZE_MEDIUM = 1 val FONT_SIZE_LARGE = 2 val FONT_SIZE_EXTRA_LARGE = 3 + +// note types +val TYPE_NOTE = 0 +val TYPE_CHECKLIST = 1 diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt index 966e91ba..11d1334a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt @@ -15,6 +15,7 @@ import android.view.inputmethod.InputMethodManager import android.widget.EditText import com.simplemobiletools.notes.MyWidgetProvider import com.simplemobiletools.notes.R +import com.simplemobiletools.notes.TYPE_NOTE import com.simplemobiletools.notes.Utils import com.simplemobiletools.notes.databases.DBHelper import com.simplemobiletools.notes.dialogs.OpenNoteDialog @@ -139,7 +140,7 @@ class MainActivity : SimpleActivity(), OpenNoteDialog.OpenNoteListener { toast(R.string.title_taken) } else { saveText() - val newNote = Note(0, title, "") + val newNote = Note(0, title, "", TYPE_NOTE) val id = mDb.insertNote(newNote) updateSelectedNote(id) dismiss() diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/databases/DBHelper.kt b/app/src/main/kotlin/com/simplemobiletools/notes/databases/DBHelper.kt index 6f57cf0f..5f053c11 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/databases/DBHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/databases/DBHelper.kt @@ -7,6 +7,7 @@ import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper import com.simplemobiletools.notes.PREFS_KEY import com.simplemobiletools.notes.TEXT +import com.simplemobiletools.notes.TYPE_NOTE import com.simplemobiletools.notes.models.Note import java.util.* @@ -15,13 +16,14 @@ class DBHelper private constructor(private val mContext: Context) : SQLiteOpenHe companion object { private val DB_NAME = "notes.db" - private val DB_VERSION = 1 + private val DB_VERSION = 2 private val TABLE_NAME = "notes" private val NOTE = "General note" private val COL_ID = "id" private val COL_TITLE = "title" private val COL_VALUE = "value" + private val COL_TYPE = "type" fun newInstance(context: Context) = DBHelper(context) } @@ -31,18 +33,18 @@ class DBHelper private constructor(private val mContext: Context) : SQLiteOpenHe } override fun onCreate(db: SQLiteDatabase) { - db.execSQL("CREATE TABLE $TABLE_NAME ($COL_ID INTEGER PRIMARY KEY, $COL_TITLE TEXT UNIQUE, $COL_VALUE TEXT)") + db.execSQL("CREATE TABLE $TABLE_NAME ($COL_ID INTEGER PRIMARY KEY, $COL_TITLE TEXT UNIQUE, $COL_VALUE TEXT, $COL_TYPE INTEGER DEFAULT 0)") insertFirstNote(db) } override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) { - + db.execSQL("ALTER TABLE $TABLE_NAME ADD COLUMN $COL_TYPE INTEGER DEFAULT 0") } private fun insertFirstNote(db: SQLiteDatabase) { val prefs = mContext.getSharedPreferences(PREFS_KEY, Context.MODE_PRIVATE) val text = prefs.getString(TEXT, "") - val note = Note(1, NOTE, text) + val note = Note(1, NOTE, text, TYPE_NOTE) insertNote(note, db) } @@ -60,6 +62,7 @@ class DBHelper private constructor(private val mContext: Context) : SQLiteOpenHe return ContentValues().apply { put(COL_TITLE, note.title) put(COL_VALUE, note.value) + put(COL_TYPE, 0) } } @@ -79,7 +82,7 @@ class DBHelper private constructor(private val mContext: Context) : SQLiteOpenHe fun getNotes(): List { val notes = ArrayList() - val cols = arrayOf(COL_ID, COL_TITLE, COL_VALUE) + val cols = arrayOf(COL_ID, COL_TITLE, COL_VALUE, COL_TYPE) var cursor: Cursor? = null try { cursor = mDb.query(TABLE_NAME, cols, null, null, null, null, "$COL_TITLE COLLATE NOCASE ASC") @@ -88,7 +91,8 @@ class DBHelper private constructor(private val mContext: Context) : SQLiteOpenHe val id = cursor.getInt(cursor.getColumnIndex(COL_ID)) val title = cursor.getString(cursor.getColumnIndex(COL_TITLE)) val value = cursor.getString(cursor.getColumnIndex(COL_VALUE)) - val note = Note(id, title, value) + val type = cursor.getInt(cursor.getColumnIndex(COL_TYPE)) + val note = Note(id, title, value, type) notes.add(note) } while (cursor.moveToNext()) } @@ -100,7 +104,7 @@ class DBHelper private constructor(private val mContext: Context) : SQLiteOpenHe } fun getNote(id: Int): Note? { - val cols = arrayOf(COL_TITLE, COL_VALUE) + val cols = arrayOf(COL_TITLE, COL_VALUE, COL_TYPE) val selection = "$COL_ID = ?" val selectionArgs = arrayOf(id.toString()) var note: Note? = null @@ -110,7 +114,8 @@ class DBHelper private constructor(private val mContext: Context) : SQLiteOpenHe if (cursor != null && cursor.moveToFirst()) { val title = cursor.getString(cursor.getColumnIndex(COL_TITLE)) val value = cursor.getString(cursor.getColumnIndex(COL_VALUE)) - note = Note(id, title, value) + val type = cursor.getInt(cursor.getColumnIndex(COL_TYPE)) + note = Note(id, title, value, type) } } finally { cursor?.close() diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt b/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt index 8eb46440..0a1afdc1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/models/Note.kt @@ -1,8 +1,8 @@ package com.simplemobiletools.notes.models -class Note(var id: Int, var title: String, var value: String) { +class Note(var id: Int, var title: String, var value: String, val type: Int) { override fun equals(other: Any?) = other != null && this.toString() == other.toString() - override fun toString() = "Note {id=$id, title=$title, value=$value}" + override fun toString() = "Note {id=$id, title=$title, value=$value, type=$type}" }