From 0d297c98af6755b7d96ea16ca1161bf52ccc58fa Mon Sep 17 00:00:00 2001 From: eazzy <1044745821@qq.com> Date: Thu, 21 Dec 2023 01:06:16 +0800 Subject: [PATCH] comment --- doc/~$代码标注分工.docx | Bin 0 -> 162 bytes doc/~$便签泛读报告.docx | Bin 162 -> 162 bytes doc/~$便签的代码标注.docx | Bin 0 -> 162 bytes doc/~WRL0258.tmp | Bin 0 -> 17132 bytes doc/代码标注分工.docx | Bin 0 -> 33130 bytes doc/小米便签泛读报告.docx | Bin 528844 -> 528887 bytes .../AlarmAlertActivity.class.uniqueId34 | Bin 0 -> 6231 bytes .../AlarmInitReceiver.class.uniqueId26 | Bin 0 -> 2564 bytes .../stash-dir/AlarmReceiver.class.uniqueId12 | Bin 0 -> 876 bytes .../stash-dir/Contact.class.uniqueId14 | Bin 0 -> 2970 bytes .../GTaskASyncTask$1.class.uniqueId2 | Bin 0 -> 994 bytes ...ncTask$OnCompleteListener.class.uniqueId31 | Bin 0 -> 287 bytes .../stash-dir/GTaskASyncTask.class.uniqueId23 | Bin 0 -> 5674 bytes .../stash-dir/Note$NoteData.class.uniqueId8 | Bin 0 -> 6048 bytes .../stash-dir/Note.class.uniqueId19 | Bin 0 -> 4471 bytes .../NoteEditActivity$1.class.uniqueId10 | Bin 0 -> 969 bytes .../NoteEditActivity$2.class.uniqueId27 | Bin 0 -> 1038 bytes .../NoteEditActivity$3.class.uniqueId43 | Bin 0 -> 1262 bytes ...itActivity$HeadViewHolder.class.uniqueId29 | Bin 0 -> 976 bytes .../NoteEditActivity.class.uniqueId0 | Bin 0 -> 28194 bytes .../stash-dir/NoteItemData.class.uniqueId42 | Bin 0 -> 5763 bytes .../NoteWidgetProvider.class.uniqueId41 | Bin 0 -> 5560 bytes .../NotesListActivity$1.class.uniqueId16 | Bin 0 -> 2410 bytes .../NotesListActivity$2.class.uniqueId11 | Bin 0 -> 3408 bytes .../NotesListActivity$3.class.uniqueId33 | Bin 0 -> 1110 bytes .../NotesListActivity$4.class.uniqueId3 | Bin 0 -> 3297 bytes .../NotesListActivity$5.class.uniqueId24 | Bin 0 -> 1571 bytes .../NotesListActivity$6.class.uniqueId6 | Bin 0 -> 1687 bytes .../NotesListActivity$7.class.uniqueId13 | Bin 0 -> 1165 bytes .../NotesListActivity$8.class.uniqueId38 | Bin 0 -> 2941 bytes .../NotesListActivity$9.class.uniqueId21 | Bin 0 -> 903 bytes ...ty$BackgroundQueryHandler.class.uniqueId28 | Bin 0 -> 1588 bytes ...istActivity$ListEditState.class.uniqueId25 | Bin 0 -> 1346 bytes ...stActivity$ModeCallback$1.class.uniqueId35 | Bin 0 -> 1439 bytes ...istActivity$ModeCallback$2.class.uniqueId7 | Bin 0 -> 1179 bytes ...sListActivity$ModeCallback.class.uniqueId1 | Bin 0 -> 7422 bytes ...ty$NewNoteOnTouchListener.class.uniqueId22 | Bin 0 -> 3435 bytes ...y$OnListItemClickListener.class.uniqueId30 | Bin 0 -> 3354 bytes .../NotesListActivity.class.uniqueId18 | Bin 0 -> 24940 bytes ...NotesPreferenceActivity$1.class.uniqueId15 | Bin 0 -> 1627 bytes ...NotesPreferenceActivity$2.class.uniqueId39 | Bin 0 -> 944 bytes ...NotesPreferenceActivity$3.class.uniqueId36 | Bin 0 -> 940 bytes .../NotesPreferenceActivity$4.class.uniqueId4 | Bin 0 -> 1340 bytes ...NotesPreferenceActivity$5.class.uniqueId44 | Bin 0 -> 1502 bytes ...NotesPreferenceActivity$6.class.uniqueId20 | Bin 0 -> 1080 bytes ...NotesPreferenceActivity$7.class.uniqueId37 | Bin 0 -> 1451 bytes ...NotesPreferenceActivity$8.class.uniqueId40 | Bin 0 -> 1430 bytes ...nceActivity$GTaskReceiver.class.uniqueId32 | Bin 0 -> 1772 bytes .../NotesPreferenceActivity.class.uniqueId5 | Bin 0 -> 13206 bytes ...oteSettingChangedListener.class.uniqueId17 | Bin 0 -> 399 bytes .../stash-dir/WorkingNote.class.uniqueId9 | Bin 0 -> 9147 bytes src/main/AndroidManifest.xml | 3 +- .../java/net/micode/notes/data/Contact.java | 47 +-- .../java/net/micode/notes/model/Note.java | 129 +++++--- .../net/micode/notes/model/WorkingNote.java | 80 +++-- .../micode/notes/ui/AlarmAlertActivity.java | 87 +++-- .../micode/notes/ui/AlarmInitReceiver.java | 14 +- .../net/micode/notes/ui/AlarmReceiver.java | 12 +- .../net/micode/notes/ui/DateTimePicker.java | 69 ++-- .../micode/notes/ui/DateTimePickerDialog.java | 71 +++-- .../net/micode/notes/ui/DropdownMenu.java | 17 +- .../micode/notes/ui/FoldersListAdapter.java | 14 +- .../net/micode/notes/ui/NoteEditActivity.java | 297 ++++-------------- .../net/micode/notes/ui/NoteEditText.java | 113 +++---- .../micode/notes/ui/NotesListActivity.java | 214 ++++--------- 65 files changed, 576 insertions(+), 591 deletions(-) create mode 100644 doc/~$代码标注分工.docx create mode 100644 doc/~$便签的代码标注.docx create mode 100644 doc/~WRL0258.tmp create mode 100644 doc/代码标注分工.docx create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmAlertActivity.class.uniqueId34 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmInitReceiver.class.uniqueId26 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmReceiver.class.uniqueId12 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Contact.class.uniqueId14 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask$1.class.uniqueId2 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask$OnCompleteListener.class.uniqueId31 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask.class.uniqueId23 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note$NoteData.class.uniqueId8 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note.class.uniqueId19 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId10 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId27 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId43 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$HeadViewHolder.class.uniqueId29 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId0 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId42 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider.class.uniqueId41 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId16 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId11 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId33 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$4.class.uniqueId3 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId24 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$6.class.uniqueId6 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId13 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$8.class.uniqueId38 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$9.class.uniqueId21 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$BackgroundQueryHandler.class.uniqueId28 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId25 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId35 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$2.class.uniqueId7 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback.class.uniqueId1 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$NewNoteOnTouchListener.class.uniqueId22 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$OnListItemClickListener.class.uniqueId30 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId18 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$1.class.uniqueId15 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$2.class.uniqueId39 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$3.class.uniqueId36 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$4.class.uniqueId4 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$5.class.uniqueId44 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$6.class.uniqueId20 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$7.class.uniqueId37 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$8.class.uniqueId40 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$GTaskReceiver.class.uniqueId32 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity.class.uniqueId5 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WorkingNote$NoteSettingChangedListener.class.uniqueId17 create mode 100644 src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WorkingNote.class.uniqueId9 diff --git a/doc/~$代码标注分工.docx b/doc/~$代码标注分工.docx new file mode 100644 index 0000000000000000000000000000000000000000..8b21c8381d0412ce8dc4202b0f21bc4963f02b89 GIT binary patch literal 162 zcmZQ|O{}V_WFQf+GPp7%GE@N}L~DV~t$!7a3=F1?s0J}XxiInT_kx?I8{A?HbSu+X gc7=iAcg*2mVaB(BIw62hdco|U^$ZN6FaaP90F-VP-~a#s literal 0 HcmV?d00001 diff --git a/doc/~$便签泛读报告.docx b/doc/~$便签泛读报告.docx index 8ae359ae0fa75507406a6e8d5cbf71f7c9b5b19e..02c1e39021dcdc24ef8e3556d0fae6002762acd7 100644 GIT binary patch delta 80 zcmZ3)xQKCr8z+OzhAKZs28Qnw{l#s*3vw`kz-+BErqc{=G2U!(JAT-Mfx%S$rbVjp WEub<8;FDf3`)54^gAq&sNCN<+)f2w} delta 80 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 KQRDyP?EeE8JMGv2 literal 0 HcmV?d00001 diff --git a/doc/代码标注分工.docx b/doc/代码标注分工.docx new file mode 100644 index 0000000000000000000000000000000000000000..c87910f278680f49ccc41dfe011c6797658e5411 GIT binary patch literal 33130 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 literal 0 HcmV?d00001 diff --git a/doc/小米便签泛读报告.docx b/doc/小米便签泛读报告.docx index 9c1b7b949e2225cd452ec30182295d879b7625d6..b0d4bc9669a0cdd2799e4dea1b92f80e19fcb553 100644 GIT binary patch delta 17322 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�r2 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 A5C8xG delta 17246 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 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmAlertActivity.class.uniqueId34 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmAlertActivity.class.uniqueId34 new file mode 100644 index 0000000000000000000000000000000000000000..75ae6522402b0d1c077d0a1bddb0b919fdeaac0a GIT binary patch literal 6231 zcma)Ad3+Sr9sj;;$Yhr>gbT5ail-}l|x`)*bGeKR|oB}=4#?9Q9_e((2wzwhsS zbNrPjp9XM&*c3qtLJCS%OhK7IwPq%5%SgtwbUN0QaE%ee-6v4iXqbk(ULaIkw_R>2 zR}n@;pxiQBY+ZA8fmyX}!Dh>eHD}CZN^hv!u0R!-5v+_D`e>}jFq7731QnR3pi;$j zR0%9IbvHI_B&?(!Gc8wlVi_aWl+x_srj%~GoW@-bvUDKxRvoda%W^2Pv2<1QoQ!!7) zd@P{yS~9sYr42a#=>(<%3so$_Vu6U^bSG?GH##E}q8tc&GMRuvbvJ0PMz9N*Nl>@h2D#KDrr=x^=iz*T zX#tnqI%l}OOLGUi^?_lEM3t(@W{)ccwIRAlBKpM^CtfdaXdEx5Jz6c5TBPh@cVc6s%Wq30@O$^w!%fbAVcnXsL|e z*)LF2Tfo!b+)#Loq^FvVXjajJ4a7IaneB4BXMoLNV!u(vCR|Fk!yR<7cv3)YmNwa} z;0Bqu58xpc z591M{O!-)@1TH$gWs4J2ypAd8V=RJ!P(B__nWSOm!Pt+3DjtEpRVT60UYFgPOr2j=@fDdj z%gL2kZgE#Q@8(5aek`eXHuMLaSJ&2EU~@$rMM&DJX9ftVu9m#P1dSLB${Or-BqSfsSoFb?;=RbcPMb2{bun zk5R1sgk4?>{})=jDCx65mwCN4Y2>?e*{uFe`q|%KJ@Cfez9pqO4$mmZKgTmbJu4Z} ztJl1QU%x%x+9NstTg89yU)h3q>5#QRU`3%D;q%LyjaNQF>T zQSQ|<$FAsGsv;@{ViScbw(d#3t%xdt^G?5M zf=kf9x;x@sU9DStySB9U^tLx$*4x(FL4{dSsk7;NZFh(_%tngb!YabRXfsT`BQxBm z+gmj@1+quA5?X4zW*hQ7H(BZq8f@}v+fLC>ECJ~$uB*eQyYKRsv?WcD<8M{wI| zJHO7-C}l~n^^!*hicH8nLA@bsg9IZ#tehA%B4!g7H zscgI-(WAJ0$6@S}Q=!VnEOuwnNAmthu_uc(U$Ph(B;_jBj9 zhj3lMK6C_cKY$8~b|Zf`%WYZQdXOsC;zr!e3s}elpbt{@B~))2zYx`-5>d>;3M{}% zEX8V4uR$}`^7Ftt?8bVe_;mQZo*zDL#0GL|;$@~8xAWu09q7cp=)yr#Q$Ti}+o}5w z58MlQg1q$16Y~izq0GT7M+?MRl&ca4#X_-&cCEz$u~;mjgiA@e9?DBts$l8~Xed=s zp@EHLVJ+RBA%xw}>9(d%-5Ym5}GOXw@BA9C#LYwJp!$?uR+$ z`-A*O2<)QecY9*b^2u|;MleMz6X#Ia5~)niJNl&r+%*(cj^N%lX@RN-iT_8}&9AJy zMjGL9TsJ?9kJDmusBkEsQ6Bx69At4=K4{7({nw|*u&9GBbk!JU%jc)YP${3!kD**X zKYNe|F2`oH(~k1F4adCaE$nd6jIcd;s|V1fP`IbmvulVu4=!}9=CzW;>pKkp&z zzvAF`G7I=Yuta_##SM)3n<&sNn2TEp(rpZd_hJ>@x`8)s8796rH0G2DW0j~EOe~)0 zOgArKmBPkYh;zkxIXUmAp`>rDo&OO3fs6SQCr+Grh0hsBQM)5r_295hY^?jZ1kJp$6~x)wmlAaSsFbK7JK_fI<2ogY*$k!YEH$$b9C7 z52@GY!)z^OJ)eNfxm9_r#L=&IK@uFx(n3beO Ow3da%bUrthh5rZH-<7ri literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmInitReceiver.class.uniqueId26 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmInitReceiver.class.uniqueId26 new file mode 100644 index 0000000000000000000000000000000000000000..b964ed492a874cf1c63d3e7ee9a6e14c38d47349 GIT binary patch literal 2564 zcma)8`*Raj6#j1W*krq<5Tp=_(#oR=0a6h~5+1f`s)=b*n>1KJ<2Jd3Ey-@!-301e zQJImyK>rHGnNoCg{K+5ummDAGZk{wS+Rp6jo^$VazVn@P^2gsl{R-eL?#mc~OM+X0 z2VRD0Rj-(aR*9Ak-R8O-oi`1&QdTW{g_pV3;wFRlf~ITsB?eb0T$JI1UxKV)6bi%c z4Yj34YpPz2<~J>y*BSPdo2E%y6|_2E(rPu$ay-*Ac41t?ZUuV~VA#L&13ji%4He$Uds%SWSg2^jZ2tfm>JrwkMF2JnJ{Y2x^DUKqM)nBO}j)E{LkS(h)6i8;1o_X9R3fM89cX} z+}vbng@*WgN~psJ{x73`wgoBcs>P#;rfC^wd=#^INx~TgFXQZhj&|5FjMj}7FBprO zX_2Z(yjO+ms|wEHHKK)7mNE1ygFBQ8rzOM~CU(Z2a*9I21*(*xY;|+r&AW{AxFqW8 zGQ+7pH{HtW=sP|@NTQ}%R$LU-9Ofk?6f7V~!rcj@Qw^j@67H@$ntgMw(cpT8S5g&H zW&f_FcQk+bqOoyoHQ}B?VdJ7=qms)J7w^ zOlU~hZA%7)$nA9!hUNY#-95W(q?1bf}8T6Ky50pnz4X13I?d zhVtBOX=ToEJT$;}zFmETMUY$H;ANW%@(RO&!HAr)UQ%_n%1s$XtSPvPYosIMj$ta4 zO81Zt;|mvs)ZSI_o{*^A7GjpVoA~^`0#)>0Pq}7T+=nu4TGA>$5L~%m<_!KsF0;Cn zEu|J17^Q8DNV9BJw~L~pUDVJ)?WJQhmr1S^k_)AUxk6GbF%ouyS|7uBM$>t=SzqU7 zL0zxWmq5lStF@wPYT~`~(QV%p@|wv!Q|N7?ay(4{wv(L_OkER_74i{+)CtQ*u zfnsSIHI`5{&71?z@*)<5@&~jw*)tu^11V9QQ19fC;ouX-gE^*vBnP1wLBXC`7c@~X zrW09tHK!?1f9VXm4tz>u-)%=TBDb-;t(I>ssf`ZZz6<4AXRgY5qiL4;q9$@P;eZ;X z`m`7y6iG_gx#_eFF~3F!CIqHwPK{8~U38~OMNbED167j8O?n=IM(-N~@3+X31PCu( zYh)3nJEObj#3QgD9G5y>#WFAsovupT00tWL#&8=ZUCEgh;HMu0z=Lf_^N}r#J;dIJ z2nMFzzu?H4YkC{U@@xy?m?!A@9o3-cF`^9Lq8RkJALEq~ob&#S^J|en{1Gn3d_f=i z2R$xlX&bL^Vev}D74*5bk&gKzf#of%{Dxvo4$7_xZ_vMmcf^+08NU1Hd+}6a5FxlA zLYT*Hx=zAPtn4SA4$*xY$LW8DN->NWO}|A%sJ2g{LKCox(-dM9o3wflXYdV83laWx z3NnVvuwWA{i!^(hXwh$>3ija+?$W9OnY=!rD^by*Nj!asj~wbA;A8R_Atd+l3GLz{ z92@u)pHUt@C!aC6{=%$V!t9?|@zT~`^wM*JoWx(i<1iXn&#$=ymHdwgia?nYXggPX Y=zx3lZ3JK9E4s_HdYFC|eeL!C3(m@^KmY&$ literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmReceiver.class.uniqueId12 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AlarmReceiver.class.uniqueId12 new file mode 100644 index 0000000000000000000000000000000000000000..d53427a5a2cded4d7162426b5d4c9b4a534034f5 GIT binary patch literal 876 zcmah{O>Yx15PeS4Zn|tqSekxNK3ZBzLL+?XEeI(DRjRb&04O~och@SeHePAhiOSF7 z5+n}%0Dcr=>}-jYD8iP;8hhrwndkZa=jSf~XXyB-pz5I(U=8aGhe9WLrV<`!+DL8q zyF3#~EDG~c#!^jW&anPQX=UCrRNI}QhdRTFmWGd1oF$U$%*cX|74N4aAN5n2n|^H6 zM44|seBAR81lYuVhV4bJ3rERNFQgfyq9_>Nx1+_VfvxP;^r9Ov5j++8n!Dg$XDM_B z*sC_FS4;jNK!}G#Ad=)f71ux$Rn*Q=^k3v2!$zh{9)`2! zTK_4$*l?+5XUO2W0l75{drQ6E<9U7 zLuywA%#JD9$K-K38J%mdet>;<&ritOXTZZ#vcW6>&u~B<>5k`QZSogXX#=h9Y3NO{ zaoG(UQ#3D6yHjk2nih82`OA?WSQ-h$vR8T@+|TX=CwjI4o&^NSZ*?L-2^(*RuCOARrBJ=Zr@W(jmb z(-7CujfB9~v*x0iuABCJx-@rIR(*l41D0+1hXgtXQZwDqu|>lTI&Q>PfjeyJryEw) zsmZkM_|i+)=yTx*!E^Dg^#pzEw{jH@$@kvzgJ56xg;-p1?L}>gQ%1 zw_u0B=Bi5Gvb_^>N#N#z&{gE9nbaAj-=pI;+|J|9OP+quMtbW_HQaGc@@3z(?D;tQ z1U@}^yj09piqjKEa+Bps?$q>HVL+uhvhQ%p7%Pq&4XYvjrKUXCzi8Kn+jSqVwp`C~ zhb><=(oNNt%Hsb1K;JdbSAt}!e#NR8`JypU&J}XmDPzqW_NZ4T`MEt%equvmeRp|6kCls=}xl= zo&x&n6(qzW5a ztSV)?(Sdt)F5CT_t!$|{l`BqFrYG|p#(!+pcu%`lCXNRM^qS={#ifdEHe>=1V^l*% z#{nD^=(|odflk)I<=`$3tn>bOq%Q5su9y5TrPZv}fXO=wfxdEN1PV%FL$9To4)1PaZGX~ z)m#vKG)yt$RjV+8BQ2{=OiiE+Esj}%9wV%k!5j@Q002X}uHza?=d_M9c${!(Hk;C} z2@FNkYPT(##5GYe36$`pj;Bx&i2F|XQeZm=b?w2ZTgHo3=k=)?4a=$c_~Xxyed?yb?lUzEl*5 zWqH8}+*q(|8G_f8IajA7S#YXmea3Vx#kYkqf59TK^%ef}a^krXZRp^L2pnGBOI4!? z#zcqpU;9jVF@*~PyCZr2>wHpO3&JP}>-h%})<)(!2IwCq&5n3P@~Rqe4q|x0M9tSM zGlOg?a{5~HT<3gP$wb*{xm9`8Qf1ZI6}33SN|kKhwxye`o1P~< z4Q~sKtW4wo{xZ?loPP(owz z3*yiy`{OD$|B5Z&W83Mkano1WOnz_~+b`jU@afi{(R(F%XVMt_26ruEU}Enw_FcvP z*bnGE-I08tyf1tjEQ@74R2=#Rb3@;PA6u7jdZ^=DjBmndOu6cbE#vrXPi(Z4?+a{t z=atb|^3?YzGxBtDW*Ltul_yA-@$@$^XGK)Ct8LZw)2hupb$QrO-HuA=+iJ zM0$~+{vsa1M;N2;EIuQ>O!@`Jag~?M?>H6|{}8=P##y3uj20c$4%t Wn!Sa0@E&^D=eO`aX$Sca(DOIg!8bAh literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask$1.class.uniqueId2 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask$1.class.uniqueId2 new file mode 100644 index 0000000000000000000000000000000000000000..fb05b20495dc4ebaa4b25551e1d8b5124a796810 GIT binary patch literal 994 zcmb7D+invv5Is&pw%KfG*p_gI0s)eMx{1VFP!Wm>s`H5UMrV%C%y@qO`u+pJLv(8>q3od&;0&q^n_Ajvri3|^kv3Ll z(bV$nRg}sZS<$ltGM?<8XyFd+0YlXusjS_n$hb)8(8mgD9{d1x1Psk%{+34x*VAZs zax8@<=0{2^yTwrMbjLo~$io zj8$f(mg%sLb)5Im3UI;Y`nZVr|L{>h=FcS_E-{45>b=ah=95G+42tGCW~hv)@eHf6 z((*+IyD%E?{(`)zHylt{_8 z7KzD}o<5iM$Q%Z^gS!k3qxVc^x8F&TTMBM<;$;bTw3SmTdzTUlb~JThl<+K*BsKiE zJJ_HJSOLRDux8Uu0S!ip{yHv`_X?f1$aWsTcmFe3?+d(-bIes*tAqhgaE;d1DGJwd zgDk?&*%%=<5G=Tcw7ZB#?-STpG`?YtVM*uDDc%$O!<^EE5qLpa#!a$HxP{xaS7;{M SxJRdud`_VI*2&wc)_wz~m;k{5 literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask$OnCompleteListener.class.uniqueId31 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask$OnCompleteListener.class.uniqueId31 new file mode 100644 index 0000000000000000000000000000000000000000..f73069cb51636609eef661fd66e7ac2a4f216c89 GIT binary patch literal 287 zcmb7<%?d$L6ouFJbFbeLuV6sQnV3t8lrkXmV~XP+rZz19&Le43vya_FikZ zT7CQexZVH^P!EwK3=Mmg#*y8!GS;(GJFneAWt@sr)0LRf@?xTwXfMpzrpJUm&tvD= za2BFKXzcY_t3;cfT5R?lc|yg0qJ(^>yOz_^p0bE1al(YwcXR*MK&Z`(bdD449J>%z kLhm0wLi3j}AP9lH43MxE5s1nme9scfvMZ7hKGcHp6CG_&e*gdg literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask.class.uniqueId23 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GTaskASyncTask.class.uniqueId23 new file mode 100644 index 0000000000000000000000000000000000000000..1a6aedc706e96cbec145a0361990e78de1d70c97 GIT binary patch literal 5674 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 literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note$NoteData.class.uniqueId8 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note$NoteData.class.uniqueId8 new file mode 100644 index 0000000000000000000000000000000000000000..c40e94504a3d74c6afa4a9f0ce1076e783a77b6c GIT binary patch literal 6048 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 CL9?C! literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note.class.uniqueId19 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/Note.class.uniqueId19 new file mode 100644 index 0000000000000000000000000000000000000000..d2041ccfbb5521b74a5e341da3e355f31fb4d1ce GIT binary patch literal 4471 zcma)9`Fj)B6+L6g9!VZHg*auG!)6KCf0&Pe^IH3*cnl|0{{kQ%dP0yVfEnYC;`|v!!ci+9|-goYK&u{uZ9M{Myn3pc(^9I^QJx6Ry89|+nNtVaJzz8EVnse20$WMp&;yzjTkCc zO?NnzjACd)vx*kMyoQyjfJ*UP293OehNe_C*kInn+bVe1DQKD*X=#gqUC+W;xwLNe zmmo*5Q9*P>mlNqXGcnTZP8D})*o^loxNTYzjIuoOLBkDLv(IpH)(HW-ys7y{)G8UZ zMX?fFG_+wW+0ow9-Ph6G*WcaK*U`U!Uy3y-I}j%9&znqj8}3zcpN8$YpX8kulI@lP zkdLPA7HqR@Sx@TOP6 zifIT?O&X7@vSGi51JadIi|qB9UBw}mw8FdYLiU)E-IEFM&NFNz7?2Lle zn;@UypG-IiL&E^r&Jj1~FDjT{s<-9IjNhsfj+!ux<0>o-S=cOM>G1r@=jcYEK(3w! zL{+B;z2BUweJA**f?TgETFSDFLEY+gDMM97kr^D~IwF>p4-Z=ihb3ndB*aM8ijAPrYNfea5I;!u@d#pTH+6 zzE$%nQYy^4dK*8j;WId+Af~6&hU2VQzn<#XJY$v>w9TCo`?DH8SBlZDTb9I5Q6o>` zMGa?5s7fnxhkQ}PIedvI9P=?!i}zYe%wN**6?~OqVLDwRzq^AA!?Sou#n%+vUg@fU zPuuf@1(B38rDAv)V=*4XOEG*C-%{~y4d1~9-Z3R&Pf|6?C-rFdNz)zL?sc4zkrMH0 zD{Uyr9B;(QQ=+@y)$l#M!iFu3@YZ5Nho){VZ=4i7cuY(s?~$of&8Y}pC29A2Vf=pa zbYpG88Ojx`j7%klJlT*kU)FF%o*uPn%g`x2r*KunI9{VTjTD?AUU|7GmlL(7l;Q-W zqi)+Y+4E%jw(p{tPX$ZP(YfR5w(I4{hY01n+c+r-DfL}4Q>0Fkqn*z)lA+7A4PS8k z^kWuh;vP8;=y_9q4<;L{5KJr2ZG7B#8Ogo8;D$+3GY4{_(*jW;j5_Z{M1s@@?wdD*PtH0%E;rGwK?1xzqKJej@yb@(i(5943~$-vAT%0t??w6{n3VH zzF|udcf5+bTZ_17OI>ucx}dIz_V8;+)!>(a-R6#*W|u-eRpojCCHr;9QvA2k=XJt7D8b-sYT& zUvbYugx+DeIu)D3Dpda85r(4TVB-pU;@>g;d0-!XD70VPautua1c!133Wui-bMEOY zc;*tPbaJFlR^mZ4po@>_-Cm@G?=6T#zxbWUHW~e%qZ-EL{TW2>qP0YiG0rm* z{lk?Aam%NS^z@e%#N6Ka9WqkuUFHDB>FyTCM6F9u#19wyE z_W8;FjZU_!a2;6l#BTCi)86}ghLm&>UWo)dZsG%g+c1V zaQ4Cc(0$_VPxv!`QeE(0s*5mmI1xQ_4ok1$uNrju!va&7uVbs=*0% ze1Tm)iWD9vyb<1{o*$ u6}wsi`U(fttXWxAx?23rYt9<{-Lv`!{>g8g_P4OP{#6$xq#FDiHU9@N?SY2? literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId10 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$1.class.uniqueId10 new file mode 100644 index 0000000000000000000000000000000000000000..06799d1746ef7d96afe36c770eda51842960ea6e GIT binary patch literal 969 zcma)5TW=CU6#izRY@sV4TCB9%R<{+Xx+U=q)5Ks+NN9Oz<-xaQb_!FM8N&`V{wx!3 z@xdS9k20Qt#wLA%O?Ky8zB%VRm;Lki*KYu?@FEKbDHmxEE66bHD`A3>bwSGz{WU4T5g}QgA~N zUrQy;5ksn4>*bI~!9~%-U6dI7WpXg&Le52!_>Ds%R;w<@Y@Y1ChjmLVb3rVUp^FC$ zL8zj!mQld9GD4Z)tqfy5Xp=I&2)XdPsufHAu_F_5i!npGMU7)9bfglelTlxc&%=I9 zmQqLaFz$t8Y4vMk+V+rPIi7x_$>8dFMuxp=X92rryVj$6q8Vp~-Gz9Dm8+rTLk8BS zUY_a6n2UGP(qF&50x#|SsL*4@W1UDfI1y&3BM;9|CAe1IPey8$w2c^@iI@f~B8JKh z>8TV~!HG~4i)hw9FnDc6J#58cl8D5`0mJr!3Mv1s31ElTc@+$0uwv1!G;O&%|=b7w3Qk3hp literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId27 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$2.class.uniqueId27 new file mode 100644 index 0000000000000000000000000000000000000000..dfffa210e4610fdcacc64a8db9d28daa0a16d391 GIT binary patch literal 1038 zcma)5VNcUg6g{siE9*L$Q&3cNV#RGJCB#pTEFpl2%Vb8#O#IfhFXKV`O4>IPf0hYq z;s<|#KgxJt0TrjoUeoryn{&@S_uhBE|M>b1z;mpZV4z^ZbTES=!;0j}i$#!x+>?po znKu^R9&L6*p|%1gPKEm5ZZH(pp~&2I^5{+D(zY>+k_FpA84g4B$UpVH$d@CpKRn`r zBF0T2h3YUA8qGlo*DzfkzR4DK{B7@YWBk{$~=(u&DzQd&%jMcyAM5_S{w78V@b z!fl4-iAWPJ6er_qE8?lz@pYV;M)!SlVBro!XTqK8r%?wY=5IuB%+np=N6E5*_9>V_gP&KN+V1e<`%) z`M+=3n!X~G-L4FxB%`Lj=ISsB9jxjLRHhcZ<*|^VuA1{oQuVeYKg)P#VU5z9whaOOGq5vM>gH$M_)TYP3S$$F(a9<6C}{96$_gIA)gj6D h7%PM>;0c`!G|;5KN%PdgQ`*(YrbX+uh-dJMrJwr!1jhgX literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId43 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity$3.class.uniqueId43 new file mode 100644 index 0000000000000000000000000000000000000000..7d42a843b9fc468220e1558b419586cfc8b65888 GIT binary patch literal 1262 zcma)5T~8B16g{)8U0N1ds(h#*m9E$pWKqD6)R<@kNn-(%l0NXZ-JP@p?Jn7!7Jc(? z_zQeC5lnpW2l#`G#%R1#TMZ^wHkqA!Z|0se_uM<5eth@{U>y&W&=AuRH*f(7hDD!C zyDi+n`S<2izr)#3SJg`IsS=%hys!kJ!%l0S#GE#gB}!z zp6UsguQ9|+)JcZ%itzbPr(Ngao>Om8BwYzyr&V)8q5OU@uA0hlz8hF;MTTTmG<-*P zLV`4dvo(1P*<59)48?tQ$yB|kNlox$hWYOoaH?%}p`)UP5{4LYIA zw}h&5^6%kYQS(EJZ2E31h=kwR=CT=hI_@x7!-i#`yn!{WGmKJGRoBXrw@I>G<MGrg~cd?evi8 zZELi~F;9DjtP<@p6)7y8fEAWcpcmd_^eu%n+@ODgV4!`*0@+jjfocRTX0dW>NfGb|as2D|kDmYz@ic&kijQiD1=JW`Xldi2N{o=PHdf~G zNX2J#cqf!SPOKU$`!zb1T=bN@IyI?~8AI)r(#pPOXzX{(5F9mni*)ae5Q_*X+G^cVs={$PaqtfXMr=yEMGqeOhA z#DJ>2kQ3{QIAT~*lFs{XmOZwGCY8tOx}O?_in z=_)PHM#H|$E_gpB&sx_cJnivJIeX@;y0RHwmMVI#=alrPlD#fR-=di?coUj}H)%1H zBad2?NN{dOSt8#nSLyn^Sf07*P^UUt%dDO9JeRqTU52QPQW%#16`PMe(n*=nsD&*O zSx7ox0I3A4bfQt5JSbGn+Mlm|Bv39BBs#=^8?DovDferkBS@~ljTu8+qAD0 Mo*hKAKOvjGKlhsTUH||9 literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId0 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteEditActivity.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..332e26636e8b57efe4d76b660bc9da411fb88978 GIT binary patch literal 28194 zcmb7t34B!5_5Zoc@Fv4$O9&7a39BIi;=T|?S%L%!APGcpi9<4wkz^*$Ojxw;xYf0m zs^EqzYOPCzA&7OWOY7d&rE05IYkzg=rnYVf|L?i)y_pFatp9#~Kl0|T=bn4c_bm6m z=X1Lrew2s~3QP%+B;}Ac6rf&$#>OJ4%C=}zyg5=Ci>D&V%8qE|JUmo4M^n?9Qqfh> z)LKCUnj@`|RAfd+A`ywDxL%Mdo3J=UK`L-4WT-cfHZUA(PQ;_lmErdG%53jmM?_=M z)KqTV$53DDCny+?%}7MTJkFr9xqi2JvT}MythqH(HDPf94WL4YiVO{;VnHQ62wga~ zHM}<7krGtEls85|u^>^yD;#WS2$cxxn~bDp#A7KCy*L_KEl8KuFx8TV85&L_(04^7 zRbv|n8d^3XLrRm|tJ1Bj;w~c%mC`6MgID9Pt}bO4F)X`?J$g=9%6-Qe8p|B&wH%$3 zEnGC-(7s&Mhlg7jNya-8O_3xsX@a40X40T|4CSeKB2p7eroyqNh@H)$iKz2=)_uAl zO%^o7tD79P3!5BSlS+gqFRGatqWx%phYm1wARUB-_+w=FE~qz;7mmh~$40R4#bt9( z4X+AUwuWOXD(g~-XlzB*grz|`1kBoFk}!lN9-F+lrn(_S6?7Pj#Nm4x0XwiCRT(;h zjuhlz2j<3OEB4ZM4v%(}p`&RU#HPI?Rn4mrG${{hbN0G_L7E|`|DJ*!q-sI?xID(v zN|z_%ZKW%tt*w#fQeF=We~6Bu*$&khnnTB844-Emsc38E+&IV<&4TvLLrosm)f8ak zYYok#`GQPaLp-q(^Sb&pc5V+5Z-ZL4R_3&V99GbAh89wtE4nO(@fb7@qT6GqLbQk$ zJJew4cv_MpGARf|Wj+2`gf%1~l#$aq!u)Vx?kZ-qgcEhBi9qhEat7~K&eB~$Cm1@B zPQr@3t@O4Cn%#q@ITPjtsZkIyC&Gr7QInuh+oEJ7aa>0v0huf8*~uZ`M2XLN2A8@> zIMLKn8;*rnL=r(_;chE8R154MDpmNG7EHPl96Twjpv z3bse|_&h}C5;7qo{H$p}9OsRJwQzyce=%mhf1wA#=b;s&eQILBo0o3@_WlH*n-kI?JK64V^>h3L4p?X(}FXt(=MW zo)8qTiYBAWS^+gIj$E-UoCMp!51;Wq)a*&joSF$s9XemoxE`~3)+9MMn#@2Zv;P8y zhYPJ1=N)}bs+-8QhLcIy1ZLgEhAyEW12%z(iOiT_Mo&6D>}FeX8C~ws6^5?dn=MIN zaDyU65{Y=C(OMMz191Z7Jnv5oUCkz?AlVXMT^|o~>3aH^L)RF(maY>ty2s*ss4whK zYdj3NIJzgXmZ?}aFzkO1g#F(rXmD2OToIn$5p8XbBto=-3W9W_pb

DKDmUc{s|j zwmO<>aSNi&-0o&Wo9Gr`0JJI+18MniwWs`hGXak_&}}@#?Sh7vf%d(SWE zFco*{Wo*6M&^-*SBEnq0*U&HMJ{Q{>qOs;UZ1&(BeOLu6Ug=hV2M+*veeubu@nB)> zT3(<>>}+hr3W0Uk--=cBU5K8>DUUk-WCPIrS`E&Ahtm zh4qc|7dBSUtf>#ucGyJh++^3An#@d3PF^184QY%v2WdyX`qj~9Kmh6;`XxljrwW_l z)>KYwZ*Q<|yhX9{JZ9)|dIGi@T_NM&gSIsjYJ&7DY)ucsyopn5+p)-}T}QAx>C3`R zD_11q@W&dP;;qmL7MN%0*AD&0&~x;BKIhSbito#S@c=y+VrNE{hdWwR(^u3$#D?!( z`kCGr1&!K+v9eh&{LnyhYX zXFnDokrmKA3|Wv~gELUy5-H_DN)wT$cmlf9(Y7p-D2*oZ)Y{4d`-Y)ESb<&582gr? zx9N|d7<(}fTVB&VeeHslcq}r{cAOS#o`KN-r-0H!_p3u={nyhJn^+1|?P#@7RhsN*Z;vM|ynbxx6Z#a~ zg<{T+)kRV%xJ&E=cOZDW78E-}Z!uDoI%1R&qnVY({uXs>1;gDMiLFSr z@aSWW7{|uVfSx)8>^3%lyor5{C=(OFjpXzdZbclfz1N^N+zz;Kmu`a^6jb#V6=I?z zCK)kVRKnS^sOi^YQn=R8B8Z0{ci1`U^Ep;gsqMY>ejc$ zE5`tbio+anxDiuC6#uMf$eIVT{O!$@heWMdV8n5}qkXWWi`hSqwjw0u zEv+-6UMvD4wat!%?Hmiju}CXCn>;hH7Bv`gJQLavE3A*ES|ig}Kox*Hm}aRFC-5}I zm}Yv$?E7%S)173*$vj>E9F(&Y^3bOk5%!0kzG4PD3wCJk*klkML+uCHj!bJLG21#t zf)4Hp*m<%~WBmoX-Kq-23en<-s1c`%m55n;0OkK416Yz;1vs)MC=Xb(YTB*g)wLNB z6LFVuejnGKL-yu4;xquFzj;;pHwDOa*CJ68g=4*5Txi5a+=1hNI}k68 z_vsQNe$1QHJGClXPM3+xjJTW)U||dx-xy}v5NWkX6A{Sc8gV6nl}ZB0SmJ*lpTfNR zsS)eN&#+gRVqv5;jO2`E9wV}g)ohpM%;^?_z`|!!7(DO-Ch9sPHVA}Iy`wHsHE?9$ zOJ?-Ovw<~j$St^1AZ`!~9D#Vs&#YDM*#>DlakCMdI5O=WkIjp$c7snYztxD_IGtA% zkJW`&bhP9JfWaaZY7buR^XCIYy@A zF(V#lItFCiqzn;Y>yt+ON<0M_YK|t`!`1`nXlk+jySXTN2InBVOfUxa|^d^|}#na4X)&*%9_o3dEb@El0d<#2;BbihE$&!m&{pl8{xK6r*?u z0{sq>DdJs0$K~;W^MGO14};zPISCJX{%pkiOicgOs>U`CGi`{)m47kfL$2%-UFE4U z&Jto=^M6MC&DNlstKiKR6y6jc8}W%9a9JwW2#eFWY=s+PvU2|2h<~thn&>k43!dzS zpn(4};@{#kY&Uw$kIiU}x=y9*`{yL7GU7FMk5=AtzA)lHJbPcuLq0TUrPy*vSY zQAm{+cGm$1BhA@12oT`@`omzu_<*F+`qqe0vObDm)1yB}F|v=5eI;{kMmar~y#Nj(G zNsg?T`@@VJzQ>-!a-|%(57^|h!GrX<(HO!hH+96TEH!eJ91RI?^Fug}Gk`FeW#;LK zbXQQ0HF6x=Und@05JvttDEAdq%79%8RS1`^4kt?)*1e>h>&H(C$q8`#WqEh=YqOI` zw#kV|w#iAHL&@V9WV3QoRvNhM(ln5CHEs7;=#=-6cFRs+4 z#U!Ey1NOL!sA*17oDUdds!)bVr_Hr1k2%2aL6m zSO>P;>N;=5Sw^1CE+UKREE{gsGzWIO|J%hgoNwehd4U(zpmR-ZIh<KGolXeq5TWTwpm*Ga;h?GMnm#4dATF6F!D-y6(qsmpdK?o8lx^P z7(GYUGY#2}%ZsRxf&HgOuD8I>b2c)jvx^d8R$XJ{wGziNL5{(ZIY96-v`75SY~woE zv&-a0Bd_Pd`rE-`9L2SI!`&!va^%fMZsHL$nV1Yo?(jiqsg108u%9w{w;6dmj~KEe zS}&-#yiwk1mx~pRHo-p!B ziE|5Hjvw6>=d*ZKA|Th6@jxt4=r3{M*ycodHK*Z}2-3bh z$@50OAaOLo$v!t?9GfdndmEP*`?8U*@M25c#kN7s5n6i7b+-f){LaYV^D0;>YTYJ| zd=285B`Rs%03|eq9Qg<2sd{K%9(RB2{vr8>#5qN8`8MqS4~!9DOF+|~jC@BTvfwQ6 zf_O5@QTOzYREh)UMLEjp!|Y5e5o|RQ%fn5Po-TOCbnT5_yg1^i-#79Df9iRW6*k~^ zr{>xZjr^wUOUg6?G?>nXTDr*a2vND0_^l)DNFMCVv` z&e92s9i?Cw^9c+mYdD{?03lT*;cj6_Nfm&|C`|J`>Hax9Zt#Z+;sGJ$$hUat-bNYK z2N5+WozDpmHV5|KPwE2+!jSsv(dk7LCgGR$R2=p@$kZObvIjg&k{l ze)7mo4;k}@45@wSVn>b4NeB9qdQ!-fj52C8Pr}Zmdu_;3W1-sC+q3EW+2LeMT_hD! zW2hiR?P_1RhpG%IlI{oloLs6xBUNrx1$%@l+}s>g2ueyD5~%ajOx+IkTA=U|ELN&Y zqikRjiYDvU#+r~)g-)HR4lwFKbrAG$8Rv3l!beQmgcqWNAAD|_y9&Oirf^SffIE~M zciGDwz8~}*Pdmk^Ds=>!*=cLz$STHNhe^<3d(rA1=e6DDox>AP6?6~}W_gh;O~p$g zO39Ye<<=J~wRGg+4~H1)Xrrd7>1=_+iIpz($oXja2N39)s@hSrj5L)eff zv#~yJwR?$^FB>t(r!_Ubd(ovL@# zBBK_ohMXY1n_S0IXbSo0%a>ZF+50PzWcmtB-UV9wP*zlfD$iBU@xM3}8QFeD6~ z_UxOrE&lWw#XCuz?5IYgPEqKZacbGPEdZj!Yj<0Ev6mm)30jby#UImC)vB5dGyEEF zwwz$3#{^YD)dZvuGt*hgB1SD&E5K~K=bXE*izHS>o3P{m>w=pX(m5)clkwyU?T-4_ zP*jUrX;iCf<6wsmpKBF+I(Gt3fo&^4=75l z^Hhp{oXBuB2+o!2FlrUs(V;mPw<3Jo1DT~nV^eFqX(cmcjZtgaW}1%nW|$i{bPvf9 z>I|cP#GW(fvS+m5{?rUs4z4-NsI&PL&z?JT%`{F1s&kDxk0&(9Tymt^$XL#Kx;c)z z0Bg#p46KuW`Y5EvX^*~EIU@2}!m&TWucFS6oF5~MwiEv_V9_(Q* zU1QX>3Ly@MjckhDz@{vZG0G7}8>}$3aK=ZdjYeIsZh%I?C~zT1ahW~NHs$O(THj>U z&Acsr-8D~ZZRI}6pt=P&!a~S}soRXYUEKlMPPXIhGyhH72`BWlmOT1qrsXcqYUH5+ z1c+L76(5{0Kx3Tns9zv*@zKy)=*)S)>$-*1z3P5=MZ6CWs!m5eWYiY56-&$-(F77E zYbqCnQ}BV|B|FFjwBzR8_g<{C_M=-zPOz$NMs+DfUct7^a3$_S^K@W}b{O@D!s&~H z^T(zZ4(9iMqt`?CoRMnXPQc#B)Z>nN!l)+|Vz3@-^V-1zaA?hziSK`^rvWY9n3qhg zZH-iB&y(%JFmse8?OCIKt$yR;VkTb;Qr{x;@<%YsaMo*9rZh-e$UrzGAFlrCj;vl75G3qq@Gf*Ve1K7|CoBi zs6W^oo4tg}C2tw^HkT;CzN7vGnd`=jj3BWHy=&Ba>d&sx;R>uGSHnC2<~v!y%n#IG z9QC15e^m%~GRbPINN$oko4L_^e|_(6OSja1o&g|p1Jp-G*+{7<2FP;p&8AhNFd<9~ z!lf(K-#OyR+Nq3IAA{?H?KuhBOa)|Wosf*4|1#>|7CoDmxuf&Ij`}>ucU^50%#}76 zn;u`|sQ>)X0OP=r`a*rlVar#7j?EuH_)zToMc;oKR?i_EZ^LKm8>7BeJ7H*m**IF_ zTTPK>WEpVEnT=YeWRb>S2K1j%*Nt5{BF@*7lUmS_wb23g6gg$!4GTtV$7p-|icQ)Agczw=t>G0(M~8Bxaz!HC z-V$v}0;$k|dl{qqu=(M;CfQy*dq1Q5Ys60l$&O`i3c@CeVFI$5VlTGEB6N|_19=gB zcoB={`OCl*gNz=m5&jIbEM(p;2HNk*LmW-@Q0kn#26qD+^Y^xUwN4BU>S6Fl+;9XS z6C`e;4P(bJ8d!D!U;O^R#=5JrH{v>V}{hIF-_<>+IKo~>)L z6K0MmT}ORvE_uG;f=)9!&v3Isf@-or;hP?>t}4g1@~ggQ;HscL79!Hz0rv>E7!XTW zXuM%`w4RsW<;cl0cOM-CEkNP{{>o&Zk*(p5SQGpR|7Z|b-s`8$o!eM9d;Y@u8H?)S zf9r)t*D(tRBWoY`^8K9u^HW(ty$HKj2eZggu$SM;xbM2b=;OKj*u3uh9%(U0FNIn6 z4XX#R-n$r5pNKa!^huoWvX)aX(Tzr*qQmS!L1-8-tk(Gb{pDx)p2PUuv8zIQiR$NQ zxH@|zOK`X!(oIwV!=_gl-C_+JZbIOOz}iS_YkW1%&Ge~8uhfW+6b_oKan9O?_~lWK*{Ya#vWAFEiR+Bg@nzab(lV#9nFiRXk*0zmI#I!&O%s z{Zp>WcIs$Hh5|J|Gx{2?=?60H963Z>XY>ZY&d!okcfHX!a2<1|4IyDiTTbOoM&F$2 z$TN9$Y+G(Yf=%BF^(dQ>yW<|5I{J1v#J;pW;os(2+eXCZB_Kdw1}AuD&}O zLDJzphWMdI7Xn!qT@k~r`~=M7p{_XFzyb<#M2>VbjPY@Do}#I+a|#Xv_67O~H^;k9 z3w>X(uzFVY!s>Z5svBn^b<|i_v$PtJ?SoLG1@`)y`nlDOwbPDooLfCl;o2aa9X-R| zIPb?-I^5SW>e(Pc4(H;+SL@<%BFewLLY->iWYYNWbv`m)BL=Z|H@dx<3+2hRf!@2! zSQ1`YXj%zocvJO)%Y_>^@cT2(eK2y79?a0EcC_JQb}#nBIj1G&0LR?)A^!}z2*r;f z_t8xpJImZ_z0mvi>}x1!&&RQxB^M;4=v0(v4=`!U-bW20c>t1a;|MOSX75H?Da^g8 zhdx|}36N>Am*_CT2{4YhZAoISqo3yqF$QkI*h^a|#jhdmk+=JPkqxk1FA$Us#B~|? zS~zN%-_DovlC}0cdCwT0OOfNn{Ct3t%XybZu7+meQlC2tr!w3d2N6s%G;4k{&AEjg z(OKrcM+fc8?2nrO!#!2^e8fNWVZO~wX6~kC13EKxgd#LfPK3Jp-YCFOn3IZ z6W=rh2W z4`?#%cW{2e1!x?LtahJd(oUD9#wF5^Ily#`>jf~F%)+L3cFOGR>qi+b^!bv{@EAbq z$AVpR2i_S07GSJ!6TXs=9J~L1`(dGL@K5lFrdEC}3lTu5&VEE;md&>n`y1(F_GG3I zi?4~{eKC8NERu8rhzsrfAFa*SYCx zkAK-b!C>a|w0v)F1-XX1f-~LUe1I$>d(i#jYcH0~c)|&c&q<){fmPtBw--)e0z}SV z0~Q(duQ@n@iFggcukmr_e;nsK0feEMYax5-_vQTuC0?AsAvsyVyj{Ur@I7DF26k+3i3r%Sd|@Ds!pk5*Qu;Q1hu%!Z zG?cFmlhAj=Ws&+G{KlJFxxe{haJS##?!WcVsR{M>a(|kRo5*{N8e~0Q{WXF~L@%uiMd-Le~se}_%Xjj6y9@`(c zWNm+Z(SiSR>KcE`F$2C0gPsrIS0#So+Yb~d-$u@Z+)VSosK&olx)c8zw}F00Z^19k zpNsK2pN<7el#MH|*hZ$jllrG=P{p%UR9>E@q1$MmjTFSw=m#66#-(0r8p4#8{lQ|WF?X(^^2PNQ{~-fn3=Dns*8IW+esxswiY zsNx$eUSg@ETpr?N-vJXyTvsl((%iy>E7G)}i|RMfdQe-Crlr%$3s2rkr&JU!PgBbV z8f+g{c2RskDs4(@mvmx;0IAbkSW6Uh_2lynkVu9^6d-EKFyJ zd#$3d%Mw>n_^?XTqlf5*+^yZ0&h6>i-LVf51FP9Hd7&1->s5YH_)zb0Lb{ioOOdcpyng1#;({tgY74J z5JJ(3FCjfdCA0-%`!JQ!4myAy!MAfBquKZlKs`M{OX*h>rl%-EPtywe4YlL_{MGb4 z1pY+``b!Y>-$A@yqxtzDn<-i zyjOgU=w*er9S~4YMfza~t;R|&)I0PefGABT+ouqydRG6E%Rt+s`cXiQ28CNSE(wAI zuR{1A$5Ss*d5eAm0ONql>-3Z85oBrhl>kqy7_QY`VHM~~#U#@&HLE!M%P@eDNK^K$(2Wfy&uMo@sQPlHdJXaJYu*=!U2Hq%7E z9hczwlx?CgEe6?AjF1*Xw+p1M(_&1g7{6WMeSz%)mUeE%b^(jF0l>6f;9kq);^^9P zw3xVEOqcvCEoP-fP5)q8%-_8Gwel@up*!p1v{-^)C%V5H-CxVLh~*wttwkcyC6Z~e zx_p~BJqup5Ae|(Ns6Y%PgTMX6AQ-X1R3=Jjsu)VgiQ$wGBXGfeAG%zOr0Yc~-7QAb zRxt*j#2AfNJu2}1iHVkb48sW;qJO2I!V`Gq^3lRDwxz6WC-rf}q2JIX2oG*SdwcW| z#DQ6xa%n$v1J!qlbB-SA{=5KsU4)fkEf;r+OVi?t%{0vW?X?&=P+Zj|uI9D5?NnM^ z<33)C$Lq5lm~Va!KVP3^#37Iz68j#zq-z++cl44qB;eBb2ei{PJ(w53ucyH1>say~KhK3A=tlH5;qBrUWh(C`yn@7FHWzg+xS+|MJ4KNaJ z$vtWDiwrati3fmt}L}@IVs$!kJpRTcdh;nTtXJVTFuLlSVE0{PCpN_`_fVR1&hi>G)2G2sB9Mr+}uSqj(!QC ziVpaoox4^E*BsqRz@m1FKLByI0%&%K6-&y+Hu0yeVi~I!s@_A@<6_NL;EY@Ffi1XU ztGL!H_^aRIVz1yMzs09qutj`Yo)-V)X#k2C3yux&wNv~TzqSI;@c6ZT+|ns_<^jr4 z8K49-9$7xz9ev&;9(D8XKXU)ww*RA@68GSH0PQ|K`*UX**u4AQ^71a(YpXO6O=*f` zf4yB6Dtv+HODM~iU2^a(&@0V9%RA*zo>-39Do189WjTx`iPNFLXV4HJ-UM+bw(%@% z;n{SeI0qPVE_I0W=p1oAT`Jbm{o(@Z5*OlILKgw+FTqE8ehhPcDNOZc^bKCQ{?3}^ zE5#tZN?i)`JWgCE4ip=#I2?o>>%z9aEH+}p@29@{SJ-BWubTv{U?^C{-d-8@H3y*} z3_EFq1?KTPX^4FovoC3W{mm2o)fkc`>!9*&atuSs1{$Bm4>>-AA0{o!(h{B@yuw)x zXgxW{Q62;mN!$ntzX>e48Q(g*g$@+ATJl}Xn@bjEoQyaG*S2ob=$pbf1zl!oAc}Q9w*07nzdZjSRw)hCQxKH8qA~}`4wg)SUfaGL#+sUTzik;6O1N1JFe z6lDtx*?h?Ic$eaZU2;)(mw@XxivlRgaITX}B)o{4@9SallZW&Bq1d$EE6>V>dHP9KJVj^#-HKcj1D;N3}Rb{QIjlRV@@QU7r zF?tUw@MjpL_u(FX0PpC-93m#>5CPj+412GCmsx1i1CS%XPaxg>-ouB@@o$+Yu6I;u zjnm(#RD28+`2-Hyr#Yk?>FtQnzt^vNdR4>*9sO?rw0CR(Cf;kosbagtK?f^ATAn#j zp0j=<{P?syuTx$K1-x`KToL>0C;ZDcv%db2icWd;cKI_&opQr=d4nXtPH|4*EpDOP z10L-l)ZJ=3sO|C&+q?)xcjp%6_ySX4u}S<3d;V|u0-wVd_yUsq9~v$Gi%&&-MOES( zNbt9CM8Bgpv71(7X+M^dHcD;z;3h>FHR(fcgp)WQ3zb>+)N+i*Vau`yF+#@LCM3gke%|EY590sKGiU(Nd6`* zpKIW%ujC@Hj;x3oK|W1$!3~^`hRSq!I+LA!fj%<$$xLAN>u&FUC38}Z~VH|{q^l; zD#EY3H^BqPumu=tSI!nBkf$MO$dP@Cb8E%2kcP`58Yc(R{<4@3$9wM8axg8D`_Rd9 zBsIxWYLla=19`Nc$uV?;9834Wgx-(8Tjh9qMD9yZ$TE6GPM|krIlUt*=tDV?K9!T` zb2*uI%Khxtl|xX+(Nz7Wev9FSc4ankmwsFS5xVTqm- z-;FN#Kr}u%a3efA6o|mkK7IND67bHEyVZ0OwwiTe#118wlq1&Kru5v39m>IWse-f$ zRistlJ(NuzhHoHDp&@b_xG*C}$VPbd83dAZ^gEzW^4nG3RHtJN@FU$sQ<3Tqn>}w* zkt&>+Rs$gvYH(VWG{BcuBeL^Zz>{SPeWVnOTGCUcr-_`F~d>gI* zjKqRODqyfRvxqPF9Z8RlGd%ULbO9F0EjROpmnGNDttd>VRVkvQE-N_lOq=wB6LV3P zC<}zLo&vIg3gq!1YzYmMOKE~UfhNlna~M+T5jT*AdGVP9zdb?(zTIsZl5}PC_6=}n z)R-mP)HqMD@0nK0S+9N-rCn-#T1|km7&tC!qU%tp$s8&n^HtHM_TR`}SdluIeVWZ) z@j!KGmpXi-+v!M~qk?qnv^t6xqis&rIyJHpFY28_g)&S-_W-nj&xz3fWQmCIB#>68Vuwn4sge8~1E}zpBrM}QRSKz8 z=DQo4PDPkb@=WmkEb1rEfdHLLW%4|#lIH_U*3ohD0^rGov;;3mH_1z=RbEPQ`4d_r zucou*db@NE`^sph6)jEGw6Fd@{Wq-iIEdRv`eW2$#TorLM}OkwB+gOo`cu%s%o<36 ze!Hj+-lwBZa#YJ#c$=NA!QXu`#RtaS9YLmFt>>S1YhiI}2?ZKM+Zsd5`n0s0TIjkr^GkSQ8zY<1Zoff5anxtxDo*-(NUZ(3cQ z-3goalGkJ1H&7pWBM^QQGKsfPrM#66!1H194tx;ePMRS%Llf?zlkoa>Lf%Jf<^9-+ z2j~L4nSGh;v`m-{DT7_mc-7RZ_T?GwU#@Xk+Di82`ZJ48LApSHjxt3vXpU^wU!ccY znD)^qb3=0M%}&_+orsdYp|Lw@tfSVkFZG`cYYRNqu0$Hl^7eLD*?($fZsM?Q>SvH* zIdT%%w_#F-yDnpx7vSU7yb*!ofH%UeRLW1xq%0@-*M;i>*o?Qbj5~nOA7mH6c{?!h z5s2_FX{>yd_QMO|hsehP9ZyiLd=jwnD{98`sq*QJ*iNGfmPv>LX=R2F=5=`m>- zK!tM|ia#^&GRcZ1v??o}MX=?vtd*8x);d#JFH26B(`5@!TBmsWSKQ(|2&ton6ZTzIlq%)drt z_>)$5HvlR=N64e@;VLlo=UFzn2>Tqohv%W`FVFz_B9+URAX_g(u3mv$y+}3k_tYR? zrKo%zvh@a?F8^Rz#gTkDPUhZ*#4vuHkzv&tmO(g3rdIu5{Uwxf0G(>t=j!!vQoG@{ zIM)78aP(J#{~xe9{woGZ{-&nKto`wu)ibg~-Ma*baKXZp;Y?L*Q}@k-p?PH^)s|1} zQV(oZ>2gG#@CP2Aq7~~D3&o=wX!4{T>Zv8=Y4uE}dM>SA-lkqwOdftK2c^B&T9?bfm@$r@SVL?BD%Ke3=$`5HSUie*%=OyxQ0Krc( z(u4mff&Ll^e@&C=VD$%97+yezIT8IW7{+EKf{ZJ>0)>ge6OXr!a=b<|_xYdQ!93-4BW?2CHr>w>|0zf=89q}3<$x~m#H zq4tbG{R0*Mv0bT&pOe9RtK&uG!To@NihcaU88+n+89hyZ*ftK;xgcTvJsaYucI zv-5xoXqW9cQJ-9nty(L)*e9vr^GGYD2mnd5HoFo@L?SO{d}LYt(>YN~bY z)Ihv+QcMHYASzb)cA+Yv$!Zu)QzPuc*yq8lnT1WyK-Tm?09MuY#Bo4WJfsi=_tGbM z1pgk=%3Wi_Vf_ZONbt!|S`W8pL`ykb*~pQ(AJrJ|c$N2Ks0lPnO`;RkWQwRtYEuW~EHIW? zU@YKxhAS2b;wiJhL6zg-SL2H~o+6~MBa9>4)e*c3_ay8FZxw*v5lkG+|E;u^pBO(G zjI%}w3X#@j7IKc`a!*mxdcp=8JCU`+=YwsS))N`l>81vK#AX^fF_%$$Gysfm-hCcZ zH4*7ZaBnjMz2&sG2`C$u^)IJWfAH!s==l`tqmFO=^`NmyVb-WF?tP@HOsb`u6eJYxD#?|{h=1IK$Oj#9Ai z_@ITi?*LOP*f+boo;hK1e_G#q75moP^Z|3Tkru919L$jxZdZ5>Int^q(g#jV>x22> zFkig4=_wo{q6jG?eN>m8>9v>xe4NYW^LZrH9mls7fRVFZ*IU=SuD4#?&GlZ2kb~4} z3aK^JPyL97sk3N|IvZ+!F09GT?<7y(eIL|IqE!r$Y4)!3waI&e~IVOK--i059qm+E?95W$Kok zEuE0j=?Q^;Y#%*3F4r;^0?w61PMfMU>Ffh=UTj?I+llaLF-2~x`JS27^``xLRBbTi>pRJ>c8f;M; zemdQY+VN9&FG}KPukJ;w@H3Dp%1ksK$$OrnQ?JcbqKK#H)IZ8C;wd`y*||kLMW;S5 zw}_|c)E8um{E4JQ0=`pUjEXE3w&+q6-r|P?TL!X4FO`{oN_oqk+dK z+32q5+T0?S{EfLqF8McRiUy1x+NC!=q`n(4?iPN~g}jl%CMTBB5Ioo5H1t>+L30rU z)FN1#M~i7bMe(0bO5!fch4{}yY(UAq)PNf&$K!s?3AkHw5{|e|783t`qGCEll;I`D z1MpuSs;1@Qc;xz5Qj0i?F2K>+g(L%fNlpd^1qS2qlbCTpU`SvnRN*rG9frU62Zjgs zp#psetq+XsRY2d;vw>3NVncL#U=-f7T!G%B0mN?xaNhyG>>C&d|I@dL+Q67z1^Av_ zQD7|oUWEGBP~R087uXk>qh|wU0XX;aRs6*~fr`K+ZV!*j{x49eWMF^%ejaoj07v8t gul&Hk!GS}273j@sUEnbMJsR~KBveyH;BYGVf2B+`I{*Lx literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId42 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteItemData.class.uniqueId42 new file mode 100644 index 0000000000000000000000000000000000000000..771aa91232642c9a840f45f4327590db516947ea GIT binary patch literal 5763 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 literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider.class.uniqueId41 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NoteWidgetProvider.class.uniqueId41 new file mode 100644 index 0000000000000000000000000000000000000000..a00281f22b252c70f91205ed22ee7b545acc37ca GIT binary patch literal 5560 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 L2q*YlfzbZ|n8F7G literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId16 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$1.class.uniqueId16 new file mode 100644 index 0000000000000000000000000000000000000000..28051ed18ddeb3f890472b5dd5f93247626e0443 GIT binary patch literal 2410 zcmb_d{Z|u56ukq1m9Q41N=wCxHfn;F1&Y-+*475lU?6S6N733a*_|W{n_b-D zQ<2ki+Mjy*{q-01^vy1TXkz7u=A2|^Co}Ked-uLKzy9;>_W))P^q~vg8e%$n(93Yi z71F5Nre_Jm^`r=lhHWgVNzM-BEmPXtw)`?N#n3Bjc958)Be^4;Nvll9bo3$4(7(-{ z1h@D@DSU=x#|ZPDV+lXX8|_TTq2suQS9AZ*#-pZq>+_H-#w))eYOVfVR^R z0mG?eDi^BUkhWvo;X$n^Br!RUw=^VlT);(!i=7g*zdnXON)d%-h$XYBg*cK(X&BdW z8CMw2wgr-&=NPkG@)gQYcuthLG;53AwpjL}3=G$kFO|LnhlSL=K1{&SFsWk-(+neR z*$at4`nFqTI9>7lI+vw7WiEwAUZQ0x#$@(>OXjGs$lZr<_XB8{XE@n3{f=!B9%I?#fsA7g zcXVX2z;LY2x5Tn|Od?PzHFrN#A_TA{dZxzxqIlF0t|=7o=8@I}1bz-V9gC_9#Dbc) zqiQR!;}d*J&1JuSr>?2udhmZ0SF`smQg6&~$0>7ji+~idtYJmRs=_keW}%Mlvo!?y zr9wR`sHx`ax#}+spD`Fs;!Uk)ZSHtg&zI zh5#`PTYxuh$AyVK{eSlo#klsd{#5wppX*Tl5;fDdug(W4I00gt9tOo^wsd z3#j}Tg{*m&4jY@qTiGqDJ0<<1a2pJxhj1-wR%IRtBh&B$&rd6qde)^klyP_vh(JS~ zqO=*MKxCTTMsGEUhDX#HU*ZOW`@6jwn zW4Brvzx)Jj{K^w(<4@85Rk-m!{q|BAupjU_&4>37Kfo9Cq{66>3?-U(VUT7U;Pk5k z|43<7;EnNb!1iz=8eZGQX_{%HyEwOpOKWOXeZR)rJ>NlJ?>^Y}&K|B6*JEn4TB8FW z6nAl}dk?pFaW~qww2Q(a(h2kv(x1@Je#QumXV@>)+JDDw_6P2=-;k&00{asy>@Sqq z-yx&12qT(|Hc*DC7!wl<)1f#bWLH6z#u)XQ8n$S5p5{tQ^_hSJmoE1r{p-={8Xm&$ G?fVzQ#jsKU literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId11 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$2.class.uniqueId11 new file mode 100644 index 0000000000000000000000000000000000000000..0985c40d9da8cf0bafddf6a12046922fa736f5f8 GIT binary patch literal 3408 zcmbtW-E$LF6#v~eblYSLCA3umAxJ1mTbfcpK3a>VEi{;fkCdY2LpI5!S=jEz-J8<- zg`fEGAHa)`yy^_r>Vw1h;Dayz1&)r6KBzOksN*mop1YftbdrGx?X-LM+_UGN-|zm; zx%ZoYzxWcsPJF1Kj$w<*MQmEnS~(swEy0~wQIDnMAfY>AC@b_CUCcGXhZPDMR48a< z*jm#^;XZ~2k=LDYFMX1z>6?B({0JyeRWxHIL#t-yY)j9@EGIVP%$eD7&ACWn2Xs>x zgADbN=!72(Eh<(c$l%wqS?)ODUA?sCkw}e;Mjzmp(+Yyylv^v>6tt^&439H}?~lm) zh+*{<7in(rtl+tmdXC;0+9J`!1#L!)6@_lZ#xy6N=7QogtW~iN>lp$iAlvsyB%L)Q znUp~`sMv_mJvMgA7>8?)kys=>Yng(ZA~x(jk8{T|W=cdnrDC&WAy@`4F8Fjj=lHP& z9SXLph#<rIfqKhc65O5>5 zF?4tTlDBlKRKt+?y`+>x~HRk08KgurDaY0dC)>!4-ixXrNV zp(r^lIeCU*rwmqtF07ESNpzv}Zs_|_u^-PW7*cTn!<1EpW*HiFDh*9olwkWZRg)N8 zdw&33f(Ry^)?tJ5mZ;A~l#-7?IXTEjf3U6q=4I7v-?STl@_mc2;L zm zp+F}gohmDp3F_~Zo(~sQ7?@^QnX}^N0ZMwxwu&b0Nk^o@zgqwNKYen7lr>BU7*-{8 zlc$Q)8E%hj8G|grgq78d3C-5!d&%gNCmBPn-1kutHx$jH!zq8oQxSc>rV1xS)$#>N zY^6n0mF@#IomExz-akkwHKzsfn$!xV1)9?Ol&OiLO|Z3^Sbnti8$2c$_C7QWhGSKf z^(bjYNepe}?Yz`pq%I_)zWv;H!tG}1u10Ds6++%;*D%x3o zP?uV6uQ&>OWd9}EkD6J-a_HDfa*?-kDz3=B5GXr}8PvFGa(md&9EX#7gOy#Be9GGl zLR80ox?i%E7I{~s(F*!&hDqJiqR}Ag=oj#Jc72Na&d<>F3BA>!K>r)a2kbk%MB{eP z3pN~jBY!s^+0i;pH3?aEh@zo{EELrBr;z#{$#1!oJZ^Fy; zUWZpG3u?3_>|aq_AKAyczQ#b;JO-29pJRmKDtc&enBgW;sckoK^eWcUW4!Jo1SME$ zlJ5&RdHwFU9{f}Dcv0?xhjIfk4fZE|>@T{A{!RC(e+bh_jCu@r9PTEyKZ9tJaX0L zAqgWVZ&?ap;Eiel^7FVL_pef4%K{K`FPAs*mh1gC=}hv$@Gjn?(b^K*G^EQxE8eH2 K&(Z7$sQV8K{Kgdk literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId33 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$3.class.uniqueId33 new file mode 100644 index 0000000000000000000000000000000000000000..4b38b8ce32e06ed9f47a6f0e149683487ce5a957 GIT binary patch literal 1110 zcmb7DT~8B16g{()t}Uyrs73rh&_&vUY$Lu^O-zNPNhuGICVspOyF)v;%p|+hR(_TV zMB{@$z#nD2Qwk;+L)~QO-uXKBoO|#5{Pq0@fETFc;9$x{#=|tS3@b{Q;7Eo#5`of2 zq(NT>ZR@mTYTkrK4x~BuHyE;}CsV&hS6UO@soO}`JmipP$Pakz3)ALDf?>YJRg`EM z1w$EiDgI_8&7Syd>Uns$?&5}r0*Va9Lq6a^%vCqo**_GaAr>#ClIAtTRJqd0V-~ku z-1cw>C5GjRcrncIFcfL(Kd;qD&a3i-dM;QGq!rfBa{i=N*?QO zlP1Xl4~4&@8nFyN*^~+;5{AZq2fduCN{1oSpt3O(T2hI2|7c$%dwf5pmD!dKdEDWN zwDa*|#ukvFGMQX|qt1}qm0iV6KOsz4pNXJ6moHNB55e`OrI(FHX<%5o@;t-zuqVSF z18Y*Z?CO3JiY;lil>X|*b=wvsdsBt6PNnK@3)9n)hbmSX7Sf&`HWI;&*h#i^BoB_a zbR3D~tSFSV@_Wn9Ybq*5Bj#x;QWxtCkFF>qg}hWqEK-kqV3>nbEZSBF$kNNA$L7#q zz&zP|<{9 literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$4.class.uniqueId3 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$4.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..bda52662e5027546b2329ee6744299b7c15d6773 GIT binary patch literal 3297 zcmb7G`F9gl6#m{cblP-eDNqDOP=lnUB^B!$*$hPkZ7OYApr~~^c}*Xk%!JIOi;DZc z?+WgsqPW6=Q1s~WXZ;KOP5%x(9`Bn>76{eabDH<^^6vKC@7{NR`TP5y0CeG0BNWuB z2xwSdY?nKcyoe;^rbjsLcEc5u!kr0qG1R-`!U=VfNYA`vqS8`> zhDHP#f|I%#;%-9EaE6sVx|Pb=A{ChusWjQ|P6;>3r(I7(({KqE`XWY->n@3~VX1Ag zh9zkBe@Y46w9^dB%G&g7HnPJzjRvs{%T=^!Sb<9!79Z3n^@yok=}6z`L2kGd&aJ`{ z?iPl+aO+SIt8kf$%QdXV6%6a<6(B>CZW!EgLYq1}375^`c>+^*cvA4G$Pj%*r3-6u zrHZRGT#XRJia8)+Pzf;!7U39fEvs_r#KTb^HMtl5H5%3<%+TQ418z=O5-Jj?AW=M} zyQ|QqVFTI;SU;dH8PBfy##8aauq~HcZX{M*`?+JAlRQT@HX@>;Q^U2`#IU9YU)Q$H z$PV4r2VG%03@yeuHztOJBPg7mwwdC&B6n^GmqVV*SZ#={#GWo(ui^#`H{vEjuEv4> zkmG}-jd|uq_%sy&F)uCwx+w5}LGi#|>gL zwrSXo+bB;NeS#MgOURdQpBE%mNR`3ZxSku}hw|Jqcr;!~f?rgg0YZK=c4+99RSwt#IZy+%L&{h?$U5K?x6s)dCKMbYJYtCS9$24v<@}kUP8;A$#NB= z6h;kOD%OKYfo_dyNP~b}QYo)El|q{5$RFx`dEPfhkcBBtH8&_nNgR}pPB4W3-9=w1 z^@|2%7#5ngp_?NaJ0->hPc=e^ts#p;)be6|iDY*oIg;p0c8?79Q@WRwStSD+%!z0N zsMZ#Yh}7n-D)Q&`$s!n%`%@aGLD?)dhwEf>*ggN|P=lWT!o*#kktI*@-;W1W9M*P@pe}bE*_EaKgzH?ysH{uKcPW9jwe(+so^O+P2Fb>(v`Xu)kQu_ z8K!4vU!@RBkd-mKC}peb)3;vTBT5XTVtX9VYIqLMlQm&EJV*45{cmfPqA$4@#EW=I z#mgFAktN?;ina1K5+PH<$q2_$@fyRGr5okPDAZ@gOkqsO0f1YQ!34uxIXQ1kh?c>* z@L?Y=|59;;NK920qsfC|QID{ABA*%Mxukr-$nzda?IArU;;>WWgw z9uR3uck?;YsoKTJWF?jzD#z{lQ|}ck*;rG)aPdUb%P`5Xw0x_ghJv!ZIj6a**8R*g zTr%M5#ze24^+O5{*!i5ncM2JFOU>l9QML=hr`s}2+o4yym%HP3O2g;)g5e6;(PQ3> z)R*g(U0|m8SQf`1@+3SgQP$!XB{F8}j>9SKUlF`D3GF8)I{q8jRMk^ed`GRLh9%_F z1w5hmL!q&Y;Z+0{FP3v3Kr0P%-b$03x6;^2lc+-fEATq4Z_qA5>jGL=wQV>9*4BOo zYTN2FXlh#-IDGH5-o_F7M)Go~rQeUzUcsfbdk62* zC)r>hkw*bK|D)|RnK%t~7Axgaz?uTq^~%#(w6@Qp;|MzaJM0v$3;c*>`|H{V3b;8i zi>(F3q*Pr|bY}s(PSUpNCQJ literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId24 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$5.class.uniqueId24 new file mode 100644 index 0000000000000000000000000000000000000000..fe7193464035b508a376ee829e04919234af51b7 GIT binary patch literal 1571 zcma)6TW=Fb6#izt$r7^x=Rz>IG%f~g2QZg}7EHMrM_6*ggF`CiZL&MDhi+!m-Ekm) z0I8Lz5HA(KpwE>Epg!;e_)!&SHqJs4MaoLEb9QFV`M&ebIs4`R|2_kl!Q2omWE|Ko z1~ABQNeNwDlV0eHstUD;t36p=Fh)zp`k|-ghSZzIS%yK~m2vSJxwH=DQ!_|MTnr)0 zklo-xQRoG}CKyh&xbmY=`qdZG?+|{&mwHjW)QOAhVi?C5T;sAH#*!$I)5*O~k9t~% zs+L6#BMwGgjA5K1_ndF=YQR;e`gG;F@H7#>E0xsu7&4{uQWg_9=^*do6i!pr1DG&4 zM9gp^x}|c8t!X8p%U1$H*k^Ih!K8~HFvT#j6D&DpoS$hK#1u=$jkR^X$#ACB`bMzc z4!*IMMm00Mlt%zvRaAO#4g&q%VYQvb?iBSe`KIxP z4?gQ4KR7Xa9Rw(b{y|7Fv7d0LRme+U>S{R2-#Pd>#Vbspk_fJX< zS<_I@m$NXTll3(REQzvELc=+1;fTH-Y`*qasMlgq@`^A)eLUP!(E_2#%uBB-xDrh) z=~)$0R2g!c?)w5m+@rB)*jfmrxLK<#5ygB-Q`}bweO_MR)j;bThjBg244nt2<;i4b zT!#Lz9V^3KyK|pfZ*;wG>rqqHnI<_e?}ctw*QD8G81Cpru-F6gQZ-ou zF-$OEd_vmzj1l7tY~w4A8{crz_+AH=Yoz=G%)=?1*1+Mx#cUn6hci@Y4Cm-H0rmqI nNjXo7feR#qLNpwJeI)A|^f!h}xPl>K?<(@i6s{APLNfIWpghZt literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId13 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$7.class.uniqueId13 new file mode 100644 index 0000000000000000000000000000000000000000..b1605a3b92c895d31905b6363e562df8e79351e1 GIT binary patch literal 1165 zcma)5TW=CU6#izRY=PBMw5at`s?>7PZg0j1OcO&j*-G1oHaz$?EF(-^W)pUx`m;>D zG(PwP{6$6+;~7Ak)HIOI?4EP>obP<+GT(oH{RUtgPm-_@vk`YNg9O8>658!bKWqtC zg<3>zU%CfIsLMz{_q7~I{l4&&A)z}mDy&mTeX5vh3bRPsNI6KuVaS~D0e1tg+U{ZV zMEIH@pGhV44nwS1YNT)#b2c&#=8<=`IqsDjHtsRFT(x?k zY`K1@v{2gJl{^UB9x1&y+!uvIRSTs5)(lK2(PJo2o1)ZUh}UTL40Cm<#6iE?6uo2K z49JqLhdvJ)yeEx5Hpa~sFkIfh3wu*#u)`5QnrX2qk_h{ zc+Pqt#i_e5RNr`1ORpImPf^Qj0goaP+1O%OnouI;zc4W5=}yjq;VxJvW9}tgRf|p< zOJvQHv_rbFq{@{~VC65cKagf&ncfNVf%OCTNzRSD@BjtU$bX1N&A|#DjA zKN1w3GhF$MYiGE1j+rtz)=$h^zlON^QN%yoELKr8d67j4W%7=pLYjp~cue0ot^XP} QhW|&*Nu>HVv7Jc%0gtvX>;M1& literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$8.class.uniqueId38 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$8.class.uniqueId38 new file mode 100644 index 0000000000000000000000000000000000000000..dad22ac7be4f2a363decac8341d417949b957186 GIT binary patch literal 2941 zcma)8TT>KA6#kkNz3+=5$M>YVY7}cXk^%C zI2q5iG6~mD^!RribJXzXDW=nwW65p?9_tv7pb5?5rR=67{8LIa$ixtYO(AGv#MY!^=z+C^Imk+Jz$;j_OE& zbUjpoQLPjh>a#+oi`Xrz6Hu5Y{%v?k$ICcQ{Cy!uEolpeWUMS#eRGDF7PkW7m?GIx zV!BRVsF>REs*cwb*;e6st{3tNoCPI>C)q*!`m?Apt^x2jueAtm6_cGi)bu&*cw=$f!ecp4^9w1yXMt#rVv# zq;wO~I!2XiYZcdii%Pl+ z8w{IVhlHc3g&9Z+w6(mliZdi2KD-faSNq=`y#xqW|+8M%qmoh@{=X zGleQ}s+o!_@2ILtQsA6p+SC@D?4XcyZbru)bsser%20WQmxrEm==}HDhVKhs!@G2r z!ltt(pOo}syVvkONm|i&M<~&S?ycb?%0Y-TqTwDxB7A(#mZag+vWsUOCt|v$lTnwd zp-UL3X>3%NI6#)Z8E9q${cV8&!z_*ZXdPEG@y>@}@veu^;*Zeq15MQ+OaJR=A^3UB z(YTf7l(U7KWYtJPGTc)qun2gTtXkC&{|Q_Qn>LkX+_^Oz>*TGbc| zV2mL0(XDjmu;*)>`2}s0gv%b`z+jge{D?z2(92^J#m86jk0&O&n$EBsx+l7F=$-fu z-zWg>KE|pboL`NQ+VCp|CV3(Jq4Z>JVKkD?VJwFV9(Pgl2vjyZ8w9l0CrFi1Se#A$yFE;UphNH=jU?U%?ok#C3iZ(_}OJ8kYEV z+#~x1zkx6L6u#oq_?8=Zz-RD?n|Mt23D4knF7OB0zxXWv=2`s1t-L75NzrC>!o~tg zHb&)97(FP>0V^fRR^Y%TsTPStJ@`}fJjG;pV?QZ)tDqo#M%2(Ry^eSOh8;Ovt6o_; zEms)%$|3+0UNwNJ9E`QqR4C0=08~Rh!PP(_$lE2{CRcKSc}h;DdTVK5kEL=ISAros<$fY!hKIHKu5*eKkMqbOZ=hh} z3`~aglht^{uxYt(r1B;m{@S7>>o<36#@$M!^$p#xmIJ2sH`E2I>r}Cz>XM*$x5`HGLk(dYOuUZCPoBR^&1*Eh|;@l4y-ASFu9! z8liVclLkEa3U>It@EOJ@{T9DqA=CSS%<~ysCOCHts|2$%_>t1{Si~~UqkGm z{vv03a?+6Ix+ynm5kXZH)heQ>A&g&0DL$neD@E5S*@c%S;ch(B?Sds-LbY5nz4#EJ zFLxnB83hXJqEJ=Tqk+)PhFr%iXoh1;VM}e&+pvvOKE_SkloNz_B6nImd#LtGc#gF$ z+)Q#_0ij7nGhzfqHw@u<@sS}$m`_{~V)7ihg1#o%m4ZvS97U^&He6wF|BnAqiJ%%w zx?L36lIuClU*}0k1zqY3x+k>5I}W7|SJ4qgr;2O1PG~y{{*)x4rYK~VlOqY?L~`1v zpi4zJZW8Ls6bz609Aq!b!7c8Kjn&{)43a!m==A=GanY?g&-VSrImK&P-Mtj)&%sD035KlPqgw~288T9?|Bbc^r;btw}^90k``uFaFA#PO) zH#ll)@|zW}LR{JPNb`S?cTagA=D9A_zl(5cU=Ow1fsn@k2LFoQp^Dx^p)EEBw6X$= zV;Hx2_E&efdxqG}2u90BzXy9D-?0_QOp&SFwV+{8K2zlJcg8*0_8H}^-hb$RIRcC!0a~8q`Z$o&5$2|KDA;M!4 FvEL(gvnl`p literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId25 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ListEditState.class.uniqueId25 new file mode 100644 index 0000000000000000000000000000000000000000..cb50f1d6173f9382a5150a46be2b457a11d4efa2 GIT binary patch literal 1346 zcmbVMZBNrs6n-x2)~yzp6G0~Uf+!m(1$hx2A>bHhreVoCmMnfCrBuA6>yqt`#DAqD z5u(xX*&k&*x0|5^KA3e$Z_l~Ud3(+|`~BzpF96GUqhf$z$#;cO=T76$HT;HfTSl83 zyYj>2EwSYYe!|7)X(<#Axv+#S+yodD9Z|#>61$~JVc#rT6^0eF4`(^)Ev_RWy=m6o z+x?xAxm_qr^(`H`RHyP=rnz4(FSobSFjjXKlGJ?h7|6oNa`5D zU52RRHGG$0B$G9d?GxMZZ2!n89UQxk$Y~hEJr(0R(zwqsbO|W4R3QIJ(f0PSHkPZU>lR6&YAwz7P`&?`=jD}tHEQ{G{98ryEnv5e6hb}*# z>Uf43NlB1Ki(xI3?T-`+|Ide#r}1DIHo5Qaw(AFOvtl23q$%EzSGKPfP?ODuV|!J* z$))dJ0L8cK6eo3^I2u9miBo|Iiy!&6Xg3KL$z-cEP3w-=Bko2*GyDb%K)RF(%35LNdE4H~n%^agWRW`@vq5*W$iUcR^ z1dvS2;U`3t^cl<$K1wi zg|xs}>?c?)(m}+kDIKU*E!rXSuU8SrON!mC`hCxM{s-Bn9!1XZ_!N;qm{I~k4TLAr rK+w)HeTqSuYL^*}Y5^=trcAYT(_5ndNXf(sR_T<>#qbKRH`9LsLuWcs literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId35 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback$1.class.uniqueId35 new file mode 100644 index 0000000000000000000000000000000000000000..d8afb0bfc7199944a4b19cb91e7fb0c6888c5605 GIT binary patch literal 1439 zcmb7E+fEZv6kVqsJG2a?qFk&u)PkK>nS$k_MU*s}khEZe=>rcY)0q=EFw8VFQ;6?= zg+JhnFD8h@2S31%QuisX+@&V%oPG9Lv-jF-_C7yi57 zH1tAaNNt)srs0_Gy0KE<r>zlxNGs~BLI`u~g_!Ucwh-4P~^ z*D)ATN-ZT4nyYOoDN@N z=o7)BoXNU)_Bf>B!*)_eEAiXmh#xQv`a~^ zsmL-EOxN~3VH>-`UZS@L!rGFJ$6f9dn=-W>Lw`lMe7U(@ z=l)x>?vQ7o;#sCsGkqcVZKoo8l40f&EzfW15~cA@@?c13D;?51g6|p~nk9XW$O$6M zFnj@obYBf=TB>HF#ZN_%Ves5=r1GlQ^ez5c$l`|1jNgPD5F+@>wHz-H?s}Dn8=kG< zDV~uSo?G_08FD$TR6|QM;}rFyv(j0@t$MU2mqaf+W)N_aQ9C~JDrgi(I^<7(Koa4C zPl!>vZF)dc2bN078;35T2>p98PF|g?1=>qbBA5RPmiq?vOAC{uXN)jl3FOHhIz-_S z9@CESt!Ru86ENDbKD1-yb9-QW=sUo*BWoWwK0;MKL5c3;uJj+^f%2I`MIny790DqM6OaT#nplq@`=eFN>E^~hV`u+pJCMsD>Amt$KVGFL#WZFdN2`l3z%sJl19S3tB?&2O{ zc`Q9!k`k66p=S_GqUOkuC z{7RMJM5mc^Ba4kIs;t&+ewogwcEZw?@r23ao|ZiV)p-JY(QqKudu@xE`|m2R*~`Xt zzcVt7Vr{xjmGq*HhgCddb7Y#z4C{&Nk2*~#T;zMC)p2m{u9iL!yt?5r)It%*ireG; zy(SL$1}t1rD>MExQ!Mg=PJu8F%IEEp^4?DHo5Ov!K458!b!&0Ut6xCnuW&w(Vjl80 z!!e*;JYsq7GztrhX&-ll#$Cb^9-m<~`Ao4dS3Uuq;Kn!Hx&U)60PVr0{Sn~eY3Luo u9G<|pgq++mo^o^wE38eRh!US^UfeRCvs7TuG;h=z`)um=nMZ()O!hY!>^5fr literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback.class.uniqueId1 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity$ModeCallback.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..090d8985b2bfe1b99df9bc606608e19f38d34646 GIT binary patch literal 7422 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 literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId18 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesListActivity.class.uniqueId18 new file mode 100644 index 0000000000000000000000000000000000000000..7c17727946be238e966eb9b5b0b87de9ba7cf88c GIT binary patch literal 24940 zcmbtc31C#k`Tu5SlegJCAP@mVID$rw4G=)^AP7PdWHBU=1Y+=rOLhY*$!^@;aMapr zy=rUip|zD(#d_dbYGO{(2+#$#t>kUU6F*}CLXc%fxAQ|qd z170;V*YiB4Nh5d?9}iv;>kftE+&s#p5*jVY428SH$*}c6kY~m!YgnmChtOC-BQ{4u z;g(oeG7#LQ8WV6t+3>1aAeP+?C?5{wkIaF{$``szcGq#mZ3u*jquS`2y< z$zVLWwl5stQ5Q}mBhg?o60^l2Aqb10g=L9JOSyaTMy9wH1bcg{(+XX`-GzYh#n~%2AHiNdCw1cfiWe!GJ%i+kR*||9w-4wP=2eaTTlRi&pL-Jx#XPp7O zuN#C+f+2L7>Ih#zi>J1rU!-#kI@hEx(RrBPk(l0ixGNkFM?1sSYuvA^gVEq7UZrxF z*t&365EHa)4#vZwbRVeolC+g`=CjwjW@Zj1Ipb@*bOEpiBj#96Zw{|SVooHQjK@NK za7(dhFDvZfVbXV4 z`o`s~b#rAr2wP=llIo)?X{SNoGwJ(u75Flk)T}84jbeXmiI$c?L5D&@EovjNYVA%z za5&ggW6(8F0Znc8ljd+xyX&jzTGsd*z)Xuv<`R z8i4gsi{5o~vq`tmtq1^sQHY)P$+a^BKDvZ%H|Y+#6V3>xD;&k6DR=~rp0jTD>OgAl zhW&P}zM}wX!F|a{cXdN-6TB>J z%k(@FlY>hQ<32$58g!pY_p{EII;_cHJjm?qjwQkdJ($^{seXHBxR<5dM-R}CO?sFC zjOvAOvS;nw(i#tTV$dV7qz;Z?j_t`|Sggp$)=`5V%V$lJ&;VB=*97AU4$GdPCk=Ya zq^Ic_z|N7%9t1|+)oro(7N`j`7+7^;y^`Vjp5EjRtEF~monIB;b^CO%u;rJ~vnD-9 z&%>4{W0qdRi$Spl>m>RvB{gLI&h(#e}aqaBh zGwDy!^znKooIphs zn4%D)$n1(lLmZ+k-@)LEw6Mwnux7zLm2bkoBd zbeM!#rWZu=r)lFE;m#yN zg!P7)DCoGHwaB~jO;Khg2j{ijk5OcB&FY_T2Ql=IlHg3zg^I7}Rl zbw|wE6wN_F(2;419S>p!m&_1E+&M#Rz(<&3nwTzVf(y7I7TuIZpP-|M0X%1zjtI7j znamk~R;ujSQmv`mlQt%^Ofg%`fdX(??F7bCa%N_(+mA7jm1?dj=CPQW8igpN5PZnMNnEPZ0WSZIo)#L=A9Gd~BBJ1sq_D?OaFWG*`9HpH>RHh6Zj+Z1h$ z^>uDeOU^N3GNZHD6vv4r4mw$Vkg(=QC##puisMbOOtT`nwIj)8f{u;BxFL{o4>k%; zrJzXEixq}A!4xaGR&eC-#F7bcD+I``8k<_{I~oElt%g`7X#VhkWR_ZdA|NJv#cGzd zXlkyQ!Cz-v&n!dP2``ddGIyp|AW<*Q=wC!i ztTjcmXn_T)ZE9?-Z*1+*h^}i6AhdLC4P(159;qo3>jW0H%@ijI)M6@zqQc3}A*ySd zn^x7=wg#FS5&4~*VPNbW#1JQA^1;E5PizpUn&LFk0rR&t*xeUy>f#`0Ri3!WE0AeV zWR_Ia)wk5nLhu&piiATQTpQC(@S3926d{gked+p)pfh1l(^K0fFNf+pSZ9o~=@?cg z)`(3A>>Z^;Fk8J0ZarBS33kUeRXTZ>=n^xF#2I3XA-YY`!}6LhaZl(p4pB=FN^Q0@ zCs0c2Ou~!k1P*{=rsx%Ca{L!g>be+$P=IV5i2;> z)g{QG)LO>?N)7QYq%OH8(H$`q+kIHFb4+or_!1%vE~p|5$p|e64Z|v(50~f2lY<5$ z5KS85!h8vl?YP-EIVq!0oF~4_482&;>@>v=xLU5?!3$+beQkFzkpQo}0>ucYgu(?2 z%sVHjD;9GCjV<-ftsPCx9rbmAR-WT)rnppm9oCQ?nC`^6M+R71nbLuigMvj-jaPgV zju=9jT_~}n9fpr5xy%%oi*G~Vk!{p(PsU*#KvP=H?Kxmd^0ST0x#Byf_^!B;qX|wC z96qgx#ZlYPHKvTZ_8=Tl9W%uDhAqwWePSn_Vu-7e)uoYKkGek|h+U?*R-hbVgtvz~ z`#2G;nvrR0Y@3y)1+_n&zO)7tTfnaC1s&cNN4!#D@u(sanpFX@>gx_wz&liIhCqd* z705#c3Kw^X-T9f7Yj&L?1dl{X;|_5P2QYc;v(wQKx51@o3U!@fWiYY1C7kq$TTx>Y zcZ$0VaW`B1Jz0F~w()Zw@9JVMn;{ z^QL$~{0t^8s>>JI1rK}e41r3=(K+jtm3UbGr*fH73tEcj&F^0!Wbg(Puon_d8C^hNs=RAII~zB;ayg1 z4y#1GTF+G^1jaSY?{?WQQT+z+Wt&rKv^B^<-O-hYs<9~(J&4d^+ojgqO48* z%0aapd2+xf>SfZDeeCZH_*fkC=*FhB+-Az{+Lp$mTtvqnaUu~8dFAI&aJA)l4g|+y zhm$8QTeGGuP68R&i{5nw+RF~$ZW2kianm4O++3s|;voAxQ|Jl%4u-z+>gN|DlP4xE0;>mER z!ot0R%Qas4WmbJBbPI$MjQm%SzDXpNb27by?b=VyDCrNvjRS?RnetMJ^b+AxG_*V( z3x+y_3Fslh7srSU8pT^=h4P!G{Fc1TN=wuEUEm;tgjasslvl{_2$~EgALO_OYJKV1 zUBh_L10IajI(eljcS@v@r8weY<==dus+PA=q1o8ZcSzDe`5Ba=SY9QsHsm#?+{L2l zR(IV#h{k&?Kh57bB0fX@z?9c%-x%allwC)%POBO6h71ebTp7Y{J=+!~yfmHtz)hyS znX60e2LfO&!@Jd#w=ukO3tkU&0B0yVEQsmKl)S@~cXAxSCTq3T$&hysTa}OY$-C$j zUcY-xxtDFHVW(MkQ>Tr;c?a6yh zd7r!=(I2ciKTGfXOvvJY;F<8KV*xqmIrX zl7w!4_&AH^FFEpi1}u`Vn9|C^5`7zOk>KW6P5GJ@#oYYGD}MuPVbwBFlu3pcq4Xf% zMCm~y@ye?3IJtjLZs61+n18=F|rCN3Ud7c z`&8)!Cae2U?MT+KkpDF0zvRE!igC$`*NGz#*GzD{;?%Kp#PY2CuPHy|jVGVAOgw}M z{MeMAFoEMWp!7K>XEZpZ$W&lD7Q|ZXa1tjSAq1q9sXY8(gv(ZTto)?VR0cmOwuc1c zotrV8Dl(OirEfI$sQD-R}VY<`gA0i4P(VFpPHy98EUerrl<;J#5n_c1t0pqm-R-3Ak6?9}I5s21qj-m3x8tVxU*4F&yaOakAsD(|xohtAVIoG}o z1`$}rxsN(2y**)_qhEN8%%YwIt5bHi|w0OyeGRWr&FlK zc-3i{a%Ry~(G^7P*iffqnH+u42(7oy7G!OV8)_q>LZ_P@%-dT^c7I-zoZ|uzDXU^= z?a}gPa>v?r_08=atxYG^H^SyR)U4+nQ-v2QpjPAUF@wAFV*zPfUEjFQt{`^Q)i>0) z*2A@BHgW|NU^1I(S1xNjp}wPW+3I=*BN6MZX|7*U-(25VTi>y)uC61{*xKAwx31RO z_#KmL3ZOQv%T9oI<(KLt#76I+xnbF<9&7cuc1;94zVma+oGQMX29PVGka))!yGNh{1rON4E% zodP-r6^3*{9;bHQ*;pW~oD`_Ys*MM2dP9+yV}yIho))unV4OqWYBU1MShozo zzM(}+Ek`yJ26;g4&OK^oZUDpxzQK08h-o&sU4U{dicpV_1U2b%*a?0%RCNIWfrZ^M z8;e4oh-oThr`o4gGiSvI2il-&oQs*(A*VErfWmV6t`EfPX=y_3HOO$8>0)+TCIZ;R z1VYw%C-_cxsyxHpRbo3JBOqkTLAo#Yvs4zfL^k2=uD&>yE@K-v7dm%$p$*2*7wp7K zGl|M0=OPFl_L1IUM022HJ3u<{7cl%)`K=JAuvrz)jL6LKFbFL&U+)6_4&;RlxoP;2 zbL1kADa!zV6oX$reDIFxw%38p%X(;a2E?No;_?4)h;|V>&46PWUa`H7^X6vV;a1RT z!=LNm%yG)}Sp{iO=1xAJr~Cgii>nwmvs{oz&PCQ!HCze;GXpGm*qn0#EMNc`cffG? zuhRjVJ9Ob^!UQijWsUtz(`F7`FfS8-t*0(ZS~x%Zj@#g{VkXiY7p4}^Q-{m&p)Em{ zMrXgZn=#ulS>mci87H!aC5AQpx-qYI27e%cU^J4y;X%k_7BhJ$ffuXb%5tpe9Ik($L>7qRJx{$4!zX@?Fhp39>ZXP@f=%aSWR4IS#gYfLOn2=$B0m4`+Nils3anIxm4L{XSkH$2a=8 z&vN+l-1krrQw(v`-|%=*NOo|}b%sEmIhvgidwl8hH`Tdg5EJDYrEy?bZjivtv)-v4 z1tw&kMd#(QUZx&&zTEJX43V;D9UezOk~6Rr2sm`==p~&2AY`?Z9&pw=Phfb)<5gd$ zzvES{Ad$1Tyyry?59)yKY2hITVMUiYVWoTg$?!}>gyKwx1@<~yH--l1!#`Q(p0<{wT`6fP(hkN6I3V7CZR%H6;NT^cV*mf!u{rqdww3txaa41 zOW7U21^3;m$GNBTN%H&p44Yq7(pS91uCI6pUSIL{yuRW$1@sj^6QHm7B>{cKF9hf- z-a^t>yuGfk_(=p@C#Yz~e0Ncqie=!_i+S;~y6$&ox}RvoxOm2W1MU+UR*Dq$ z?IxeUeB$hW`W(-yG#O*`n9FE1eH*`2@f|vxcIp}Z7A$whO7#Wi8^c#$#5X3WQk|pD z1)MM8djYA@zCtwPb#n_LbrJ;9htihv@1rj?RE;@b?WYSB?W7L|=#ut+x^%T@^rz_S zd+4$heYbJ;qqKB@u5Jf@yB2u{=(_eYPe0wTs9>~*?k!kUsE#tq3d#yobW{6L#?@3Z ztE^CsHBxk2+wKGJ?54?M?i#aaAKlXiIHPB$=trP-k*Ca)qKEEAQ@z!+#BSP63+!*1 z-3!VJxcee+W@AxV5gN<95BQ6eH1^TsJaATuewv~e82m4;qzP5~>1AmD`JVmss-pe$ zTS0BR$plJoF-mveORQ7%Te#l~a_i!1Y?Xfo`(z?*b>UpsR?lAc5{f z`(3n0-&^Z-KUL$|)!_FvShHPJhVkWqFpX{`KY=X3T1q$Lmnd$b0O3S0-A0{wowvJv!N?T;+Xp=F1*ZFf>j3=(?;bx!57G1Z_6j{hZ{qGh^n?)fBu*1Oqh;$-8VNkB z)p_cCNZC@z(FN*4P_%+3sf*N?AvOW%>BW#T12`7YKJ^v!yVU)5i~X$t*d1y=eZX!j z0!Q9aUsabt6wB#t^)+=V_Q;;6dFt!x8!Xd8*)m-~pQvxDZ=r$Z_f{%7fN8x36&iGr zL6;abV9?bDU1zAvAod3U*OU1WcA(jy2MTEwJ_GnWfb}TI?145C+~ok^XO9(zy8HmN zyeP9jdJ)>4F>=rt`iSNk^u)g*N*;c1*3vTk)(MI+7+C~s@(29Ao3cJKXmebY}L?4^JCi}uooe%P-ADdBlg zc=u8rEK8k#pYZJwB{=*yW28w}q^??Rs6%i!XpE*J62vb`K%p<-`Npm^&c4cojCUp0!6rQX<+m zAmZ)tOd{DhYxaQH*6yF(FLtEF=i6qb#24Gre6&z{2!}X-j9*cDn99XZfYu9CEiB2h zJjPrbCCsG0qrMA?Dx&G?O0`q#<5=}Q^?gXCR9w(6E^4SM z6<zE#3X{4D zz6v=K*4>%87MQTaj~);^nJ3>@_lc`g;+hPiwF-$>F~uiTA`WCM{%Cjc@uO0<3Uz`M z0|0kT;gyF+vK?KixGp7bn357V!EI=VFd%Mi?-#c>&YrSQ+>sJLYy*)E_};(B109~Q zlSXmF?0w=s_z~;-A>yHZ;^DS3&!e;)en&jE2<~dXcuGK0=kd4a1b)=v#YKf>h4%<{ zN_>4;!cF*fi@xorak~#Z#Vqt__rHWj!H`LuHBeL`Jv3DsG*fzMzAU1}vY2Y+2x`LV z>ysq{C0R;m%R}f=IgY+B52b751kH~HFdS#o6m_+_hNYHvxgxMj?Lu&e6L+*tU8{Zo zb}y!ox(?qw>U#8KDYl;7;6A$%&sd7bQ{mK)X|^G5#s9@0QL!POUhrQGko*f`w(M*L z!`a4V%FgOprQ+8tJGj19l@h+zrR2!;L^?c`HB>AY(+yEQER^U0; z)M^(g%h*LW&fX&@rsR|dWd*CcJgj^tRb!RcJW7+xJp6?hULG;azei3>$(boR8x~;d zn7c~lTx~hZJf(8J-C=>JWGkI2*HJ{CL~+?p=gSUQkkjdV zGDx?}b7-GDm+qGr(zEhP&FhsG?_4o@PTdY0!EWR++l`E+0nLAfMDb2_hq@CAcquJc zcd5H!iM~e*)gGjtg<9|sw0%M+8luY(?-;V8sPtoMHDr?^=9Az9!nSa{0?}Yk(7i|Y zU=0?gWMa-OxIZ0#+|GhihQEdQYq#PcJLZ6{vyQT6f4m!kiH?!%XV7@)Zu&VJ2G;(5 zxpg-IStkdxjPNe1ls^CquLBFOrv>r`I!@k5$IF|jUfxU%@)of3RSRFVAY62xl`JYIt@^ei5QJ zd7=kl2REE&HH=`{yFkm{>{5A==U!jCDsM{3i`)E=txNn8pWjFmW7(&Bp+EOQWACSO z`2dXTgEUM2m=?;1=_rY0Og>4gK>hJ7Sjstz^!D{ zN9rRgH^g}*MOa20&b7%q4aBll8H**Udz6a#0=>8#;f?%m8b!;fyoNVBUI&VA!2Z9f z(a6oR_o@^?+ZJpTzV@qq)?A_jvc_U@875it7>#r_RNYp!Uw&U8OVaQ*w73x80)KZfD&-c0k^RKt=9xbREP&#W_yf4Qf@t z{2>I(a~r0xvc(k$O-TL`l)g(PI4n6v{uz?>S19P;XsP@=t&|@?s{R2-@lQz8zi7Ms zn9jwS!wcmBx>yOiR7v`#GBkH8K<-LfW-B2GcbDrjwO{?n=2HSZ3an~t&C-*Vf3ZM9dV<1hI-;xF!&l5f}{SO%Bo!?TkzVKPQg zi5f}essuUdXgU(t#cB*huasKVA#|D=OWkTbI8&A(FJE=}@Ku$TmvZcP8uF?GERme# z$$nhrRl+-d{6z5NK39&)z!{dK^DU`4ZsH#KyIojJ7;r3R47YFZ(l+CdyD5mf$9BI$*)T-K2?ol(g;yLQC8g z>>{r}rMzt!ELnxZ7^%s~N2kz8RRNDT70LNwV9ViDr7CH@I)dueG-^;Ys6|!L1~r?4 zY7T8y)f7{6aaL^}ovr56m(&7RctE4eD%65lWMJ#hR`;`pYb6^&-j8UU7%{!DaKwmW zunEUeEdfHU(aKJJexZ$>52y!0hvc7mwI^ALdv+S7n4~8cl zlvkCiiAbAPSIv?sRi)|3DDSDyL9EY0@cMZ=T%Db<9+fs7B}kt}s)vBmL@<#PC2Kv9 zNsc_;;HonJq^ga`D+qg7m6N5anp0X!k&UX|bflB+sCiH~#Ev(Vsw4I1Lj8F(KCyJi zma4`020hdnu}5dbYDrb0&WJtx)Y6uAPszvnT7U_x1X(T1N|2`^ARu)YczQP$0S+II zq75R|p#~@dv(t4OkSwS8_Vj zJL@4;dnKLWpY@=sO{x05+7PWtslZNJ3iMW{RKrdk-*Y)+a!NHlO6B}bOd99$q*M#O z*MaPIn6M+@CDf_xOLtQl+8GMmEmvrH@M-W>T1Kqo%#R#{)ZUY7ee~l(EDa{_+hd*|F)%rP@+W!x9tj ztnk(e2?)&VLjdxBRzSZ|Z{#6o2r!l+q{a44_1nDUOdCEHNM1nB@6_+}U@-)k!C1WI z^5S@#siwdE9`cu;4$cliiN#sd<*ey)_U*h38DfD3qw)v!j!nlRtS+x_A#ZCPmR~L{ zBnn+53e{^|69hm0sNT)PkIBOmviI^Z6CqLlH5p97pVXi2nd`w!wuF$-i71TaC!xaX z;*wxXsFu~gaO47F{;K|#k11pFL(IpNn>AD3SATcmSf~~Hr}UGqhYY1VSOiX}{|P5nCJ=0Ukmw5D zy2U?_;VJSI7Z#}?t|qP>;vLTj%y$g>p$_F4h5OOC@A8cC9Kyd!0Qh66%rnk&sP4DZ zf+Jp}t)2;}avbd`=jU>%)hn9WM89vE%D0h(SH)2vozzMd=Pl<#TGWI QCj8Gc*;C;;tgz_+0NS`#oB#j- literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$1.class.uniqueId15 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$1.class.uniqueId15 new file mode 100644 index 0000000000000000000000000000000000000000..4d5c2885ff0c11c5e7f8c5e1fde20e0cba7ec0d7 GIT binary patch literal 1627 zcmb7EU2hvj6g^|R-r8)46WTzMHvL+t?W9>JOei!vn7&AMs9L7KI2q+R$e0G2h{Sz;)BFn@H(qISUs<4&HPzj2uI*e_(a< zu@vN#zOA$}cNmiS!g>~?c+0^V7iTfXFnc7urs46HAIUb|&VR5*i~6n>bs6m_AsI3% zwrh&KkM~s;?_k`)go{a>V;JMQ5rwMZ8~N1uYczamR1h;bDqd=Dn_Y&<{Jxj<-BxZvQTi%Yo7FnuJu<7sEeav@|KdvhfszLY-^^Ol$?crMqjh@Z$YKFkIa})Iz*rLLQq9!8OTcL$s)1a)a_aC?l&nxW;g%N7fV7 zXp+FztWOp*@LiNZGCJMnThfxqa6Mn^ofe@sQX9Ww=clGztriad4I+^=W^mmlIg>6@ zaVvb{;3mVZ9!@`9zpr9%RreQ_K#8rIiYc6o819~o(}6N~wOUxGL@Lxo48t|0CwKw=~v z^nWp2I3&5hJ3t)89I6{GwwC#JH~DNm>_kG|SN3}6j(IL-ZNm~DOIieBOntR1O)G4; zcwozRHVAp6+y4E!Ft}AsC8-2Fj%DoNQ=;#vGO6_swCP}(;r##Bouqwi<#CbTB^L}g zkjUli^90aLFC#sc3HpX{i{|&qs?eOYJH_c&V8xkNaEgE6jhFieKcF#9Fu=F?kjAmD za~Zd3WnnBN!$)K%kR$63KBmzEKOUl@}PX z)~|Rkxrf=`F`xR0{F1QIr{K`|9Yy(`@PEJreuRgg;o}#~ literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$2.class.uniqueId39 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$2.class.uniqueId39 new file mode 100644 index 0000000000000000000000000000000000000000..47c78ef38f5dd1bce197d5ebe1117e67936de3b2 GIT binary patch literal 944 zcmb7C-)|B@5dH>`1A4ZUD*i%i6%}agHjQtXMkQ)Yur;CK{a9AI?Xj2KEolEN6OG0P zAC3A)8E0t)Bk2Q|-0se|GvCh4H@|*={RZF>8hNCU_K@*$0a?OBqpTQe8TFMgkyVKp zX|d-HZ({XU#mY$aR9ZdO_N2N)$l61lRJS>>y+CBMfE@B33O<(L6N*Q{I1piA24cT= zq@-oy$J%JSOGwx1-2#@e;-Tnc6(z#f+*1P^B*!9FL(WvZJYb`9Vq{0fV=Wb-AOp@j zbQqyhYX_zuN4hU$WUMk)wA}vQHtSsvmk1kw@5frb6J1`a`=%9YdEC|s2dJ2^U0bN& zdY6!CaaRc|ZEe)vXxLNnLC^~sDYYXRgxw(4&OQS(uCoNO$TQWQCc%qNb0w5#l};<+ z8VNKetWCQxyW>uEqERf>3+?i%oFn{}lZy*^Ze$oG+6-PRdl>aS+$C(zX>`gDbX_Dq5{Ss;EF?w@H1&G%8VJf~^S+@5`~$ZI8X?Zo%}=GSO&! z@DK38=s#qfr7ajqAGqXpcV=h4oo~MR@#ouj08dcQBZahwOaYgWB|J9Dih&NIo)RXq zDiK31cHQA!tlq0wnLs@ctR885QrRYC?SW1zTb$UMBeUTnhr9>BfCUr?#X~ugB9x{t z_PU2EunhcE8*O(8>1wUxV-ZUpiUlmAMA)2ps&8d-Bw{t-O2zAaHrgj9XsdXn14YOu zR>s!32&>hWG`%>|Jt2>e#W|Tqt>fVeVg3Aaq}2z};ia-?nxPJkS~{`HsF<)-or`R( zL&!9_qlBfFHfnb`=&E>Mc0=}*T2Uawj*PXl&zu?8Rf3r3naXy9;6n8-^Lgi)eR|E;nIQP0DD!p4j)7Y|PX51jIg zVI+G_m={B9BSR>>G2G*3D3e4b9;$@p8AbT{|1`l}9^)LC8K_uvqs-Ht;(q~G*<0q* z4%^P-*Ec?c>R;e}9LHSaHOn!;Ph97VyS++d62$7tL)+{D@$)-&E6R<8aD^c9z< wNdDOW3m$&|gO;112(@hfFBWp{jsO4v literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$4.class.uniqueId4 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$4.class.uniqueId4 new file mode 100644 index 0000000000000000000000000000000000000000..1cc346a090e36259804f7f6cf6a49531bf8c5bee GIT binary patch literal 1340 zcmb7E?M@Rx6g^W)m%?gmMFcIjz=Hh%wnF_ZF~O=ylL96+{o}7?JG6t_S=^mMd@K`) z;13_bhce!2F(n#8y2;Mmdoy#+{hVLFfBXbc##S5=j2VcU7)Oj@O>$*-h3mJtEq%p9 zyC>{jEqn<00S~xz`L?UXu~1*FGDA#tL}-=hVts_070o(fB92Lh#IfU9LhFiR{X_05a%f9PpIMF;f=83S1p3pxiGN45fAv~1Uxic4j`6^`e(Yor7Rj>{R0mI%8d40RMs zCM+xuohoamN~1ZIZyI>aVBbJ&?a8Vq+|P9pl3zSvsEx*RZ5QO54ACmJC^b)ANWRNf;msc9!; zt$r;S7H&MxFn-bzZij)@s5}k77r6Yr&=IAtnZI@2&Xj_8()Ik1x_5`Gj^8rzQujqV z?D!`Q?$K0iyRP4pYTM(18gvJPS(8+gs^^3ur_3b&DHgIcp(Yqs5J@KWpaQhh8$r)T zg#H9_wC72x(mtjwh2j}lVf73~;X9_j^$!+kjS&pkJc=aGTwY$q8fh9vLo%$B96^#K z8zovb@FBr!;B4WPa8F^RH!g68;T-pi7no4&W(i5j?|l+M_fnFYt<_6xnpR`dgvFtHk1e0AF}r%m4rY literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$5.class.uniqueId44 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$5.class.uniqueId44 new file mode 100644 index 0000000000000000000000000000000000000000..320d7227b49f82931142e1707595b4c7cad036ac GIT binary patch literal 1502 zcmb7E|5FoJ5dUnFa!I@jgbHf0g*Mg@0tbb(*7&6{fXz&Vj-fc(ADqYKH9ULVG520# z`w#U0=}g6rj{X7uQBL$xPnv-M-!Z?Cxjp^_%Cf0IZ_vAVruDrSbNaA9bV` zMn-C{r@T$8{2a^QWGq8p)_tS;%KVu_2A?<>ap53KSQx^!SS5^@J*A6F?ARK@vu3mA zU7UeS$oEB1>?jdLUBZQy2s?44I-WQ<@aln#&01or<#86H4#r%Jqd*vYEc(I=MA-GV zb{|XMFqZ2oROTijU7Fj;gYcP)bC~1|!uO@t#p=?xgyqsuNFUBUba0+9d5p`CLL)=t zH4~A=MZ)E`wnZ(CQDIjv*4Ne^)fF(qnlZLO~`ilg$fn|ZNpx6@eQu<%Y&X-|HH(BaO(pZ ze*HkwLBHRxi`z|@b5X`T*RG9-%`sy(qWGTFy?{GDUHX`N(@tOkiw-;&OLkyW#|=C+ zSc210dS7X-md7)De66qK6K{u);#SxQl>d86X>PoX3C-a~IKX%+Gk2VjY4Da1Mq4VB zo4x&A8E=c-fZr5akuQQB5i9%r_GQM>o!|{ap<=a0$hB2B6s8w*WG6Z*h#Py-zd^YP zD(Vv^2DndbOmda*j&OcpJ~cV!dpqjIzT8l@j_Hpq{-Pxy7rq|)L8O_0cO~<#<6_ND zYg+F`Pueoz#j5*$)C589x0xxme|Mgu{S5e8>7^;yjA)ah0Fg zDG5pVf%Oy$eDfM=eA>W&v8N5ZTK)&=%)gkp{{mAF3KyQ?^ShP87nzrsd5|uA)jmY= zzP(aO9iqfa?huue>=!u-Xc;+L!30%#A+MrB*RVph1kubM>4VYecDvApW6#`OA-?#B z_~e_uYb%8c!m1s3K*g+Lehu)5)9a79pSXbX@iM$JP*kZWl0$F$V<~<8TS3 zV{slErdrWYfhFjVQL>#Nw z!3JUel1iEIp98@HUy4x>WB~GW?FC%+VWc?XYhnh5FiOQ2h&>j{{7Fzj?-h z+PKN~Op3xS%(KV%K{oCYb1YuuddrwB?=4l{VWR#C^c52yFjL9B$5iT0r^}4x$ii~W zSxxi|IeLyFy}&fRc$ct*Wvh$VDpr{BHrqL5ie*OLVLO8wRtK>n T>bT2RnPav_`^;h;UViKsXi5rV literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$7.class.uniqueId37 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/NotesPreferenceActivity$7.class.uniqueId37 new file mode 100644 index 0000000000000000000000000000000000000000..4691731589b455b8797dfe4d4c7f463531f19bf5 GIT binary patch literal 1451 zcmb7E>rN9<5dH>`EoH${r79OusnSwlQBl+)iWRh`7Q>}#{6UuOp)8iOWG^JVg7Nk$ z8U>??58y)?=Rl!N3KBMHcXl%KeczeO`SbVZZvbO>)`A8!YG~4N3eALJDSTtyww$6c zq~iN^<2)`f@kYQp1`@fdxOv~TWhq_n zNfturCTQN4v=}UmUR>1Br{fYX6FRC0S(aWBE{AR^*|RHzSR$LOL99e@iQ3Swq{In{ z|BKj9NfyGmh5-!;9Z3ulQgx*`x|@V(N%)nT&I!*cZz`SriDd4G!tV#ATQG!S4I?@X z@F;ZGu~r+vz0S<$7pC(IOZnM_>7~WFEZ66NL1iwwHXr^5ZfY3QaSOKzea9%^aS1k< zL=avj>c9>hhYrpm-F#Eij!MguSq*o%MAc5t1yY*JWu_cWoM`rw1wvDX7mRQ^XG@U} z)|Z95u!j}RIhI*2n69n9E6yghWCY_RH1Y8?kFXm^uFdYKF+krjl^}%YoxrukjIGYq zbHv_{s3NfVX=#-mj~C*(@K>Fpju|{5w0pvz=QWtJEGLk>L7j&Tud0Ebl~TBwvgvt( z#kJO~Ca+Bc-w=dxP$Z&mCcdm1_}7ZN?7hd1m^bQkj z$M&LdpEJ}G-bEvhcmTbEwZT4xHS`N@uXngBsc1BMb{nx&w5#z4dbV+8@Ed3wSHB{a zA~vqStg^*88}uF_`hW<1L>GNRiayt{4^`Mhh~puqn6(j)n6CjDJmz;3Z|yXmvK3{Y NQlg#+Z&kLr>qYV)S?HVp1$}l2$V65AgTj7Rq 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 literal 0 HcmV?d00001 diff --git a/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WorkingNote$NoteSettingChangedListener.class.uniqueId17 b/src/Notes/app/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WorkingNote$NoteSettingChangedListener.class.uniqueId17 new file mode 100644 index 0000000000000000000000000000000000000000..15f1f775b1f339dd67edab49be27db817b04dedb GIT binary patch literal 399 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 literal 0 HcmV?d00001 diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index f96035c..d97f46e 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -35,7 +35,8 @@ + android:label="@string/app_name" + android:testOnly="true" > sContactCache; - private static final String TAG = "Contact"; + private static final String TAG = "Contact";//设置日志TAG标签 + //查询联系人的SQL筛选语句 private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER + ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'" + " AND " + Data.RAW_CONTACT_ID + " IN " @@ -52,36 +62,35 @@ public class Contact { * @return: String */ public static String getContact(Context context, String phoneNumber) { - // - if(sContactCache == null) { + if(sContactCache == null) {/*如果缓存为空,就新建一个*/ sContactCache = new HashMap(); } - if(sContactCache.containsKey(phoneNumber)) { + if(sContactCache.containsKey(phoneNumber)) {/*如果缓存中已经有该电话号码对应的联系人名字,就直接返回*/ return sContactCache.get(phoneNumber); } String selection = CALLER_ID_SELECTION.replace("+", - PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); + PhoneNumberUtils.toCallerIDMinMatch(phoneNumber));//将电话号码转换为最小匹配模式,用于筛选 Cursor cursor = context.getContentResolver().query( Data.CONTENT_URI, new String [] { Phone.DISPLAY_NAME }, - selection, + selection,//使用筛选条件 new String[] { phoneNumber }, null); - if (cursor != null && cursor.moveToFirst()) { + if (cursor != null && cursor.moveToFirst()) {//如果找到了符合条件的联系人 try { - String name = cursor.getString(0); - sContactCache.put(phoneNumber, name); - return name; + String name = cursor.getString(0);//获取联系人名字 + sContactCache.put(phoneNumber, name);//将电话号码和联系人名字添加到缓存中 + return name;//返回联系人名字 } catch (IndexOutOfBoundsException e) { Log.e(TAG, " Cursor get string error " + e.toString()); return null; } finally { - cursor.close(); + cursor.close();//关闭游标 } - } else { + } else {/*没找到*/ Log.d(TAG, "No contact matched with number:" + phoneNumber); return null; } diff --git a/src/main/java/net/micode/notes/model/Note.java b/src/main/java/net/micode/notes/model/Note.java index 02d889f..864da2c 100644 --- a/src/main/java/net/micode/notes/model/Note.java +++ b/src/main/java/net/micode/notes/model/Note.java @@ -15,17 +15,17 @@ */ package net.micode.notes.model; -import android.content.ContentProviderOperation;//批量的更新、插入、删除数据 -import android.content.ContentProviderResult;//操作的结果 -import android.content.ContentUris;//用于添加和获取Uri后面的ID -import android.content.ContentValues;//一种用来存储基本数据类型数据的存储机制 -import android.content.Context;//需要用该类来弄清楚调用者的实例 -import android.content.OperationApplicationException;//操作应用程序容错 -import android.net.Uri;//表示待操作的数据 -import android.os.RemoteException;//远程容错 -import android.util.Log;//输出日志,比如说出错、警告等 - -import net.micode.notes.data.Notes;//小米便签的数据库, +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.OperationApplicationException; +import android.net.Uri; +import android.os.RemoteException; +import android.util.Log; + +import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.CallNote; import net.micode.notes.data.Notes.DataColumns; import net.micode.notes.data.Notes.NoteColumns; @@ -33,17 +33,32 @@ import net.micode.notes.data.Notes.TextNote; import java.util.ArrayList; - +/** + * @Package: net.micode.notes.model + * @ClassName: Note + * @Description: 笔记类,用于操作和管理笔记数据 + * @Author: YangYizhe + * @CreateDate: 12/17/2023 10:06 AM + * @UpdateUser: none + * @UpdateDate: 12/17/2023 10:06 AM + * @UpdateRemark: none + * @Version: 1.0 + */ public class Note { - private ContentValues mNoteDiffValues;// + private ContentValues mNoteDiffValues; private NoteData mNoteData; private static final String TAG = "Note"; /** - * Create a new note id for adding a new note to databases - * 为新的便签创建一个域,通过名字 + * @method getNewNoteId + * @description 获取新的笔记ID,用于向数据库中添加新的笔记 + * @date: 12/20/2023 11:23 PM + * @author: YangYizhe + * @param folderId 文件夹Id + * @return noteId 新的笔记Id */ public static synchronized long getNewNoteId(Context context, long folderId) { - // Create a new note in the database 在数据库中创建新的便签 + // Create a new note in the database + // 在数据库中创建一个新的笔记 ContentValues values = new ContentValues(); long createdTime = System.currentTimeMillis(); values.put(NoteColumns.CREATED_DATE, createdTime); @@ -53,7 +68,6 @@ public class Note { values.put(NoteColumns.PARENT_ID, folderId); Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values); - /*try-catch异常处理*/ long noteId = 0; try { noteId = Long.valueOf(uri.getPathSegments().get(1)); @@ -67,51 +81,94 @@ public class Note { return noteId; } - //定义两个变量用来存储便签的数据,一个是存储便签属性、一个是存储便签内容 public Note() { mNoteDiffValues = new ContentValues(); mNoteData = new NoteData(); } - + /** + * @method setNoteValue + * @description 设置笔记的值 + * @date: 12/20/2023 11:31 PM + * @author: YangYizhe + * @param key + * @param value + */ public void setNoteValue(String key, String value) { - /*设置数据库表格的标签属性数据,设置便签属性*/ mNoteDiffValues.put(key, value); mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); } - - + /** + * @method setTextData + * @description 设置文本数据 + * @date: 12/20/2023 11:31 PM + * @author: YangYizhe + * @param key + * @param value + */ public void setTextData(String key, String value) { - /*设置数据库表格的标签文本内容的数据*/ mNoteData.setTextData(key, value); } - + /** + * @method setTextDataId + * @description 设置文本数据ID + * @date: 12/20/2023 11:33 PM + * @author: YangYizhe + * @param id + */ public void setTextDataId(long id) { - /*设置文本ID*/ mNoteData.setTextDataId(id); } - + /** + * @method getTextDataId + * @description 获取文本数据Id + * @date: 12/20/2023 11:34 PM + * @author: YangYizhe + * @return mTextDataId 文本数据Id + */ public long getTextDataId() { - /*获取文本ID*/ return mNoteData.mTextDataId; } - + /** + * @method setCallDataId + * @description 设置通话记录数据ID + * @date: 12/20/2023 11:35 PM + * @author: YangYizhe + * @param id 通话记录数据id + */ public void setCallDataId(long id) { - /*设置电话ID*/ mNoteData.setCallDataId(id); } - + /** + * @method setCallData + * @description 设置通话记录数据 + * @date: 12/20/2023 11:36 PM + * @author: YangYizhe + * @param key + * @param value + */ public void setCallData(String key, String value) { - /*获取电话*/ mNoteData.setCallData(key, value); } - + /** + * @method isLocalModified + * @description 判断笔记是否有本地修改 + * @date: 12/20/2023 11:38 PM + * @author: YangYizhe + * @return bool 是否有本地修改 + */ public boolean isLocalModified() { - /*判断是否本地修改*/ return mNoteDiffValues.size() > 0 || mNoteData.isLocalModified(); } - - //同步便签,在WorkingNote中用到 + /** + * @method syncNote + * @description 同步笔记,将本地修改的数据同步到服务器 + * @date: 12/20/2023 11:42 PM + * @author: YangYizhe + * @param context 上下文对象 + * @param noteId 笔记ID + * @return bool 是否同步成功 + */ public boolean syncNote(Context context, long noteId) { if (noteId <= 0) { throw new IllegalArgumentException("Wrong note id:" + noteId); @@ -142,7 +199,7 @@ public class Note { return true; } - private class NoteData {//定义一个基本的便签内容的数据类,主要包含文本数据和电话号码数据 + private class NoteData { private long mTextDataId; private ContentValues mTextDataValues; diff --git a/src/main/java/net/micode/notes/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java index acced2e..31061f9 100644 --- a/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/main/java/net/micode/notes/model/WorkingNote.java @@ -31,7 +31,17 @@ import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.Notes.TextNote; import net.micode.notes.tool.ResourceParser.NoteBgResources; - +/** + * @Package: net.micode.notes.model + * @ClassName: WorkingNote + * @Description: + * 工作笔记类,用于表示一条工作笔记的信息 + * Note 类是一个基本的笔记类,包含了笔记的基本信息,如标题、内容等 + * WorkingNote 类则是在 Note 类的基础上进行扩展,增加了一些与工作笔记相关的属性和方法,例如提醒日期、背景颜色、小部件等。 + * @Author: YangYizhe + * @CreateDate: 12/20/2023 11:48 PM + * @Version: 1.0 + */ public class WorkingNote { // Note for the working note private Note mNote; @@ -59,12 +69,12 @@ public class WorkingNote { private static final String TAG = "WorkingNote"; private boolean mIsDeleted; - + /** + * 笔记设置状态变化监听器 + */ private NoteSettingChangedListener mNoteSettingStatusListener; - // 声明 DATA_PROJECTION字符串数组 - public static final String[] DATA_PROJECTION = new String[] {//与便签数组对应 - //每个便签的数据 + public static final String[] DATA_PROJECTION = new String[] { DataColumns.ID, DataColumns.CONTENT, DataColumns.MIME_TYPE, @@ -74,9 +84,7 @@ public class WorkingNote { DataColumns.DATA4, }; - // 声明 NOTE_PROJECTION字符串数组 - public static final String[] NOTE_PROJECTION = new String[] {//便签数组 - //每个便签的成员 + public static final String[] NOTE_PROJECTION = new String[] { NoteColumns.PARENT_ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID, @@ -105,7 +113,15 @@ public class WorkingNote { private static final int NOTE_MODIFIED_DATE_COLUMN = 5; - // New note construct 构造函数? + // New note construct + /** + * @method WorkingNote + * @description 构造方法,创建一个新的工作笔记 + * @date: 12/20/2023 11:54 PM + * @author: YangYizhe + * @param context 上下文环境 + * @param folderId 笔记所属的文件夹ID + */ private WorkingNote(Context context, long folderId) { mContext = context; mAlertDate = 0; @@ -117,8 +133,16 @@ public class WorkingNote { mMode = 0; mWidgetType = Notes.TYPE_WIDGET_INVALIDE; } - - // Existing note construct 构造函数? + /** + * @method WorkingNote + * @description 构造方法,加载一个已存在的工作笔记 + * @date: 12/20/2023 11:54 PM + * @author: YangYizhe + * @param context 上下文环境 + * @param noteId 笔记的ID + * @param folderId 笔记所属的文件夹ID + */ + // Existing note construct private WorkingNote(Context context, long noteId, long folderId) { mContext = context; mNoteId = noteId; @@ -127,8 +151,12 @@ public class WorkingNote { mNote = new Note(); loadNote(); } - - // 加载NoteData + /** + * @method loadNote + * @description 加载笔记的详细信息 + * @date: 12/20/2023 11:55 PM + * @author: YangYizhe + */ private void loadNote() { Cursor cursor = mContext.getContentResolver().query( ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mNoteId), NOTE_PROJECTION, null, @@ -150,7 +178,12 @@ public class WorkingNote { } loadNoteData(); } - + /** + * @method loadNoteData + * @description 加载笔记的Data + * @date: 12/20/2023 11:55 PM + * @author: YangYizhe + */ private void loadNoteData() { Cursor cursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, DATA_PROJECTION, DataColumns.NOTE_ID + "=?", new String[] { @@ -178,9 +211,18 @@ public class WorkingNote { throw new IllegalArgumentException("Unable to find note's data with id " + mNoteId); } } - - // 创建空的Note - // 传参:context,文件夹id,widget,背景颜色 + /** + * @method createEmptyNote + * @description 创建一个空的工作笔记 + * @date: 12/20/2023 11:56 PM + * @author: YangYizhe + * @param context 上下文环境 + * @param folderId 笔记所属的文件夹ID + * @param widgetId 笔记的小部件ID + * @param widgetType 笔记的小部件类型 + * @param defaultBgColorId 笔记的默认背景颜色ID + * @return note 创建的空的工作笔记对象 + */ public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, int widgetType, int defaultBgColorId) { WorkingNote note = new WorkingNote(context, folderId); @@ -194,7 +236,6 @@ public class WorkingNote { return new WorkingNote(context, id, 0); } - // 保存Note public synchronized boolean saveNote() { if (isWorthSaving()) { if (!existInDatabase()) { @@ -255,7 +296,6 @@ public class WorkingNote { } } - // 设定背景颜色 public void setBgColorId(int id) { if (id != mBgColorId) { mBgColorId = id; @@ -351,8 +391,6 @@ public class WorkingNote { return mWidgetType; } - // 创建接口 NoteSettingChangedListener,便签更新监视 - // 为NoteEditActivity提供接口 public interface NoteSettingChangedListener { /** * Called when the background color of current note has just changed diff --git a/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java b/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java index c862d34..e6a9d73 100644 --- a/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java +++ b/src/main/java/net/micode/notes/ui/AlarmAlertActivity.java @@ -1,20 +1,4 @@ -/* - * 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.ui;//声明一个包 +package net.micode.notes.ui; import android.app.Activity; import android.app.AlertDialog; @@ -38,34 +22,54 @@ import net.micode.notes.data.Notes; import net.micode.notes.tool.DataUtils; import java.io.IOException; - - +/** + * @Package: net.micode.notes.ui + * @ClassName: AlarmAlertActivity + * @Description: 闹钟提醒界面 + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:02 AM + * @Version: 1.0 + */ public class AlarmAlertActivity extends Activity implements OnClickListener, OnDismissListener { - private long mNoteId; - private String mSnippet; + private long mNoteId; //文本在数据库存储中的ID号 + private String mSnippet; //闹钟提示时出现的文本片段 private static final int SNIPPET_PREW_MAX_LEN = 60; MediaPlayer mPlayer; - + /** + * @method onCreate + * @description 当 Activity 创建时调用的生命周期方法 + * @date: 12/21/2023 12:05 AM + * @author: YangYizhe + * @param savedInstanceState 保存 Activity 状态的 Bundle 对象 + * @return null + */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + // 设置界面显示——无标题 requestWindowFeature(Window.FEATURE_NO_TITLE); final Window win = getWindow(); + // 设置窗体属性——在锁屏时显示 win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); if (!isScreenOn()) { + // 设置窗体属性——保持点亮、点亮屏幕、允许点亮时解锁 win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR); } + // 获取传递的 Intent Intent intent = getIntent(); try { + // 从 Intent 中获取数据并处理——获取标签 ID mNoteId = Long.valueOf(intent.getData().getPathSegments().get(1)); + // 根据 ID 从数据库中获取标签内容 mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId); + // 判断标签片段是否达到符合长度 mSnippet = mSnippet.length() > SNIPPET_PREW_MAX_LEN ? mSnippet.substring(0, SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info) : mSnippet; @@ -76,21 +80,26 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD mPlayer = new MediaPlayer(); if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) { + // 显示对话框 showActionDialog(); + // 播放闹钟提示音 playAlarmSound(); } else { + // 结束当前 Activity finish(); } } private boolean isScreenOn() { + //判断屏幕是否锁屏,调用系统函数判断,最后返回值是布尔类型 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); return pm.isScreenOn(); } private void playAlarmSound() { + //闹钟提示音激发 Uri url = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM); - + //调用系统的铃声管理URI,得到闹钟提示音 int silentModeStreams = Settings.System.getInt(getContentResolver(), Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0); @@ -101,12 +110,19 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD } try { mPlayer.setDataSource(this, url); + //方法:setDataSource(Context context, Uri uri) + //解释:无返回值,设置多媒体数据来源【根据 Uri】 mPlayer.prepare(); + //准备同步 mPlayer.setLooping(true); + //设置是否循环播放 mPlayer.start(); + //开始播放 } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); + //e.printStackTrace()函数功能是抛出异常, 还将显示出更深的调用信息 + //System.out.println(e),这个方法打印出异常,并且输出在哪里出现的异常 } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -121,38 +137,59 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD private void showActionDialog() { AlertDialog.Builder dialog = new AlertDialog.Builder(this); + /* AlertDialog的构造方法全部是Protected的 + * 所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。 + * 要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法 + * 如这里的dialog就是新建了一个AlertDialog + */ dialog.setTitle(R.string.app_name); + //为对话框设置标题 dialog.setMessage(mSnippet); + //为对话框设置内容 dialog.setPositiveButton(R.string.notealert_ok, this); + //给对话框添加"Yes"按钮 if (isScreenOn()) { dialog.setNegativeButton(R.string.notealert_enter, this); - } + }//对话框添加"No"按钮 dialog.show().setOnDismissListener(this); } public void onClick(DialogInterface dialog, int which) { switch (which) { + //用which来选择click后下一步的操作 case DialogInterface.BUTTON_NEGATIVE: + //这是取消操作 Intent intent = new Intent(this, NoteEditActivity.class); + //实现两个类间的数据传输 intent.setAction(Intent.ACTION_VIEW); + //设置动作属性 intent.putExtra(Intent.EXTRA_UID, mNoteId); + //实现key-value对 + //EXTRA_UID为key;mNoteId为键 startActivity(intent); + //开始动作 break; default: + //这是确定操作 break; } } public void onDismiss(DialogInterface dialog) { + //忽略 stopAlarmSound(); + //停止闹钟声音 finish(); + //完成该动作 } private void stopAlarmSound() { if (mPlayer != null) { mPlayer.stop(); + //停止播放 mPlayer.release(); + //释放MediaPlayer对象 mPlayer = null; } } -} +} \ No newline at end of file diff --git a/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java b/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java index 4163ccd..7be84dc 100644 --- a/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java +++ b/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java @@ -11,7 +11,16 @@ import android.database.Cursor; import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; - +/** + * @Package: net.micode.notes.ui + * @ClassName: AlarmInitReceiver + * @Description: + * AlarmInitReceiver 是一个广播接收器(BroadcastReceiver)的类 + * 广播接收器是 Android 中常用的一种组件,用于接收并处理系统或应用发送的广播消息 + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:09 AM + * @Version: 1.0 + */ public class AlarmInitReceiver extends BroadcastReceiver { private static final String [] PROJECTION = new String [] { @@ -49,8 +58,5 @@ public class AlarmInitReceiver extends BroadcastReceiver { } c.close(); } - //然而通过网上查找资料发现,对于闹钟机制的启动,通常需要上面的几个步骤 - //如新建Intent、PendingIntent以及AlarmManager等 - //这里就是根据数据库里的闹钟时间创建一个闹钟机制 } } \ No newline at end of file diff --git a/src/main/java/net/micode/notes/ui/AlarmReceiver.java b/src/main/java/net/micode/notes/ui/AlarmReceiver.java index 6e22aff..a4c7120 100644 --- a/src/main/java/net/micode/notes/ui/AlarmReceiver.java +++ b/src/main/java/net/micode/notes/ui/AlarmReceiver.java @@ -3,7 +3,17 @@ package net.micode.notes.ui; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; - +/** + * @Package: net.micode.notes.ui + * @ClassName: AlarmReceiver + * @Description: + * @Author: YangYizhe + * @CreateDate: 12/17/2023 10:02 AM + * @UpdateUser: none + * @UpdateDate: 12/17/2023 10:02 AM + * @UpdateRemark: none + * @Version: 1.0 + */ public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { diff --git a/src/main/java/net/micode/notes/ui/DateTimePicker.java b/src/main/java/net/micode/notes/ui/DateTimePicker.java index 8d74062..bc0485b 100644 --- a/src/main/java/net/micode/notes/ui/DateTimePicker.java +++ b/src/main/java/net/micode/notes/ui/DateTimePicker.java @@ -11,10 +11,22 @@ import android.text.format.DateFormat; import android.view.View; import android.widget.FrameLayout; import android.widget.NumberPicker; - +/** + * @Package: net.micode.notes.ui + * @ClassName: DateTimePicker + * @Description: 继承自FrameLayout,实现了日期和时间的选择功能 + * 提供一个用户界面,让用户可以方便地选择日期和时间,并且能够监听用户对日期和时间的改变 + * 构造方法,包括默认构造方法和带参数的构造方法,用于初始化日期选择器的界面和属性; + * 一系列的回调方法,用于监听日期和时间的改变,包括日期选择、小时选择、分钟选择、上午/下午选择等; + * 一些公开的接口方法,用于设置当前日期、时间,设置24小时模式或12小时模式的切换等; + * 辅助方法,用于更新日期、小时、上午/下午选择器的界面显示和属性; + * 回调接口OnDateTimeChangedListener,用于监听日期和时间的改变事件。 + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:18 AM + * @Version: 1.0 + */ public class DateTimePicker extends FrameLayout { //FrameLayout是布局模板之一 - //所有的子元素全部在屏幕的右上方 private static final boolean DEFAULT_ENABLE_STATE = true; private static final int HOURS_IN_HALF_DAY = 12; @@ -30,15 +42,17 @@ public class DateTimePicker extends FrameLayout { private static final int MINUT_SPINNER_MAX_VAL = 59; private static final int AMPM_SPINNER_MIN_VAL = 0; private static final int AMPM_SPINNER_MAX_VAL = 1; - //初始化控件 + /** + * 初始化控件 + * NumberPicker是数字选择器 + * 这里定义的四个变量全部是在设置闹钟时需要选择的变量(如日期、时、分、上午或者下午) + */ private final NumberPicker mDateSpinner; private final NumberPicker mHourSpinner; private final NumberPicker mMinuteSpinner; private final NumberPicker mAmPmSpinner; - //NumberPicker是数字选择器 - //这里定义的四个变量全部是在设置闹钟时需要选择的变量(如日期、时、分、上午或者下午) - private Calendar mDate; //定义了Calendar类型的变量mDate,用于操作时间 + private Calendar mDate; private String[] mDateDisplayValues = new String[DAYS_IN_ALL_WEEK]; private boolean mIsAm; @@ -59,7 +73,7 @@ public class DateTimePicker extends FrameLayout { onDateTimeChanged(); } };//OnValueChangeListener,这是时间改变监听器,这里主要是对日期的监听 - //将现在日期的值传递给mDate;updateDateControl是同步操作 + private NumberPicker.OnValueChangeListener mOnHourChangedListener = new NumberPicker.OnValueChangeListener() { //这里是对 小时(Hour) 的监听 @@ -162,14 +176,18 @@ public class DateTimePicker extends FrameLayout { void onDateTimeChanged(DateTimePicker view, int year, int month, int dayOfMonth, int hourOfDay, int minute); } - + /** + * 构造方法 + */ public DateTimePicker(Context context) { + //通过对数据库的访问,获取当前的系统时间 this(context, System.currentTimeMillis()); - }//通过对数据库的访问,获取当前的系统时间 + } public DateTimePicker(Context context, long date) { + //上面函数的得到的是一个天文数字(1970至今的秒数),需要DateFormat将其变得有意义 this(context, date, DateFormat.is24HourFormat(context)); - }//上面函数的得到的是一个天文数字(1970至今的秒数),需要DateFormat将其变得有意义 + } public DateTimePicker(Context context, long date, boolean is24HourView) { super(context); @@ -217,6 +235,18 @@ public class DateTimePicker extends FrameLayout { mInitialising = false; } + /** + * @method setEnabled + * @description + * 用于设置是否启用日期选择器控件的功能 + * 先通过传入的参数enabled判断是否需要改变控件的启用状态。 + * 如果传入的参数和当前的启用状态相同,则直接返回,不进行任何操作 + * 如果传入的参数和当前的启用状态不同,则调用父类的setEnabled方法,来设置整个日期选择器控件的启用状态 + * 分别设置日期选择、分钟选择、小时选择、上午/下午选择这几个子控件的启用状态,即调用对应的setEnabled方法,并将enabled参数传入 + * @date: 12/21/2023 12:27 AM + * @author: YangYizhe + * @param enabled + */ @Override public void setEnabled(boolean enabled) { if (mIsEnabled == enabled) { @@ -229,9 +259,6 @@ public class DateTimePicker extends FrameLayout { mAmPmSpinner.setEnabled(enabled); mIsEnabled = enabled; } - //存在疑问!!!!!!!!!!!!!setEnabled的作用 - //下面的代码通过原程序的注释已经比较清晰,另外可以通过函数名来判断 - //下面的各函数主要是对上面代码引用到的各函数功能的实现 @Override public boolean isEnabled() { return mIsEnabled; @@ -256,7 +283,7 @@ public class DateTimePicker extends FrameLayout { cal.setTimeInMillis(date); setCurrentDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE)); - }//实现函数功能——设置当前的时间,参数是date + } /** * Set the current date @@ -274,14 +301,13 @@ public class DateTimePicker extends FrameLayout { setCurrentDay(dayOfMonth); setCurrentHour(hourOfDay); setCurrentMinute(minute); - }//实现函数功能——设置当前的时间,参数是各详细的变量 + } /** * Get current year * * @return The current year */ - //下面是得到year、month、day等值 public int getCurrentYear() { return mDate.get(Calendar.YEAR); } @@ -439,7 +465,10 @@ public class DateTimePicker extends FrameLayout { setCurrentHour(hour); updateAmPmControl(); } - + /** + * 几个辅助方法,用于更新日期、上午/下午选择和小时选择控件的显示和属性 + * 这些方法的作用是在选择器控件显示之前或用户改变了日期、时间模式时,更新相应控件的显示和属性,以保持界面的正确性和一致性 + */ private void updateDateControl() { Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(mDate.getTimeInMillis()); @@ -452,7 +481,7 @@ public class DateTimePicker extends FrameLayout { mDateSpinner.setDisplayedValues(mDateDisplayValues); mDateSpinner.setValue(DAYS_IN_ALL_WEEK / 2); mDateSpinner.invalidate(); - }// 对于星期几的算法 + } private void updateAmPmControl() { if (mIs24HourView) { @@ -461,7 +490,7 @@ public class DateTimePicker extends FrameLayout { int index = mIsAm ? Calendar.AM : Calendar.PM; mAmPmSpinner.setValue(index); mAmPmSpinner.setVisibility(View.VISIBLE); - }// 对于上下午操作的算法 + } } private void updateHourControl() { @@ -471,7 +500,7 @@ public class DateTimePicker extends FrameLayout { } else { mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW); mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW); - }// 对与小时的算法 + } } /** diff --git a/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java b/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java index d6ad95e..c979aec 100644 --- a/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java +++ b/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java @@ -12,29 +12,45 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.text.format.DateFormat; import android.text.format.DateUtils; - +/** + * @Package: net.micode.notes.ui + * @ClassName: DateTimePickerDialog + * @Description: + * DateTimePickerDialog是一个自定义对话框,允许用户选择日期和时间。 + * 它继承自AlertDialog类,并实现OnClickListener接口。 + * 对话框包含一个DateTimePicker控件,用于选择日期和时间。 + * 通过OnDateTimeSetListener接口将选择的日期和时间传递给监听器。 + * 对话框还提供了设置24小时制和使用选择的日期更新对话框标题的方法。 + * onClick方法处理按钮点击事件,并在日期和时间设置完成时通知监听器。 + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:32 AM + * @Version: 1.0 + */ public class DateTimePickerDialog extends AlertDialog implements OnClickListener { private Calendar mDate = Calendar.getInstance(); - //创建一个Calendar类型的变量 mDate,方便时间的操作 private boolean mIs24HourView; private OnDateTimeSetListener mOnDateTimeSetListener; - //声明一个时间日期滚动选择控件 mOnDateTimeSetListener private DateTimePicker mDateTimePicker; - //DateTimePicker控件,控件一般用于让用户可以从日期列表中选择单个值。 - //运行时,单击控件边上的下拉箭头,会显示为两个部分:一个下拉列表,一个用于选择日期的 + /** + * 用于接收用户设置的日期和时间的接口。 + */ public interface OnDateTimeSetListener { void OnDateTimeSet(AlertDialog dialog, long date); } + /** + * 构造一个新的DateTimePickerDialog。 + * + * @param context 上下文环境。 + * @param date 要在对话框中显示的初始日期。 + */ public DateTimePickerDialog(Context context, long date) { - //对该界面对话框的实例化 super(context); - //对数据库的操作 mDateTimePicker = new DateTimePicker(context); setView(mDateTimePicker); - //添加一个子视图 + mDateTimePicker.setOnDateTimeChangedListener(new OnDateTimeChangedListener() { public void onDateTimeChanged(DateTimePicker view, int year, int month, int dayOfMonth, int hourOfDay, int minute) { @@ -43,45 +59,64 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); mDate.set(Calendar.MINUTE, minute); - //将视图中的各选项设置为系统当前时间 updateTitle(mDate.getTimeInMillis()); } }); + mDate.setTimeInMillis(date); - //得到系统时间 mDate.set(Calendar.SECOND, 0); - //将秒数设置为0 mDateTimePicker.setCurrentDate(mDate.getTimeInMillis()); + setButton(context.getString(R.string.datetime_dialog_ok), this); - setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener)null); - //设置按钮 + setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener) null); + set24HourView(DateFormat.is24HourFormat(this.getContext())); - //时间标准化打印 updateTitle(mDate.getTimeInMillis()); } + /** + * 设置对话框是否为24小时制。 + * + * @param is24HourView 如果对话框为24小时制,则为true;否则为false。 + */ public void set24HourView(boolean is24HourView) { mIs24HourView = is24HourView; } + /** + * 设置日期和时间设置监听器。 + * + * @param callBack 要通知的监听器。 + */ public void setOnDateTimeSetListener(OnDateTimeSetListener callBack) { mOnDateTimeSetListener = callBack; - }//将时间日期滚动选择控件实例化 + } + /** + * 使用指定的日期更新对话框标题。 + * + * @param date 要显示在标题中的日期。 + */ private void updateTitle(long date) { int flag = DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME; flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR; + setTitle(DateUtils.formatDateTime(this.getContext(), date, flag)); - }//android开发中常见日期管理工具类(API)——DateUtils:按照上下午显示时间 + } + /** + * 处理按钮点击事件。 + * + * @param arg0 接收到点击事件的对话框。 + * @param arg1 被点击的按钮。 + */ public void onClick(DialogInterface arg0, int arg1) { if (mOnDateTimeSetListener != null) { mOnDateTimeSetListener.OnDateTimeSet(this, mDate.getTimeInMillis()); } - }//第一个参数arg0是接收到点击事件的对话框 - //第二个参数arg1是该对话框上的按钮 + } } \ No newline at end of file diff --git a/src/main/java/net/micode/notes/ui/DropdownMenu.java b/src/main/java/net/micode/notes/ui/DropdownMenu.java index c831a9b..b437d41 100644 --- a/src/main/java/net/micode/notes/ui/DropdownMenu.java +++ b/src/main/java/net/micode/notes/ui/DropdownMenu.java @@ -10,7 +10,20 @@ import android.widget.PopupMenu; import android.widget.PopupMenu.OnMenuItemClickListener; import net.micode.notes.R; - +/** + * @Package: net.micode.notes.ui + * @ClassName: DropdownMenu + * @Description: + * DropdownMenu是一个自定义下拉菜单控件。 + * 它使用Button作为触发器,通过PopupMenu显示菜单选项。 + * 构造函数接收一个上下文环境、一个Button和菜单资源的ID。 + * 通过setOnDropdownMenuItemClickListener方法设置菜单选项的点击监听器。 + * 可以通过findItem方法查找特定的菜单选项。 + * 通过setTitle方法设置下拉菜单的标题 + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:36 AM + * @Version: 1.0 + */ public class DropdownMenu { private Button mButton; private PopupMenu mPopupMenu; @@ -36,7 +49,7 @@ public class DropdownMenu { public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) { if (mPopupMenu != null) { mPopupMenu.setOnMenuItemClickListener(listener); - }//设置菜单的监听 + } } public MenuItem findItem(int id) { diff --git a/src/main/java/net/micode/notes/ui/FoldersListAdapter.java b/src/main/java/net/micode/notes/ui/FoldersListAdapter.java index b6867fb..8c3a217 100644 --- a/src/main/java/net/micode/notes/ui/FoldersListAdapter.java +++ b/src/main/java/net/micode/notes/ui/FoldersListAdapter.java @@ -12,7 +12,19 @@ import net.micode.notes.R; import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; - +/** + * @Package: net.micode.notes.ui + * @ClassName: FoldersListAdapter + * @Description: + * FoldersListAdapter是一个用于展示便签文件夹的列表适配器。 + * 它继承了CursorAdapter类,主要负责便签数据库和用户界面的交互。 + * 通过PROJECTION数组定义了需要从数据库中获取的数据列。 + * 它通过newView方法创建文件夹视图,并通过bindView方法将布局文件和数据绑定在一起。 + * getFolderName方法可以根据位置获取对应便签文件夹的名称 + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:37 AM + * @Version: 1.0 + */ public class FoldersListAdapter extends CursorAdapter { //CursorAdapter是Cursor和ListView的接口 //FoldersListAdapter继承了CursorAdapter的类 diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 8cc9131..eea7cbd 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -55,9 +55,21 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; - +/** + * @Package: net.micode.notes.ui + * @ClassName: NoteEditActivity + * @Description: + * 该类主要是针对标签的编辑 + * 继承了系统内部许多和监听有关的类 + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:47 AM + * @Version: 1.0 + */ public class NoteEditActivity extends Activity implements OnClickListener, NoteSettingChangedListener, OnTextViewChangeListener { + /** + * 类属性的定义 + */ private class HeadViewHolder { public TextView tvModified; @@ -67,7 +79,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, public ImageView ibSetBgColor; } - //使用Map实现数据存储 private static final Map sBgSelectorBtnsMap = new HashMap(); static { sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW); @@ -75,7 +86,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, sBgSelectorBtnsMap.put(R.id.iv_bg_blue, ResourceParser.BLUE); sBgSelectorBtnsMap.put(R.id.iv_bg_green, ResourceParser.GREEN); sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE); - //put函数是将指定值和指定键相连 } private static final Map sBgSelectorSelectionMap = new HashMap(); @@ -85,7 +95,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, sBgSelectorSelectionMap.put(ResourceParser.BLUE, R.id.iv_bg_blue_select); sBgSelectorSelectionMap.put(ResourceParser.GREEN, R.id.iv_bg_green_select); sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select); - //put函数是将指定值和指定键相连 } private static final Map sFontSizeBtnsMap = new HashMap(); @@ -94,7 +103,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, sFontSizeBtnsMap.put(R.id.ll_font_small, ResourceParser.TEXT_SMALL); sFontSizeBtnsMap.put(R.id.ll_font_normal, ResourceParser.TEXT_MEDIUM); sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER); - //put函数是将指定值和指定键相连 } private static final Map sFontSelectorSelectionMap = new HashMap(); @@ -103,31 +111,19 @@ public class NoteEditActivity extends Activity implements OnClickListener, sFontSelectorSelectionMap.put(ResourceParser.TEXT_SMALL, R.id.iv_small_select); sFontSelectorSelectionMap.put(ResourceParser.TEXT_MEDIUM, R.id.iv_medium_select); sFontSelectorSelectionMap.put(ResourceParser.TEXT_SUPER, R.id.iv_super_select); - //put函数是将指定值和指定键相连 } private static final String TAG = "NoteEditActivity"; - private HeadViewHolder mNoteHeaderHolder; - private View mHeadViewPanel; - //私有化一个界面操作mHeadViewPanel,对表头的操作 private View mNoteBgColorSelector; - //私有化一个界面操作mNoteBgColorSelector,对背景颜色的操作 private View mFontSizeSelector; - //私有化一个界面操作mFontSizeSelector,对标签字体的操作 private EditText mNoteEditor; - //声明编辑控件,对文本操作 private View mNoteEditorPanel; - //私有化一个界面操作mNoteEditorPanel,文本编辑的控制板 - //private WorkingNote mWorkingNote; public WorkingNote mWorkingNote; - //对模板WorkingNote的初始化 private SharedPreferences mSharedPrefs; - //私有化SharedPreferences的数据存储方式 - //它的本质是基于XML文件存储key-value键值对数据 private int mFontSizeId; - //用于操作字体的大小 + private static final String PREFERENCE_FONT_SIZE = "pref_font_size"; private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10; @@ -136,15 +132,16 @@ public class NoteEditActivity extends Activity implements OnClickListener, public static final String TAG_UNCHECKED = String.valueOf('\u25A1'); private LinearLayout mEditTextList; - //线性布局 + private String mUserQuery; private Pattern mPattern; - + /** + *在 Activity 创建时进行一些初始化工作,包括设置布局、初始化状态和资源等操作 + */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.note_edit); - //对数据库的访问操作 if (savedInstanceState == null && !initActivityState(getIntent())) { finish(); return; @@ -167,9 +164,10 @@ public class NoteEditActivity extends Activity implements OnClickListener, return; } Log.d(TAG, "Restoring from killed activity"); - }//为防止内存不足时程序的终止,在这里有一个保存现场的函数 + } } + private boolean initActivityState(Intent intent) { /** * If the user specified the {@link Intent#ACTION_VIEW} but not provided with id, @@ -179,7 +177,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, if (TextUtils.equals(Intent.ACTION_VIEW, intent.getAction())) { long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0); mUserQuery = ""; - //如果用户实例化标签时,系统并未给出标签ID /** * Starting from the searched result */ @@ -207,14 +204,10 @@ public class NoteEditActivity extends Activity implements OnClickListener, return false; } } - //setSoftInputMode——软键盘输入模式 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); } else if(TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) { - // intent.getAction() - // 大多用于broadcast发送广播时给机制(intent)设置一个action,就是一个字符串 - // 用户可以通过receive(接受)intent,通过 getAction得到的字符串,来决定做什么 long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0); int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); @@ -222,8 +215,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, Notes.TYPE_WIDGET_INVALIDE); int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, ResourceParser.getDefaultBgId(this)); - // intent.getInt(Long、String)Extra是对各变量的语法分析 - // Parse call-record note String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0); if (callDate != 0 && phoneNumber != null) { @@ -239,17 +230,15 @@ public class NoteEditActivity extends Activity implements OnClickListener, finish(); return false; } - //将电话号码与手机的号码簿相关 } else { mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType, bgResId); mWorkingNote.convertToCallNote(phoneNumber, callDate); - // } } else { mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType, bgResId); - }//创建一个新的WorkingNote + } getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE @@ -263,17 +252,17 @@ public class NoteEditActivity extends Activity implements OnClickListener, return true; } + @Override protected void onResume() { super.onResume(); initNoteScreen(); } + private void initNoteScreen() { - //对界面的初始化操作 mNoteEditor.setTextAppearance(this, TextAppearanceResources .getTexAppearanceResource(mFontSizeId)); - //设置外观 if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { switchToListMode(mWorkingNote.getContent()); } else { @@ -297,32 +286,31 @@ public class NoteEditActivity extends Activity implements OnClickListener, */ showAlertHeader(); } - //设置闹钟的显示 + private void showAlertHeader() { if (mWorkingNote.hasClockAlert()) { long time = System.currentTimeMillis(); if (time > mWorkingNote.getAlertDate()) { mNoteHeaderHolder.tvAlertDate.setText(R.string.note_alert_expired); } - //如果系统时间大于了闹钟设置的时间,那么闹钟失效 else { - mNoteHeaderHolder.tvAlertDate.setText(DateUtils.getRelativeTimeSpanString(mWorkingNote.getAlertDate(), time, DateUtils.MINUTE_IN_MILLIS)); + mNoteHeaderHolder.tvAlertDate.setText(DateUtils.getRelativeTimeSpanString( + mWorkingNote.getAlertDate(), time, DateUtils.MINUTE_IN_MILLIS)); } mNoteHeaderHolder.tvAlertDate.setVisibility(View.VISIBLE); mNoteHeaderHolder.ivAlertIcon.setVisibility(View.VISIBLE); - //显示闹钟开启的图标 } else { mNoteHeaderHolder.tvAlertDate.setVisibility(View.GONE); mNoteHeaderHolder.ivAlertIcon.setVisibility(View.GONE); }; } + @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); initActivityState(intent); } - @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); @@ -334,29 +322,25 @@ public class NoteEditActivity extends Activity implements OnClickListener, if (!mWorkingNote.existInDatabase()) { saveNote(); } - //在创建一个新的标签时,先在数据库中匹配 - //如果不存在,那么先在数据库中存储 outState.putLong(Intent.EXTRA_UID, mWorkingNote.getNoteId()); Log.d(TAG, "Save working note id: " + mWorkingNote.getNoteId() + " onSaveInstanceState"); } - @Override - //MotionEvent是对屏幕触控的传递机制 public boolean dispatchTouchEvent(MotionEvent ev) { if (mNoteBgColorSelector.getVisibility() == View.VISIBLE && !inRangeOfView(mNoteBgColorSelector, ev)) { mNoteBgColorSelector.setVisibility(View.GONE); return true; - }//颜色选择器在屏幕上可见 + } if (mFontSizeSelector.getVisibility() == View.VISIBLE && !inRangeOfView(mFontSizeSelector, ev)) { mFontSizeSelector.setVisibility(View.GONE); return true; - }//字体大小选择器在屏幕上可见 + } return super.dispatchTouchEvent(ev); } - //对屏幕触控的坐标进行操作 + private boolean inRangeOfView(View view, MotionEvent ev) { int []location = new int[2]; view.getLocationOnScreen(location); @@ -366,7 +350,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, || ev.getX() > (x + view.getWidth()) || ev.getY() < y || ev.getY() > (y + view.getHeight())) - //如果触控的位置超出了给定的范围,返回false { return false; } @@ -387,13 +370,13 @@ public class NoteEditActivity extends Activity implements OnClickListener, for (int id : sBgSelectorBtnsMap.keySet()) { ImageView iv = (ImageView) findViewById(id); iv.setOnClickListener(this); - }//对标签各项属性内容的初始化 + } mFontSizeSelector = findViewById(R.id.font_size_selector); for (int id : sFontSizeBtnsMap.keySet()) { View view = findViewById(id); view.setOnClickListener(this); - };//对字体大小的选择 + }; mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this); mFontSizeId = mSharedPrefs.getInt(PREFERENCE_FONT_SIZE, ResourceParser.BG_DEFAULT_FONT_SIZE); /** @@ -415,7 +398,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, } clearSettingState(); } - //和桌面小工具的同步 private void updateWidget() { Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) { @@ -435,13 +417,16 @@ public class NoteEditActivity extends Activity implements OnClickListener, setResult(RESULT_OK, intent); } + public void onClick(View v) { int id = v.getId(); if (id == R.id.btn_set_bg_color) { mNoteBgColorSelector.setVisibility(View.VISIBLE); - findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(View.VISIBLE); + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.VISIBLE); } else if (sBgSelectorBtnsMap.containsKey(id)) { - findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(View.GONE); + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.GONE); mWorkingNote.setBgColorId(sBgSelectorBtnsMap.get(id)); mNoteBgColorSelector.setVisibility(View.GONE); } else if (sFontSizeBtnsMap.containsKey(id)) { @@ -458,7 +443,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, } mFontSizeSelector.setVisibility(View.GONE); } - }//************************存在问题 + } @Override public void onBackPressed() { @@ -480,16 +465,13 @@ public class NoteEditActivity extends Activity implements OnClickListener, } return false; } - public void onBackgroundColorChanged() { findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( View.VISIBLE); mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId()); mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId()); } - @Override - //对选择菜单的准备 public boolean onPrepareOptionsMenu(Menu menu) { if (isFinishing()) { return true; @@ -498,7 +480,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, menu.clear(); if (mWorkingNote.getFolderId() == Notes.ID_CALL_RECORD_FOLDER) { getMenuInflater().inflate(R.menu.call_note_edit, menu); - // MenuInflater是用来实例化Menu目录下的Menu布局文件的 } else { getMenuInflater().inflate(R.menu.note_edit, menu); } @@ -514,226 +495,146 @@ public class NoteEditActivity extends Activity implements OnClickListener, } return true; } - @Override - /* - * 函数功能:动态改变菜单选项内容 - * 函数实现:如下注释 - */ public boolean onOptionsItemSelected(MenuItem item) { - int itemId = item.getItemId();//根据菜单的id来编剧相关项目 - if (itemId == R.id.menu_new_note) {//创建一个新的便签 + int itemId = item.getItemId(); + if (itemId == R.id.menu_new_note) { createNewNote(); - } else if (itemId == R.id.menu_delete) {//删除便签 + } + else if (itemId == R.id.menu_delete) { AlertDialog.Builder builder = new AlertDialog.Builder(this); - //创建关于删除操作的对话框 builder.setTitle(getString(R.string.alert_title_delete)); - // 设置标签的标题为alert_title_delete builder.setIcon(android.R.drawable.ic_dialog_alert); - //设置对话框图标 builder.setMessage(getString(R.string.alert_message_delete_note)); - //设置对话框内容 builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { - //建立按键监听器 public void onClick(DialogInterface dialog, int which) { - //点击所触发事件 deleteCurrentNote(); - // 删除单签便签 finish(); } }); - //添加“YES”按钮 builder.setNegativeButton(android.R.string.cancel, null); - //添加“NO”的按钮 builder.show(); - //显示对话框 - } else if (itemId == R.id.menu_font_size) {//字体大小的编辑 + } else if (itemId == R.id.menu_font_size) { mFontSizeSelector.setVisibility(View.VISIBLE); - // 将字体选择器置为可见 findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE); - // 通过id找到相应的大小 - } else if (itemId == R.id.menu_list_mode) {//选择列表模式 + } else if (itemId == R.id.menu_list_mode) { mWorkingNote.setCheckListMode(mWorkingNote.getCheckListMode() == 0 ? TextNote.MODE_CHECK_LIST : 0); - } else if (itemId == R.id.menu_share) {//菜单共享 + } else if (itemId == R.id.menu_share) { getWorkingText(); sendTo(this, mWorkingNote.getContent()); - // 用sendto函数将运行文本发送到遍历的本文内 - } else if (itemId == R.id.menu_send_to_desktop) {//发送到桌面 + } else if (itemId == R.id.menu_send_to_desktop) { sendToDesktop(); - } else if (itemId == R.id.menu_alert) {//创建提醒器 + } else if (itemId == R.id.menu_alert) { setReminder(); - } else if (itemId == R.id.menu_delete_remind) {//删除日期提醒 + } else if (itemId == R.id.menu_delete_remind) { mWorkingNote.setAlertDate(0, false); } return true; } - /* - * 函数功能:建立事件提醒器 - * 函数实现:如下注释 - */ private void setReminder() { DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis()); - // 建立修改时间日期的对话框 d.setOnDateTimeSetListener(new OnDateTimeSetListener() { public void OnDateTimeSet(AlertDialog dialog, long date) { mWorkingNote.setAlertDate(date , true); //选择提醒的日期 } }); - //建立时间日期的监听器 d.show(); - //显示对话框 } + /** * Share note to apps that support {@link Intent#ACTION_SEND} action * and {@text/plain} type */ - /* - * 函数功能:共享便签 - * 函数实现:如下注释 - */ private void sendTo(Context context, String info) { Intent intent = new Intent(Intent.ACTION_SEND); - //建立intent链接选项 intent.putExtra(Intent.EXTRA_TEXT, info); - //将需要传递的便签信息放入text文件中 intent.setType("text/plain"); - //编辑连接器的类型 context.startActivity(intent); - //在acti中进行链接 } - - /* - * 函数功能:创建一个新的便签 - * 函数实现:如下注释 - */ private void createNewNote() { // Firstly, save current editing notes - //保存当前便签 saveNote(); // For safety, start a new NoteEditActivity finish(); Intent intent = new Intent(this, NoteEditActivity.class); - //设置链接器 intent.setAction(Intent.ACTION_INSERT_OR_EDIT); - //该活动定义为创建或编辑 intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId()); - //将运行便签的id添加到INTENT_EXTRA_FOLDER_ID标记中 startActivity(intent); - //开始activity并链接 } - - /* - * 函数功能:删除当前便签 - * 函数实现:如下注释 - */ private void deleteCurrentNote() { if (mWorkingNote.existInDatabase()) { - //假如当前运行的便签内存有数据 HashSet ids = new HashSet(); long id = mWorkingNote.getNoteId(); if (id != Notes.ID_ROOT_FOLDER) { ids.add(id); - //如果不是头文件夹建立一个hash表把便签id存起来 } else { Log.d(TAG, "Wrong note id, should not happen"); - //否则报错 } if (!isSyncMode()) { - //在非同步模式情况下 - //删除操作 if (!DataUtils.batchDeleteNotes(getContentResolver(), ids)) { Log.e(TAG, "Delete Note error"); } } else { - //同步模式 - //移动至垃圾文件夹的操作 if (!DataUtils.batchMoveToFolder(getContentResolver(), ids, Notes.ID_TRASH_FOLER)) { Log.e(TAG, "Move notes to trash folder error, should not happens"); } } } mWorkingNote.markDeleted(true); - //将这些标签的删除标记置为true } - - /* - * 函数功能:判断是否为同步模式 - * 函数实现:直接看NotesPreferenceActivity中同步名称是否为空 - */ private boolean isSyncMode() { return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0; } - - /* - * 函数功能:设置提醒时间 - * 函数实现:如下注释 - */ public void onClockAlertChanged(long date, boolean set) { /** * User could set clock to an unsaved note, so before setting the * alert clock, we should save the note first */ if (!mWorkingNote.existInDatabase()) { - //首先保存已有的便签 saveNote(); } if (mWorkingNote.getNoteId() > 0) { Intent intent = new Intent(this, AlarmReceiver.class); intent.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mWorkingNote.getNoteId())); - //若有有运行的便签就是建立一个链接器将标签id都存在uri中 PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); AlarmManager alarmManager = ((AlarmManager) getSystemService(ALARM_SERVICE)); - //设置提醒管理器 showAlertHeader(); if(!set) { alarmManager.cancel(pendingIntent); } else { alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent); } - //如果用户设置了时间,就通过提醒管理器设置一个监听事项 } else { /** * There is the condition that user has input nothing (the note is * not worthy saving), we have no note id, remind the user that he * should input something */ - //没有运行的便签就报错 Log.e(TAG, "Clock alert setting error"); showToast(R.string.error_note_empty_for_clock); } } - - /* - * 函数功能:Widget发生改变的所触发的事件 - */ public void onWidgetChanged() { - updateWidget();//更新Widget + updateWidget(); } - - /* - * 函数功能: 删除编辑文本框所触发的事件 - * 函数实现:如下注释 - */ public void onEditTextDelete(int index, String text) { int childCount = mEditTextList.getChildCount(); if (childCount == 1) { return; } - //没有编辑框的话直接返回 + for (int i = index + 1; i < childCount; i++) { ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text)) .setIndex(i - 1); - //通过id把编辑框存在便签编辑框中 } mEditTextList.removeViewAt(index); - //删除特定位置的视图 NoteEditText edit = null; if(index == 0) { edit = (NoteEditText) mEditTextList.getChildAt(0).findViewById( @@ -742,101 +643,65 @@ public class NoteEditActivity extends Activity implements OnClickListener, edit = (NoteEditText) mEditTextList.getChildAt(index - 1).findViewById( R.id.et_edit_text); } - //通过id把编辑框存在空的NoteEditText中 int length = edit.length(); edit.append(text); - edit.requestFocus();//请求优先完成该此 编辑 - edit.setSelection(length);//定位到length位置处的条目 + edit.requestFocus(); + edit.setSelection(length); } - - /* - * 函数功能:进入编辑文本框所触发的事件 - * 函数实现:如下注释 - */ public void onEditTextEnter(int index, String text) { /** * Should not happen, check for debug */ if(index > mEditTextList.getChildCount()) { Log.e(TAG, "Index out of mEditTextList boundrary, should not happen"); - //越界把偶偶 } View view = getListItem(text, index); mEditTextList.addView(view, index); - //建立一个新的视图并添加到编辑文本框内 NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); - edit.requestFocus();//请求优先操作 - edit.setSelection(0);//定位到起始位置 + edit.requestFocus(); + edit.setSelection(0); for (int i = index + 1; i < mEditTextList.getChildCount(); i++) { ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text)) .setIndex(i); - //遍历子文本框并设置对应对下标 } } - - /* - * 函数功能:切换至列表模式 - * 函数实现:如下注释 - */ private void switchToListMode(String text) { mEditTextList.removeAllViews(); String[] items = text.split("\n"); int index = 0; - //清空所有视图,初始化下标 for (String item : items) { if(!TextUtils.isEmpty(item)) { mEditTextList.addView(getListItem(item, index)); index++; - //遍历所有文本单元并添加到文本框中 } } mEditTextList.addView(getListItem("", index)); mEditTextList.getChildAt(index).findViewById(R.id.et_edit_text).requestFocus(); - //优先请求此操作 mNoteEditor.setVisibility(View.GONE); - //便签编辑器不可见 mEditTextList.setVisibility(View.VISIBLE); - //将文本编辑框置为可见 } - - /* - * 函数功能:获取高亮效果的反馈情况 - * 函数实现:如下注释 - */ private Spannable getHighlightQueryResult(String fullText, String userQuery) { SpannableString spannable = new SpannableString(fullText == null ? "" : fullText); - //新建一个效果选项 if (!TextUtils.isEmpty(userQuery)) { mPattern = Pattern.compile(userQuery); - //将用户的询问进行解析 Matcher m = mPattern.matcher(fullText); - //建立一个状态机检查Pattern并进行匹配 int start = 0; while (m.find(start)) { spannable.setSpan( new BackgroundColorSpan(this.getResources().getColor( R.color.user_query_highlight)), m.start(), m.end(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); - //设置背景颜色 start = m.end(); - //跟新起始位置 } } return spannable; } - - /* - * 函数功能:获取列表项 - * 函数实现:如下注释 - */ private View getListItem(String item, int index) { View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null); - //创建一个视图 final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); edit.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId)); - //创建一个文本编辑框并设置可见性 CheckBox cb = ((CheckBox) view.findViewById(R.id.cb_edit_item)); cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { @@ -847,15 +712,12 @@ public class NoteEditActivity extends Activity implements OnClickListener, } } }); - //建立一个打钩框并设置监听器 if (item.startsWith(TAG_CHECKED)) { - //选择勾选 cb.setChecked(true); edit.setPaintFlags(edit.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); item = item.substring(TAG_CHECKED.length(), item.length()).trim(); } else if (item.startsWith(TAG_UNCHECKED)) { - //选择不勾选 cb.setChecked(false); edit.setPaintFlags(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG); item = item.substring(TAG_UNCHECKED.length(), item.length()).trim(); @@ -864,32 +726,20 @@ public class NoteEditActivity extends Activity implements OnClickListener, edit.setOnTextViewChangeListener(this); edit.setIndex(index); edit.setText(getHighlightQueryResult(item, mUserQuery)); - //运行编辑框的监听器对该行为作出反应,并设置下标及文本内容 return view; } - - /* - * 函数功能:便签内容发生改变所 触发的事件 - * 函数实现:如下注释 - */ public void onTextChange(int index, boolean hasText) { if (index >= mEditTextList.getChildCount()) { Log.e(TAG, "Wrong index, should not happen"); return; - //越界报错 } if(hasText) { mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.VISIBLE); } else { mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.GONE); } - //如果内容不为空则将其子编辑框可见性置为可见,否则不可见 } - /* - * 函数功能:检查模式和列表模式的切换 - * 函数实现:如下注释 - */ public void onCheckListModeChanged(int oldMode, int newMode) { if (newMode == TextNote.MODE_CHECK_LIST) { switchToListMode(mNoteEditor.getText().toString()); @@ -906,11 +756,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, //修改文本编辑器的内容和可见性 } } - - /* - * 函数功能:设置勾选选项表并返回是否勾选的标记 - * 函数实现:如下注释 - */ private boolean getWorkingText() { boolean hasChecked = false; //初始化check标记 @@ -920,7 +765,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, //创建可变字符串 for (int i = 0; i < mEditTextList.getChildCount(); i++) { View view = mEditTextList.getChildAt(i); - //遍历所有子编辑框的视图 + //遍历所有子编辑框的视图 NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); if (!TextUtils.isEmpty(edit.getText())) { //若文本不为空 @@ -943,7 +788,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, } return hasChecked; } - /* * 函数功能:保存便签 * 函数实现:如下注释 @@ -966,10 +810,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, return saved; } - /* - * 函数功能:将便签发送至桌面 - * 函数实现:如下注释 - */ private void sendToDesktop() { /** * Before send message to home, we should make sure that current @@ -978,16 +818,12 @@ public class NoteEditActivity extends Activity implements OnClickListener, */ if (!mWorkingNote.existInDatabase()) { saveNote(); - //若不存在数据也就是新的标签就保存起来先 } if (mWorkingNote.getNoteId() > 0) { - //若是有内容 Intent sender = new Intent(); Intent shortcutIntent = new Intent(this, NoteEditActivity.class); - //建立发送到桌面的连接器 shortcutIntent.setAction(Intent.ACTION_VIEW); - //链接为一个视图 shortcutIntent.putExtra(Intent.EXTRA_UID, mWorkingNote.getNoteId()); sender.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); sender.putExtra(Intent.EXTRA_SHORTCUT_NAME, @@ -995,12 +831,9 @@ public class NoteEditActivity extends Activity implements OnClickListener, sender.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon_app)); sender.putExtra("duplicate", true); - //将便签的相关信息都添加到要发送的文件里 sender.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); - //设置sneder的行为是发送 showToast(R.string.info_note_enter_desktop); sendBroadcast(sender); - //显示到桌面 } else { /** * There is the condition that user has input nothing (the note is @@ -1009,14 +842,8 @@ public class NoteEditActivity extends Activity implements OnClickListener, */ Log.e(TAG, "Send to desktop error"); showToast(R.string.error_note_empty_for_send_to_desktop); - //空便签直接报错 } } - - /* - * 函数功能:编辑小图标的标题 - * 函数实现:如下注释 - */ private String makeShortcutIconTitle(String content) { content = content.replace(TAG_CHECKED, ""); content = content.replace(TAG_UNCHECKED, ""); @@ -1024,20 +851,10 @@ public class NoteEditActivity extends Activity implements OnClickListener, SHORTCUT_ICON_TITLE_MAX_LEN) : content; //直接设置为content中的内容并返回,有勾选和未勾选2种 } - - /* - * 函数功能:显示提示的视图 - * 函数实现:根据下标显示对应的提示 - */ private void showToast(int resId) { showToast(resId, Toast.LENGTH_SHORT); } - - /* - * 函数功能:持续显示提示的视图 - * 函数实现:根据下标和持续的时间(duration)编辑提示视图并显示 - */ private void showToast(int resId, int duration) { Toast.makeText(this, resId, duration).show(); } -} \ No newline at end of file +} diff --git a/src/main/java/net/micode/notes/ui/NoteEditText.java b/src/main/java/net/micode/notes/ui/NoteEditText.java index 8f5b468..c935358 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditText.java +++ b/src/main/java/net/micode/notes/ui/NoteEditText.java @@ -37,21 +37,28 @@ import net.micode.notes.R; import java.util.HashMap; import java.util.Map; -//类:便签编辑文本类,继承了Android控件EditText +/** + * @Package: net.micode.notes.ui + * @ClassName: NoteEditText + * @Description: + * @Author: YangYizhe + * @CreateDate: 12/21/2023 12:38 AM + * @Version: 1.0 + */ public class NoteEditText extends EditText { - //语句:常量标识 + //常量标识 private static final String TAG = "NoteEditText"; - //语句:声明整型变量,文本索引 + //声明整型变量,文本索引 private int mIndex; - //语句:声明整型变量 + //声明整型变量 private int mSelectionStartBeforeDelete; - //语句:声明字符串常量,标志电话、网址、邮件 + //声明字符串常量,标志电话、网址、邮件 private static final String SCHEME_TEL = "tel:" ; private static final String SCHEME_HTTP = "http:" ; private static final String SCHEME_EMAIL = "mailto:" ; - //语句块:设置映射,将文本内容(电话、网址、邮件)做链接处理 + //设置映射,将文本内容(电话、网址、邮件)做链接处理 private static final Map sSchemaActionResMap = new HashMap(); static { sSchemaActionResMap.put(SCHEME_TEL, R.string.note_link_tel); @@ -61,60 +68,75 @@ public class NoteEditText extends EditText { /** * Call by the {@link NoteEditActivity} to delete or add edit text - * 接口:该接口用于实现对TextView组件中的文字信息进行修改 + * 该接口用于实现对TextView组件中的文字信息进行修改 */ public interface OnTextViewChangeListener { /** * Delete current edit text when {@link KeyEvent#KEYCODE_DEL} happens * and the text is null - * 方法:当delete键按下时删除当前编辑的文字块 + * 当delete键按下时删除当前编辑的文字块 */ void onEditTextDelete(int index, String text); /** * Add edit text after current edit text when {@link KeyEvent#KEYCODE_ENTER} * happen - * 方法:当enter键按下时添加一个文字编辑块 + * 当enter键按下时添加一个文字编辑块 */ void onEditTextEnter(int index, String text); /** * Hide or show item option when text change - * 方法:当文字发生变化时隐藏或者显示设置 + * 当文字发生变化时隐藏或者显示设置 */ void onTextChange(int index, boolean hasText); } - //语句:声明文本视图变化监听器 + //声明文本视图变化监听器 private OnTextViewChangeListener mOnTextViewChangeListener; - //方法:构造方法,实例化NoteEditText + /** + * 构造方法,实例化NoteEditText + */ public NoteEditText(Context context) { super(context, null); mIndex = 0; } - //方法:设置索引号 + //设置索引号 public void setIndex(int index) { mIndex = index; } - //方法:设置文本视图变化监听器 - public void setOnTextViewChangeListener(OnTextViewChangeListener listener) { + /** + * 设置文本视图变化监听器 + */ + public void setOnTextViewChangeListener(OnTextViewChangeListener listener) { mOnTextViewChangeListener = listener; } - //方法:构造方法,是由参数集(文本编辑风格)实例化NoteEditText - public NoteEditText(Context context, AttributeSet attrs) { + /** + * 构造方法,是由参数集(文本编辑风格)实例化NoteEditText + */ + public NoteEditText(Context context, AttributeSet attrs) { super(context, attrs, android.R.attr.editTextStyle); } - //方法:构造方法,是由参数集(文本编辑风格、定义风格)实例化NoteEditText - public NoteEditText(Context context, AttributeSet attrs, int defStyle) { + /** + * 构造方法,是由参数集(文本编辑风格、定义风格)实例化NoteEditText + */ + public NoteEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } - //方法:监听触摸事件 + /** + * @method onTouchEvent + * @description 处理触摸事件,根据触摸点的位置设置光标的位置 + * @date: 12/21/2023 12:41 AM + * @author: YangYizhe + * @param + * @return + */ @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { @@ -126,22 +148,19 @@ public class NoteEditText extends EditText { y -= getTotalPaddingTop(); x += getScrollX(); y += getScrollY(); - - //语句:获取布局 Layout layout = getLayout(); - //语句:获取纵向的行数 int line = layout.getLineForVertical(y); - //语句:获取横向的偏移量 int off = layout.getOffsetForHorizontal(line, x); Selection.setSelection(getText(), off); break; } - //语句:继续调用父类的监听事件方法 return super.onTouchEvent(event); } - /** - * 方法:监听键盘按键按下 + * @method onKeyDown + * @description 监听键盘按键按下 + * @date: 12/21/2023 12:40 AM + * @author: YangYizhe * @param keyCode 键盘按键的编码 * @param event 按键事件 * @return boolean @@ -149,16 +168,12 @@ public class NoteEditText extends EditText { @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { - //语句块:按下回车键 case KeyEvent.KEYCODE_ENTER: - //语句块:如果文本视图没有变化 if (mOnTextViewChangeListener != null) { return false; } break; - //语句块:按下删除键 case KeyEvent.KEYCODE_DEL: - //语句:获取删除文本的开始位置 mSelectionStartBeforeDelete = getSelectionStart(); break; default: @@ -167,45 +182,34 @@ public class NoteEditText extends EditText { return super.onKeyDown(keyCode, event); } - /** - * 方法:监听按键抬起 + * @method onKeyUp + * @description 监听按键抬起 + * @date: 12/21/2023 12:39 AM + * @author: YangYizhe * @param keyCode * @param event - * @return */ @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch(keyCode) { - //语句块:抬起删除键 case KeyEvent.KEYCODE_DEL: - //语句块:如果文本视图发生变化 if (mOnTextViewChangeListener != null) { - //语句块:选择了删除的文字 if (0 == mSelectionStartBeforeDelete && mIndex != 0) { - //语句:监听文本的删除 mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString()); return true; } } else { - //语句:报告文本视图变化监听器没有设置 Log.d(TAG, "OnTextViewChangeListener was not seted"); } break; - //语句块:抬起回车键 case KeyEvent.KEYCODE_ENTER: - //语句块:如果文本视图发生变化 if (mOnTextViewChangeListener != null) { - //语句:获取选择区域的起点位置 int selectionStart = getSelectionStart(); - //语句:获取选择区域后面的文本信息 String text = getText().subSequence(selectionStart, length()).toString(); - //语句:实现文本换行的功能 setText(getText().subSequence(0, selectionStart)); - //语句:将选择区域内的文字移到下一行 mOnTextViewChangeListener.onEditTextEnter(mIndex + 1, text); } else { - //语句:报告文本视图变化监听器没有设置 Log.d(TAG, "OnTextViewChangeListener was not seted"); } break; @@ -216,16 +220,17 @@ public class NoteEditText extends EditText { } /** - * 处理当前视图下的焦点改变事件 + * @method onFocusChanged + * @description 处理当前视图下的焦点改变事件 + * @date: 12/21/2023 12:39 AM + * @author: YangYizhe * @param focused 代表获得或失去焦点 * @param direction * @param previouslyFocusedRect 上一个访问的焦点区域 */ @Override protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { - //语句块:如果文本视图发生变化 if (mOnTextViewChangeListener != null) { - //语句块:当焦点存在或者当前文本不为空时,监听文本的变化 if (!focused && TextUtils.isEmpty(getText())) { mOnTextViewChangeListener.onTextChange(mIndex, false); } else { @@ -236,12 +241,16 @@ public class NoteEditText extends EditText { } /** - * 方法:创建环境菜单 + * @method onCreateContextMenu + * @description + * @date: 12/21/2023 12:39 AM + * @author: YangYizhe + * @param + * @return */ @Override protected void onCreateContextMenu(ContextMenu menu) { if (getText() instanceof Spanned) { - //语句块:获取高亮元素 int selStart = getSelectionStart(); int selEnd = getSelectionEnd(); @@ -249,7 +258,6 @@ public class NoteEditText extends EditText { int max = Math.max(selStart, selEnd); final URLSpan[] urls = ((Spanned) getText()).getSpans(min, max, URLSpan.class); - //语句块:针对不同的高亮元素,使用不同的操作进行处理 if (urls.length == 1) { int defaultResId = 0; for(String schema: sSchemaActionResMap.keySet()) { @@ -262,7 +270,6 @@ public class NoteEditText extends EditText { if (defaultResId == 0) { defaultResId = R.string.note_link_other; } - //语句块:添加环境菜单的点击事件 menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener( new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java index d089af2..b7cd7d7 100644 --- a/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -1,6 +1,5 @@ package net.micode.notes.ui; -import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; @@ -62,16 +61,12 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashSet; +//主界面,一进入就是这个界面 /** - * @Package: net.micode.notes.ui - * @ClassName: NotesListActivity - * @Description: - * @Author: WUSHUXIAN - * @CreateDate: 2023/12/20 23:02 - * @Version: 1.0 + * @author k + * */ -public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { - +public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { //没有用特定的标签加注释。。。感觉没有什么用 private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0; private static final int FOLDER_LIST_QUERY_TOKEN = 1; @@ -82,7 +77,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt private static final int MENU_FOLDER_CHANGE_NAME = 2; - private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction"; + private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction"; //单行超过80个字符 private enum ListEditState { NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER @@ -127,67 +122,58 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt private final static int REQUEST_CODE_OPEN_NODE = 102; private final static int REQUEST_CODE_NEW_NODE = 103; + @Override - /** - * @method onCreate - * @description 需要是final类型 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 - * final类不能被继承,没有子类,final类中的方法默认是final的。 - * final方法不能被子类的方法覆盖,但可以被继承。 - * final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 - * final不能用于修饰构造方法。 - * @date: 2023/12/20 23:13 - * @author: WUSHUXIAN - * @param void - * @return void - */ - protected void onCreate(final Bundle savedInstanceState) { + /** + * @method onCreate + * @description + * @date: 9:58 AM + * @author: YangYizhe + * @param [savedInstanceState] + * @return void + */ + protected void onCreate(final Bundle savedInstanceState) { //需要是final类型 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 + // final类不能被继承,没有子类,final类中的方法默认是final的。 + //final方法不能被子类的方法覆盖,但可以被继承。 + //final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 + //final不能用于修饰构造方法。 super.onCreate(savedInstanceState); // 调用父类的onCreate函数 setContentView(R.layout.note_list); initResources(); + + /** + * Insert an introduction when user firstly use this application + */ setAppInfoFromRawRes(); } @Override - /** - * @method onActivityResult - * @description: - * 参数: - * requestCode: - * resultCode: - * data; - * @date: 2023/12/20 23:26 - * @author: WUSHUXIAN - * @param void - * @return void - */ + // 返回一些子模块完成的数据交给主Activity处理 protected void onActivityResult(int requestCode, int resultCode, Intent data) { + // 结果值 和 要求值 符合要求 if (resultCode == RESULT_OK && (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) { mNotesListAdapter.changeCursor(null); } else { - super.onActivityResult(requestCode, resultCode, data);// 调用 Activity 的onActivityResult() + super.onActivityResult(requestCode, resultCode, data); + // 调用 Activity 的onActivityResult() } } - /** - * @method setAppInfoFromRawRes - * @description: - * @date: 2023/12/20 23:24 - * @author: WUSHUXIAN - * @param - * @return - */ + private void setAppInfoFromRawRes() { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);// Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。 + // Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。 + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) { StringBuilder sb = new StringBuilder(); InputStream in = null; try { - // 把资源文件放到应用程序的/raw/raw下,那么就可以在应用中使用getResources获取资源后,以openRawResource方法(不带后缀的资源文件名)打开这个文件。 + // 把资源文件放到应用程序的/raw/raw下,那么就可以在应用中使用getResources获取资源后, + // 以openRawResource方法(不带后缀的资源文件名)打开这个文件。 in = getResources().openRawResource(R.raw.introduction); if (in != null) { InputStreamReader isr = new InputStreamReader(in); BufferedReader br = new BufferedReader(isr); - char [] buf = new char[1024]; + char [] buf = new char[1024]; // 自行定义的数值,使用者不知道有什么意义 int len = 0; while ((len = br.read(buf)) > 0) { sb.append(buf, 0, len); @@ -230,14 +216,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt super.onStart(); startAsyncNotesListQuery(); } - /** - * @method initResources - * @description 初始化资源 - * @date: 2023/12/20 23:09 - * @author: WUSHUXIAN - * @param - * @return - */ + + // 初始化资源 private void initResources() { mContentResolver = this.getContentResolver(); // 获取应用程序的数据,得到类似数据表的东西 mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver()); @@ -262,15 +242,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt mModeCallBack = new ModeCallback(); } - // - /** - * @Package: net.micode.notes.ui - * @ClassName: ModeCallback - * @Description: 继承自ListView.MultiChoiceModeListener 和 OnMenuItemClickListener - * @Author: WUSHUXIAN - * @CreateDate: 2023/12/20 23:37 - * @Version: 1.0 - */ + // 继承自ListView.MultiChoiceModeListener 和 OnMenuItemClickListener private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener { private DropdownMenu mDropDownMenu; private ActionMode mActionMode; @@ -308,14 +280,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt }); return true; } - /** - * @method updateMenu - * @description 更新菜单 - * @date: 2023/12/16 23:36 - * @author: WUSHUXIAN - * @param - * @return - */ + + // 更新菜单 private void updateMenu() { int selectedCount = mNotesListAdapter.getSelectedCount(); // Update dropdown menu @@ -358,14 +324,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt mNotesListAdapter.setCheckedItem(position, checked); updateMenu(); } - /** - * @method onMenuItemClick - * @description: - * @date: 2023/12/20 23:39 - * @author: WUSHUXIAN - * @param - * @return - */ + public boolean onMenuItemClick(MenuItem item) { if (mNotesListAdapter.getSelectedCount() == 0) { Toast.makeText(NotesListActivity.this, getString(R.string.menu_select_none), @@ -397,8 +356,9 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt return true; } } - //接口的实现 + private class NewNoteOnTouchListener implements OnTouchListener { + public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { @@ -458,44 +418,22 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } }; - /** - * @method startAsyncNotesListQuery - * @description: 启动异步Notes列表查询 - * @date: 2023/12/20 23:45 - * @author: WUSHUXIAN - * @param - * @return - */ + private void startAsyncNotesListQuery() { - String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION : NORMAL_SELECTION; + 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"); + Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] { + String.valueOf(mCurrentFolderId) + }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); } - /** - * @Package: net.micode.notes.ui - * @ClassName: BackgroundQueryHandler - * @Description: 对AsyncQueryHandler的拓展,背景查询处理 - * @Author: WUSHUXIAN - * @CreateDate: 2023/12/21 0:01 - * @Version: 1.0 - */ + private final class BackgroundQueryHandler extends AsyncQueryHandler { public BackgroundQueryHandler(ContentResolver contentResolver) { super(contentResolver); } @Override - /** - * @method onQueryComplete - * @description: 在异步查询完成时调用。 - * @date: 2023/12/20 23:56 - * @author: WUSHUXIAN - * @param token 标识查询的令牌 - * @param cookie 传入的cookie对象 - * @param cursor 保存查询结果的光标 - * @return void - */ protected void onQueryComplete(int token, Object cookie, Cursor cursor) { switch (token) { case FOLDER_NOTE_LIST_QUERY_TOKEN: @@ -541,29 +479,21 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mCurrentFolderId); this.startActivityForResult(intent, REQUEST_CODE_NEW_NODE); } - /** - * @method batchDelete - * @description: 删除便签操作 - * @date: 2023/12/21 0:14 - * @author: WUSHUXIAN - * @param - * @return void - */ - @SuppressLint("StaticFieldLeak") + private void batchDelete() { new AsyncTask>() { protected HashSet doInBackground(Void... unused) { HashSet widgets = mNotesListAdapter.getSelectedWidget(); - //如果没有同步,直接删除 if (!isSyncMode()) { + // if not synced, delete notes directly if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter .getSelectedItemIds())) { } else { Log.e(TAG, "Delete notes error, should not happens"); } - } - //已同步,将删除的便签移到垃圾桶 - else { + } else { + // in sync mode, we'll move the deleted note into the trash + // folder if (!DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter .getSelectedItemIds(), Notes.ID_TRASH_FOLER)) { Log.e(TAG, "Move notes to trash folder error, should not happens"); @@ -586,14 +516,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } }.execute(); } - /** - * @method deleteFolder - * @description: 删除文件夹 - * @date: 2023/12/21 0:32 - * @author: WUSHUXIAN - * @param folderId 文件标识 - * @return void - */ + private void deleteFolder(long folderId) { if (folderId == Notes.ID_ROOT_FOLDER) { Log.e(TAG, "Wrong folder id, should not happen " + folderId); @@ -662,14 +585,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); } - /** - * @method showCreateOrModifyFolderDialog - * @description: 创建或者修改文件夹时显示对话框 - * @date: 2023/12/21 0:39 - * @author: WUSHUXIAN - * @param create - * @return void - */ + private void showCreateOrModifyFolderDialog(final boolean create) { final AlertDialog.Builder builder = new AlertDialog.Builder(this); View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text, null); @@ -727,10 +643,13 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt dialog.dismiss(); } }); - //如果便签名是空的,则禁用确认按钮 + if (TextUtils.isEmpty(etName.getText())) { positive.setEnabled(false); } + /** + * When the name edit text is null, disable the positive button + */ etName.addTextChangedListener(new TextWatcher() { public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub @@ -757,8 +676,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt * 按返回键时根据情况更改类中的数据 */ @Override - public void onBackPressed() { - switch (mState) { + public void onBackPressed() { switch (mState) { case SUB_FOLDER: mCurrentFolderId = Notes.ID_ROOT_FOLDER; mState = ListEditState.NOTE_LIST; @@ -803,14 +721,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt sendBroadcast(intent); setResult(RESULT_OK, intent); } - /** - * @method OnCreateContextMenuListener - * @description: 生成便签初始界面 - * @date: 2023/12/21 1:16 - * @author: WUSHUXIAN - * @param - * @return - */ + + /** + * 声明监听器,建立菜单,包括名称,视图,删除操作,更改名称操作; + */ private final OnCreateContextMenuListener mFolderOnCreateContextMenuListener = new OnCreateContextMenuListener() { public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { if (mFocusNoteDataItem != null) {