diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/MiNote.iml b/.idea/MiNote.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/MiNote.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..639900d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..6235a06
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/build.gradle.kts b/src/app/build.gradle.kts
index 1c9e338..51f2bc1 100644
--- a/src/app/build.gradle.kts
+++ b/src/app/build.gradle.kts
@@ -14,13 +14,6 @@ android {
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
- packaging {
- resources.excludes.add("META-INF/DEPENDENCIES");
- resources.excludes.add("META-INF/NOTICE");
- resources.excludes.add("META-INF/LICENSE");
- resources.excludes.add("META-INF/LICENSE.txt");
- resources.excludes.add("META-INF/NOTICE.txt");
- }
}
buildTypes {
@@ -33,6 +26,13 @@ android {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
+ packaging {
+ resources.excludes.add("META-INF/DEPENDENCIES");
+ resources.excludes.add("META-INF/NOTICE");
+ resources.excludes.add("META-INF/LICENSE");
+ resources.excludes.add("META-INF/LICENSE.txt");
+ resources.excludes.add("META-INF/NOTICE.txt");
+ }
}
dependencies {
@@ -41,10 +41,18 @@ dependencies {
implementation(libs.material)
implementation(libs.activity)
implementation(libs.constraintlayout)
- implementation(files("D:\\code\\androidcode\\Notesmaster\\httpcomponents-client-4.5.14-bin\\lib\\httpclient-osgi-4.5.14.jar"))
- implementation(files("D:\\code\\androidcode\\Notesmaster\\httpcomponents-client-4.5.14-bin\\lib\\httpclient-win-4.5.14.jar"))
- implementation(files("D:\\code\\androidcode\\Notesmaster\\httpcomponents-client-4.5.14-bin\\lib\\httpcore-4.4.16.jar"))
+ //implementation(fileTree(mapOf("dir" to "E:\\AS\\httpcomponents-client-4.5.14-bin\\lib", "include" to listOf("*.aar", "*.jar"), "exclude" to listOf(""))))
+ // 部分需要重新修改
+// implementation(fileTree(mapOf(
+// "dir" to "D:\\Code\\AndroidCode\\Notesmaster\\httpcomponents-client-4.5.14-bin\\lib",
+// "include" to listOf("*.aar", "*.jar"),
+// "exclude" to listOf("")
+// )))
+ //修改为如下代码:
+ implementation(files("E:\\AS\\httpcomponents-client-4.5.14-bin\\lib\\httpclient-osgi-4.5.14.jar"))
+ implementation(files("E:\\AS\\httpcomponents-client-4.5.14-bin\\lib\\httpclient-win-4.5.14.jar"))
+ implementation(files("E:\\AS\\httpcomponents-client-4.5.14-bin\\lib\\httpcore-4.4.16.jar"))
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
-}
+}
\ No newline at end of file
diff --git a/src/app/src/main/AndroidManifest.xml b/src/app/src/main/AndroidManifest.xml
index e061ed5..1af8897 100644
--- a/src/app/src/main/AndroidManifest.xml
+++ b/src/app/src/main/AndroidManifest.xml
@@ -20,7 +20,7 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
- android:theme="@style/Theme.Notesmaster"
+ android:theme="@style/Theme.Notes"
tools:targetApi="31">
-
\ No newline at end of file
+
diff --git a/src/app/src/main/java/net/micode/notes/data/Notes.java b/src/app/src/main/java/net/micode/notes/data/Notes.java
index a8b97b2..f240604 100644
--- a/src/app/src/main/java/net/micode/notes/data/Notes.java
+++ b/src/app/src/main/java/net/micode/notes/data/Notes.java
@@ -226,127 +226,6 @@ public class Notes {
*/
public static final String DATA3 = "data3";
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* TEXT data type
diff --git a/src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java b/src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java
index 3a2050b..4a2a3dd 100644
--- a/src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java
+++ b/src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java
@@ -26,29 +26,54 @@ import org.json.JSONObject;
public class MetaData extends Task {
+ /*
+ * 功能描述:得到类的简写名称存入字符串TAG中
+ * 实现过程:调用getSimpleName ()函数
+ */
private final static String TAG = MetaData.class.getSimpleName();
private String mRelatedGid = null;
-
+ /*
+ * 功能描述:设置数据,即生成元数据库
+ * 实现过程:调用JSONObject库函数put (),Task类中的setNotes ()和setName ()函数
+ * 参数注解:
+ */
public void setMeta(String gid, JSONObject metaInfo) {
+ //对函数块进行注释
try {
metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid);
+ /*
+ * 将这对键值放入metaInfo这个jsonobject对象中
+ */
} catch (JSONException e) {
Log.e(TAG, "failed to put related gid");
+ /*
+ * 输出错误信息
+ */
+
}
setNotes(metaInfo.toString());
setName(GTaskStringUtils.META_NOTE_NAME);
}
-
+ /*
+ * 功能描述:获取相关联的Gid
+ */
public String getRelatedGid() {
return mRelatedGid;
}
-
+ /*
+ * 功能描述:判断当前数据是否为空,若为空则返回真即值得保存
+ * Made By CuiCan
+ */
@Override
public boolean isWorthSaving() {
return getNotes() != null;
}
-
+ /*
+ * 功能描述:使用远程json数据对象设置元数据内容
+ * 实现过程:调用父类Task中的setContentByRemoteJSON ()函数,并
+ * 参数注解:
+ */
@Override
public void setContentByRemoteJSON(JSONObject js) {
super.setContentByRemoteJSON(js);
@@ -57,26 +82,47 @@ public class MetaData extends Task {
JSONObject metaInfo = new JSONObject(getNotes().trim());
mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID);
} catch (JSONException e) {
- Log.w(TAG, "failed to get related gid");
+ Log.w(TAG, "failed to get related gid");/*
+ * 输出警告信息
+ */
mRelatedGid = null;
}
}
}
-
+ /*
+ * 功能描述:使用本地json数据对象设置元数据内容,一般不会用到,若用到,则抛出异常
+ * Made By CuiCan
+ */
@Override
public void setContentByLocalJSON(JSONObject js) {
// this function should not be called
throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called");
+ /*
+ *传递非法参数异常
+ */
}
-
+ /*
+ * 功能描述:从元数据内容中获取本地json对象,一般不会用到,若用到,则抛出异常
+ * Made By CuiCan
+ */
@Override
public JSONObject getLocalJSONFromContent() {
throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called");
+ /*
+ * 传递非法参数异常
+ * Made By Cui Can
+ */
}
-
+ /*
+ * 功能描述:获取同步动作状态,一般不会用到,若用到,则抛出异常
+ * Made By CuiCan
+ */
@Override
public int getSyncAction(Cursor c) {
- throw new IllegalAccessError("MetaData:getSyncAction should not be called");
+ throw new IllegalAccessError("MetaData:getSyncAction should not be called");/*
+ * 传递非法参数异常
+ * Made By Cui Can
+ */
}
}
diff --git a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java
index a1deb99..43cbee6 100644
--- a/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java
+++ b/src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java
@@ -82,7 +82,6 @@ public class GTaskASyncTask extends AsyncTask {
Notification notification=builder.getNotification();
mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification);
}
-
@Override
protected Integer doInBackground(Void... unused) {
publishProgess(mContext.getString(R.string.sync_progress_login, NotesPreferenceActivity
diff --git a/src/app/src/main/java/net/micode/notes/ui/NoteItemData.java b/src/app/src/main/java/net/micode/notes/ui/NoteItemData.java
index 0f5a878..4acfd7c 100644
--- a/src/app/src/main/java/net/micode/notes/ui/NoteItemData.java
+++ b/src/app/src/main/java/net/micode/notes/ui/NoteItemData.java
@@ -28,18 +28,18 @@ import net.micode.notes.tool.DataUtils;
public class NoteItemData {
static final String [] PROJECTION = new String [] {
- NoteColumns.ID,
- NoteColumns.ALERTED_DATE,
- NoteColumns.BG_COLOR_ID,
- NoteColumns.CREATED_DATE,
- NoteColumns.HAS_ATTACHMENT,
- NoteColumns.MODIFIED_DATE,
- NoteColumns.NOTES_COUNT,
- NoteColumns.PARENT_ID,
- NoteColumns.SNIPPET,
- NoteColumns.TYPE,
- NoteColumns.WIDGET_ID,
- NoteColumns.WIDGET_TYPE,
+ NoteColumns.ID,
+ NoteColumns.ALERTED_DATE,
+ NoteColumns.BG_COLOR_ID,
+ NoteColumns.CREATED_DATE,
+ NoteColumns.HAS_ATTACHMENT,
+ NoteColumns.MODIFIED_DATE,
+ NoteColumns.NOTES_COUNT,
+ NoteColumns.PARENT_ID,
+ NoteColumns.SNIPPET,
+ NoteColumns.TYPE,
+ NoteColumns.WIDGET_ID,
+ NoteColumns.WIDGET_TYPE,
};
private static final int ID_COLUMN = 0;
diff --git a/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
index e843aec..2481b81 100644
--- a/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
+++ b/src/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
@@ -79,6 +79,8 @@ import java.io.InputStreamReader;
import java.util.HashSet;
public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener {
+ public static int secret_mode = 0;
+ private int mode=-1;
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
@@ -139,6 +141,9 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.note_list);
+ getWindow().setBackgroundDrawableResource(R.drawable.xy);
+ getWindow().setBackgroundDrawableResource(R.drawable.ab);
+ getWindow().setBackgroundDrawableResource(R.drawable.cd);
initResources();
/**
@@ -411,12 +416,36 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private void startAsyncNotesListQuery() {
String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION
: NORMAL_SELECTION;
- mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
- Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] {
- String.valueOf(mCurrentFolderId)
- }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
- }
+ if(secret_mode == 0) {
+ mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
+ Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[]{
+ String.valueOf(mCurrentFolderId)
+ }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
+ }
+ else{
+ String str1 = "520";
+ String [] PROJECTION = new String [] { //定义一个新的PROJECTION数组,只换掉SNIPPET
+ NoteColumns.ID,
+ NoteColumns.ALERTED_DATE,
+ NoteColumns.BG_COLOR_ID,
+ NoteColumns.CREATED_DATE,
+ NoteColumns.HAS_ATTACHMENT,
+ NoteColumns.MODIFIED_DATE,
+ NoteColumns.NOTES_COUNT,
+ NoteColumns.PARENT_ID,
+// NoteColumns.SNIPPET,
+ str1,
+ NoteColumns.TYPE,
+ NoteColumns.WIDGET_ID,
+ NoteColumns.WIDGET_TYPE,
+ };
+ mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
+ Notes.CONTENT_NOTE_URI, PROJECTION, selection, new String[]{
+ String.valueOf(mCurrentFolderId)
+ }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
+ }
+ }
private final class BackgroundQueryHandler extends AsyncQueryHandler {
public BackgroundQueryHandler(ContentResolver contentResolver) {
super(contentResolver);
@@ -763,6 +792,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
+
if (mState == ListEditState.NOTE_LIST) {
getMenuInflater().inflate(R.menu.note_list, menu);
// set sync or sync_cancel
@@ -775,12 +805,36 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
} else {
Log.e(TAG, "Wrong state:" + mState);
}
+
+ if(mode==-1){
+ menu.findItem(R.id.menu_xy).setVisible(false);
+ }else if(mode==0){
+ menu.findItem(R.id.menu_ab).setVisible(false);
+ } else if (mode==1) {
+ menu.findItem(R.id.menu_cd).setVisible(false);
+ }
+
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
+ case R.id.menu_xy:{
+ mode=-1;
+ getWindow().setBackgroundDrawableResource(R.drawable.xy);
+ break;
+ }
+ case R.id.menu_ab:{
+ mode=0;
+ getWindow().setBackgroundDrawableResource(R.drawable.ab);
+ break;
+ }
+ case R.id.menu_cd:{
+ mode=-1;
+ getWindow().setBackgroundDrawableResource(R.drawable.cd);
+ break;
+ }
case R.id.menu_new_folder: {
showCreateOrModifyFolderDialog(true);
break;
@@ -812,6 +866,48 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
case R.id.menu_search:
onSearchRequested();
break;
+ case R.id.menu_secret: { //进入私密模式
+ secret_mode = 1;
+ AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this);
+ dialog.setTitle("重要提醒");
+ dialog.setMessage("您确认进入私密模式吗?");
+ dialog.setCancelable(false);
+ dialog.setPositiveButton("确认", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ startAsyncNotesListQuery();
+ Toast.makeText(NotesListActivity.this,"您已进入私密模式",Toast.LENGTH_SHORT).show();
+ }
+ });
+ dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which){}
+ });
+ dialog.show();
+ startAsyncNotesListQuery();
+ Toast.makeText(this,"您已进入私密模式",Toast.LENGTH_SHORT).show();
+ break;
+ }
+ case R.id.menu_quit_secret:{ //退出私密模式
+ secret_mode = 0;
+ AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this);
+ dialog.setTitle("重要提醒");
+ dialog.setMessage("您确认退出私密模式吗?");
+ dialog.setCancelable(false);
+ dialog.setPositiveButton("确认", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ startAsyncNotesListQuery();
+ Toast.makeText(NotesListActivity.this,"您已退出私密模式",Toast.LENGTH_SHORT).show();
+ }
+ });
+ dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which){}
+ });
+ dialog.show();
+ break;
+ }
default:
break;
}
diff --git a/src/app/src/main/res/drawable-hdpi/ab.jpeg b/src/app/src/main/res/drawable-hdpi/ab.jpeg
new file mode 100644
index 0000000..52c5cf6
Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/ab.jpeg differ
diff --git a/src/app/src/main/res/drawable-hdpi/cd.png b/src/app/src/main/res/drawable-hdpi/cd.png
new file mode 100644
index 0000000..71042ad
Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/cd.png differ
diff --git a/src/app/src/main/res/drawable-hdpi/xy.png b/src/app/src/main/res/drawable-hdpi/xy.png
new file mode 100644
index 0000000..837b185
Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/xy.png differ
diff --git a/src/app/src/main/res/layout/note_list.xml b/src/app/src/main/res/layout/note_list.xml
index 6b25d38..487fe27 100644
--- a/src/app/src/main/res/layout/note_list.xml
+++ b/src/app/src/main/res/layout/note_list.xml
@@ -18,8 +18,8 @@
+ android:layout_height="fill_parent">
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/src/main/res/menu/sub_folder.xml b/src/app/src/main/res/menu/sub_folder.xml
index b00de26..41fe907 100644
--- a/src/app/src/main/res/menu/sub_folder.xml
+++ b/src/app/src/main/res/menu/sub_folder.xml
@@ -21,4 +21,11 @@
+
+
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values-night/themes.xml b/src/app/src/main/res/values-night/themes.xml
index d2c68d1..ad0fd96 100644
--- a/src/app/src/main/res/values-night/themes.xml
+++ b/src/app/src/main/res/values-night/themes.xml
@@ -1,6 +1,6 @@
-
diff --git a/src/app/src/main/res/values-zh-rCN/arrays.xml b/src/app/src/main/res/values-zh-rCN/arrays.xml
index a092386..49e2d6e 100644
--- a/src/app/src/main/res/values-zh-rCN/arrays.xml
+++ b/src/app/src/main/res/values-zh-rCN/arrays.xml
@@ -20,4 +20,5 @@
- 短信
- 邮件
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values-zh-rCN/strings.xml b/src/app/src/main/res/values-zh-rCN/strings.xml
index 09f75ed..a11c18e 100644
--- a/src/app/src/main/res/values-zh-rCN/strings.xml
+++ b/src/app/src/main/res/values-zh-rCN/strings.xml
@@ -123,4 +123,6 @@
- %1$s 条符合“%2$s”的搜索结果
+ 私密模式
+ 退出私密模式
diff --git a/src/app/src/main/res/values-zh-rTW/arrays.xml b/src/app/src/main/res/values-zh-rTW/arrays.xml
index 5297209..471723c 100644
--- a/src/app/src/main/res/values-zh-rTW/arrays.xml
+++ b/src/app/src/main/res/values-zh-rTW/arrays.xml
@@ -20,4 +20,5 @@
- 短信
- 郵件
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values-zh-rTW/strings.xml b/src/app/src/main/res/values-zh-rTW/strings.xml
index 3c41894..7a8de98 100644
--- a/src/app/src/main/res/values-zh-rTW/strings.xml
+++ b/src/app/src/main/res/values-zh-rTW/strings.xml
@@ -124,4 +124,7 @@
- %1$s 條符合”%2$s“的搜尋結果
+
+ 私密模式
+ 退出私密模式
diff --git a/src/app/src/main/res/values/arrays.xml b/src/app/src/main/res/values/arrays.xml
index e00210b..1ccd499 100644
--- a/src/app/src/main/res/values/arrays.xml
+++ b/src/app/src/main/res/values/arrays.xml
@@ -28,4 +28,5 @@
- Messaging
- Email
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values/strings.xml b/src/app/src/main/res/values/strings.xml
index 55df868..49bd179 100644
--- a/src/app/src/main/res/values/strings.xml
+++ b/src/app/src/main/res/values/strings.xml
@@ -15,8 +15,7 @@
limitations under the License.
-->
-
+
Notes
Notes 2x2
Notes 4x4
@@ -39,6 +38,11 @@
/MIUI/notes/
notes_%s.txt
+ Background: xy
+ Background: ab
+ Background: cd
+
+
(%d)
New Folder
Export text
@@ -132,4 +136,6 @@
- %1$s results for \"%2$s\"
+ 私密模式
+ 退出私密模式
diff --git a/src/app/src/main/res/values/styles.xml b/src/app/src/main/res/values/styles.xml
index d750e65..c1eddb2 100644
--- a/src/app/src/main/res/values/styles.xml
+++ b/src/app/src/main/res/values/styles.xml
@@ -63,7 +63,6 @@
\ No newline at end of file
diff --git a/src/app/src/main/res/values/themes.xml b/src/app/src/main/res/values/themes.xml
index 7c616ff..aa02b68 100644
--- a/src/app/src/main/res/values/themes.xml
+++ b/src/app/src/main/res/values/themes.xml
@@ -1,9 +1,9 @@
-
-
+
\ No newline at end of file