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/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..a849a79
--- /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..190329d
--- /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/doc/标注/210340054_金佳艺/SqlNote.java b/doc/标注/210340054_金佳艺/SqlNote.java
new file mode 100644
index 0000000..819c8c6
--- /dev/null
+++ b/doc/标注/210340054_金佳艺/SqlNote.java
@@ -0,0 +1,509 @@
+ * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WAR/*
+RANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* sqlNote:用于支持软件最底层的数据库的相关操作,note是data的子父集。
+ 用来实现数据库中管理便签的数据,
+ 方法包括提取便签内容、从数据库中获取便签数据、设置便签内容、向数据库提交便签。
+ */
+package net.micode.notes.gtask.data;
+
+import android.appwidget.AppWidgetManager;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.util.Log;
+
+import net.micode.notes.data.Notes;
+import net.micode.notes.data.Notes.DataColumns;
+import net.micode.notes.data.Notes.NoteColumns;
+import net.micode.notes.gtask.exception.ActionFailureException;
+import net.micode.notes.tool.GTaskStringUtils;
+import net.micode.notes.tool.ResourceParser;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+
+
+public class SqlNote {
+ private static final String TAG = SqlNote.class.getSimpleName();
+
+ private static final int INVALID_ID = -99999;
+
+ public static final String[] PROJECTION_NOTE = 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.SYNC_ID,
+ NoteColumns.LOCAL_MODIFIED, NoteColumns.ORIGIN_PARENT_ID, NoteColumns.GTASK_ID,
+ NoteColumns.VERSION
+ };
+
+ public static final int ID_COLUMN = 0;
+
+ public static final int ALERTED_DATE_COLUMN = 1;
+
+ public static final int BG_COLOR_ID_COLUMN = 2;
+
+ public static final int CREATED_DATE_COLUMN = 3;
+
+ public static final int HAS_ATTACHMENT_COLUMN = 4;
+
+ public static final int MODIFIED_DATE_COLUMN = 5;
+
+ public static final int NOTES_COUNT_COLUMN = 6;
+
+ public static final int PARENT_ID_COLUMN = 7;
+
+ public static final int SNIPPET_COLUMN = 8;
+
+ public static final int TYPE_COLUMN = 9;
+
+ public static final int WIDGET_ID_COLUMN = 10;
+
+ public static final int WIDGET_TYPE_COLUMN = 11;
+
+ public static final int SYNC_ID_COLUMN = 12;
+
+ public static final int LOCAL_MODIFIED_COLUMN = 13;
+
+ public static final int ORIGIN_PARENT_ID_COLUMN = 14;
+
+ public static final int GTASK_ID_COLUMN = 15;
+
+ public static final int VERSION_COLUMN = 16;
+
+ private Context mContext;
+
+ private ContentResolver mContentResolver;
+
+ private boolean mIsCreate;
+
+ private long mId;
+
+ private long mAlertDate;
+
+ private int mBgColorId;
+
+ private long mCreatedDate;
+
+ private int mHasAttachment;
+
+ private long mModifiedDate;
+
+ private long mParentId;
+
+ private String mSnippet;
+
+ private int mType;
+
+ private int mWidgetId;
+
+ private int mWidgetType;
+
+ private long mOriginParent;
+
+ private long mVersion;
+
+ private ContentValues mDiffNoteValues;
+
+ private ArrayList mDataList;
+
+ public SqlNote(Context context) {
+ mContext = context;
+ mContentResolver = context.getContentResolver();
+ mIsCreate = true;
+ mId = INVALID_ID;
+ mAlertDate = 0;
+ mBgColorId = ResourceParser.getDefaultBgId(context);
+ mCreatedDate = System.currentTimeMillis();
+ mHasAttachment = 0;
+ mModifiedDate = System.currentTimeMillis();
+ mParentId = 0;
+ mSnippet = "";
+ mType = Notes.TYPE_NOTE;
+ mWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
+ mWidgetType = Notes.TYPE_WIDGET_INVALIDE;
+ mOriginParent = 0;
+ mVersion = 0;
+ mDiffNoteValues = new ContentValues();
+ mDataList = new ArrayList();
+ }
+
+ public SqlNote(Context context, Cursor c) {
+ mContext = context;
+ mContentResolver = context.getContentResolver();
+ mIsCreate = false;
+ loadFromCursor(c);
+ mDataList = new ArrayList();
+ if (mType == Notes.TYPE_NOTE)
+ loadDataContent();
+ mDiffNoteValues = new ContentValues();
+ }
+
+ public SqlNote(Context context, long id) {
+ mContext = context;
+ mContentResolver = context.getContentResolver();
+ mIsCreate = false;
+ loadFromCursor(id);
+ mDataList = new ArrayList();
+ if (mType == Notes.TYPE_NOTE)
+ loadDataContent();
+ mDiffNoteValues = new ContentValues();
+
+ }
+
+ private void loadFromCursor(long id) {
+ Cursor c = null;
+ try {
+ c = mContentResolver.query(Notes.CONTENT_NOTE_URI, PROJECTION_NOTE, "(_id=?)",
+ new String[] {
+ String.valueOf(id)
+ }, null);
+ if (c != null) {
+ c.moveToNext();
+ loadFromCursor(c);
+ } else {
+ Log.w(TAG, "loadFromCursor: cursor = null");
+ }
+ } finally {
+ if (c != null)
+ c.close();
+ }
+ }
+
+ private void loadFromCursor(Cursor c) {
+ mId = c.getLong(ID_COLUMN);
+ mAlertDate = c.getLong(ALERTED_DATE_COLUMN);
+ mBgColorId = c.getInt(BG_COLOR_ID_COLUMN);
+ mCreatedDate = c.getLong(CREATED_DATE_COLUMN);
+ mHasAttachment = c.getInt(HAS_ATTACHMENT_COLUMN);
+ mModifiedDate = c.getLong(MODIFIED_DATE_COLUMN);
+ mParentId = c.getLong(PARENT_ID_COLUMN);
+ mSnippet = c.getString(SNIPPET_COLUMN);
+ mType = c.getInt(TYPE_COLUMN);
+ mWidgetId = c.getInt(WIDGET_ID_COLUMN);
+ mWidgetType = c.getInt(WIDGET_TYPE_COLUMN);
+ mVersion = c.getLong(VERSION_COLUMN);
+ }
+
+ private void loadDataContent() {
+ Cursor c = null;
+ mDataList.clear();
+ try {
+ c = mContentResolver.query(Notes.CONTENT_DATA_URI, SqlData.PROJECTION_DATA,
+ "(note_id=?)", new String[] {
+ String.valueOf(mId)
+ }, null);
+ if (c != null) {
+ if (c.getCount() == 0) {
+ Log.w(TAG, "it seems that the note has not data");
+ return;
+ }
+ while (c.moveToNext()) {
+ SqlData data = new SqlData(mContext, c);
+ mDataList.add(data);
+ }
+ } else {
+ Log.w(TAG, "loadDataContent: cursor = null");
+ }
+ } finally {
+ if (c != null)
+ c.close();
+ }
+ }
+
+ public boolean setContent(JSONObject js) {
+ try {
+ JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
+ if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) {
+ Log.w(TAG, "cannot set system folder");
+ } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) {
+ // for folder we can only update the snnipet and type
+ String snippet = note.has(NoteColumns.SNIPPET) ? note
+ .getString(NoteColumns.SNIPPET) : "";
+ if (mIsCreate || !mSnippet.equals(snippet)) {
+ mDiffNoteValues.put(NoteColumns.SNIPPET, snippet);
+ }
+ mSnippet = snippet;
+
+ int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE)
+ : Notes.TYPE_NOTE;
+ if (mIsCreate || mType != type) {
+ mDiffNoteValues.put(NoteColumns.TYPE, type);
+ }
+ mType = type;
+ } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) {
+ JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA);
+ long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID;
+ if (mIsCreate || mId != id) {
+ mDiffNoteValues.put(NoteColumns.ID, id);
+ }
+ mId = id;
+
+ long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note
+ .getLong(NoteColumns.ALERTED_DATE) : 0;
+ if (mIsCreate || mAlertDate != alertDate) {
+ mDiffNoteValues.put(NoteColumns.ALERTED_DATE, alertDate);
+ }
+ mAlertDate = alertDate;
+
+ int bgColorId = note.has(NoteColumns.BG_COLOR_ID) ? note
+ .getInt(NoteColumns.BG_COLOR_ID) : ResourceParser.getDefaultBgId(mContext);
+ if (mIsCreate || mBgColorId != bgColorId) {
+ mDiffNoteValues.put(NoteColumns.BG_COLOR_ID, bgColorId);
+ }
+ mBgColorId = bgColorId;
+
+ long createDate = note.has(NoteColumns.CREATED_DATE) ? note
+ .getLong(NoteColumns.CREATED_DATE) : System.currentTimeMillis();
+ if (mIsCreate || mCreatedDate != createDate) {
+ mDiffNoteValues.put(NoteColumns.CREATED_DATE, createDate);
+ }
+ mCreatedDate = createDate;
+
+ int hasAttachment = note.has(NoteColumns.HAS_ATTACHMENT) ? note
+ .getInt(NoteColumns.HAS_ATTACHMENT) : 0;
+ if (mIsCreate || mHasAttachment != hasAttachment) {
+ mDiffNoteValues.put(NoteColumns.HAS_ATTACHMENT, hasAttachment);
+ }
+ mHasAttachment = hasAttachment;
+
+ long modifiedDate = note.has(NoteColumns.MODIFIED_DATE) ? note
+ .getLong(NoteColumns.MODIFIED_DATE) : System.currentTimeMillis();
+ if (mIsCreate || mModifiedDate != modifiedDate) {
+ mDiffNoteValues.put(NoteColumns.MODIFIED_DATE, modifiedDate);
+ }
+ mModifiedDate = modifiedDate;
+
+ long parentId = note.has(NoteColumns.PARENT_ID) ? note
+ .getLong(NoteColumns.PARENT_ID) : 0;
+ if (mIsCreate || mParentId != parentId) {
+ mDiffNoteValues.put(NoteColumns.PARENT_ID, parentId);
+ }
+ mParentId = parentId;
+
+ String snippet = note.has(NoteColumns.SNIPPET) ? note
+ .getString(NoteColumns.SNIPPET) : "";
+ if (mIsCreate || !mSnippet.equals(snippet)) {
+ mDiffNoteValues.put(NoteColumns.SNIPPET, snippet);
+ }
+ mSnippet = snippet;
+
+ int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE)
+ : Notes.TYPE_NOTE;
+ if (mIsCreate || mType != type) {
+ mDiffNoteValues.put(NoteColumns.TYPE, type);
+ }
+ mType = type;
+
+ int widgetId = note.has(NoteColumns.WIDGET_ID) ? note.getInt(NoteColumns.WIDGET_ID)
+ : AppWidgetManager.INVALID_APPWIDGET_ID;
+ if (mIsCreate || mWidgetId != widgetId) {
+ mDiffNoteValues.put(NoteColumns.WIDGET_ID, widgetId);
+ }
+ mWidgetId = widgetId;
+
+ int widgetType = note.has(NoteColumns.WIDGET_TYPE) ? note
+ .getInt(NoteColumns.WIDGET_TYPE) : Notes.TYPE_WIDGET_INVALIDE;
+ if (mIsCreate || mWidgetType != widgetType) {
+ mDiffNoteValues.put(NoteColumns.WIDGET_TYPE, widgetType);
+ }
+ mWidgetType = widgetType;
+
+ long originParent = note.has(NoteColumns.ORIGIN_PARENT_ID) ? note
+ .getLong(NoteColumns.ORIGIN_PARENT_ID) : 0;
+ if (mIsCreate || mOriginParent != originParent) {
+ mDiffNoteValues.put(NoteColumns.ORIGIN_PARENT_ID, originParent);
+ }
+ mOriginParent = originParent;
+
+ for (int i = 0; i < dataArray.length(); i++) {
+ JSONObject data = dataArray.getJSONObject(i);
+ SqlData sqlData = null;
+ if (data.has(DataColumns.ID)) {
+ long dataId = data.getLong(DataColumns.ID);
+ for (SqlData temp : mDataList) {
+ if (dataId == temp.getId()) {
+ sqlData = temp;
+ }
+ }
+ }
+
+ if (sqlData == null) {
+ sqlData = new SqlData(mContext);
+ mDataList.add(sqlData);
+ }
+
+ sqlData.setContent(data);
+ }
+ }
+ } catch (JSONException e) {
+ Log.e(TAG, e.toString());
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+ }
+
+ public JSONObject getContent() {
+ try {
+ JSONObject js = new JSONObject();
+
+ if (mIsCreate) {
+ Log.e(TAG, "it seems that we haven't created this in database yet");
+ return null;
+ }
+
+ JSONObject note = new JSONObject();
+ if (mType == Notes.TYPE_NOTE) {
+ note.put(NoteColumns.ID, mId);
+ note.put(NoteColumns.ALERTED_DATE, mAlertDate);
+ note.put(NoteColumns.BG_COLOR_ID, mBgColorId);
+ note.put(NoteColumns.CREATED_DATE, mCreatedDate);
+ note.put(NoteColumns.HAS_ATTACHMENT, mHasAttachment);
+ note.put(NoteColumns.MODIFIED_DATE, mModifiedDate);
+ note.put(NoteColumns.PARENT_ID, mParentId);
+ note.put(NoteColumns.SNIPPET, mSnippet);
+ note.put(NoteColumns.TYPE, mType);
+ note.put(NoteColumns.WIDGET_ID, mWidgetId);
+ note.put(NoteColumns.WIDGET_TYPE, mWidgetType);
+ note.put(NoteColumns.ORIGIN_PARENT_ID, mOriginParent);
+ js.put(GTaskStringUtils.META_HEAD_NOTE, note);
+
+ JSONArray dataArray = new JSONArray();
+ for (SqlData sqlData : mDataList) {
+ JSONObject data = sqlData.getContent();
+ if (data != null) {
+ dataArray.put(data);
+ }
+ }
+ js.put(GTaskStringUtils.META_HEAD_DATA, dataArray);
+ } else if (mType == Notes.TYPE_FOLDER || mType == Notes.TYPE_SYSTEM) {
+ note.put(NoteColumns.ID, mId);
+ note.put(NoteColumns.TYPE, mType);
+ note.put(NoteColumns.SNIPPET, mSnippet);
+ js.put(GTaskStringUtils.META_HEAD_NOTE, note);
+ }
+
+ return js;
+ } catch (JSONException e) {
+ Log.e(TAG, e.toString());
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public void setParentId(long id) {
+ mParentId = id;
+ mDiffNoteValues.put(NoteColumns.PARENT_ID, id);
+ }
+
+ public void setGtaskId(String gid) {
+ mDiffNoteValues.put(NoteColumns.GTASK_ID, gid);
+ }
+
+ public void setSyncId(long syncId) {
+ mDiffNoteValues.put(NoteColumns.SYNC_ID, syncId);
+ }
+
+ public void resetLocalModified() {
+ mDiffNoteValues.put(NoteColumns.LOCAL_MODIFIED, 0);
+ }
+
+ public long getId() {
+ return mId;
+ }
+
+ public long getParentId() {
+ return mParentId;
+ }
+
+ public String getSnippet() {
+ return mSnippet;
+ }
+
+ public boolean isNoteType() {
+ return mType == Notes.TYPE_NOTE;
+ }
+
+ public void commit(boolean validateVersion) {
+ if (mIsCreate) {
+ if (mId == INVALID_ID && mDiffNoteValues.containsKey(NoteColumns.ID)) {
+ mDiffNoteValues.remove(NoteColumns.ID);
+ }
+
+ Uri uri = mContentResolver.insert(Notes.CONTENT_NOTE_URI, mDiffNoteValues);
+ try {
+ mId = Long.valueOf(uri.getPathSegments().get(1));
+ } catch (NumberFormatException e) {
+ Log.e(TAG, "Get note id error :" + e.toString());
+ throw new ActionFailureException("create note failed");
+ }
+ if (mId == 0) {
+ throw new IllegalStateException("Create thread id failed");
+ }
+
+ if (mType == Notes.TYPE_NOTE) {
+ for (SqlData sqlData : mDataList) {
+ sqlData.commit(mId, false, -1);
+ }
+ }
+ } else {
+ if (mId <= 0 && mId != Notes.ID_ROOT_FOLDER && mId != Notes.ID_CALL_RECORD_FOLDER) {
+ Log.e(TAG, "No such note");
+ throw new IllegalStateException("Try to update note with invalid id");
+ }
+ if (mDiffNoteValues.size() > 0) {
+ mVersion ++;
+ int result = 0;
+ if (!validateVersion) {
+ result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "("
+ + NoteColumns.ID + "=?)", new String[] {
+ String.valueOf(mId)
+ });
+ } else {
+ result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "("
+ + NoteColumns.ID + "=?) AND (" + NoteColumns.VERSION + "<=?)",
+ new String[] {
+ String.valueOf(mId), String.valueOf(mVersion)
+ });
+ }
+ if (result == 0) {
+ Log.w(TAG, "there is no update. maybe user updates note when syncing");
+ }
+ }
+
+ if (mType == Notes.TYPE_NOTE) {
+ for (SqlData sqlData : mDataList) {
+ sqlData.commit(mId, validateVersion, mVersion);
+ }
+ }
+ }
+
+ // refresh local info
+ loadFromCursor(mId);
+ if (mType == Notes.TYPE_NOTE)
+ loadDataContent();
+
+ mDiffNoteValues.clear();
+ mIsCreate = false;
+ }
+}
diff --git a/src/.idea/.gitignore b/src/.idea/.gitignore
new file mode 100644
index 0000000..359bb53
--- /dev/null
+++ b/src/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/src/.idea/misc.xml b/src/.idea/misc.xml
new file mode 100644
index 0000000..4eb8629
--- /dev/null
+++ b/src/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/modules.xml b/src/.idea/modules.xml
new file mode 100644
index 0000000..f669a0e
--- /dev/null
+++ b/src/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/src.iml b/src/.idea/src.iml
new file mode 100644
index 0000000..9f3ab6f
--- /dev/null
+++ b/src/.idea/src.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/vcs.xml b/src/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/src/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Xiaominotes/.gradle/checksums/md5-checksums.bin b/src/Xiaominotes/.gradle/checksums/md5-checksums.bin
new file mode 100644
index 0000000..ed7b1f9
Binary files /dev/null and b/src/Xiaominotes/.gradle/checksums/md5-checksums.bin differ
diff --git a/src/Xiaominotes/.gradle/checksums/sha1-checksums.bin b/src/Xiaominotes/.gradle/checksums/sha1-checksums.bin
new file mode 100644
index 0000000..df94d8b
Binary files /dev/null and b/src/Xiaominotes/.gradle/checksums/sha1-checksums.bin differ
diff --git a/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.androidTest.iml b/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.androidTest.iml
new file mode 100644
index 0000000..8f7dafa
--- /dev/null
+++ b/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.androidTest.iml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.main.iml b/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.main.iml
new file mode 100644
index 0000000..542ae13
--- /dev/null
+++ b/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.main.iml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.unitTest.iml b/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.unitTest.iml
new file mode 100644
index 0000000..3b929da
--- /dev/null
+++ b/src/Xiaominotes/.idea/modules/app/Xiaominotes.app.unitTest.iml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin
new file mode 100644
index 0000000..5c4b42b
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin
new file mode 100644
index 0000000..ce69d6f
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_0/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_0/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_0/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_1/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_1/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_1/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_2/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_2/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_2/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_3/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_3/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_3/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_4/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_4/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_4/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_5/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_5/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_5/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_6/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_6/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_6/graph.bin differ
diff --git a/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_7/graph.bin b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_7/graph.bin
new file mode 100644
index 0000000..601f245
Binary files /dev/null and b/src/Xiaominotes/app/build/intermediates/desugar_graph/debug/out/currentProject/jar_46e0d1d90baf58e82ed6a86120d7a3336abcdd54e04ab0720119fac99f89d695_bucket_7/graph.bin differ