From 6c1c997620dde49c9beaa910550ccc74065ce1fe Mon Sep 17 00:00:00 2001
From: Kk-juejuezi <253292942@qq.com>
Date: Thu, 20 Oct 2022 08:08:57 +0800
Subject: [PATCH] one
---
.../{ => net/micode/notes}/data/Contact.java | 0
.../{ => net/micode/notes}/data/Notes.java | 7 +-
.../notes}/data/NotesDatabaseHelper.java | 24 ++-
.../micode/notes}/data/NotesProvider.java | 0
.../micode/notes}/gtask/data/MetaData.java | 0
.../notes}/gtask/data/MetaData.java.bak | 0
.../micode/notes}/gtask/data/Node.java | 0
.../micode/notes}/gtask/data/SqlData.java | 0
.../micode/notes}/gtask/data/SqlNote.java | 0
.../micode/notes}/gtask/data/Task.java | 0
.../micode/notes}/gtask/data/TaskList.java | 0
.../exception/ActionFailureException.java | 0
.../exception/NetworkFailureException.java | 0
.../notes}/gtask/remote/GTaskASyncTask.java | 0
.../notes}/gtask/remote/GTaskClient.java | 0
.../notes}/gtask/remote/GTaskManager.java | 0
.../notes}/gtask/remote/GTaskSyncService.java | 0
.../{ => net/micode/notes}/model/Note.java | 0
.../micode/notes}/model/WorkingNote.java | 25 ++-
.../micode/notes}/tool/BackupUtils.java | 0
.../micode/notes}/tool/DataUtils.java | 0
.../micode/notes}/tool/GTaskStringUtils.java | 0
.../micode/notes}/tool/ResourceParser.java | 0
.../micode/notes}/ui/AlarmAlertActivity.java | 0
.../micode/notes}/ui/AlarmInitReceiver.java | 0
.../notes}/ui/AlarmInitReceiver.java.bak | 0
.../micode/notes}/ui/AlarmReceiver.java | 0
.../micode/notes}/ui/AlarmReceiver.java.bak | 0
.../micode/notes}/ui/DateTimePicker.java | 0
.../micode/notes}/ui/DateTimePicker.java.bak | 0
.../notes}/ui/DateTimePickerDialog.java | 0
.../micode/notes}/ui/DropdownMenu.java | 0
.../micode/notes}/ui/FoldersListAdapter.java | 0
.../micode/notes}/ui/NoteEditActivity.java | 147 ++++++++----------
.../notes}/ui/NoteEditActivity.java.bak | 0
.../micode/notes}/ui/NoteEditText.java | 0
.../micode/notes}/ui/NoteItemData.java | 16 +-
.../micode/notes}/ui/NotesListActivity.java | 121 +++++++++-----
.../micode/notes}/ui/NotesListAdapter.java | 0
.../micode/notes}/ui/NotesListItem.java | 15 +-
.../notes}/ui/NotesPreferenceActivity.java | 0
.../notes}/widget/NoteWidgetProvider.java | 0
.../notes}/widget/NoteWidgetProvider_2x.java | 0
.../notes}/widget/NoteWidgetProvider_4x.java | 0
src/main/res/drawable-hdpi/laba.png | Bin 1644 -> 0 bytes
src/main/res/drawable-hdpi/title_locker.png | Bin 0 -> 958 bytes
src/main/res/layout/buttom.xml | 19 +++
src/main/res/layout/note_edit.xml | 43 ++---
src/main/res/layout/note_item.xml | 6 +
src/main/res/menu/note_edit.xml | 15 +-
src/main/res/values/strings.xml | 8 +-
51 files changed, 286 insertions(+), 160 deletions(-)
rename src/main/java/{ => net/micode/notes}/data/Contact.java (100%)
rename src/main/java/{ => net/micode/notes}/data/Notes.java (97%)
rename src/main/java/{ => net/micode/notes}/data/NotesDatabaseHelper.java (95%)
rename src/main/java/{ => net/micode/notes}/data/NotesProvider.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/data/MetaData.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/data/MetaData.java.bak (100%)
rename src/main/java/{ => net/micode/notes}/gtask/data/Node.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/data/SqlData.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/data/SqlNote.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/data/Task.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/data/TaskList.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/exception/ActionFailureException.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/exception/NetworkFailureException.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/remote/GTaskASyncTask.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/remote/GTaskClient.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/remote/GTaskManager.java (100%)
rename src/main/java/{ => net/micode/notes}/gtask/remote/GTaskSyncService.java (100%)
rename src/main/java/{ => net/micode/notes}/model/Note.java (100%)
rename src/main/java/{ => net/micode/notes}/model/WorkingNote.java (94%)
rename src/main/java/{ => net/micode/notes}/tool/BackupUtils.java (100%)
rename src/main/java/{ => net/micode/notes}/tool/DataUtils.java (100%)
rename src/main/java/{ => net/micode/notes}/tool/GTaskStringUtils.java (100%)
rename src/main/java/{ => net/micode/notes}/tool/ResourceParser.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/AlarmAlertActivity.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/AlarmInitReceiver.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/AlarmInitReceiver.java.bak (100%)
rename src/main/java/{ => net/micode/notes}/ui/AlarmReceiver.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/AlarmReceiver.java.bak (100%)
rename src/main/java/{ => net/micode/notes}/ui/DateTimePicker.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/DateTimePicker.java.bak (100%)
rename src/main/java/{ => net/micode/notes}/ui/DateTimePickerDialog.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/DropdownMenu.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/FoldersListAdapter.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/NoteEditActivity.java (91%)
rename src/main/java/{ => net/micode/notes}/ui/NoteEditActivity.java.bak (100%)
rename src/main/java/{ => net/micode/notes}/ui/NoteEditText.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/NoteItemData.java (93%)
rename src/main/java/{ => net/micode/notes}/ui/NotesListActivity.java (89%)
rename src/main/java/{ => net/micode/notes}/ui/NotesListAdapter.java (100%)
rename src/main/java/{ => net/micode/notes}/ui/NotesListItem.java (93%)
rename src/main/java/{ => net/micode/notes}/ui/NotesPreferenceActivity.java (100%)
rename src/main/java/{ => net/micode/notes}/widget/NoteWidgetProvider.java (100%)
rename src/main/java/{ => net/micode/notes}/widget/NoteWidgetProvider_2x.java (100%)
rename src/main/java/{ => net/micode/notes}/widget/NoteWidgetProvider_4x.java (100%)
delete mode 100644 src/main/res/drawable-hdpi/laba.png
create mode 100644 src/main/res/drawable-hdpi/title_locker.png
create mode 100644 src/main/res/layout/buttom.xml
diff --git a/src/main/java/data/Contact.java b/src/main/java/net/micode/notes/data/Contact.java
similarity index 100%
rename from src/main/java/data/Contact.java
rename to src/main/java/net/micode/notes/data/Contact.java
diff --git a/src/main/java/data/Notes.java b/src/main/java/net/micode/notes/data/Notes.java
similarity index 97%
rename from src/main/java/data/Notes.java
rename to src/main/java/net/micode/notes/data/Notes.java
index fb90c63..a15bf19 100644
--- a/src/main/java/data/Notes.java
+++ b/src/main/java/net/micode/notes/data/Notes.java
@@ -16,7 +16,6 @@
package net.micode.notes.data;
-import android.content.ContentUris;
import android.net.Uri;
// Notes 类中定义了很多常量,这些常量大多是int型和string型
public class Notes {
@@ -193,6 +192,12 @@ AUTHORITY + "/data");//定义查找数据的指针。
*
Type : INTEGER (long)
*/
public static final String VERSION = "version";
+ /**
+ *passwored
+ *
+ */
+ public static final String PASSWORD = "set_password";//设置密码的什么东西啊?
+ public static final String TAG_PASSWORD = "set_tag";
}//这些常量主要是定义便签的属性的。
// 定义DataColumns的常量,用于后面创建数据库的表头
diff --git a/src/main/java/data/NotesDatabaseHelper.java b/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java
similarity index 95%
rename from src/main/java/data/NotesDatabaseHelper.java
rename to src/main/java/net/micode/notes/data/NotesDatabaseHelper.java
index 5761f90..274458b 100644
--- a/src/main/java/data/NotesDatabaseHelper.java
+++ b/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java
@@ -60,7 +60,9 @@ 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 ''," +
+ NoteColumns.TAG_PASSWORD + " TEXT NOT NULL DEFAULT ''" +
")";//数据库中需要存储的项目的名称,就相当于创建一个表格的表头的内容。
private static final String CREATE_DATA_TABLE_SQL =
@@ -325,6 +327,16 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
oldVersion++;
}
+ if(oldVersion == 4){
+ upgradeToV5(db);
+ oldVersion++;
+ }
+
+ if(oldVersion == 5){
+ upgradeToV6(db);
+ oldVersion++;
+ }
+
if (reCreateTriggers) {
reCreateNoteTableTriggers(db);
reCreateDataTableTriggers(db);
@@ -362,4 +374,14 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION
+ " INTEGER NOT NULL DEFAULT 0");
}//更新到V4版本,但是不知道V2、V3、V4是什么意思
+
+ private void upgradeToV5(SQLiteDatabase db) {
+ db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.PASSWORD
+ + " INTEGER NOT NULL DEFAULT 0");
+ }
+
+ private void upgradeToV6(SQLiteDatabase db) {
+ db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.TAG_PASSWORD
+ + " INTEGER NOT NULL DEFAULT 0");
+ }
}
diff --git a/src/main/java/data/NotesProvider.java b/src/main/java/net/micode/notes/data/NotesProvider.java
similarity index 100%
rename from src/main/java/data/NotesProvider.java
rename to src/main/java/net/micode/notes/data/NotesProvider.java
diff --git a/src/main/java/gtask/data/MetaData.java b/src/main/java/net/micode/notes/gtask/data/MetaData.java
similarity index 100%
rename from src/main/java/gtask/data/MetaData.java
rename to src/main/java/net/micode/notes/gtask/data/MetaData.java
diff --git a/src/main/java/gtask/data/MetaData.java.bak b/src/main/java/net/micode/notes/gtask/data/MetaData.java.bak
similarity index 100%
rename from src/main/java/gtask/data/MetaData.java.bak
rename to src/main/java/net/micode/notes/gtask/data/MetaData.java.bak
diff --git a/src/main/java/gtask/data/Node.java b/src/main/java/net/micode/notes/gtask/data/Node.java
similarity index 100%
rename from src/main/java/gtask/data/Node.java
rename to src/main/java/net/micode/notes/gtask/data/Node.java
diff --git a/src/main/java/gtask/data/SqlData.java b/src/main/java/net/micode/notes/gtask/data/SqlData.java
similarity index 100%
rename from src/main/java/gtask/data/SqlData.java
rename to src/main/java/net/micode/notes/gtask/data/SqlData.java
diff --git a/src/main/java/gtask/data/SqlNote.java b/src/main/java/net/micode/notes/gtask/data/SqlNote.java
similarity index 100%
rename from src/main/java/gtask/data/SqlNote.java
rename to src/main/java/net/micode/notes/gtask/data/SqlNote.java
diff --git a/src/main/java/gtask/data/Task.java b/src/main/java/net/micode/notes/gtask/data/Task.java
similarity index 100%
rename from src/main/java/gtask/data/Task.java
rename to src/main/java/net/micode/notes/gtask/data/Task.java
diff --git a/src/main/java/gtask/data/TaskList.java b/src/main/java/net/micode/notes/gtask/data/TaskList.java
similarity index 100%
rename from src/main/java/gtask/data/TaskList.java
rename to src/main/java/net/micode/notes/gtask/data/TaskList.java
diff --git a/src/main/java/gtask/exception/ActionFailureException.java b/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java
similarity index 100%
rename from src/main/java/gtask/exception/ActionFailureException.java
rename to src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java
diff --git a/src/main/java/gtask/exception/NetworkFailureException.java b/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java
similarity index 100%
rename from src/main/java/gtask/exception/NetworkFailureException.java
rename to src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java
diff --git a/src/main/java/gtask/remote/GTaskASyncTask.java b/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java
similarity index 100%
rename from src/main/java/gtask/remote/GTaskASyncTask.java
rename to src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java
diff --git a/src/main/java/gtask/remote/GTaskClient.java b/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java
similarity index 100%
rename from src/main/java/gtask/remote/GTaskClient.java
rename to src/main/java/net/micode/notes/gtask/remote/GTaskClient.java
diff --git a/src/main/java/gtask/remote/GTaskManager.java b/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java
similarity index 100%
rename from src/main/java/gtask/remote/GTaskManager.java
rename to src/main/java/net/micode/notes/gtask/remote/GTaskManager.java
diff --git a/src/main/java/gtask/remote/GTaskSyncService.java b/src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java
similarity index 100%
rename from src/main/java/gtask/remote/GTaskSyncService.java
rename to src/main/java/net/micode/notes/gtask/remote/GTaskSyncService.java
diff --git a/src/main/java/model/Note.java b/src/main/java/net/micode/notes/model/Note.java
similarity index 100%
rename from src/main/java/model/Note.java
rename to src/main/java/net/micode/notes/model/Note.java
diff --git a/src/main/java/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java
similarity index 94%
rename from src/main/java/model/WorkingNote.java
rename to src/main/java/net/micode/notes/model/WorkingNote.java
index 0886c78..637da5b 100644
--- a/src/main/java/model/WorkingNote.java
+++ b/src/main/java/net/micode/notes/model/WorkingNote.java
@@ -40,6 +40,9 @@ public class WorkingNote {
// Note content
private String mContent;
// Note mode
+ private String mPassword = "";
+ private String mTag = "";
+ //note password,initial = 0
private int mMode;
private long mAlertDate;
@@ -80,7 +83,9 @@ public class WorkingNote {
NoteColumns.BG_COLOR_ID,
NoteColumns.WIDGET_ID,
NoteColumns.WIDGET_TYPE,
- NoteColumns.MODIFIED_DATE
+ NoteColumns.MODIFIED_DATE,
+ NoteColumns.PASSWORD,
+ NoteColumns.TAG_PASSWORD
};
private static final int DATA_ID_COLUMN = 0;
@@ -103,6 +108,10 @@ public class WorkingNote {
private static final int NOTE_MODIFIED_DATE_COLUMN = 5;
+ private static final int NOTE_PASSWORD_COLUMN = 6;
+
+ private static final int NOTE_TAG_PASSWORD_COLUMN = 7;
+
// New note construct
public WorkingNote(Context context, long folderId) {
mContext = context;
@@ -143,6 +152,8 @@ public class WorkingNote {
mWidgetType = cursor.getInt(NOTE_WIDGET_TYPE_COLUMN);
mAlertDate = cursor.getLong(NOTE_ALERTED_DATE_COLUMN);
mModifiedDate = cursor.getLong(NOTE_MODIFIED_DATE_COLUMN);
+ mPassword = cursor.getString(NOTE_PASSWORD_COLUMN);
+ mTag = cursor.getString(NOTE_TAG_PASSWORD_COLUMN);
}
cursor.close();
// 若不存在,报错
@@ -418,4 +429,16 @@ public class WorkingNote {
*/
void onCheckListModeChanged(int oldMode, int newMode);
}
+
+ /**设置便签的密码
+ *
+ * @param password 访问密码
+ */
+ public void setPassword(String password,String tag){
+ mPassword = password;
+ mTag = tag;
+ mNote.setNoteValue(NoteColumns.PASSWORD,String.valueOf(mPassword));
+ mNote.setNoteValue(NoteColumns.TAG_PASSWORD,String.valueOf(mTag));
+ }
+
}
diff --git a/src/main/java/tool/BackupUtils.java b/src/main/java/net/micode/notes/tool/BackupUtils.java
similarity index 100%
rename from src/main/java/tool/BackupUtils.java
rename to src/main/java/net/micode/notes/tool/BackupUtils.java
diff --git a/src/main/java/tool/DataUtils.java b/src/main/java/net/micode/notes/tool/DataUtils.java
similarity index 100%
rename from src/main/java/tool/DataUtils.java
rename to src/main/java/net/micode/notes/tool/DataUtils.java
diff --git a/src/main/java/tool/GTaskStringUtils.java b/src/main/java/net/micode/notes/tool/GTaskStringUtils.java
similarity index 100%
rename from src/main/java/tool/GTaskStringUtils.java
rename to src/main/java/net/micode/notes/tool/GTaskStringUtils.java
diff --git a/src/main/java/tool/ResourceParser.java b/src/main/java/net/micode/notes/tool/ResourceParser.java
similarity index 100%
rename from src/main/java/tool/ResourceParser.java
rename to src/main/java/net/micode/notes/tool/ResourceParser.java
diff --git a/src/main/java/ui/AlarmAlertActivity.java b/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
similarity index 100%
rename from src/main/java/ui/AlarmAlertActivity.java
rename to src/main/java/net/micode/notes/ui/AlarmAlertActivity.java
diff --git a/src/main/java/ui/AlarmInitReceiver.java b/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
similarity index 100%
rename from src/main/java/ui/AlarmInitReceiver.java
rename to src/main/java/net/micode/notes/ui/AlarmInitReceiver.java
diff --git a/src/main/java/ui/AlarmInitReceiver.java.bak b/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java.bak
similarity index 100%
rename from src/main/java/ui/AlarmInitReceiver.java.bak
rename to src/main/java/net/micode/notes/ui/AlarmInitReceiver.java.bak
diff --git a/src/main/java/ui/AlarmReceiver.java b/src/main/java/net/micode/notes/ui/AlarmReceiver.java
similarity index 100%
rename from src/main/java/ui/AlarmReceiver.java
rename to src/main/java/net/micode/notes/ui/AlarmReceiver.java
diff --git a/src/main/java/ui/AlarmReceiver.java.bak b/src/main/java/net/micode/notes/ui/AlarmReceiver.java.bak
similarity index 100%
rename from src/main/java/ui/AlarmReceiver.java.bak
rename to src/main/java/net/micode/notes/ui/AlarmReceiver.java.bak
diff --git a/src/main/java/ui/DateTimePicker.java b/src/main/java/net/micode/notes/ui/DateTimePicker.java
similarity index 100%
rename from src/main/java/ui/DateTimePicker.java
rename to src/main/java/net/micode/notes/ui/DateTimePicker.java
diff --git a/src/main/java/ui/DateTimePicker.java.bak b/src/main/java/net/micode/notes/ui/DateTimePicker.java.bak
similarity index 100%
rename from src/main/java/ui/DateTimePicker.java.bak
rename to src/main/java/net/micode/notes/ui/DateTimePicker.java.bak
diff --git a/src/main/java/ui/DateTimePickerDialog.java b/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
similarity index 100%
rename from src/main/java/ui/DateTimePickerDialog.java
rename to src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
diff --git a/src/main/java/ui/DropdownMenu.java b/src/main/java/net/micode/notes/ui/DropdownMenu.java
similarity index 100%
rename from src/main/java/ui/DropdownMenu.java
rename to src/main/java/net/micode/notes/ui/DropdownMenu.java
diff --git a/src/main/java/ui/FoldersListAdapter.java b/src/main/java/net/micode/notes/ui/FoldersListAdapter.java
similarity index 100%
rename from src/main/java/ui/FoldersListAdapter.java
rename to src/main/java/net/micode/notes/ui/FoldersListAdapter.java
diff --git a/src/main/java/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java
similarity index 91%
rename from src/main/java/ui/NoteEditActivity.java
rename to src/main/java/net/micode/notes/ui/NoteEditActivity.java
index aa5db14..fd0838b 100644
--- a/src/main/java/ui/NoteEditActivity.java
+++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java
@@ -15,12 +15,10 @@
*/
package net.micode.notes.ui;
-
-import android.Manifest;
-
-import android.speech.tts.TextToSpeech.OnInitListener;
+
import android.app.AlarmManager;
import android.app.AlertDialog;
+import android.app.Dialog;
import android.app.PendingIntent;
import android.app.SearchManager;
import android.appwidget.AppWidgetManager;
@@ -32,8 +30,6 @@ import android.content.SharedPreferences;
import android.graphics.Paint;
import android.os.Bundle;
import android.preference.PreferenceManager;
-import android.speech.tts.TextToSpeech;
-import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.Spannable;
@@ -50,12 +46,11 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
-import android.widget.Button;
+import android.view.inputmethod.InputMethodManager;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
-import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -76,7 +71,6 @@ import net.micode.notes.widget.NoteWidgetProvider_4x;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Locale;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -96,9 +90,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
public ImageView ibSetBgColor;
}
//使用Map实现数据存储
- final String[] mPermissionList = new String[]{
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.READ_EXTERNAL_STORAGE};
private static final Map sBgSelectorBtnsMap = new HashMap();
static {
sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
@@ -140,7 +131,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
private static final String TAG = "NoteEditActivity";
private HeadViewHolder mNoteHeaderHolder;
- private TextToSpeech mTTS;
+
private View mHeadViewPanel;
//私有化一个界面操作mHeadViewPanel,对表头的操作
private View mNoteBgColorSelector;
@@ -174,7 +165,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
//字符数量计数显示
private TextView textView;
-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -186,7 +176,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
}
initResources();
count();
- read();
}
/**
@@ -227,7 +216,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
}
//如果ID在数据库中未找到
if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) {
- Intent jump = new Intent(this, net.micode.notes.ui.NotesListActivity.class);
+ Intent jump = new Intent(this, NotesListActivity.class);
startActivity(jump);
//程序将跳转到上面声明的intent——jump
showToast(R.string.error_note_not_exist);
@@ -307,7 +296,8 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
}
private void initNoteScreen() {
- //对界面的初始化操作
+
+ //对便签的初始化操作
mNoteEditor.setTextAppearance(this, TextAppearanceResources
.getTexAppearanceResource(mFontSizeId));
//设置外观
@@ -412,20 +402,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
}
private void initResources() {
-
- mTTS = new TextToSpeech(this, new OnInitListener() {
- @Override
- public void onInit(int status) {
-
- if (status == TextToSpeech.SUCCESS) {
- int result = mTTS.setLanguage(Locale.US);
-
- if (result != TextToSpeech.LANG_COUNTRY_AVAILABLE && result != TextToSpeech.LANG_AVAILABLE) {
- //Toast.makeText(CodeView.this,"TTS暂时不支持这种语言朗读",50000).show();
- }
- }
- }
- });
mHeadViewPanel = findViewById(R.id.note_title);
mNoteHeaderHolder = new HeadViewHolder();
mNoteHeaderHolder.tvModified = (TextView) findViewById(R.id.tv_modified_date);
@@ -492,7 +468,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
if (id == R.id.btn_set_bg_color) {
mNoteBgColorSelector.setVisibility(View.VISIBLE);
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
- View.VISIBLE);
+ - View.VISIBLE);
} else if (sBgSelectorBtnsMap.containsKey(id)) {
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
View.GONE);
@@ -511,8 +487,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
TextAppearanceResources.getTexAppearanceResource(mFontSizeId));
}
mFontSizeSelector.setVisibility(View.GONE);
- }else if (id==R.id.read_note){
- mTTS.speak(mNoteEditor.getText().toString(),TextToSpeech.QUEUE_FLUSH,null);
}
}//************************存在问题
@@ -571,7 +545,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
return true;
}
-
@Override
/*
* 函数功能:动态改变菜单选项内容
@@ -580,14 +553,56 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
//根据菜单的id来编剧相关项目
- case R.id.action_insert_image:
- //绑定按钮的点击响应,获取危险权限,这里的100是申请码,可以自己定义,整数即可
- ActivityCompat.requestPermissions(NoteEditActivity.this, mPermissionList, 100);
-//用于获取焦点,否则插入图片时没有响应
- mNoteEditor.getFocusable();
- mNoteEditor.insertImage(realPathFromUri, realPathFromUri + "\" style=\"max-width:100%");
+ case R.id.locker:
+ //为便签上锁
+ final AlertDialog.Builder create_password = new AlertDialog.Builder(this);
+ //创建关于上锁操作的对话框
+ final View view = LayoutInflater.from(this).inflate(R.layout.buttom,null);
+ //???
+ final EditText etName = (EditText)view.findViewById(R.id.password);
+ final EditText etTag = (EditText)view.findViewById(R.id.tag);
+ //???
+ etName.setText("");
+ etName.setHint(" Please input your password");
+ etTag.setText("");
+ etTag.setHint(" Please input your tag");
+ create_password.setTitle(getString(R.string.alert_set_password));
+ //设置标题为Set your password
+ create_password.setNegativeButton("OK", new DialogInterface.OnClickListener() {//设置监听,获取输入的字符串
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ String password = etName.getText().toString();
+ String tag = etTag.getText().toString();
+ //获取输入的字符串
+ mWorkingNote.setPassword(password,tag);
+ //设置密码
+ Toast.makeText(NoteEditActivity.this,"Password created successfully",Toast.LENGTH_SHORT).show();
+ //设置密码成功的消息弹窗
+ InputMethodManager inputMethodManager = (InputMethodManager)
+ getSystemService(Context.INPUT_METHOD_SERVICE);
+ inputMethodManager.hideSoftInputFromWindow(etName.getWindowToken(),0);
+ //关闭软键盘
+ dialog.dismiss();
+ //关闭dialog
+ }
+ });
+ create_password.setPositiveButton("Cancel", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ //关闭软键盘
+ Toast.makeText(NoteEditActivity.this,"Canceling...",Toast.LENGTH_SHORT).show();
+ InputMethodManager inputMethodManager = (InputMethodManager)
+ getSystemService(Context.INPUT_METHOD_SERVICE);
+ inputMethodManager.hideSoftInputFromWindow(etName.getWindowToken(),0);
+ }
+ });
+ final Dialog dialog = create_password.setView(view).show();//error
+ dialog.show();
+ break;
+ case R.id.unlocker:
+ mWorkingNote.setPassword("","");
+ Toast.makeText(NoteEditActivity.this,"Password unlocked successfully",Toast.LENGTH_SHORT).show();
break;
-
case R.id.menu_new_note:
//创建一个新的便签
createNewNote();
@@ -659,7 +674,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
* 函数实现:如下注释
*/
private void setReminder() {
- net.micode.notes.ui.DateTimePickerDialog d = new net.micode.notes.ui.DateTimePickerDialog(this, System.currentTimeMillis());
+ DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis());
// 建立修改时间日期的对话框
d.setOnDateTimeSetListener(new OnDateTimeSetListener() {
public void OnDateTimeSet(AlertDialog dialog, long date) {
@@ -751,7 +766,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
* 函数实现:直接看NotesPreferenceActivity中同步名称是否为空
*/
private boolean isSyncMode() {
- return net.micode.notes.ui.NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
+ return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
}
/*
@@ -768,7 +783,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
saveNote();
}
if (mWorkingNote.getNoteId() > 0) {
- Intent intent = new Intent(this, net.micode.notes.ui.AlarmReceiver.class);
+ Intent intent = new Intent(this, AlarmReceiver.class);
intent.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mWorkingNote.getNoteId()));
//若有有运行的便签就是建立一个链接器将标签id都存在uri中
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
@@ -811,19 +826,19 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
}
//没有编辑框的话直接返回
for (int i = index + 1; i < childCount; i++) {
- ((net.micode.notes.ui.NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text))
+ ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text))
.setIndex(i - 1);
//通过id把编辑框存在便签编辑框中
}
mEditTextList.removeViewAt(index);
//删除特定位置的视图
- net.micode.notes.ui.NoteEditText edit = null;
+ NoteEditText edit = null;
if(index == 0) {
- edit = (net.micode.notes.ui.NoteEditText) mEditTextList.getChildAt(0).findViewById(
+ edit = (NoteEditText) mEditTextList.getChildAt(0).findViewById(
R.id.et_edit_text);
} else {
- edit = (net.micode.notes.ui.NoteEditText) mEditTextList.getChildAt(index - 1).findViewById(
+ edit = (NoteEditText) mEditTextList.getChildAt(index - 1).findViewById(
R.id.et_edit_text);
}
//通过id把编辑框存在空的NoteEditText中
@@ -849,11 +864,11 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
View view = getListItem(text, index);
mEditTextList.addView(view, index);
//建立一个新的视图并添加到编辑文本框内
- net.micode.notes.ui.NoteEditText edit = (net.micode.notes.ui.NoteEditText) view.findViewById(R.id.et_edit_text);
+ NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
edit.requestFocus();//请求优先操作
edit.setSelection(0);//定位到起始位置
for (int i = index + 1; i < mEditTextList.getChildCount(); i++) {
- ((net.micode.notes.ui.NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text))
+ ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text))
.setIndex(i);
//遍历子文本框并设置对应对下标
}
@@ -918,7 +933,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
private View getListItem(String item, int index) {
View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null);
//创建一个视图
- final net.micode.notes.ui.NoteEditText edit = (net.micode.notes.ui.NoteEditText) view.findViewById(R.id.et_edit_text);
+ final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
edit.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId));
//创建一个文本编辑框并设置可见性
CheckBox cb = ((CheckBox) view.findViewById(R.id.cb_edit_item));
@@ -1005,7 +1020,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
for (int i = 0; i < mEditTextList.getChildCount(); i++) {
View view = mEditTextList.getChildAt(i);
//遍历所有子编辑框的视图
- net.micode.notes.ui.NoteEditText edit = (net.micode.notes.ui.NoteEditText) view.findViewById(R.id.et_edit_text);
+ NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
if (!TextUtils.isEmpty(edit.getText())) {
//若文本不为空
if (((CheckBox) view.findViewById(R.id.cb_edit_item)).isChecked()) {
@@ -1179,32 +1194,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen
public void afterTextChanged(Editable s) {
textView.setText("字符数: " + currentLength);
}
-
-
});
}
-
- public void read() {
- ImageButton read = findViewById(R.id.read_note);
- read.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- mTTS.speak(mNoteEditor.getText().toString(),TextToSpeech.QUEUE_FLUSH,null);
- }
- });
-
- }
-// final String[] mPermissionList = new String[]{
-// Manifest.permission.WRITE_EXTERNAL_STORAGE,
-// Manifest.permission.READ_EXTERNAL_STORAGE};
-// findViewById(R.id.action_insert_image).setOnClickListener(new View.OnClickListener() {
-// @Override
-// public void onClick(View v) {
-////绑定按钮的点击响应,获取危险权限,这里的100是申请码,可以自己定义,整数即可
-// ActivityCompat.requestPermissions(NoteEditActivity.this, mPermissionList, 100);
-////用于获取焦点,否则插入图片时没有响应
-// mNoteEditor.focusEditor();
-// }
-// });
-
}
diff --git a/src/main/java/ui/NoteEditActivity.java.bak b/src/main/java/net/micode/notes/ui/NoteEditActivity.java.bak
similarity index 100%
rename from src/main/java/ui/NoteEditActivity.java.bak
rename to src/main/java/net/micode/notes/ui/NoteEditActivity.java.bak
diff --git a/src/main/java/ui/NoteEditText.java b/src/main/java/net/micode/notes/ui/NoteEditText.java
similarity index 100%
rename from src/main/java/ui/NoteEditText.java
rename to src/main/java/net/micode/notes/ui/NoteEditText.java
diff --git a/src/main/java/ui/NoteItemData.java b/src/main/java/net/micode/notes/ui/NoteItemData.java
similarity index 93%
rename from src/main/java/ui/NoteItemData.java
rename to src/main/java/net/micode/notes/ui/NoteItemData.java
index ad1de5e..f424958 100644
--- a/src/main/java/ui/NoteItemData.java
+++ b/src/main/java/net/micode/notes/ui/NoteItemData.java
@@ -40,6 +40,8 @@ public class NoteItemData {
NoteColumns.TYPE,
NoteColumns.WIDGET_ID,
NoteColumns.WIDGET_TYPE,
+ NoteColumns.PASSWORD,
+ NoteColumns.TAG_PASSWORD
};
//常量标记和数据就不一一标记了,意义翻译基本就知道
private static final int ID_COLUMN = 0;
@@ -54,6 +56,8 @@ 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 static final int TAG_PASSWORD_COLUMN = 13;
private long mId;
private long mAlertDate;
@@ -67,6 +71,8 @@ public class NoteItemData {
private int mType;
private int mWidgetId;
private int mWidgetType;
+ private String mPassword;
+ private String mTAG;
private String mName;
private String mPhoneNumber;
@@ -92,6 +98,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);
+ mTAG = cursor.getString(TAG_PASSWORD_COLUMN);
//初始化电话号码的信息
mPhoneNumber = "";
@@ -120,7 +128,7 @@ public class NoteItemData {
mIsMultiNotesFollowingFolder = false;
mIsOneNoteFollowingFolder = false;
- //主要是设置上诉2标记
+ //主要是设置上述2个标记
if (mType == Notes.TYPE_NOTE && !mIsFirstItem) {//若是note格式并且不是第一个元素
int position = cursor.getPosition();
if (cursor.moveToPrevious()) {//获取光标位置后看上一行
@@ -219,6 +227,8 @@ public class NoteItemData {
return (mAlertDate > 0);
}
+ public String getPassword() { return mPassword;}
+
//若数据父id为保存至文件夹模式的id且满足电话号码单元不为空,则isCallRecord为true
public boolean isCallRecord() {
return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber));
@@ -227,4 +237,8 @@ public class NoteItemData {
public static int getNoteType(Cursor cursor) {
return cursor.getInt(TYPE_COLUMN);
}
+
+ public boolean hasPassword() { return mPassword.equals("") ;}
+
+ public String getmTAG() {return mTAG;}
}
diff --git a/src/main/java/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java
similarity index 89%
rename from src/main/java/ui/NotesListActivity.java
rename to src/main/java/net/micode/notes/ui/NotesListActivity.java
index 0bf0bf2..93c406e 100644
--- a/src/main/java/ui/NotesListActivity.java
+++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java
@@ -160,8 +160,8 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
@Override
// 返回一些子模块完成的数据交给主Activity处理
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- // 结果值 和 要求值 符合要求
- if (resultCode == RESULT_OK
+ // 结果值 和 要求值 符合要求
+ if (resultCode == RESULT_OK
&& (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) {
mNotesListAdapter.changeCursor(null);
} else {
@@ -171,15 +171,15 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
}
private void setAppInfoFromRawRes() {
- // Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
+ // Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) {
StringBuilder sb = new StringBuilder();
InputStream in = null;
try {
// 把资源文件放到应用程序的/raw/raw下,那么就可以在应用中使用getResources获取资源后,
- // 以openRawResource方法(不带后缀的资源文件名)打开这个文件。
- in = getResources().openRawResource(R.raw.introduction);
+ // 以openRawResource方法(不带后缀的资源文件名)打开这个文件。
+ in = getResources().openRawResource(R.raw.introduction);
if (in != null) {
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
@@ -205,14 +205,14 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
}
}
}
-
+
// 创建空的WorkingNote
WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER,
AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE,
ResourceParser.RED);
note.setWorkingText(sb.toString());
if (note.saveNote()) {
- // 更新保存note的信息
+ // 更新保存note的信息
sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit();
} else {
Log.e(TAG, "Save introduction note error");
@@ -232,7 +232,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
mContentResolver = this.getContentResolver(); // 获取应用程序的数据,得到类似数据表的东西
mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver());
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
-
+
// findViewById 是安卓编程的定位函数,主要是引用.R文件里的引用名
mNotesListView = (ListView) findViewById(R.id.notes_list); // 绑定XML中的ListView,作为Item的容器
mNotesListView.addFooterView(LayoutInflater.from(this).inflate(R.layout.note_list_footer, null),
@@ -330,7 +330,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
}
public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
- boolean checked) {
+ boolean checked) {
mNotesListAdapter.setCheckedItem(position, checked);
updateMenu();
}
@@ -348,14 +348,14 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
builder.setTitle(getString(R.string.alert_title_delete));
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setMessage(getString(R.string.alert_message_delete_notes,
- mNotesListAdapter.getSelectedCount()));
+ mNotesListAdapter.getSelectedCount()));
builder.setPositiveButton(android.R.string.ok,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int which) {
- batchDelete();
- }
- });
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog,
+ int which) {
+ batchDelete();
+ }
+ });
builder.setNegativeButton(android.R.string.cancel, null);
builder.show();
break;
@@ -436,7 +436,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
: NORMAL_SELECTION;
mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] {
- String.valueOf(mCurrentFolderId)
+ String.valueOf(mCurrentFolderId)
}, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
}
@@ -647,7 +647,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
values.put(NoteColumns.LOCAL_MODIFIED, 1);
mContentResolver.update(Notes.CONTENT_NOTE_URI, values, NoteColumns.ID
+ "=?", new String[] {
- String.valueOf(mFocusNoteDataItem.getId())
+ String.valueOf(mFocusNoteDataItem.getId())
});
}
} else if (!TextUtils.isEmpty(name)) {
@@ -693,25 +693,25 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
*/
@Override
public void onBackPressed() { switch (mState) {
- case SUB_FOLDER:
- mCurrentFolderId = Notes.ID_ROOT_FOLDER;
- mState = ListEditState.NOTE_LIST;
- startAsyncNotesListQuery();
- mTitleBar.setVisibility(View.GONE);
- break;
- case CALL_RECORD_FOLDER:
- mCurrentFolderId = Notes.ID_ROOT_FOLDER;
- mState = ListEditState.NOTE_LIST;
- mAddNewNote.setVisibility(View.VISIBLE);
- mTitleBar.setVisibility(View.GONE);
- startAsyncNotesListQuery();
- break;
- case NOTE_LIST:
- super.onBackPressed();
- break;
- default:
- break;
- }
+ case SUB_FOLDER:
+ mCurrentFolderId = Notes.ID_ROOT_FOLDER;
+ mState = ListEditState.NOTE_LIST;
+ startAsyncNotesListQuery();
+ mTitleBar.setVisibility(View.GONE);
+ break;
+ case CALL_RECORD_FOLDER:
+ mCurrentFolderId = Notes.ID_ROOT_FOLDER;
+ mState = ListEditState.NOTE_LIST;
+ mAddNewNote.setVisibility(View.VISIBLE);
+ mTitleBar.setVisibility(View.GONE);
+ startAsyncNotesListQuery();
+ break;
+ case NOTE_LIST:
+ super.onBackPressed();
+ break;
+ default:
+ break;
+ }
}
/**
@@ -731,7 +731,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
}
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {
- appWidgetId
+ appWidgetId
});
sendBroadcast(intent);
@@ -936,7 +936,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
public void onItemClick(AdapterView> parent, View view, int position, long id) {
if (view instanceof NotesListItem) {
- NoteItemData item = ((NotesListItem) view).getItemData();
+ final NoteItemData item = ((NotesListItem) view).getItemData();
if (mNotesListAdapter.isInChoiceMode()) {
if (item.getType() == Notes.TYPE_NOTE) {
position = position - mNotesListView.getHeaderViewsCount();
@@ -952,7 +952,46 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
|| item.getType() == Notes.TYPE_SYSTEM) {
openFolder(item);
} else if (item.getType() == Notes.TYPE_NOTE) {
- openNode(item);
+ final AlertDialog.Builder check_password = new AlertDialog.Builder(NotesListActivity.this);
+ //this is what???
+ final View view_check = LayoutInflater.from(NotesListActivity.this).inflate(R.layout.dialog_edit_text,null);
+ final EditText etName = (EditText)view_check.findViewById(R.id.et_foler_name);
+ if (item.hasPassword()){
+ openNode(item);
+ }
+ else{
+ etName.setText("");
+ etName.setHint(" Input the right password");
+ check_password.setTitle("Check your password");
+ check_password.setPositiveButton("Cancel", new DialogInterface.OnClickListener() {//设置Cancel按钮
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Toast.makeText(NotesListActivity.this,"Canceling...",Toast.LENGTH_SHORT).show();
+ InputMethodManager inputMethodManager = (InputMethodManager)
+ getSystemService(Context.INPUT_METHOD_SERVICE);
+ inputMethodManager.hideSoftInputFromWindow(etName.getWindowToken(),0);
+ }
+ });
+ check_password.setNegativeButton("OK", new DialogInterface.OnClickListener() {//设置OK按钮
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ String password = etName.getText().toString();
+ if (password.equals(item.getPassword())){
+ Toast.makeText(NotesListActivity.this,"Oh!!!You are right!",Toast.LENGTH_SHORT).show();
+ InputMethodManager inputMethodManager = (InputMethodManager)
+ getSystemService(Context.INPUT_METHOD_SERVICE);
+ inputMethodManager.hideSoftInputFromWindow(etName.getWindowToken(),0);
+ dialog.dismiss();
+ openNode(item);
+ }
+ else {
+ Toast.makeText(NotesListActivity.this,"You are wrong...",Toast.LENGTH_SHORT).show();
+ }
+ }
+ });
+ final Dialog dialog = check_password.setView(view_check).show();//view is wrong
+ dialog.show();
+ }
} else {
Log.e(TAG, "Wrong note type in NOTE_LIST");
}
@@ -979,7 +1018,7 @@ public class NotesListActivity extends AppCompatActivity implements OnClickListe
private void startQueryDestinationFolders() {
String selection = NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>? AND " + NoteColumns.ID + "<>?";
selection = (mState == ListEditState.NOTE_LIST) ? selection:
- "(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")";
+ "(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")";
mBackgroundQueryHandler.startQuery(FOLDER_LIST_QUERY_TOKEN,
null,
diff --git a/src/main/java/ui/NotesListAdapter.java b/src/main/java/net/micode/notes/ui/NotesListAdapter.java
similarity index 100%
rename from src/main/java/ui/NotesListAdapter.java
rename to src/main/java/net/micode/notes/ui/NotesListAdapter.java
diff --git a/src/main/java/ui/NotesListItem.java b/src/main/java/net/micode/notes/ui/NotesListItem.java
similarity index 93%
rename from src/main/java/ui/NotesListItem.java
rename to src/main/java/net/micode/notes/ui/NotesListItem.java
index e5af6ce..9f0f5f2 100644
--- a/src/main/java/ui/NotesListItem.java
+++ b/src/main/java/net/micode/notes/ui/NotesListItem.java
@@ -38,6 +38,7 @@ public class NotesListItem extends LinearLayout {
private TextView mCallName; //
private NoteItemData mItemData; //标签数据
private CheckBox mCheckBox; //打钩框
+ private ImageView mLocker;//锁图片
/*初始化基本信息*/
public NotesListItem(Context context) {
@@ -49,6 +50,7 @@ public class NotesListItem extends LinearLayout {
mTime = (TextView) findViewById(R.id.tv_time);
mCallName = (TextView) findViewById(R.id.tv_name);
mCheckBox = (CheckBox) findViewById(android.R.id.checkbox);
+ mLocker = (ImageView) findViewById(R.id.iv_locker);
}
///根据data的属性对各个控件的属性的控制,主要是可见性Visibility,内容setText,格式setTextAppearance
public void bind(Context context, NoteItemData data, boolean choiceMode, boolean checked) {
@@ -58,8 +60,8 @@ public class NotesListItem extends LinearLayout {
} else {
mCheckBox.setVisibility(View.GONE);
}
-
mItemData = data;
+
///设置控件属性,一共三种情况,由data的id和父id是否与保存到文件夹的id一致来决定
if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) {
mCallName.setVisibility(View.GONE);
@@ -82,6 +84,7 @@ public class NotesListItem extends LinearLayout {
} else {
mAlert.setVisibility(View.GONE);
}
+
} else {
mCallName.setVisibility(View.GONE);
mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);
@@ -101,6 +104,16 @@ public class NotesListItem extends LinearLayout {
}
}
}
+ mLocker.setImageResource(R.drawable.title_locker);
+ if (data.hasPassword()){
+ mLocker.setVisibility(GONE);
+ }
+ else {
+ mLocker.setVisibility(VISIBLE);
+ String text = " 不给你看哟~" + " (tag:" + data.getmTAG() + ")";
+ mTitle.setText(text);
+ }
+
///设置内容,获取相关时间,从data里编辑的日期中获取
mTime. setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate()));
diff --git a/src/main/java/ui/NotesPreferenceActivity.java b/src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
similarity index 100%
rename from src/main/java/ui/NotesPreferenceActivity.java
rename to src/main/java/net/micode/notes/ui/NotesPreferenceActivity.java
diff --git a/src/main/java/widget/NoteWidgetProvider.java b/src/main/java/net/micode/notes/widget/NoteWidgetProvider.java
similarity index 100%
rename from src/main/java/widget/NoteWidgetProvider.java
rename to src/main/java/net/micode/notes/widget/NoteWidgetProvider.java
diff --git a/src/main/java/widget/NoteWidgetProvider_2x.java b/src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java
similarity index 100%
rename from src/main/java/widget/NoteWidgetProvider_2x.java
rename to src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java
diff --git a/src/main/java/widget/NoteWidgetProvider_4x.java b/src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java
similarity index 100%
rename from src/main/java/widget/NoteWidgetProvider_4x.java
rename to src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java
diff --git a/src/main/res/drawable-hdpi/laba.png b/src/main/res/drawable-hdpi/laba.png
deleted file mode 100644
index b4c314f6aceed4d64534260c385b65ff38c9c5f1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1644
zcmV-y29x=TP)MQewMJlg8`y
zk7Q=o-kCW(-2FB7x4g>4A1e=wOEZYeqBe18<)(`c=k;9NlgGfUFKvmI|0?f|B+#DSI8su{5rN1Ki<+$O5
zne&16Id@{rm08K5}G-5zq6PzcpX!9K``tca6DLZ9Vo?
zi%|ov#if*xoFS+xlStha5`B5HWzu#@Ixb{8Ypm<8?r29*$YhWP
zS@L|J`T67f;YpvK$)n;kpv8of;&eZihx-XB@@^Axn>e;SNiluAUk+5|exl5M;Wh($?o
zJaM8q+m!JV-u?tp#Vjmh9&TWaP`&D|i%?O@P77b@%F>m~
z#oHV2LILLHt(&K(W2t8RFoHwODj^#i@XxDgP;OAEx_Y<1^gR;Kzpy*#_&8En0pEv-
z2_UT8AR@~qjC3j{wWSjB;fJQCK#Lna3L(n)QfQ^#Z*byonANpxrkdV3KO_I0$=-P?<1GDxbmCOERP
z0=|c+qAGA_0sc`r?A1!xaM&yK3&6Gh{?n0h-vkI9D=MN@ffGpYrF-Zo`vwQWaV^9UAyuIbnX;47jJorMsoY?x)$x
zfj*h6hh=>Y@_8f-(5fOg1CG4cxH|jm+JU|*iql^|JQ^g-AA*E+yFutlwb0e#?y?;1trnG)RWn__OSm{DH)d~j1g1B&Ruxd7nMNt%unnp-ttC>6V-hKDDcyA_&
zA&xVtyB;{)cV@nKzxUm9&b{x!P5X~FHFYkTnmU*CdcSl7K5*=Vv80l|gmMJf3sFSm
zXN8aQV9#8-@WgjFocPeQbF(JKv!MOkOx4Wc_^0QOzIwxm4?R6MYb2g6!xZ6-n8*33
z60MPgh&(6gt>yo(d~*Ki=^YavIQGt1C9#(w9{~GB+Tif#b2C>qV(xqD!=Zj#f6o#h
z14%=a{g>XJx%_YQnoh(vaW6s~0P{yfn@9dh3h>p1>D8>k;)^#4W
zvO~rHk98#0(g7ZQ;oX7laHFT@YuymLj?3rV-7yBK4w~go*x&Y#f4%3M<$YokU3h(Z
zsi!_Zb8+GRP)X*zHT!(U;+@4Oh1XpX*PW%FSnAHvaF)7tcx&<2kvjQ4z>^Hfmt83y
zR6W_qvI)ULN|YikQA7<84dqzIi9`cLXQCk|S}_ye+LK|M*4mc1nuZav1`z?tjR}BY
zBm*=U!2%c~#ptmp7%vVSW-WJwz)0vN$F-0b#6ZJY`m!7W{`$Sn(q~KLBJ@8pPT!rk
zY{*%0r517o-!1X&^^~S76xTvQ=o5${cDs5ZlvGF64OBwN&0N!d<3Z4c($R8tI;Rw@+EACF{f+=2*T`M-dRX
zw)iJ^J#feRHdl_SMS-!?s^0kQ4^Q64^-6JTn%EMzc}r42wFkx3ETC9GsAf56&<#*AoJh
zLOx!c$+oSetq2$*#V3{_pSJs4fvEbEsyos1%iiM4r^@4Ql*O_2-+yVJhohU~#d177
g^N_#!*|X991{xT0j?k?gfB*mh07*qoM6N<$g2`Cj0RR91
literal 0
HcmV?d00001
diff --git a/src/main/res/layout/buttom.xml b/src/main/res/layout/buttom.xml
new file mode 100644
index 0000000..cba74a0
--- /dev/null
+++ b/src/main/res/layout/buttom.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/res/layout/note_edit.xml b/src/main/res/layout/note_edit.xml
index 9a562c4..95839f1 100644
--- a/src/main/res/layout/note_edit.xml
+++ b/src/main/res/layout/note_edit.xml
@@ -31,26 +31,15 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content">
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+ android:scrollbars="none">
+
diff --git a/src/main/res/layout/note_item.xml b/src/main/res/layout/note_item.xml
index d541f6a..394229f 100644
--- a/src/main/res/layout/note_item.xml
+++ b/src/main/res/layout/note_item.xml
@@ -69,6 +69,12 @@
android:clickable="false"
android:visibility="gone" />
+
+
+
+ android:id="@+id/unlocker"
+ android:title="@string/note_unlock"/>
+
+
-
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index a8de74b..10a6d40 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -17,13 +17,14 @@
-
- note
+ 超级便签
Notes 2x2
Notes 4x4
No associated note found, click to create associated note.
Privacy mode,can not see note content
...
+ Lock
+ Unlock
Add note
Delete reminder successfully
Set reminder
@@ -37,7 +38,6 @@
Browse web
Open map
- read_note
/MIUI/notes/
notes_%s.txt
@@ -77,6 +77,8 @@
Confirm to delete the selected %d notes?
Confirm to delete this note?
Have moved selected %1$d notes to %2$s folder
+
+ Set your password and tag;
SD card busy, not available now
Export failed, please check SD card