From 80501966d0a76ed657bed69c19b7e5d649a77e6e Mon Sep 17 00:00:00 2001 From: niushuai233 Date: Sat, 9 Dec 2023 13:00:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20:fire:=20=E9=A6=96=E9=A1=B5=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cc/niushuai/didicheck/MainActivity.java | 84 ++++++++++++++---- app/src/main/res/layout/item_list.xml | 2 +- app/src/main/res/mipmap-hdpi/ic_ice_cream.png | Bin 0 -> 1408 bytes app/src/main/res/mipmap-mdpi/ic_ice_cream.png | Bin 0 -> 854 bytes .../main/res/mipmap-xhdpi/ic_ice_cream.png | Bin 0 -> 1801 bytes .../main/res/mipmap-xxhdpi/ic_ice_cream.png | Bin 0 -> 2929 bytes .../main/res/mipmap-xxxhdpi/ic_ice_cream.png | Bin 0 -> 4323 bytes icon/冰激凌.png | Bin 0 -> 2023 bytes 8 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 app/src/main/res/mipmap-hdpi/ic_ice_cream.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_ice_cream.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_ice_cream.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_ice_cream.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_ice_cream.png create mode 100644 icon/冰激凌.png diff --git a/app/src/main/java/cc/niushuai/didicheck/MainActivity.java b/app/src/main/java/cc/niushuai/didicheck/MainActivity.java index f13eb5c..e66c16c 100644 --- a/app/src/main/java/cc/niushuai/didicheck/MainActivity.java +++ b/app/src/main/java/cc/niushuai/didicheck/MainActivity.java @@ -1,5 +1,6 @@ package cc.niushuai.didicheck; +import android.content.Context; import android.os.Bundle; import android.view.View; @@ -9,14 +10,23 @@ import androidx.viewpager.widget.ViewPager; import com.github.clans.fab.FloatingActionButton; import com.github.clans.fab.FloatingActionMenu; +import java.util.ArrayList; +import java.util.List; + +import cc.niushuai.didicheck.biz.entity.CheckProject; import cc.niushuai.didicheck.biz.enums.CheckTypeEnum; import cc.niushuai.didicheck.biz.room.DBManager; import cc.niushuai.didicheck.databinding.ActivityMainBinding; import cc.niushuai.didicheck.ui.main.TabsPagerAdapter; +import io.reactivex.Flowable; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.functions.Consumer; +import io.reactivex.schedulers.Schedulers; public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; + private List checkProjectList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { @@ -32,28 +42,68 @@ public class MainActivity extends AppCompatActivity { ViewPager viewPager = binding.viewPager; viewPager.setAdapter(tabsPagerAdapter); + initFloatingActionButtons(tabsPagerAdapter); - FloatingActionMenu didiCheckMenu = binding.didiCheckMenu; - FloatingActionButton swimActionButton = new FloatingActionButton(this); - swimActionButton.showButtonInMenu(true); - swimActionButton.show(true); - swimActionButton.setLabelText("游泳"); - swimActionButton.setImageDrawable(this.getResources().getDrawable(R.mipmap.fab_icon_swimming, getTheme())); - swimActionButton.setButtonSize(FloatingActionButton.SIZE_NORMAL); - swimActionButton.setColorNormal(this.getResources().getColor(R.color.white)); - swimActionButton.setColorPressed(this.getResources().getColor(R.color.white)); - swimActionButton.setTag("SWIM_TAG"); - - swimActionButton.setOnClickListener(new View.OnClickListener() { + binding.didiCheckMenu.setOnMenuToggleListener(new FloatingActionMenu.OnMenuToggleListener() { @Override - public void onClick(View v) { - tabsPagerAdapter.getHomeFragment().add2Top(CheckTypeEnum.QUICK_ADD, "游泳"); - // 打卡完成 关闭动画 - didiCheckMenu.close(true); + public void onMenuToggle(boolean opened) { + if (opened) { + buildFloatActionButtons(checkProjectList, getApplicationContext(), binding.didiCheckMenu, tabsPagerAdapter); + } else { + // 关闭时清除所有button + binding.didiCheckMenu.removeAllMenuButtons(); + } } }); + } + + private void fetchNewestActionButtonData() { + Flowable> listFlowable = DBManager.INSTANCE.checkProjectDao().listAll(); + listFlowable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>() { + @Override + public void accept(List checkProjects) throws Exception { + checkProjectList = checkProjects; + } + }); + } + + private void initFloatingActionButtons(TabsPagerAdapter tabsPagerAdapter) { + + FloatingActionMenu didiCheckMenu = binding.didiCheckMenu; + + // 移除所有 + Context context = this; + + // 拉取最新 + fetchNewestActionButtonData(); + // 构建视图 +// buildFloatActionButtons(checkProjectList, this, binding.didiCheckMenu, tabsPagerAdapter); + } + + private void buildFloatActionButtons(List checkProjects, Context context, FloatingActionMenu didiCheckMenu, TabsPagerAdapter tabsPagerAdapter) { + for (CheckProject project : checkProjects) { - didiCheckMenu.addMenuButton(swimActionButton); + FloatingActionButton actionButton = new FloatingActionButton(context); + actionButton.showButtonInMenu(true); + actionButton.show(true); + actionButton.setTag(project.getName() + project.getId()); + actionButton.setLabelText(project.getName()); + actionButton.setImageDrawable(getResources().getDrawable(R.mipmap.ic_ice_cream, getTheme())); + actionButton.setButtonSize(FloatingActionButton.SIZE_NORMAL); + actionButton.setColorNormal(getResources().getColor(R.color.white)); + actionButton.setColorPressed(getResources().getColor(R.color.white)); + actionButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // 打卡完成 关闭动画 + didiCheckMenu.close(true); + // 添加数据 + tabsPagerAdapter.getHomeFragment().add2Top(CheckTypeEnum.QUICK_ADD, actionButton.getLabelText()); + } + }); + didiCheckMenu.addMenuButton(actionButton); + } } } \ No newline at end of file diff --git a/app/src/main/res/layout/item_list.xml b/app/src/main/res/layout/item_list.xml index 8e0b348..e8b8259 100644 --- a/app/src/main/res/layout/item_list.xml +++ b/app/src/main/res/layout/item_list.xml @@ -10,7 +10,7 @@ android:layout_height="wrap_content" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:srcCompat="@mipmap/fab_icon_swimming" /> + app:srcCompat="@mipmap/ic_ice_cream" /> 8&9@j&s)7%;`vK}q~+ zC|R|Qysmfv;11E?WXEqPth7~BxL=M3cN ze+6q%H+){?hOhAR1AP~~xu*vf*8_x*-|+on0tQky{1@j&QW2py#YcP zQ}4E%h1$lB!S=%H^1-!vTOduB2$|W@qvoEH_?OAP6h|gbxHw$$$pA9kQMU&}9JZOK!rUHJ|KHafm|%1Nzt##NMuJV6e<*>p_9cLf?Z;vL3lEX~DUMH$9$8v<{Md=s117j=dD^q`z+ma4@JCfTw0%?o zj(pZXgz@PLr0m=TPwcpp>{l@il%-T&u6(k8$du>}$5%tyIAqeaWZ^d;?Jtm`TTk{Y zd%(DI2^bR^$w0g+#=v%D1}Jy}O4aqjYTY8zgRH^LTQvspw_h+G=~DqVZ1*pAqDsqs z15$U-CVj|~;iJGiiRr^CP0Sc9eQcxmXOD6>JO`V%>by$HP5)mKw*g8Ci1Ht7GuDLV zRoLcft7@XgQi1XP`NgktF`^8Gbqfm$8ltq5q?ixgp`<5yU~9WgZ57tt!~VQ~nfXM+ za&zmUvGibNOH*9gv2R7KC~Y~sto&r-^0HHhCPR#cFH>8bS)@J5QFE@h(A-}rkb@#Q z*DF!B-{iADLQ}n@Nr}~}VVz4zpOT=eIHd|;P-=B+xX#t2S82eB5e@YRFe#-R5mq6V zv?>`4=lU*yNy((P@C}i+?s=q7$zWJ#4QWzRu`cUewqp+IQ!>!dW;Axe&!|LFvCfU8 zM@hkD{ysF;N*a|&eUUYtVWdZC!Hpss+ZDjzM*)MTk$g?|jP zdu4zj;k@van&VFfC~Oksaz~hjWLdq|m=NM&mgDzhQBMCNZ&>2Ic8*~k2Hfu~AiGj5 zVP?A~vWic_;=W|WIm5s3aS0EhN7Pp5mb*+pP16_jIPAn#PHpD(SnOxa$V7e)H9&+R zhIkQ&Q76MWzsCJdKAx{0Ae)=M;EFSsb>FRKg#-*>liKPk(OCHNJ^|&4@0KI2Laf>* zEEIz!o0w5BW_~G#(%}h+yguWh0R@2u6a*Sj5NJR_paJK=w{YFZ*55q!fKk8qFV(pZILvaM-}s=}?pf`7!qFEJypXoCrN z)O_=d+DV6Vj)(E6@r;IZZ4D-IN3CIn70PJ_>pDiML}0}WBHLEB#4-r%kZPECdqa-GZRE9 zw4iP>EKCK7KqwQ-?VPzyshbEZNrma2o};tu-BC=>zTo`e2iwj$@AH3N-uIksGMR*g zgoK2IpMbjf?NAjRPJSK~fI5B~Xq1DXiTwz=m@VXSzn~rm>Y5!gO6|~6W`{Pkvcv(A z3=FP{H*_LY6m5cQ`qzkvat3xtLW&IwH~%{pCIM7eGDyKZO1wRMp*{lGNIlH!m@+$AjNA_J_`i5<+y0kW1?*xPK| zjCV*MqUzaD za%`Uw##r{@a_XKB;~8)zr!f3&zsx)d9|G6#1q?NeIt9Z16P#~YZse5YIDUt3M9!F1 zG{e?n&`$KHJ2byn9-)PFgZUu;L?^EeNbq~jL%so;;nK-tL4nkOzX`qu_^;axdmWz* z9rH5mn0piVyWh9ddiD%?S->D~u!dpCukO&x$UPyi3n=jZepqg_rV2@!xD&e?M}zb4 gbO{Lw35kH@H&&#AC)TeUMF0Q*07*qoM6N<$g2#@STL1t6 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_ice_cream.png b/app/src/main/res/mipmap-xhdpi/ic_ice_cream.png new file mode 100644 index 0000000000000000000000000000000000000000..24257f34b57ecf3c5b974a907419b63aa848e0cf GIT binary patch literal 1801 zcmV+k2ln`hP)g0l7T{f=s7L;=@q+czX6E2HsooFp%53=Qs14VeoZ%pZ~u5 zzVGhsxw#PpK@bE%5ClOG1VIo4K@bE%5JX=92H#<@DbNp{3!8&A?7tIz2pEC~fiWN! zjDa^$KuwV0GlXqN^bwHiKM_N(Y7ZaqDmVve0gtimh;|H@VOT;H%u1|+#p|jdM*cae z5+;3k5gumS+5?yZQai%8o`9gQz!c`rwsUDdxB~7Ncu-;`>_V@i^=K1%qy6VvR7$9X z#H4DN$o~I30mkW1VCXfSPQWc3{gG@tmu77#=x~&0V!(f(a2K1=Vr;)^tpr}|u{zT} z_iw<^TRNS90vi3DNT`A5G0-2;R)w&;vjNTN?j%5J-~db)VQm#`Hk5%Udu$mn`6qXo`;CFeA$h8fZRe863o6d%2Qb7ogbtMN~~J&mw|+U0snGweK41_!<k8e<#+IgEt0R!Unvqvdt>{`=m>)u=ijgRKD|xZP?uzhDIz0SiI;GEL`Zz z_QPetxql7@``1RP9=4w?g8e6t!J*@aApfukUmyD%_MJKbJAOV7DP`Bdc)k|SB9 z(*uSHgWI1-R@j8ix+w_YjfDW=dN#aXQeOh$aZ}koIyLex#3txFx%y>*msThQ*NcY4 z9(S4b0Qcnn80>j41vXeU1~zv5%(`*Lby)CvGw$V4{cXcy|H052df8fdQ9qmQtJ5Jb zx{&t5cpWpd+9VUgo2GMV>?qWpD66+0CZyO%_9NS-lAe@H9rX2UU zbaBk8Em_|77@s1JO^M&(lM>HcHN@{4w`$E{@4nWHFCNbJUDb@rDRk#}%TjOt*FBTA zoi3QX?R23%`fWK?I@6S2HPdwBH`!^XA0%JX*}}jq6u84G@h+ReWX_p)$!6E zPLP^VP?0U1U@q_yrAcf_s=`B%qOh1|g#y)L9$S-oFu(v#v}7w3r6y}fiI$OUY3d-i zdMIATc?w0T$wrM@ry-vVX^4iGb}AI5ChIiW73zI;5qA?Su!vTL!qnm!wkB1f6U-r; ziWgxVK)czRRE16~8-qpMU<*@=@)gY1q&l#WBWz(R@lVu`tw(iW5$~dH3I#f}T0#0! zn^msJv!ut_E;}8=GbAsLH*dkBZ`y>= zKelnaREm3kZ?>;a%ZMGtocx@HbBIORT&xqzTnlGSr zY>+)vUgRs$qguf-dvw<2VQv8Qz2LioH*NA2f%9}E-aT*U1WScNxZT-=3+z$c-RO0E z*%bNnY4%SL_8^Z|yfc;OYmY2xvX(b5&uWA}BX&ZeO{9)DKO;Y9VvkGM!PxAIhw$!pU)Pb|W6MYIW%TgvUXZ^ehXGzy z2(?GbkDl3M6Lv5ny_myk(b%d_&sH=K$xdn&FAshlXyrzfEV rK@bE%5ClOG1VIo4K@bE%5H8HWEV)leEk4Rl00000NkvXXu0mjffVyG= literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_ice_cream.png b/app/src/main/res/mipmap-xxhdpi/ic_ice_cream.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c59f56c2995ff5125e6ced60f9d0ffd46bde50 GIT binary patch literal 2929 zcmai0XEYlO7q&M=R4J|0h&_r@TQs)V<0VF^5o%Pd7&TL^5o**3K|_@oRccpCi#A48 ztyEA&jkI=&(em{@-#Opk@1FDA=f`vJInR%K?s?LzEsZ(ZF0;|l&~TcXKy3f=CPTIb@2Dgjk?mSz+1 z(~Hi0?53o2eSQgqw<#Ty!D^3qqCEqnOop}NfUPvItdEECzB_LL_swK$#~Y})KU*WW zH?WtAmGVZs_s+5VdH~}?RQAo-)CrQ zcw*`%HdWtE7c}FTtsU)^eIjGh5niGzRN6&G`EBa0p;r-Aa%3j{&WkJM?Bbu9|Q<0frAN$1#>%)^`uC-aVZzh-Re?aVvMzZ164JF;5k%Bd)vJ+C# zLfmvs(eXsLDTtbWXPR_CUBI+-qX|2xz*g(Hn{a_jk_>1|i-sH=KlY&3btP%)XGYj& zjk{W&IDvdS99RKZZ+R1Wv2tIFMv6+M9i7m3R9aGps9|`watH50F7=yc*|KgYXq9Kmk8||* z{JT9h;G?Sb$yl2DmJ27QfZ4CdUa&tzP!NV1C zGk0|El-Gpr5mJC+A3Z`p>lHxn$znS9IfA4}20mhbu|ms^eC3eI<%>AI*Va(6lPz4; z!u-k~X7J#|{j_~&_f+m7?cWlkn*Uf%2(PWTHs5uB;ZeAbKdgFl%P9uBqn7+8-3nig zs$xqQx>3^IX}qGA2z*Nv8JnO2-ZE&MW{)pzmVZu#ZjZNJ*oU7|G+z1nGhIO{q9f%K z@*?Ypo*tAGexA+Nt$2%#g~#kVV`A2o8)B#`cma&*)NbYLJduB}o(+rF?ex+`wy9|@ z+%z5R!?saZ&c?b%hvDa^8}>FgixfsTEN7avhE;%t3af_|`(d$mU*1AwTncV=SIgmA z=#?q&v}YWMv!<+-%zY5BkzBuKlX#FF(IfYT`-e^EN`H$R4Jr-~BU(~{ni~f9jE1WCgkPg*$?=VZxvfP< zR@?j}sUc#)iQk4MGN4W5VZPS!rZb2e;JY{z>{;OY)4v+c)B5$sz(o1*y7_`ns9=cB z!(k#jqeGWvNO=munQExW8F#l2GOQL(`s7!oG`}?OUqOQ~JUg&46es`G7i{Z{IPx*< z84td)U08jw4=-pcTxFKm3l4U0{`rwro_}+IPPKUTFa^p7Ef3^XU1th?@R5+w9itJC zzAE7qf+u0^RuaLvNG0?}53ADSv6y*V>(3ThBEXX*FZHsP8lz&3cRyt@e%spsrBcbEAd%*^d z-2{^6%x=YBe_)O(dAzOzm+(qXwH3c)(f5udp+(?Dx3e~082bk6iOIp*rKG<@c zYq@TJ&0&O4njto|#JqAdX}b?6I2PtqJ=_`Xu`6*|mljg|{OhQM+xK2~ zHP*Le(4aGCDkkGe2ut=U^lP5X!6Tba}D$S0nucJOM_G%4`Y9 zazvc!>i{jp`HN-oFAe zspo#fG_pe6k)zailY6bjb^ggbTz>l!{5CT4mp3XvJcC^Mh(R_<=pOq-sb@=^ug#T= z`ba+)RQ3BsuFIZgkdIp|o}i4=V0cKZ<)>hqIa!f`+?)VF9!uJqV$(;21i&eiPdakV zY^!V!;f!Dj2sNV>Ha6{ zqgCyw&h?n((2RK=w>-Z641UF-?Yy>)M|pLgmfmG&HA^n8zHu_s+mllJFrw>0%-8df zeXCH}1rum?&YMdpTHGEoxHxK{UpVRW#g|4bPoy|@!&M|erWanB4Jf-DpMvS%<1Ui( zV^ki~GqI`nBkTrxItU7i2R!r3d;CZKTRT;?^BrF?YZhyLTP}tZ>de+Z8jer81IwJ3 z4*U10$x1k%#)UZ->%)p4x|6iIQ(JL0#gxF567l~RNoi<+fyau?*~eFoqp9ZqPMaE9 KLK+QjC;tb?d4R$I literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_ice_cream.png b/app/src/main/res/mipmap-xxxhdpi/ic_ice_cream.png new file mode 100644 index 0000000000000000000000000000000000000000..92f9642f89887756e4f17741c3a09c569a14abae GIT binary patch literal 4323 zcmb7HcTf|G?=KIq3a{)X7n_Yv;*JjL2ewFgSQq&DmD+-@?1dMsT z?V)kF)kRhV9JeGMT=FH|#_r9{7zS8w$(Og+sjK5@@i2j13eZ~t%~qLzHmw2E zqx`uEs3+5`gxxf)dspozAJANt;SMB;q%>Or`?k^oZ06kGL{pbbx4Cl`$7w!X4Xexo>^(Q$od&zLcX|Pfko&~RI;6ZA;IpVw z8l$Pp^h8eDioUeYB-d0G?cOX~nv*eD3c5VhIHsV*z!$jPs3&?RLzi-1?{#pLEzje6 zfP+~4WfmYf+upzl+k&;~O|!LJ6saqF5Do=#4ls}$Q^_*C+Wl{DQzJ!R;b}QiB`2$; z&rZ;Kh(6?TFra~KI8HoEZ@M>5I(MPE5xcPr#0a7uaT&|Luikeo(unafJi0tYg!rrM ztxE;~3HCpfsW?_9DioiY(8kDp+>G_pXS@u{w7m<9Jl+RzXCcs2+O`HdbAHEqXOBOo zBp^k*XRT@XHxsBounG zG$(Vz1-4o8)5;~?HZZ#TfHJ}1s}>k*+v)Mb0coWKjgSZF<)+(#w?QgKm##^O8Lm$G z1Fqe58aB`I;lcHUOWJIBq8&8gARa1oK$ob_|Eng(lca?|bne(5Q5M-{ETmK18SjKP z#cKozd-~7ROAnhE2Sv*u)Y5IuTlt=5qL;+a*Exx&xFxL)4QSJuGr%0mSw#Itx~tJt3l3x<;`s z2z#f9st~EmhU`+I<75}=@*@VFH_>ll&M849XUn_FtFOzLWyyTS4*iq09(D&SE!vRJ581IB0QyCiY@X!r=dn#+cqute78J*HxeB@BS^WpgJQg)B#Fd9P43>3 z*$cttQ65hi2`*QPfmgaD<@WeN**}%FG%()I8e3+Y=?RxS%wdf^xa+emWS^(nlE^)0 zll)jEdd(yfCRlJNH>(o10Vv^h9w5x5K=GqkqO39-d=X=G<8mpP^S&+v9S# zCx|mg_9R?T<`T$wDUULNJ>8W39mu zkBL)=$BM`9@|EhZ3?u`Ww|@ObvXYHWNuEHWb1w*67a?~kpicN#BVfJcL1(en2ifMA zA9+&+oU2p6x>{k2?q1&_eX4M`DLZ{?5rJaaPjl?hIv1u7ySppPY`faf=In%T#<-D^ zUz`c3&p#p>hnBDYAg$(iUjNRY|8G|4d`0Tnu`qFGZZIA@Yb06j-QVC_2-<3eUe?z< z5BZ2OKKHm6P%pD!=i?uKkQ#?>2;N@{#+jCa+*9MMmpw*w(UkrM;bzxg*i%Cz%q#FXcnnxGsDDEf?rXUJEDGCmiPM(UGG;NN~#a+by3gI zmJfXnmE)Je*$||bmkvwX*JA$pqhE65Ab4-({Xo_5v$b1gVYOoXv}FHfDG+f=m$u|( zVZM`qzX?ZoM{U%6=4`=tT*MLTP$l;WIl!;cbdPQ{6sFH`zV=Fgc^639S-v$w_}LpU z*9l8PH24GYIada~6QC?59Y*=Ho%vMJ{7y2uWdgUd+DwHfjAA7aCSn>iTi2+MY32Ai z#V7+#25?V1|A*`$#H1Z%U??K!#i$TT0`K;m2wXu8K=2l#O$fbSJlS5;S z$4=zy?+|Y@nj%XFDd9QZ&}ltJ|4w>1Uv?Py!fP148R`NqTgq$|gC-~Oa*k%K3z;FS zH7g=&O}tqzwX(9!f+)xWVTJIqWuJiPEB80^s9B&~)Sn7TH>E{;(psXUX=g|xzK@p3 zdJwG~Z|^HZvlfIr%x&T;<-dA(O=%_0t!H9Me>yS8`j@y3cCO7mD!Bu^YMN6*;SPQw zjiOT8;I$(c$z9rE@tU8ClwX~RXd@`%4|AoS9H&4MjWbI*JGwRMjUw_L@=Bw) z`_q*zcj@beQ$ueQ1i;zN-HjzbyQd-9Zqp28j*3A+e6NnIFd= zht57Vw)r$?C;Kc(I^zCW$9%?dvYd0P3^@zG(pX-HyS-E5g>${2gc9yYX6`-O>^m%3 zsyJ=$_+eQt*gw-!M(AEtR>WdL6Gj|HZKPE+&>PrU35&cqaWJk8WiT4ZIVvOuSO2^t zi%DH39fYJ!12E`1!^nvu-nNCVNv{!alcRvlKr@?xs1-W!0OhtXBf1z~sJ!*6IUuHD zId;--A$noNule&1t&WzXWssai`{SoRfzFWI)(2XJr$`3mXz6nOec zVS9P9J*04~cqnCi5g)u^L*OE&Z)ZNct>OF8q;%#)Nr1o?Dlb)M&C3K+>x7dpaOlbnAJ_oNWEfIsW^{` zA3tjiCQ@8y%x1b+7NX5d-t>+I%)C*VBw;`J-uQ_zpl&b>px;15$7-v#=mJDVU&oJ6 z^iMykY|+XmAV%ur%nvW>U-3pSqdu>V3uo}dfj+jXvSpD;$SEdpNGGfD5EH7vUYq3y-B>)^PQ%Ai zH9B%3GVvH(b;&)CiEByBd%;dYCb3<%p`Vd6W}Ecqvm65QKXjmpZgY0~@X%~sY;7fb zX%|qXb9jCpW+`W*1Y3LzKv+0=1_hViihNzRysJ<%!S|tB(rOJZcWI{Jp#Ni^--rg) z0umy|eXdbs7fDL!-1BoS+cEMMR_?c>TQ)w59Qph(#7auVxgRGWgibK{`)KWN1x397 z3@q9sW(nD3_tFdM^d!iqE3D>8nvTq;`}K#%>;mE^@-eC-FE|`4mh(o+{kX<&ZUZ#E z`JaT!A_Q$D{qpMYiTXodjlvv%I%LBW@>hTz!dN_U$YwNBgo}Yim99?^l&9AbOj}YV z)A?>K4eRDn6Ri0nxW5|zLKpnS`<71MRkYqX^WBgj8kn76r@xAu5P zI_F-Qzkh0Ap=eV%Z&qhM+EyL!qI`Dd$4T!&^e^rDK4ux_wkN2`&6mUGUim0Fw29?e zeBu~<^Iu1;$@&RO3}Zu;tuiXW3r{IpwZ&KKq$gYyFy*b%x2Rqp6j)-t*x&dEZyQGx zzm$sdL;)*gsReB}@J2MwkRSm1;R=9doJ1p3nNO?hVgQW7$1(vBAOXNUuLht)`M&_1 zGvS5xZ=z;;%MY6{c)JAA8`~0p1bRo}c&#&yy=zbfS1Vhk^>;wRX z8Ya$tKRxhU{%YNHd4^5~MMC%9uNfiOg$r?0x>e{WIi%UQj3crEsdJThBBA3l1ukd7 z343XoS`V($hW&Qj)$$%Rv9E;WCAyipV$^ki+uCz*i?`Tsas9~l4o#_7q41H0e literal 0 HcmV?d00001 diff --git a/icon/冰激凌.png b/icon/冰激凌.png new file mode 100644 index 0000000000000000000000000000000000000000..a917918ee6d60e87fc6e187f881ef9847f3cb969 GIT binary patch literal 2023 zcmbuA`#;nB1IOQ=ZHyV#+?Ezoov68`9_?hzTvAv_Yf5D!mr9b>N-ndxE6M%x&1H&1 z39Xfrv^Z&~e3J^H&B_rW(zlG}a(w@V@Arq->-qWvUXRx+-P?1ICdv>60MK;X>*BLY z-hZX0y6SC|fS0R)*gkulK>aKH7XXkIZZ3}WDF3geQZM{L-PUet)ftH@)RVR?fTW+} z${f$VwGTD__w`w0GrJQo%AY-b2->2%GBBZlRH40uJhj1h}EQO zZcuLbzXj?GAeZDi-))|}`)3QshfA*<(gE4;^kwQ+B{&t9Nc+eq9J$%XKz87a28^H* zHvvIMKOX}q%Np=SzFIa# z>|+lX_oquBO1Zhai*!rr9f;Wk>Eh88k zxtlN6HwbgSWN8q7c3R)FQ9ivJN=NWBMa(eZW5d+VVx-xH0g-RxSjF=LjE`rI=Hh3GaN`(WzQ&tLV>?+H}@;Z+NNyoBU(o-k-KH3 zlX~M#aiO(ibJFr55{U!^4B{b}3(|jCHe0vgTkGXsuhdSs(`#d0H_&~R63a2lY@lme z#oFH!sn{#Doo8&RijX+cZ?#pKY1@X)1Jox!-8$lySHdHEz*iIu??U9RMl1pBeVV zrm!6UW0@=Zfr?s@ZH*F@b#v1Vys)VQg~lD+p1i&y4oqP8eI!)k7)p6P?&$t2*IwgV z{7<@{ExNhk4dw&{{Oz`>ce*fVr%9a*NPc~+EhBGk=7p2M4(vl&1iChF1Kztf^zD=~ zw2l=0p=ol%cCPWj#_xAp%m%9~N^RR4G{ZA3Xh??M#+Pev-pnx)oQyk0KSY__1tyLi z-)ga@7eR<(mOk8d>BHD8Q|xieTYv|`;}p{Tj2Oft`e8PqP8EiHA7FQODVMAItNL~1 z-#uTIO4Kwz<#FVXAbCW7X0Qr4OW%UsqC)+gB0LKaykyq~gJM7c=KZ|UPq|0}xYtV^ z>++J2F6c9*=QOOIt#|8g_mB9s$24KWh1 zLpWxs>2W=8ZwwwhovCHL(|7Gm;iFW74tNyGFm+snd+OEY%ZhNc=Sfssu;V{%1CeXd z5g7{8TxlCf&<04tnU+tY=N|pp(7m#+p23hWD%ZW>=8#S zrh};V^0vnIwp`kSKy*`3G6W-}WWSkuf$0b`*H-84sKbrOTvI^3wmVExQ$zdVQC#9< zEXr3u$iKBaXY5&AWcVSgBO;NrU=&B|}7JOOW4(B-(6(mwHd%Kpyyb8+@ zeMYoezAFf7UZL58-x9BaPTI1K0>pwmbe|*Pl4%weWEs>HJIYkE61k=#yga~?8iNQD zD-}m#g0!fd-K<$9A8oS|jmZN7KZ8yy*xm7J{t3S=IpS$wOT_!f=3RjU)#jiv8HRXx zA>u~-?_nKPE^6-!F-}7#-#QrXm&_L%BrJ}PEr7Ph!|ayzooAj`Pi>XUTf35}79+$j z&|E)~=C@WbVzYDeWUf`u2d7*3)^435p&kA0yn75dfOXEtQo_%H7XGQj7G2{i*J_mg zPvP%0ZhA?)j}H|k^u_Rg_$9|)vWJfo-vVQ(nW7ktL}N)`W2SwaElnvrbUxa z;DJwOY0v3l=61nV81?f);^DH1?4TFny1*wSexEWW3c3lhF3ky0spL%`)iYo`qD#Aa z