Compare commits
	
		
			No commits in common. 'master' and 'ym_branch' have entirely different histories. 
		
	
	
		
	| Before Width: | Height: | Size: 38 KiB | 
| Before Width: | Height: | Size: 50 KiB | 
| Before Width: | Height: | Size: 139 KiB | 
| Before Width: | Height: | Size: 31 KiB | 
| Before Width: | Height: | Size: 24 KiB | 
| Before Width: | Height: | Size: 50 KiB | 
| Before Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 94 KiB | 
| Before Width: | Height: | Size: 95 KiB | 
| Before Width: | Height: | Size: 34 KiB | 
| Before Width: | Height: | Size: 149 KiB | 
| Before Width: | Height: | Size: 53 KiB | 
| Before Width: | Height: | Size: 53 KiB | 
| Before Width: | Height: | Size: 102 KiB | 
| @ -1,505 +0,0 @@ | |||||||
| /* |  | ||||||
|  * 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 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | ||||||
|  * See the License for the specific language governing permissions and |  | ||||||
|  * limitations under the License. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| 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<SqlData> 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<SqlData>(); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public SqlNote(Context context, Cursor c) { |  | ||||||
|         mContext = context; |  | ||||||
|         mContentResolver = context.getContentResolver(); |  | ||||||
|         mIsCreate = false; |  | ||||||
|         loadFromCursor(c); |  | ||||||
|         mDataList = new ArrayList<SqlData>(); |  | ||||||
|         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<SqlData>(); |  | ||||||
|         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; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| #Thu Mar 16 18:03:46 CST 2023 |  | ||||||
| gradle.version=8.0.2 |  | ||||||
| @ -1,3 +0,0 @@ | |||||||
| # Default ignored files |  | ||||||
| /shelf/ |  | ||||||
| /workspace.xml |  | ||||||
| @ -1,6 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project version="4"> |  | ||||||
|   <component name="CompilerConfiguration"> |  | ||||||
|     <bytecodeTargetLevel target="11" /> |  | ||||||
|   </component> |  | ||||||
| </project> |  | ||||||
| @ -1,17 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project version="4"> |  | ||||||
|   <component name="deploymentTargetDropDown"> |  | ||||||
|     <targetSelectedWithDropDown> |  | ||||||
|       <Target> |  | ||||||
|         <type value="QUICK_BOOT_TARGET" /> |  | ||||||
|         <deviceKey> |  | ||||||
|           <Key> |  | ||||||
|             <type value="VIRTUAL_DEVICE_PATH" /> |  | ||||||
|             <value value="C:\Users\18255\.android\avd\Pixel_2_API_30_1.avd" /> |  | ||||||
|           </Key> |  | ||||||
|         </deviceKey> |  | ||||||
|       </Target> |  | ||||||
|     </targetSelectedWithDropDown> |  | ||||||
|     <timeTargetWasSelectedWithDropDown value="2023-03-25T03:06:29.058591600Z" /> |  | ||||||
|   </component> |  | ||||||
| </project> |  | ||||||
| @ -1,21 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project version="4"> |  | ||||||
|   <component name="GradleMigrationSettings" migrationVersion="1" /> |  | ||||||
|   <component name="GradleSettings"> |  | ||||||
|     <option name="linkedExternalProjectsSettings"> |  | ||||||
|       <GradleProjectSettings> |  | ||||||
|         <option name="testRunner" value="GRADLE" /> |  | ||||||
|         <option name="distributionType" value="DEFAULT_WRAPPED" /> |  | ||||||
|         <option name="externalProjectPath" value="$PROJECT_DIR$" /> |  | ||||||
|         <option name="gradleHome" value="$PROJECT_DIR$/../../../ProgramTools/gradle/gradle-8.0.2" /> |  | ||||||
|         <option name="gradleJvm" value="Embedded JDK" /> |  | ||||||
|         <option name="modules"> |  | ||||||
|           <set> |  | ||||||
|             <option value="$PROJECT_DIR$" /> |  | ||||||
|             <option value="$PROJECT_DIR$/app" /> |  | ||||||
|           </set> |  | ||||||
|         </option> |  | ||||||
|       </GradleProjectSettings> |  | ||||||
|     </option> |  | ||||||
|   </component> |  | ||||||
| </project> |  | ||||||
| @ -1,25 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project version="4"> |  | ||||||
|   <component name="RemoteRepositoriesConfiguration"> |  | ||||||
|     <remote-repository> |  | ||||||
|       <option name="id" value="central" /> |  | ||||||
|       <option name="name" value="Maven Central repository" /> |  | ||||||
|       <option name="url" value="https://repo1.maven.org/maven2" /> |  | ||||||
|     </remote-repository> |  | ||||||
|     <remote-repository> |  | ||||||
|       <option name="id" value="jboss.community" /> |  | ||||||
|       <option name="name" value="JBoss Community repository" /> |  | ||||||
|       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> |  | ||||||
|     </remote-repository> |  | ||||||
|     <remote-repository> |  | ||||||
|       <option name="id" value="BintrayJCenter" /> |  | ||||||
|       <option name="name" value="BintrayJCenter" /> |  | ||||||
|       <option name="url" value="https://jcenter.bintray.com/" /> |  | ||||||
|     </remote-repository> |  | ||||||
|     <remote-repository> |  | ||||||
|       <option name="id" value="Google" /> |  | ||||||
|       <option name="name" value="Google" /> |  | ||||||
|       <option name="url" value="https://dl.google.com/dl/android/maven2/" /> |  | ||||||
|     </remote-repository> |  | ||||||
|   </component> |  | ||||||
| </project> |  | ||||||
| @ -1,10 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project version="4"> |  | ||||||
|   <component name="ExternalStorageConfigurationManager" enabled="true" /> |  | ||||||
|   <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK"> |  | ||||||
|     <output url="file://$PROJECT_DIR$/build/classes" /> |  | ||||||
|   </component> |  | ||||||
|   <component name="ProjectType"> |  | ||||||
|     <option name="id" value="Android" /> |  | ||||||
|   </component> |  | ||||||
| </project> |  | ||||||
| @ -1,6 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project version="4"> |  | ||||||
|   <component name="VcsDirectoryMappings"> |  | ||||||
|     <mapping directory="$PROJECT_DIR$/../.." vcs="Git" /> |  | ||||||
|   </component> |  | ||||||
| </project> |  | ||||||
| @ -1,21 +0,0 @@ | |||||||
| apply plugin: 'com.android.application' |  | ||||||
| 
 |  | ||||||
| android { |  | ||||||
|     compileSdkVersion 33 |  | ||||||
|     buildToolsVersion "33.0.2" |  | ||||||
| 
 |  | ||||||
|     useLibrary'org.apache.http.legacy' //add |  | ||||||
| 
 |  | ||||||
|     defaultConfig { |  | ||||||
|         applicationId "net.micode.notes" |  | ||||||
|         minSdkVersion 14 |  | ||||||
|         targetSdkVersion 14 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     buildTypes { |  | ||||||
|         release { |  | ||||||
|             minifyEnabled false |  | ||||||
|             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,12 +0,0 @@ | |||||||
| /** |  | ||||||
|  * Automatically generated file. DO NOT MODIFY |  | ||||||
|  */ |  | ||||||
| package net.micode.notes; |  | ||||||
| 
 |  | ||||||
