From d846450023b978321fc04e55bfb2dbe669270811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E9=9B=84?= <3315571593@qq.com> Date: Thu, 20 Apr 2023 22:08:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=B0=8F=E7=B1=B3=E4=BE=BF=E7=AD=BE?= =?UTF-8?q?=E7=B2=BE=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../周雄/tool包/BackupUtils.docx | Bin 0 -> 16999 bytes .../周雄/tool包/DataUtils.docx | Bin 0 -> 16054 bytes .../周雄/tool包/GTaskStringUtils.docx | Bin 0 -> 11961 bytes .../周雄/tool包/ResourceParser.docx | Bin 0 -> 13935 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/小米便签开源代码的精读报告/周雄/tool包/BackupUtils.docx create mode 100644 doc/小米便签开源代码的精读报告/周雄/tool包/DataUtils.docx create mode 100644 doc/小米便签开源代码的精读报告/周雄/tool包/GTaskStringUtils.docx create mode 100644 doc/小米便签开源代码的精读报告/周雄/tool包/ResourceParser.docx diff --git a/doc/小米便签开源代码的精读报告/周雄/tool包/BackupUtils.docx b/doc/小米便签开源代码的精读报告/周雄/tool包/BackupUtils.docx new file mode 100644 index 0000000000000000000000000000000000000000..62e7afab91bdfa828413661a9c66e1d870bf86f3 GIT binary patch literal 16999 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 N#MH-p^5gvt`ajGRFF61J literal 0 HcmV?d00001 diff --git a/doc/小米便签开源代码的精读报告/周雄/tool包/DataUtils.docx b/doc/小米便签开源代码的精读报告/周雄/tool包/DataUtils.docx new file mode 100644 index 0000000000000000000000000000000000000000..14b5884d047e958640f3bcc3dfea7499919762b6 GIT binary patch literal 16054 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 literal 0 HcmV?d00001 diff --git a/doc/小米便签开源代码的精读报告/周雄/tool包/GTaskStringUtils.docx b/doc/小米便签开源代码的精读报告/周雄/tool包/GTaskStringUtils.docx new file mode 100644 index 0000000000000000000000000000000000000000..4951964870364d77eb322341328beb56ea225235 GIT binary patch literal 11961 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 G|NB48>K5Su literal 0 HcmV?d00001 diff --git a/doc/小米便签开源代码的精读报告/周雄/tool包/ResourceParser.docx b/doc/小米便签开源代码的精读报告/周雄/tool包/ResourceParser.docx new file mode 100644 index 0000000000000000000000000000000000000000..4832119fbb4e2bd0c7cb806070579457c2d99383 GIT binary patch literal 13935 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 Date: Thu, 20 Apr 2023 22:10:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B0=8F=E7=B1=B3=E4=BE=BF=E7=AD=BE?= =?UTF-8?q?=E7=B2=BE=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../周雄/UI.NotesListActivity.docx | Bin 0 -> 32942 bytes .../周雄/UI.NotesListAdapter.docx | Bin 0 -> 15092 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/小米便签开源代码的精读报告/周雄/UI.NotesListActivity.docx create mode 100644 doc/小米便签开源代码的精读报告/周雄/UI.NotesListAdapter.docx diff --git a/doc/小米便签开源代码的精读报告/周雄/UI.NotesListActivity.docx b/doc/小米便签开源代码的精读报告/周雄/UI.NotesListActivity.docx new file mode 100644 index 0000000000000000000000000000000000000000..ab8576e1981f8d60172747b0a963109cb17c8f6b GIT binary patch literal 32942 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