From 3c34e86641822dc7850c693ef3a311f1ad5ed001 Mon Sep 17 00:00:00 2001 From: Alex Ardhian Date: Wed, 2 Sep 2026 16:38:47 +0700 Subject: [PATCH] App Android: tambah ikon launcher (hijau zamrud, grafik putih, badge Rp) --- .../android/app/src/main/AndroidManifest.xml | 2 +- .../main/res/mipmap-hdpi/launcher_icon.png | Bin 0 -> 2359 bytes .../main/res/mipmap-mdpi/launcher_icon.png | Bin 0 -> 1321 bytes .../main/res/mipmap-xhdpi/launcher_icon.png | Bin 0 -> 2735 bytes .../main/res/mipmap-xxhdpi/launcher_icon.png | Bin 0 -> 4748 bytes .../main/res/mipmap-xxxhdpi/launcher_icon.png | Bin 0 -> 5506 bytes flutter/assets/icon/app_icon.png | Bin 0 -> 38545 bytes flutter/pubspec.lock | 56 ++++++++++++ flutter/pubspec.yaml | 9 ++ scripts/gen_icon.py | 86 ++++++++++++++++++ 10 files changed, 152 insertions(+), 1 deletion(-) create mode 100644 flutter/android/app/src/main/res/mipmap-hdpi/launcher_icon.png create mode 100644 flutter/android/app/src/main/res/mipmap-mdpi/launcher_icon.png create mode 100644 flutter/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png create mode 100644 flutter/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png create mode 100644 flutter/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png create mode 100644 flutter/assets/icon/app_icon.png create mode 100644 scripts/gen_icon.py diff --git a/flutter/android/app/src/main/AndroidManifest.xml b/flutter/android/app/src/main/AndroidManifest.xml index 47b69ed..2df8405 100644 --- a/flutter/android/app/src/main/AndroidManifest.xml +++ b/flutter/android/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ pcXuz#!Y+@~@2|P@n{Vd( z?#%c5X6Ei<^ZpbKMg;OCHt=;^p9d}+Yp!V7R>W{`Ith9pHV zJ0}Q7tc^dL{9}VKF(L{=c=t(TepN}%dmkVC>eKi$$(Mh3%E5B3HP@_jpl>2(P{_kj zf&jAMn5xDK^9`K64Hi ze+*p_G~d$dwLc%cS$}7EWj?t3K}Ooee_amoS&27j@9&+UVVGW#sShN0+Tc8Ao{#I2 z6S0ZbW)|TAt3TPbUo4dX00P`SUF{aW6TU4jGy(wdpyOH3fCvIO5i`gM+K@4JNl^Bp z=Snv_2e*w5culOrjl!Gd7F^z&>s}t!IrX6|7D=5lu?MkO5W*n0tsYLMf z;Uz)I`Ks>+#A2EbZOkmTEDvU3SV3Lo!}e$NV;PS;RAspwj%|r! zK=RcA0G<7Pt$p1z9b%9iV^CvxDj)`Ad=M7(&I>O=vR4p7u~fP*H(e%^(R4_jF~hR` zI3OO!ksd|o%N}(wVA#{65Shx6vu|_EUmI)4td$T05vHV3bz04 zqkctJpzjbPzmKVpG57fkFU1~qvYxN*RnCv4DMjB5N+h_=^c@=SpgAVQ03dGFruR2& zvobZOa5X~cRB_(d)x}Wppi74sBzFO|l#Ku#3X4n(`8iG%M8fDB8aSGNzWhNQR2r?a znWn?(LLRUBt%+Z^6`vd;VKn!2BxI*Gc05zIgsPLkc*uhQBC?)Ap_hGvQzL)FfDAyE z`>jtC`Dv|v-Gn-YR|=cy$HGWX8}O1!D-`DGpS~kr-7CS9hQ#dDe(?}>VwAHZAM&IUt)v@(GNR2d#yZLmn=3Z7=RV?76@h0C1z> zPIh&1iLmB&b0gBE7498)F6ICmqn?=Z1=s&jkReBMINVmLr8XYYgmS9?J-h-D!Y|$k z{UbHGS(_Bw;X81op;W1FmB<{#pzp;_J!Wyde` z$;(Pxd4%qP4xW)NbBN|qFR#du70>)^^!^Y}KYD-0l)N9x{+ORZ_KMyuI7%F}7V2}E z6R>E>xw!Wo2`39xv~-Gk%}q=(CQ}`vlo3MNmH$i`j;nDEj?dWG?Z%g&ApkLJHhsKp z51WZmz90htif-TfFz?I%9h|%!-F%(heVrG3*gG>B3`#Rx_*KQpg;_czBsEq9lbxWs zEOtud+fhFYp_m8&kjdqLy_TC%aTR~174@|h^|cT{9>>JT$=%mw*vZ9qj;h4f(AxaT zcR5J+fF?pn#{^AHa+=BjI9c0Xd@E_WqbpF8j=r8l{PdfRLJHv`fJB1>CHDj+_XH4t zxn`EzgVs6Q*a=&jGAgbONyMbKB%vn{WhJc=rh{K-)nf0jb|11aw^aA)UQ5$&GgDi- z+LcFE6-Uj7WVJ1~S0zq0t` z6~0(1HSVbZ(c6p*Z5{*Qvo{jfd-;#_M_>!l(BOxE|FWpA8X+TJ0YT+{aqJi)y$fQQ z&BQ{N2LLr`Y-`zn@w10*&B~U>Jb3GTnM1Q_kjdpk5($^hAy$?PYm)e9dj|Unogj^6 z13?G@UA{NaC1|NkmR6Ma?#5SDi8br`_sIpBQ~e!7w**bUS4_%IZ}07j3|`M+vA?}l zno)XHKD>XO%I_6A#~AHOmCH~{epYfp*0O~zq&_IWz(UBVkg7tv@wz4GkyNClUHa{( zp&`W)n%*nw*B0%9xA2K(m)TriB#-fTr^M*#F5xPx2r@({x$s17Sw~ dF^AEh{{rJl10x8t4DbK|002ovPDHLkV1i3kfGGd~ literal 0 HcmV?d00001 diff --git a/flutter/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/flutter/android/app/src/main/res/mipmap-mdpi/launcher_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..573afab6643830d171cd8571f8ef35eeb8b4fdf9 GIT binary patch literal 1321 zcmV+^1=jkBP)?4*EaX97Np^65!yrQP2|R;(7Gp&C!Q9e*OJDU=CtrWGb@u z&9nC5Vr7Sjy!!I7X7|$dS5J`UAZi6ri)&=MxjV9m7!Uujd8hRDM@r;a&;9z5Haf{x1{q)a2e~5MvHG;@r%Z!nc@%W9)b8~Bw zCN~%QMR_*n$%=@pO3BuSr`RfJ?YVuCSO-xhm&x*rKo~Q3thZ3p{r~^p>rd~u*H2W> z3aJT8mJ<*q-WKYF(7SJ+85kINIk~1}lm&N`UATYi-RDoS{q;U3HjIpnZ@+#b-WKXO zXz%Td=@uU6CoE-PVA$U>3Z^!&7cq>8n7@>BisLH_@B7Ee|}`4y|NA?$RQy3|NsAar*?PlT|<%; z)XDY?3=AK?eGQt|;-Y5YqGlk(#rycfn~hgaTzYyRO&JptW0sANft2F<%g47~J&nyl zRIEDwGwiu>e$S2bxa1ib8C$*L(yhH17#ITdtX!s6UU+g3-9dD#T-jMzr-$VP>RUm$ zOpJ``Vlw9+-$i#2eVQM_+`$fnCD z@>fs)@cj#>Vwy*pwX*iogmM8+9tijU|Nkq`9je?o?>)FI#o{2UWP4no$~_|ADUh9o z6~g`V_wR)L>(^a4`tRRAT=r5e+hc-M8_!bLP)PB}z`*e3=lAN3^G`px#Q+W{T=vo` z%3{o&JA+c;u6h0WL-CqfcV0b(O8@(h%U+r!>KJpEN#WT{FxR~J^sZ>tj0bODz!iX8 zLpKK{T6^?`Wx`!^>*bT&<&!`E_=c_ymxD-+G7eTYQ67QE?_Xh+jkk0|cFn!l&kI&e z{q!BfHPnhSb4AS+8MQ)OyyqX?*>nBe(K}a8-n;(o*AJ*`tlTF=WFv=7{_?3Guw`%j zQAVt5f{bjZ#^iIea{x;=BY9OLc~u66@ZW#_oO^Wp(5*|q|Ng1)ih{f5=JUt7%do{1 z%tbh}{eL2|Jqr_4y?=bZYcM?5zyT`@i@B1fxsoQb;N4eG^OsHj^!+PN6aO>dvX^j_ zNeBonNG`Wl)rE`v`2CBGg@uWc39I@W&mZM4oAU7+mTCdv9XHA!Pe1 zR?YnS>xY4yiiv`{v4Xmim=rvw9=&~;vv}ecTrq{@B61v*=^W4+oWjb&0{7OI3&*;* zt@!l^)ImOc|XZ;PfQWxAgtL>T2Qn#Bqi9?9-e4^ z{{G#&eZ|IeM;I8;lhKE-Uv^(Pv-`>!!tOx0hm>qD#wT>FZkjL;A6(?w`!^MeLWY?UybFFsGY%GNvMGhh*+n>F6^T)4W9Bgd=|NmcceDB1a zYe209>Vp6ONyzs1UOsheFO0QyfA;>()(gjJ(O@Du+n>F6)t literal 0 HcmV?d00001 diff --git a/flutter/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/flutter/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2f77d7bbae89c5563d59497b8fcb8ad8d70a2d GIT binary patch literal 2735 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 aQvU}T6mrm&}0R>q)q`O2)QgX?qq!&Rtr39oK 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 literal 0 HcmV?d00001 diff --git a/flutter/assets/icon/app_icon.png b/flutter/assets/icon/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e36ce61ce9a12299280a52433204c0ddbfbc433e GIT binary patch literal 38545 zcmcG$c|6o_6fZuOQc1S5B-E5WTS9g+DEm^8HN@Ce$ZpU^wrn8=ku_t>}69?QAQ=RhD3%l&&0a}bCT z_>&QIh93CXhP91@Kp(B{L$n?Q0jUY@Sz>~`?ne{jM_9cAbjImt%?hDW$$Eg ziNyKM%SXXRoe(-0>>$4d&AS9p1?_2B9?{5y(pc$eAEno6djjPrve7;wmG9C%K-B&9 z|KBj0F%3lH{NAholg0lZL>5)G``?>I`TkE>$q`e+bOzW?DR%|!2%v!1|9ycG|MG*Ah8nDa!(_%$+qD5VCLDGY*ZMB1~IV|Zhd)N@}fjwF8y3udn-0fq} zAz5Ze8_(B0DoDErjuA7Hb%sDBE|IzHPc-j>B9r3*(xs7ey5Bw&3@><-=GQw_r%pKW}F_mzsi_N|&;Br<+03=hu4v_ofF|U9MQ0H5zRq!9= zMabk8PZv(S=Sxi#VLp=F&ur;qqPplgn4sVK-pm=} zTXFcLK}2*DU2o=U)CN#aw)U~rLrUB{sWMtKjMid=Zp6zBc2F8Gplqf_4{nnr_-9v! z-Uj3Cv~S9~j5o3LRv^jBc)}fb^8Ey7v|#JYnTlm-PQW9`-dwIF*j{Y!yP}QjnmtTt zvECf45BZeh&dxhAd;`qnRsC@HEqn^A$c>`f9~bDkq9~(nQ@&E4R2pj~p~NVKzN=hs z=x|8q#~{t3vKkH5ve5|;sNL=>YacUJJvJVB8qJ3P5>_#pb|aom zP1W++hB?7)lvgCo3evdP?b80KH11N{VuGagW4VelU~>qhophT9ab&7WV`nS7>UW-6 z<5zj#&Zlf9r)xC%a7bb$&jdZ_)OCQty0;N^<|(y~ChB-(ypf`hY{Wl3^qfx-|{Ei~j!zZjB4f4YLyTCE5g zxxQr&bFA;ON6LD=>eYgxN<d$@7nKgOQDwfn~I!mR&~mXWFz@6vRIdU+DebhUz{j&`s< z>WI&f4p~OOgCeKX@t*o$7!caPdkVm`_vFKNhXPkZN^U2qdG|7Cw01@;@qPNs(Aa~A z_*Xk#J>8~2oi)g9T6&uy;7!208*?y#E^^Y0!6!;#N@gw@4bD`x7yNI=C0uUZpg0^+zEC=sYux-UVwhp>j3M7@LVe?O&fc458^c zi_wo&l=Um;j#@vcZO~9XX(;HiSYMX~S|yhc^u!Htx{)c&b!&rre=F3ymNp|owqyAc zvqa-5p1+lGM@dXGM0DI-3%(qOg_VdUCuU#uZy2>?%0DWt(YOlmMqg-}I5v%`KYZQC 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

