|
|
|
@ -26,7 +26,6 @@ import net.micode.notes.data.Notes.DataColumns;
|
|
|
|
|
import net.micode.notes.data.Notes.DataConstants;
|
|
|
|
|
import net.micode.notes.data.Notes.NoteColumns;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
private static final String DB_NAME = "note.db";
|
|
|
|
|
|
|
|
|
@ -83,7 +82,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
TABLE.DATA + "(" + DataColumns.NOTE_ID + ");";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Increase folder's note count when move note to the folder
|
|
|
|
|
* 增加文件夹的笔记数量,当移动笔记到文件夹时
|
|
|
|
|
*/
|
|
|
|
|
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER increase_folder_count_on_update "+
|
|
|
|
@ -95,7 +94,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Decrease folder's note count when move note from folder
|
|
|
|
|
* 减少文件夹的笔记数量,当从文件夹移动笔记时
|
|
|
|
|
*/
|
|
|
|
|
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER decrease_folder_count_on_update " +
|
|
|
|
@ -108,7 +107,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Increase folder's note count when insert new note to the folder
|
|
|
|
|
* 增加文件夹的笔记数量,当插入新笔记到文件夹时
|
|
|
|
|
*/
|
|
|
|
|
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER increase_folder_count_on_insert " +
|
|
|
|
@ -120,7 +119,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Decrease folder's note count when delete note from the folder
|
|
|
|
|
* 减少文件夹的笔记数量,当从文件夹删除笔记时
|
|
|
|
|
*/
|
|
|
|
|
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER decrease_folder_count_on_delete " +
|
|
|
|
@ -133,7 +132,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Update note's content when insert data with type {@link DataConstants#NOTE}
|
|
|
|
|
* 更新笔记的内容,当插入数据类型为 {@link DataConstants#NOTE} 时
|
|
|
|
|
*/
|
|
|
|
|
private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER update_note_content_on_insert " +
|
|
|
|
@ -146,7 +145,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Update note's content when data with {@link DataConstants#NOTE} type has changed
|
|
|
|
|
* 更新笔记的内容,当数据类型为 {@link DataConstants#NOTE} 时发生变化
|
|
|
|
|
*/
|
|
|
|
|
private static final String DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER update_note_content_on_update " +
|
|
|
|
@ -159,7 +158,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Update note's content when data with {@link DataConstants#NOTE} type has deleted
|
|
|
|
|
* 更新笔记的内容,当数据类型为 {@link DataConstants#NOTE} 时被删除
|
|
|
|
|
*/
|
|
|
|
|
private static final String DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER update_note_content_on_delete " +
|
|
|
|
@ -172,7 +171,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Delete datas belong to note which has been deleted
|
|
|
|
|
* 删除属于已删除笔记的数据
|
|
|
|
|
*/
|
|
|
|
|
private static final String NOTE_DELETE_DATA_ON_DELETE_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER delete_data_on_delete " +
|
|
|
|
@ -183,7 +182,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Delete notes belong to folder which has been deleted
|
|
|
|
|
* 删除属于已删除文件夹的笔记
|
|
|
|
|
*/
|
|
|
|
|
private static final String FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER folder_delete_notes_on_delete " +
|
|
|
|
@ -194,7 +193,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
" END";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Move notes belong to folder which has been moved to trash folder
|
|
|
|
|
* 移动属于已移动到回收站文件夹的笔记
|
|
|
|
|
*/
|
|
|
|
|
private static final String FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER =
|
|
|
|
|
"CREATE TRIGGER folder_move_notes_on_trash " +
|
|
|
|
@ -239,14 +238,14 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
ContentValues values = new ContentValues();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* call record foler for call notes
|
|
|
|
|
* 调用记录文件夹,用于调用笔记
|
|
|
|
|
*/
|
|
|
|
|
values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER);
|
|
|
|
|
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
|
|
|
|
|
db.insert(TABLE.NOTE, null, values);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* root folder which is default folder
|
|
|
|
|
* 根文件夹,默认文件夹
|
|
|
|
|
*/
|
|
|
|
|
values.clear();
|
|
|
|
|
values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER);
|
|
|
|
@ -254,7 +253,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
db.insert(TABLE.NOTE, null, values);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* temporary folder which is used for moving note
|
|
|
|
|
* 临时文件夹,用于移动笔记
|
|
|
|
|
*/
|
|
|
|
|
values.clear();
|
|
|
|
|
values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER);
|
|
|
|
@ -262,7 +261,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
db.insert(TABLE.NOTE, null, values);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* create trash folder
|
|
|
|
|
* 创建回收站文件夹
|
|
|
|
|
*/
|
|
|
|
|
values.clear();
|
|
|
|
|
values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER);
|
|
|
|
@ -307,7 +306,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
|
|
|
|
|
if (oldVersion == 1) {
|
|
|
|
|
upgradeToV2(db);
|
|
|
|
|
skipV2 = true; // this upgrade including the upgrade from v2 to v3
|
|
|
|
|
skipV2 = true; // 这个升级包括从 v2 到 v3 的升级
|
|
|
|
|
oldVersion++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -328,8 +327,8 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (oldVersion != newVersion) {
|
|
|
|
|
throw new IllegalStateException("Upgrade notes database to version " + newVersion
|
|
|
|
|
+ "fails");
|
|
|
|
|
throw new IllegalStateException("升级笔记数据库到版本 " + newVersion
|
|
|
|
|
+ " 失败");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -341,14 +340,14 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void upgradeToV3(SQLiteDatabase db) {
|
|
|
|
|
// drop unused triggers
|
|
|
|
|
// 删除未使用的触发器
|
|
|
|
|
db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_insert");
|
|
|
|
|
db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_delete");
|
|
|
|
|
db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_update");
|
|
|
|
|
// add a column for gtask id
|
|
|
|
|
// 添加一个列用于 gtask id
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_ID
|
|
|
|
|
+ " TEXT NOT NULL DEFAULT ''");
|
|
|
|
|
// add a trash system folder
|
|
|
|
|
// 添加一个回收站系统文件夹
|
|
|
|
|
ContentValues values = new ContentValues();
|
|
|
|
|
values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER);
|
|
|
|
|
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
|
|
|
|
@ -359,4 +358,4 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|