| public final class BuildConfig { |  | ||||||
|   public static final boolean DEBUG = Boolean.parseBoolean("true"); |  | ||||||
|   public static final String APPLICATION_ID = "net.micode.notes"; |  | ||||||
|   public static final String BUILD_TYPE = "debug"; |  | ||||||
|   public static final int VERSION_CODE = 1; |  | ||||||
|   public static final String VERSION_NAME = "0.1"; |  | ||||||
| } |  | ||||||
| @ -1 +0,0 @@ | |||||||
| {} |  | ||||||
| @ -1,20 +0,0 @@ | |||||||
| { |  | ||||||
|   "version": 3, |  | ||||||
|   "artifactType": { |  | ||||||
|     "type": "APK", |  | ||||||
|     "kind": "Directory" |  | ||||||
|   }, |  | ||||||
|   "applicationId": "net.micode.notes", |  | ||||||
|   "variantName": "debug", |  | ||||||
|   "elements": [ |  | ||||||
|     { |  | ||||||
|       "type": "SINGLE", |  | ||||||
|       "filters": [], |  | ||||||
|       "attributes": [], |  | ||||||
|       "versionCode": 1, |  | ||||||
|       "versionName": "0.1", |  | ||||||
|       "outputFile": "app-debug.apk" |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "elementType": "File" |  | ||||||
| } |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| #- File Locator - |  | ||||||
| listingFile=../../apk/debug/output-metadata.json |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| appMetadataVersion=1.1 |  | ||||||
| androidGradlePluginVersion=7.4.2 |  | ||||||
| @ -1,10 +0,0 @@ | |||||||
| { |  | ||||||
|   "version": 3, |  | ||||||
|   "artifactType": { |  | ||||||
|     "type": "COMPATIBLE_SCREEN_MANIFEST", |  | ||||||
|     "kind": "Directory" |  | ||||||
|   }, |  | ||||||
|   "applicationId": "net.micode.notes", |  | ||||||
|   "variantName": "debug", |  | ||||||
|   "elements": [] |  | ||||||
| } |  | ||||||
| @ -1 +0,0 @@ | |||||||
| 4 |  | ||||||
| @ -1,102 +0,0 @@ | |||||||
| #Wed Jun 07 10:28:07 CST 2023 |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/call_record.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_call_record.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_green.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_green.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_yellow.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_yellow.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/font_small.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_small.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/activity_login.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_activity_login.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_white.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_white.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_white.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_white.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_down.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_down.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/color/secondary_text_dark.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\color_secondary_text_dark.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/widget_4x.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_4x.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/menu_delete.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_delete.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/clock.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_clock.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/dropdown_icon.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_dropdown_icon.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_green.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_green.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_white_single.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_single.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_green.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_green.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/raw-zh-rCN/introduction=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\raw-zh-rCN_introduction.flat |  | ||||||
| net.micode.notes.app-main-7\:/xml/preferences.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\xml_preferences.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/delete.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_delete.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/menu/call_record_folder.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\menu_call_record_folder.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_red.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_red.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/widget_2x.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_2x.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/add_account_text.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_add_account_text.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/selected.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_selected.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_middle.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_middle.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_single.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_single.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/font_large.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_large.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/settings_header.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_settings_header.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/menu/call_note_edit.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\menu_call_note_edit.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/raw/introduction=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\raw_introduction.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_yellow.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_yellow.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_red.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_red.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/title_alert.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_alert.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_yellow.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_yellow.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/red.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_red.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_red.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_red.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/title_bar_bg.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_bar_bg.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_green_up.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_up.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/note_list_dropdown_menu.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_dropdown_menu.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/note_list_footer.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_footer.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_white_up.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_up.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_blue.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_blue.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/bg_color_btn_mask.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_color_btn_mask.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_blue.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_blue.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/bg_btn_set_color.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_btn_set_color.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/activity_set_loginpassword.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_activity_set_loginpassword.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/xml/searchable.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\xml_searchable.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/notification.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_notification.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_blue_up.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_up.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/note_edit_color_selector_panel.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_note_edit_color_selector_panel.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_white_middle.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_middle.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_folder.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_folder.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/menu/note_edit.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\menu_note_edit.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/font_super.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_super.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/new_note_normal.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_normal.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_yellow.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_yellow.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/activity_change_loginpassword.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_activity_change_loginpassword.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/menu/sub_folder.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\menu_sub_folder.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/account_dialog_title.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_account_dialog_title.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_green.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_green.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/dialog_edit_text.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_dialog_edit_text.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_middle.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_middle.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/font_normal.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_normal.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/sky.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_sky.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/note_edit.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_green_single.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_single.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_red_single.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_single.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/menu_move.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_move.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_green_down.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_down.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/note_edit_list_item.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit_list_item.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_2x_blue.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_blue.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/font_size_selector_bg.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_size_selector_bg.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/xml/widget_4x_info.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_4x_info.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/search_result.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_search_result.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_white.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_white.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_green_middle.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_middle.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_white_down.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_down.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/activity_delete_loginpassword.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_activity_delete_loginpassword.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_up.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_up.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_red_middle.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_middle.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/menu/note_list.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable/new_note.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable_new_note.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_red.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_red.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/note_list.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/color/primary_text_dark.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\color_primary_text_dark.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/datetime_picker.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_datetime_picker.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_single.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_single.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_red_down.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_down.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/menu/note_list_options.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_options.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/icon_app.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_icon_app.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/note_item.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_note_item.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_background.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_background.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_footer_bg.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_footer_bg.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/new_note_pressed.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_pressed.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_red_up.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_up.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/menu/note_list_dropdown.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_dropdown.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/edit_title_white.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_white.9.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/xml/widget_2x_info.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_2x_info.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/layout/folder_list_item.xml=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\layout_folder_list_item.xml.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/widget_4x_blue.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_blue.png.flat |  | ||||||
| net.micode.notes.app-main-7\:/drawable-hdpi/list_yellow_down.9.png=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_down.9.png.flat |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\86180\Desktop\minote8\app\src\main\assets"><file name="font/FZSTK.TTF" path="C:\Users\86180\Desktop\minote8\app\src\main\assets\font\FZSTK.TTF"/><file name="font/STCAIYUN.TTF" path="C:\Users\86180\Desktop\minote8\app\src\main\assets\font\STCAIYUN.TTF"/><file name="font/STHUPO.TTF" path="C:\Users\86180\Desktop\minote8\app\src\main\assets\font\STHUPO.TTF"/><file name="font/STXINGKA.TTF" path="C:\Users\86180\Desktop\minote8\app\src\main\assets\font\STXINGKA.TTF"/><file name="font/VINERITC.TTF" path="C:\Users\86180\Desktop\minote8\app\src\main\assets\font\VINERITC.TTF"/><file name="font/VIVALDII.TTF" path="C:\Users\86180\Desktop\minote8\app\src\main\assets\font\VIVALDII.TTF"/><file name="font/VLADIMIR.TTF" path="C:\Users\86180\Desktop\minote8\app\src\main\assets\font\VLADIMIR.TTF"/></source><source path="C:\Users\86180\Desktop\minote8\app\build\intermediates\shader_assets\debug\out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\86180\Desktop\minote8\app\src\debug\assets"/></dataSet></merger> |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\86180\Desktop\minote8\app\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\86180\Desktop\minote8\app\src\debug\jniLibs"/></dataSet></merger> |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\86180\Desktop\minote8\app\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\86180\Desktop\minote8\app\src\debug\shaders"/></dataSet></merger> |  | ||||||
| @ -1,4 +0,0 @@ | |||||||
| #Wed Jun 07 10:28:29 CST 2023 |  | ||||||
| base.0=C\:\\Users\\86180\\Desktop\\minote8\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex |  | ||||||
| renamed.0=classes.dex |  | ||||||
| path.0=classes.dex |  | ||||||