8Y+QMK<%6Zh)^Y2io@s43i1<@WmGe&-cUg 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 Z3^}ZKZ puncak 0.34 +line_pts = [ + (0.18, 0.72), + (0.36, 0.58), + (0.52, 0.62), + (0.68, 0.46), + (0.82, 0.34), +] +pts_px = [pt(x, y) for x, y in line_pts] + +# stroke tebal dengan join bulat +lw = int(0.078 * W) +d.line(pts_px, fill=WHITE, width=lw, joint='curve') + +# titik pada tiap vertex (bulatan kecil) +r = int(0.042 * W) +for (x, y) in pts_px: + d.ellipse([x - r, y - r, x + r, y + r], fill=WHITE) + +# area di bawah garis (fill lembut) +base_y = 0.80 * H +poly = [(pts_px[0][0], base_y)] + list(pts_px) + [(pts_px[-1][0], base_y)] +overlay = Image.new('RGBA', (W, H), (0, 0, 0, 0)) +od = ImageDraw.Draw(overlay) +od.polygon(poly, fill=(255, 255, 255, 45)) +img = Image.alpha_composite(img.convert('RGBA'), overlay) +d = ImageDraw.Draw(img) + +# --- badge 'Rp' --- +# posisikan di kiri-atas dari ujung grafik, tetap dalam safe zone +font_path = '/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf' +fsize = int(0.105 * W) +f = ImageFont.truetype(font_path, fsize) +text = 'Rp' +bbox = d.textbbox((0, 0), text, font=f) +tw = bbox[2] - bbox[0] +th = bbox[3] - bbox[1] +# badge bulat: di atas segmen terakhir, kiri dari titik ujung +bcx = pts_px[-2][0] * 0.92 + pts_px[-1][0] * 0.08 - 0.10 * W +bcy = pts_px[-2][1] * 0.5 + pts_px[-1][1] * 0.5 - 0.20 * H +br = int(0.105 * W) +d.ellipse([bcx - br, bcy - br, bcx + br, bcy + br], fill=(255, 255, 255, 240)) +# teks Rp hijau tua di badge +d.text((bcx - tw / 2 - bbox[0], bcy - th / 2 - bbox[1]), text, + font=f, fill=(0x07, 0x53, 0x3a, 255)) + +# --- downscale to 1024 (Lanczos) --- +out = img.resize((SIZE, SIZE), Image.Resampling.LANCZOS).convert('RGB') + +import os +os.makedirs('flutter/assets/icon', exist_ok=True) +out.save('flutter/assets/icon/app_icon.png') +print('saved flutter/assets/icon/app_icon.png', out.size)