diff --git a/src/main/java/net/micode/notes/data/Notes.java b/src/main/java/net/micode/notes/data/Notes.java index f240604..4974bdc 100644 --- a/src/main/java/net/micode/notes/data/Notes.java +++ b/src/main/java/net/micode/notes/data/Notes.java @@ -165,6 +165,8 @@ public class Notes { *

Type : INTEGER (long)

*/ public static final String VERSION = "version"; + + public static final String PASSWORD= "password"; } public interface DataColumns { diff --git a/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java b/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java index ffe5d57..cc67c31 100644 --- a/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java +++ b/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -30,7 +30,7 @@ import net.micode.notes.data.Notes.NoteColumns; public class NotesDatabaseHelper extends SQLiteOpenHelper { private static final String DB_NAME = "note.db"; - private static final int DB_VERSION = 4; + private static final int DB_VERSION = 5; public interface TABLE { public static final String NOTE = "note"; @@ -60,7 +60,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { NoteColumns.LOCAL_MODIFIED + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.ORIGIN_PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''," + - NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" + + NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.PASSWORD + "TEXT NOT NULL DEFAULT 1" + ")"; private static final String CREATE_DATA_TABLE_SQL = @@ -321,6 +321,10 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { upgradeToV4(db); oldVersion++; } + if(oldVersion == 4){ + upgradeToV5(db); + oldVersion++; + } if (reCreateTriggers) { reCreateNoteTableTriggers(db); @@ -359,4 +363,9 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0"); } + private void upgradeToV5(SQLiteDatabase db){ + db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.PASSWORD + + " TEXT NOT NULL DEFAULT 1"); + } + } diff --git a/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java b/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java index b3b61e7..0ea27b7 100644 --- a/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java +++ b/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java @@ -77,8 +77,8 @@ public class GTaskASyncTask extends AsyncTask { pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, NotesListActivity.class), 0); } - notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content, - pendingIntent); +// notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content, +// pendingIntent); mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); } diff --git a/src/main/java/net/micode/notes/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java index aab673a..1037bf1 100644 --- a/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/main/java/net/micode/notes/model/WorkingNote.java @@ -51,6 +51,7 @@ import net.micode.notes.tool.ResourceParser.NoteBgResources; public class WorkingNote { // Note for the working note + private String mPassword; private Note mNote;//这个在Note里面定义了Note类的基本类型, // Note Id private long mNoteId; @@ -73,6 +74,7 @@ public class WorkingNote { private Context mContext; + public boolean PRIVATE_MODE = false; private static final String TAG = "WorkingNote";//定义为静态变量,保证不能再被更改。防止数据出现异常 private boolean mIsDeleted;//定义一个布尔变量,用来保存是否要被删除。通过查看用法,发现在后面保存|修改的时候要进行判断。 @@ -127,6 +129,9 @@ public class WorkingNote { private static final int NOTE_MODIFIED_DATE_COLUMN = 5; + + + // New note construct //初始化一个新的操作的Note private WorkingNote(Context context, long folderId) { @@ -348,6 +353,9 @@ public class WorkingNote { mNote.setCallData(CallNote.PHONE_NUMBER, phoneNumber); mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER)); } + public void setPassword(String password){ + mNote.setNoteValue(NoteColumns.PASSWORD,String.valueOf(password)); + } public boolean hasClockAlert() { return (mAlertDate > 0 ? true : false); @@ -396,6 +404,8 @@ public class WorkingNote { public int getWidgetType() { return mWidgetType; } + + public String getPassword() { return mPassword; } //声明了一个接口,具体都在EditActivies中进行实现。主要是一个监听(listener),来设置各个量的改变 public interface NoteSettingChangedListener { /** diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 862883b..720dd74 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -19,6 +19,7 @@ package net.micode.notes.ui; import android.app.Activity; import android.app.AlarmManager; import android.app.AlertDialog; +import android.app.Dialog; import android.app.PendingIntent; import android.app.SearchManager; import android.appwidget.AppWidgetManager; @@ -43,6 +44,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager; +import android.view.inputmethod.InputMethodManager; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; @@ -287,6 +289,8 @@ public class NoteEditActivity extends Activity implements OnClickListener, mWorkingNote.getModifiedDate(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NUMERIC_DATE | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_YEAR)); +// mPasword=mWorkingNote.getPassword(); +// if(mPassword) /** * TODO: Add the menu for setting alert. Currently disable it because the DateTimePicker @@ -540,6 +544,34 @@ public class NoteEditActivity extends Activity implements OnClickListener, } else if (itemId == R.id.menu_delete_remind) { mWorkingNote.setAlertDate(0, false); } + else if (itemId == R.id.menu_enter_private_mode){ + final AlertDialog.Builder builder = new AlertDialog.Builder(this); + View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text,null); + final EditText etName = (EditText)view.findViewById(R.id.et_foler_name); + etName.setText(""); + etName.setHint("请输入密码"); + builder.setTitle("为便签设置新密码"); + builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + String password = etName.getText().toString(); + mWorkingNote.setPassword(password); + Toast.makeText(NoteEditActivity.this,"密码设置成功", Toast.LENGTH_SHORT).show(); + InputMethodManager inputMethodManager =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.hideSoftInputFromWindow(etName.getWindowToken(),0); + dialog.dismiss(); + } + }); + builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + InputMethodManager inputMethodManager = (InputMethodManager) + getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.hideSoftInputFromWindow(etName.getWindowToken(),0); + } + }); + final Dialog dialog = builder.setView(view).show(); + } return true; } diff --git a/src/main/java/net/micode/notes/ui/NoteItemData.java b/src/main/java/net/micode/notes/ui/NoteItemData.java index 0f5a878..436d009 100644 --- a/src/main/java/net/micode/notes/ui/NoteItemData.java +++ b/src/main/java/net/micode/notes/ui/NoteItemData.java @@ -40,6 +40,7 @@ public class NoteItemData { NoteColumns.TYPE, NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, +// NoteColumns.PASSWORD, }; private static final int ID_COLUMN = 0; @@ -54,6 +55,7 @@ public class NoteItemData { private static final int TYPE_COLUMN = 9; private static final int WIDGET_ID_COLUMN = 10; private static final int WIDGET_TYPE_COLUMN = 11; +// private static final int PASSWORD_COLUMN = 12;//这里事实上还在存疑,时候需要增加一个列用于索引。 private long mId; private long mAlertDate; @@ -70,6 +72,8 @@ public class NoteItemData { private String mName; private String mPhoneNumber; +// private String mPassword; + private boolean mIsLastItem; private boolean mIsFirstItem; private boolean mIsOnlyOneItem; @@ -91,6 +95,8 @@ public class NoteItemData { mType = cursor.getInt(TYPE_COLUMN); mWidgetId = cursor.getInt(WIDGET_ID_COLUMN); mWidgetType = cursor.getInt(WIDGET_TYPE_COLUMN); +// mPassword =cursor.getString(PASSWORD_COLUMN); + mPhoneNumber = ""; if (mParentId == Notes.ID_CALL_RECORD_FOLDER) { diff --git a/src/main/java/net/micode/notes/ui/NotesListItem.java b/src/main/java/net/micode/notes/ui/NotesListItem.java index 1221e80..72565d9 100644 --- a/src/main/java/net/micode/notes/ui/NotesListItem.java +++ b/src/main/java/net/micode/notes/ui/NotesListItem.java @@ -84,6 +84,7 @@ public class NotesListItem extends LinearLayout { + context.getString(R.string.format_folder_files_count, data.getNotesCount())); mAlert.setVisibility(View.GONE); +// if(data.has) } else { mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); if (data.hasAlert()) { diff --git a/src/main/res/menu/note_edit.xml b/src/main/res/menu/note_edit.xml index 35cacd1..9062b31 100644 --- a/src/main/res/menu/note_edit.xml +++ b/src/main/res/menu/note_edit.xml @@ -49,4 +49,12 @@ + + + + \ No newline at end of file diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml index d750e65..ad0d90d 100644 --- a/src/main/res/values/styles.xml +++ b/src/main/res/values/styles.xml @@ -64,6 +64,6 @@ \ No newline at end of file