From 8757f336444545484799723510932c91be689bdd Mon Sep 17 00:00:00 2001 From: jld3103 Date: Tue, 18 Apr 2023 18:44:21 +0200 Subject: [PATCH 1/3] tool,neon,app: Remove unused notification icons --- .../src/main/res/mipmap-hdpi/app_files.png | Bin 499 -> 0 bytes .../app/src/main/res/mipmap-hdpi/app_news.png | Bin 602 -> 0 bytes .../src/main/res/mipmap-hdpi/app_notes.png | Bin 859 -> 0 bytes .../res/mipmap-hdpi/app_notifications.png | Bin 1144 -> 0 bytes .../src/main/res/mipmap-mdpi/app_files.png | Bin 337 -> 0 bytes .../app/src/main/res/mipmap-mdpi/app_news.png | Bin 377 -> 0 bytes .../src/main/res/mipmap-mdpi/app_notes.png | Bin 687 -> 0 bytes .../res/mipmap-mdpi/app_notifications.png | Bin 724 -> 0 bytes .../src/main/res/mipmap-xhdpi/app_files.png | Bin 583 -> 0 bytes .../src/main/res/mipmap-xhdpi/app_news.png | Bin 624 -> 0 bytes .../src/main/res/mipmap-xhdpi/app_notes.png | Bin 995 -> 0 bytes .../res/mipmap-xhdpi/app_notifications.png | Bin 1402 -> 0 bytes .../src/main/res/mipmap-xxhdpi/app_files.png | Bin 843 -> 0 bytes .../src/main/res/mipmap-xxhdpi/app_news.png | Bin 910 -> 0 bytes .../src/main/res/mipmap-xxhdpi/app_notes.png | Bin 1473 -> 0 bytes .../res/mipmap-xxhdpi/app_notifications.png | Bin 2042 -> 0 bytes .../src/main/res/mipmap-xxxhdpi/app_files.png | Bin 1089 -> 0 bytes .../src/main/res/mipmap-xxxhdpi/app_news.png | Bin 1643 -> 0 bytes .../src/main/res/mipmap-xxxhdpi/app_notes.png | Bin 1716 -> 0 bytes .../res/mipmap-xxxhdpi/app_notifications.png | Bin 2720 -> 0 bytes .../neon/neon/lib/src/utils/push_utils.dart | 20 ++++-------------- tool/generate-neon.sh | 4 ---- 22 files changed, 4 insertions(+), 20 deletions(-) delete mode 100644 packages/app/android/app/src/main/res/mipmap-hdpi/app_files.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-hdpi/app_news.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-hdpi/app_notes.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-hdpi/app_notifications.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-mdpi/app_files.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-mdpi/app_news.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-mdpi/app_notes.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-mdpi/app_notifications.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xhdpi/app_files.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xhdpi/app_news.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xhdpi/app_notes.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xhdpi/app_notifications.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxhdpi/app_files.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxhdpi/app_news.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notes.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notifications.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_files.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_news.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notes.png delete mode 100644 packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notifications.png diff --git a/packages/app/android/app/src/main/res/mipmap-hdpi/app_files.png b/packages/app/android/app/src/main/res/mipmap-hdpi/app_files.png deleted file mode 100644 index 8f8385c28313ee8af79671470b2bd97c8cbbed25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ<{->y95KHNC@5Lt z8c`CQpH@mmtT}V`<;yx0|R4&r;B4q#hkadZT${Ah`2ud zuA?QgWX-XgPS>21gBGwf{m_o!ZPHcY*eE9MH``r0XYuVDGdGs(D{?#K(>Lj($+r%J zKkGgAHr^5RP?+GL(CEO_$il?QBBb|=ZT6}?rr)!TXY=oxb^Gp{%>9yIjNPBTo&6;- zR8RR&@gC9TqANd(cWayq4Cje9Uwt&~iYeO_+h&_%_R|ktYtQ;<^UI3aqs*f{+O*Zf zbAD2A$CN*Y^Q)IUX*~0(Z;GqJ<{IU%aU#K-+gI(34B?!%PWMsnw@+Jh{Zl@3d*$T4 z``#Y9Gsj=xh0A@_nGVaV^iHw}ai|EOx{)FQC-ZQ$(&x*BhY-Z}58Pb(0red7_|^j> OjKR~@&t;ucLK6TWO1fD9 diff --git a/packages/app/android/app/src/main/res/mipmap-hdpi/app_news.png b/packages/app/android/app/src/main/res/mipmap-hdpi/app_news.png deleted file mode 100644 index aa9b7b35db523853bbb8df28125bf6b3c20cb4ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ<{->y95KHNC@5Lt z8c`CQpH@mmtT}V`<;yx0|Vo8PZ!6KiaBp*82TM{5MiCa zQF&?Sf<-Ff3l^MK6?nuV!?^SThoI9VmOBg+ia59eq`bT|Ryw(=Km6__V?*=)&H90YDP_TY4Zk*L zdkU*`C^)usEnxX^>zIOKK>4?>1z*&wSq#1#1xB0+4z^hnx2A@j@xY^3PgXco@ijZ^ zFV3CKGGDXn_rH{HfjgJhe?FT5F@uFu$wR=gi9^WcMM+?eR^!^e%1w(RqM2?hwLz$^ zMLSN;+`5Dl>;)0m!pX+R14OdD6QWCYYnV+ra4l}(q8mNaOu$A=P-tQi1iQ>n+%?^6 z5AVA8WgC8Q^eoh{N^H1&@X60fw&Ko#B}$BXIrF*~X;>wd`srqZwFtNdmK=FC$56yo zou?rEbIkVcMa*gZJ2ef9{{@Jg#&9dga*cI?KWl_S0=KNKvEy8&aVyMjeoL50^Xi#V ym%v_9+_Fd_<}43Hh9ywsI#69;pbFHamiRu|yW!4rdYggig2B_(&t;ucLK6UC+UAu2 diff --git a/packages/app/android/app/src/main/res/mipmap-hdpi/app_notes.png b/packages/app/android/app/src/main/res/mipmap-hdpi/app_notes.png deleted file mode 100644 index fb16e67211e0a6ccd3413405ce23223d546593ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9EOULed^URB}?6qGD+ zjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw>;fr06Tr;B4q#hkad_UB!8U}*UG zUh9flnbDTowyvc@+!q=(ofdH@I;y)>H2HZf<(_(ULdlCm!UsA68uOM0T@^GvaG+yG zMZ+}3Ug>Ev%)DBGldS*mFMcQe`1H|VC#T=&Yn>u={YP5YJ;uw$4qY-6l-QS?VAL#v zGGBOIw4M<4+PnDft3%wH6+9k_l~3o-&-?i4_i70-HETlm zw&%!xedL$>Ur4&2c|%p1T%AHj$Rode^9w0+96KkxVZC%%QbhWs-+~N_<|M^P&XQ}N zuPHs^iF(`eP!DLyuKW!`E3W12pLpV|#e31F>bb8DS;wkqH!{3hTc*t!w0)Pri=M5_ z8W|y0(&p><_RnGQt?V&21=#V427*xk!nupsbd z%fEX^#Xr@=Z@6E(tthu*#{Hc4F1C|c_FR)p*9*9?qU6wry#jaketEU1<#3=!;I!FO z-u!;}vUu*sG^W4NVgDcUL`^A}lCV?uifz8{ccp7K3VSCX__^;vg2*JGK|T&vD?<0O z2kOP0W$G$xlM&T4;+w%D^8S;fxTYB2j3WDtFXBa0{8;XMi#~q8&3sPoy_%5KKdKAg zbBgkdygwm%b-mytRIp25$7$v6Y#z;m)LxJAzYcB70xEocg!+*SF{IGkwC& z2%7w~QO}Hj9rrdpYVuS5DepE(>3v&&b;l>xO+4(MST+f;e`4As!v2Y2lLY%FwoNkZ zn^?3M`BGRzgk(-It#GlJU>0z)K*4u`&?AQ^2i2pECJkOa%$|*2eaxN>%NW=nG5K=x z9bufMB-6oVl4>Eqn!#1*AfDk>=pg*!lCs81HPzp0j~mni-2U7BsXcWlK}O?Uzw_eh zSD$tOmN1Q*!Yjty!n@+J@X7OV=#ES`njxgN@xNALu7N1 diff --git a/packages/app/android/app/src/main/res/mipmap-hdpi/app_notifications.png b/packages/app/android/app/src/main/res/mipmap-hdpi/app_notifications.png deleted file mode 100644 index 52112ad9df11b2c5efd4e33c78cea52e87155431..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1144 zcmV-;1c&>HP)2Ei~xKEz~=w{g_i(~`-O#h8@ZZT6;wW-9Rtz#|5L&MPWy#BSCh)L7Hfhk`Gft8 z#$5oOqO=b1XMSPf?<8`q#o{I{b5P3xfE0mpai?j8H9-tM8lpT*tx;@V<~Ic`lfZ!L)ls-E9JAPM6Dz5uW;;+Pr; zzX;G=`n%F!2II9Pc0n(42YW=PoC5O+1lyE@z)ZL)1bvgaSbAb;=6i`%P8Eb>4k4G#nSX}^MZzlz4DGnKZ5v}*})1J zKl=~+zQ+7~!{k`wpKf{Q;#}f#0Dy43ymRrI>9IxyRq_WW0Gu*8GbE#x$?RE^1C1@Q z>SXqF$#fg$u2fNxl4-DOwp21P%*+`yJ(QA6H(*~500<%Y21W-uj0`g|*&t@L;&O^niCVq?2I%jup)g!pci5KsN;vu*g{!HUih?K7ydzGnpOCkFs}E9nhi z>JHHsBnc;UXT%3-FEgzrR=qH=SvI^S-4JmixMNFt_K(OJway@x-VvStB#`v_kWRmz zAjV;x{zM?5l~H#O>euX#ALhL}?Ye?`HT#o5E2FNUjhg*Qpp`MYplK2Sx^xbn5Z$X; zBcX8y9T5O1dVgZjYSu`&Uw0^Qf)qGG3Y;JXPLKj8NP!cizzI^|1SxQW6gWW&oFD~G zkOC)2ffJ;_2~rSQ(2Ls2c7r)$MJH<{LA8m&K93u}Mm=cK2-&#x{M^8Kf zja0qJz>X*fv;twPM_w_Cq)>uBNI6X+N(wCKgO<}If}}u#J_X{g`aR+HvtUvYK?zknUz}kxiD*636NeJ{~ zZ^3wzDcrddcc%AYO^_sv5u-0)`9lC!1X){Rf~gpyJWQ=o>^&ClH7*0F2Pmzxpv!UR zX@xaG{>4A<0m$L)>nB>l0G;t?O7|0r^$u3AVsGEc!6U0LGFi)GFb(^KlJSS+!q6V~ zL1Vi+E13;L0PO()Fz#on&wkT=5XA)TA*hXUH;M|JAO%j4f`0+2UpZ;25BM?w0000< KMNUMnLSTaX`TfHH diff --git a/packages/app/android/app/src/main/res/mipmap-mdpi/app_files.png b/packages/app/android/app/src/main/res/mipmap-mdpi/app_files.png deleted file mode 100644 index f1e6caa3e5c49f236b37b98ea1ce3fc44682d4b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?2=RS;(M3{v?36qGD+ zjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw=TsOX-ji(^PeiPIYI&viKuUu92zct)$Se z1-y~mc+z=K`jNEN7vco-{^(wr`)7Z>#8-nmpVOoHt%IuhQ|3?oq`j3vAxbltheM;m zmobMcAsA$#$bn@HW~>`DVM5U|7lN0~P@7@MV_@=;v3^;5r0umdKI;Vst0M*NX2><{9 diff --git a/packages/app/android/app/src/main/res/mipmap-mdpi/app_news.png b/packages/app/android/app/src/main/res/mipmap-mdpi/app_news.png deleted file mode 100644 index 08aea4c3e15fcefffa1ff1d140a31653b09b07d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?2=RS;(M3{v?36qGD+ zjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw>;fq{|D)5S3)qw(zwL$1RHJg!TF zCM{%twe!}}3*1|ri#Og|?!0M5@Bz;PrQ|cy9r7oCT;Q+sNuZmf@>xsX0RuDU?Db}D2tt~AZQb8 zl-)*Hf`yoD%Ty>TN6;j`b= zQUpABg))#+)wiY+0zK!CbKCFS3l|vG)=G{}4*tP=$*JnQpAXizy@6u0yCcZ`nex6X zx|Q4g_}%aP3l*4isXQ$i-b_p6o1NV$iT+r0^IYTbYtR}CyA#i}O;AQ6ay{SZy!Qr% zwT-*3$o~1pr{27E79wD9lbX$Mop7W0w7VB}t;7XF{PVLJiRyO#$>BkmqD1$A&xSS4 z4>!ZNutkXpL};7o7;V`9B@qEz@Q{FjO?ZeYU>hD{2&4fXA_}Ah9wG>&2_8ZUqzxWI z2&54n39Q zl_cK>mew}YNlL&9JR~Dv4IbhPScQjp0@mRnx`{sLZF VRSv#hc{~6B002ovPDHLkV1kBGGot_i diff --git a/packages/app/android/app/src/main/res/mipmap-mdpi/app_notifications.png b/packages/app/android/app/src/main/res/mipmap-mdpi/app_notifications.png deleted file mode 100644 index 83757de5e3f3bfa15713edbe3d342034c60e7c52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724 zcmV;_0xSKAP)%wn4OBtOxJ)rt~LBYqE+61qrTD`U5=Z z!Gq{8h~8@g9=r(RNuk~>!Ddqr?e6EHn@h}QXC{*l3;RGWnQ!)cA2u`WW{8=QXB^uB z#wGUx?j$by_eteKbcij0mXoiVg6TmiXziHpMW)xlQF!_S;LO0#u5iWG(zESfCi@xx z2}OsriT}d`z}e^^-Zb5B5^LaA>Im_2>X;@*1@<0SJpiXhl$4ViV~oEBh^SYq++)H+ z09PbueI=$~`bGN<#tbl)K)1ediQv2fp{jX_ZFaCa(`bL!&7dvN^S#>)yajMtw|PQ` znC?yot&cjBwFJUP)tlhB3E+fI(;*xX(;XcNWr46>odd<60F+gmW$=fcXmO_T`J2il zwOwd~9DrZKe0TsTJF$3u)I%Pn;_iNB6~x!na>>Jh*WLH-tIUxXAR;2HDW_6|h}S_x zvh~sep})8UU`{KQ8kfWR!gbkVX#qlH{4pRMC;f3`uu`^=W9Nom7!8P*WJ?v+0AJL} zqD2hpUMjoLIrSu(5YEe%$_cEj2mn*Mc{G?xdS;UQcj7|8Hidv~3IW>`0=6jxY$GKQ z&i;5h=^%sjW`8zh>M{jFzp??)u?sLz>-k=gRX0+=R`@_kgRGGD$uSQA0000;fr0Ugr;B4q#hkZy9KB>5CEP#O zcg~(**)(a+AvXG_XU}6OU^>9bpw2J{g^^pXuAck)LO`mfz@$@)KJge*EyY=GXHY zelOqK>@}D7@5jkYHdX!DW+S&tEkb;O?eo(odjABcey!N?r*p0ShJUgKzvlmszgo0| zlOwy9GoR^D6tl`__lW9-lzSYL89bhK8%Q>!%;T8MLPpD3e0oFKfhmQUctIR?_RRHbmY@b=C7D^>gw%$pSs&{=D%Dw>3#QW|GW7y u<@;rGlRpWy2{ZUHSTH_dX+UA@*spvmPIS+INi|?1VDNPHb6Mw<&;$T`YTBIu diff --git a/packages/app/android/app/src/main/res/mipmap-xhdpi/app_news.png b/packages/app/android/app/src/main/res/mipmap-xhdpi/app_news.png deleted file mode 100644 index bdfb9c28faa9b5aea69457f10016cb22a2c4c642..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9EOULed^URB}?6qGD+ zjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw>;fr0U_r;B4q#hkZy4E>l5C0HNc z=iqF88^mb4ovD!7N`QCC1C5(yP#mhj75AJD61cfD%OQCKtyB;g> zZ{GZ*Z0)!1;BKl!3etUy%hhHGn(MeN2c{MVPgg&ebxsLQ0H;Iwp8x;= diff --git a/packages/app/android/app/src/main/res/mipmap-xhdpi/app_notes.png b/packages/app/android/app/src/main/res/mipmap-xhdpi/app_notes.png deleted file mode 100644 index 1d310cbace1d043560fff645e515145276dc9fa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 995 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 diff --git a/packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notes.png b/packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notes.png deleted file mode 100644 index 5c02272e01311e2ee7909bb95d1991b69664e7a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1473 zcma)+Yc$kp7{LE?kr`^1j8;QTE{BL|UDhcxZac(uT#DRklQJ&jR>LxCs+p3EYlEq+ z>@=u`Vbc&oq>~bHCK;Dn(@a)KE@Nz@skN^!`)$wJ5AXjy@9+7&m;dve^Kb(F_ioa{ zX+aRQ$=8Q`0L+)y2WkWOPI-?%02BIzPk1T>h4I!0>~)g!Ab?xbyu#9gQex6FqUcm8 zBO}8uJ~<)vc+?51T?#$+#yk-RK^p$PWRGA**__NRu8azGFUm{unnuVpUg3{FDDYAb ztEPeNUH;*4OtMU0ljGs5?fG1K1rzf9huRVhW!vG>pNwivbBnzfv0P^PheTkcR<`A$W#cC z{b4y}@c#8m9Sb(?PsdT8{I1W6N{kI@EfrKMjxw(xQ?F$BjJ_u=F`_n%nxe0sb7+0 z6hV~=80I};e);*Lr4bj)n}xd?J788N%NK;!nq;U~5Ty*h?Tr+4wJ5479F#kHi7m9& zH-#*EE%_pB4pb`8VTg{I!2>5e$E$OJpqmGTEvAsy%w+HE=PMC%D>&c!xYGdbLygNq zhcdWI0tMbGw99C%pFHzzEzmJ0sNHrcsfq`78n!X!>cuhpxw;o0mM!jb@-W;d+)^uE zu=qS}XqynjbbT7DL3t_TP5+KGAvIEG54NxN!6FfGtNmzQl03;Ivw!3$LsdsyNZkbc$wY!&a%BFq;)HYY!AY$Oa)Nhe?Hb$ib(kJz93HvHS7WTine%C35_ z76(m~e@Y!JaY@;Xd)+cW$_>a4<7~O$N8cOLI-jr;+TC?zn z*pDS{W*LV~JM^)2yq=iBs#3(5&ePsleXx;~w>pRJF|3$on9q~tp@~G72Kz|YbhRY( zug7)gzWc&2xE-YZhgo{mq2>3Z;B?twhjBm_EvMVqIW(rb2$XQUaEJiOY~S}bv_*wf z1dBBf9AVsgw@j|45d~w)VBYzv0T%sf&_Q^`GkEW|fP?cnICR{~*2yu4`c&Dn-qj$< z@j9Glocz*bRa{a+*AWVd(@w(*4%i)PqtGv9zQiF=#3&jPugt1hW_9W{MIhh-pK01C z;z^MOUfETX4q$Tx3?A^62F!So23~oqhT*R8Jv6}TEa^A~V_O#GB9VNiHAaV_5?Q$` zdg_irY)eTl1mFu}0PPY0e3S@d3-jxNN$&+_ueFW4Vnnv6EXDLtY>P|@S{@5Ogu@S>^fNE8u9)50r} zA~g8nd#&I&#mq(&QCDPxSCU1A0E$~d7A9tZi56+&mF6N0NWi^UAOR;WfWCnTZod|6 zidRMl$Ad_?1<(w~ diff --git a/packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notifications.png b/packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notifications.png deleted file mode 100644 index c6cad23a9538408dd74e6b99ea73cc21ad072bfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2042 zcmb_dc{J1u8~)8$$KZ-+kfm&0XJ{H*!pv~S)(v6Apdw_;l5G-YNCuTXb;68n*#?cV z@0?3f#+?$`w=CId459hv{_~x4&v*a){&?Q^JkR^Sf4%Q{-lVJ6<|0BeLI41WSXyB1 zxH;`_2=a5|lG$7%H$j3e@Sy+@Km9jA&)=Qa;)>E?rcPn@LAS#Q?jc?Pfk4po4fGH7 za1Zv<3<~ki*)Ws=00ELE));p$cYQL*=Q=^IZ=1o+&4jkY{GIZA;&jE|#OA7akQXso|=m!Y(4jJ z^YU9upbtM3KYQ~}4yU9aXnje~eDHu2b8uUr7wWvi<97w8ApR~D5Tmon0RCXM2@z72HNVDFXb-#B)j3YE0Dyla>&II9R7Y5GYrL0lG;r`I4B(xTZyM<{ zJeO)Wt1dI6h7A?jP7LOSWP|ysAKyAsrxlI{#N7qLf?e#A4pWSOpjK@!S;ab2TG?ks z1ED_~NRLEIo0^Z{L>niDyE$su2~Vyi&mHp~DmP!iKfvM04P+%=aC8&WC8q0s3P<%F zQRdJb4aXnJ?zbIOSY+#TPo8PNB{!wAHdC+MKc^74?HY(dp6=SPon|Ac_+XIEi}P31 zuhx>4Fl^nbq&?@~wkdJV@zg60=FIw55E;c8xXiRhi8K59dBefQ0SBTm#^Fkk+Pd`W z8O>84AfHD&4p8q4Mk<%i0Urx|R<}N^hOZhE)2#EgU(w`WD=H7t)GA4h%83%o-Sfk# z{>mMEieG9^#+zkK8f^Wje&}svA*PmQ1{0XaLoIctJdAk7Iw5qr_Z^SVIqf1d>Yt30 zy>*^Xt?C&bKOw+L2y|=#c~28TW-ULdC7^?h;v+F)2N^6u)8ezK&J4Hvke2=K*_@eO z3X6F$$^7RVn^rF!;tC|I{;k~8zQ=Tz6`pLKm;B0NK@_QLQfKcCg~YTFvDjGVr0;Uq zadu7)ADvzuAxkuwxG3MaI%pL*=~>r=$J{N-q3&(yLXfq6%q{T}1+DRx@zM$3x;i|j zJfwDbYSQer9)3OGz!L!hRTir{ciSQZvzR=+TzXVj)vj3K5sp$gP(VA4c9?S zRy+#;k2PuW5Bbvwgzqi;FC%iTFoax@4R($YWBEc|N8Tf$XaC|_|FE$CFS!EttJ2)H ziC(IF+lmZ$8`Q_+XZ@w*wcz3=nE*X8IS!i+Y5a5;p{>|E|H2e22Tj}#Gkc@--2(IU zP3;U zXCXx~yN&zf@*|>l5S|Qlr0Zc(M_muDort}$S4S_u?_z)}hFUP!V8m=v@$?g1YLt_n zPcgI<*>F!LSz)2QW~QlsVs2$(M8tIk3wIbTikzM*x7$MGk%DO#TPY2n1&tY6}0f&YF9nK9rN1$`5a T_N*oMZv&R5*4Qc&x48cRt|`Ek diff --git a/packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_files.png b/packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_files.png deleted file mode 100644 index 0b8e34b41ab1e3dba8dd5cfd61e6685480e92251..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1089 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcaloCO|{#S9D)Q$d*VX0G{VprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=GWYJY5_^D(1YsW1ANfDslYb z_YaCKhVq}}ZZHUK+r%t&$tfr(fKin%)QL4uFm!@by9;Mf0;k4A0qz8Tjz^pvibWbq z7w5mWHZFhnzw%f4AF=Pti{DJlf4x_HNmbf??gMt54H--dvlu$m7#5Mtyj2`7xzA>Q z+1{=7_A9cMhkkwKW3B7G+P~kvx*+|2_6FJ9OWhmos{Xc~?N*NuUoHK4{T2tMh_#;K z3(j6VxpzkU{#C24zdfs-UjA(_+h=Jz#(8no^J=y)t(|t(bA#1kb%*S~hjVp`1m>`; zHh#!;<^G)dUgk@$zdioE`TTdFh8dr%4_N)bWxQa!mH0ucA94vwf@_)?);X}W`!j^A zG#yrJknDI+z?qY(_y6sU4erS1rAK>cwoSh(CxCJhUtcppw4WD zG6$B^stvM&2aPxr+Fdr-Fx@Z|)ahpU1{79oumuY9{15)~?Apzi?<)?x`M2T~e|7!0 z)6@0qe$~Bd=V&nf@$AR>`}bDs*Zr+7xggqMx?`uM)lT!&0ERV3&z}CAecipCq_qEG&CF8&OId4C%y~}U&3=FJ4JY5_^D(1YsyV1|sU841& zv7u1HHZOnAMxI5B%in7o)Gm0$H9s>Zi zly#o}{pE07Q>E(d*RoDMfeowg-;!g<5N13eg&W=SdOJ1!@77JL_*8k9-srw`?9nl% zf3Xw1JpB!iyR`Sharq>vJJ?_oE!`@)Zgb!`CV)PNWW8EOJekFHSjkJjk&=jdj zd(0;@cNEr5-NlyS67uPu58r|nYT}dRg03^pyeoe9lTm5luj+=2KlTbAc5rE!|9Ic# zOOh|Xyi_htTpO&Y;(0uJb^Q4RKGnA!?5P*ltXw3g8Vl64>D;sF`-B-buSdm_x1XzRaR3>rX=ZmNq0+g?_^y$<%>x29=%m3TiqUi-y%P-dvuy zbi?dKHIw%Xg%2nE{qt_=TgO?`{t3NUv;Ww$c&qBo0{JC-w%+=t;Oot|pk{U7jX&O* z?_aM8*FMR3##!c>1j}3QOOCgVP1YW(@3>gj=XhbC#@Ac(7G{>(u|1Xe@-+4P_NR6X zYXtG4tDFhDK4^Xj-m}ft;W9X=pG&aVH{HE&X4xR|JlvA)Ain_6AYW)$8=Yw?1BLab zw~9cQ$|ac8y+2|gAgD9>_c^ch1(%oiZ)4AlLIn2&U~r%Kkl6KqCoH@#6@K=<&&d$M zL@*8DPazQ5ty6DlpZ}Ge8Y=50<+V|KY46cqR&z%!RokNy>$|gx76KE)#Mjp>C04@| zwPYHToRuNZwe#=eisCi?s$Ph!?>*ap=3AQLy%!bPrr%p9F>BmkrEF#|wc&f|x12Co zQ2*GiAp2yWTkn5?#cySr8S2HC#=XnF@>60;@`a02-cktmlOCPVjx^6t%+0*)wqh!tbkih;)>$>wQZyup>qR#%wf|jVA&Z4Gi zcK*2%Y_Fe}>*w-6(t`%`|6D|peg_Tb|4wge=dSG%Q)M^cFPxDq;O=OZQO#Cv`p>y% zTQScg4X?f1(hI_$CkOO7#>>=A*L_T6imuta&9-5;)O|MI^OkIeN8fKsJ;`{)V*e?_ zj-?tvV-Vr|=-Iv()28S0Kh#5n^N&76axM%<1oT=^KtJsJZxniE@sihzqT@FGtZ)0p h$l%>TF#5l#8y*WuiIzLC7g$j+c)I$ztaD0e0szTus}=wN diff --git a/packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notes.png b/packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notes.png deleted file mode 100644 index 3a6f1cebf52f43c59bfa0c256bdf704a4d6facfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1716 zcmb7_{Wny39LK-+x^zt@GZ{6688n`1MW+dA3(a73Xh@;e8YC4V91nSzp*%DzDl28Q zB~K+0r%kPxTg%w3El)k14!hXf!Ki3TnKWs?{($|VAHMf{&-?rOygv`;p6@*&^z))p zj41#Bs=%8U0C!?>;X3dcFdVxCZn_EHAxQwFm@F=&{(jmN6pfPk!O1)0_a~=@Cq{wP z)KvR}aWP4e;R#Xp@rlv0>CMIf=(r1b?ty8QZ-&2*H`&F^ADdV!Y%!;wRvX+b4$9PM z+fk0IwRln+o7Qvs-EQm`42BK$>S;-?l)}?JZ91tuK-b1OOQ}+QU#mTpdoxm_AG^%B z%w#=niIz@0D=Is$>*$I6c+%%05H3duE-Hz^z;hfl(Ltysxa|oNPJ&V6Z#ejvrZkXb zrH*7SDEkfO*5zL+zdYMmW6k+upEo3(kH{q7#_XEUxhhnqTb9b}+nc*-aXy>crbc+m ziE3JyOU9eW%|<&8(}vOT+E2-I9nAX^o5D3`7&RAqB5uF$O>Qk!KGE3*f)8~%y$Hft zv2QIWN^(2pt{pdIuWOdG!RCm?gC}L*WzW90DeAmti=xEWS*EzY0mp$p)nUPpOQ(U= z)J+S1hVUhzNFKQbMHB4D)UI`wY|yhF3LBwdN2*<|pin@8f;|-KMj>Ir23~qlu!6$< zK1e`e$@t)(hLPk z?Oq}_iqkhsQ*%u#c377)X0O%==R*mwz0`DWiR9DQP?Xz0nG)#CWBR(vxs<*eK*>t!ygHzaBy9Gr8 zW8pCLy{cK$9o##^6LZW?)1y`&Mi5MRwL3Z^cY|z)^~~(2EYJ9Y>Dq;t7D(U$<*~!= zK^bAXjejrWe>t;ge7^LTDZPQl+M%i|Z+)jCX>R;y={0w%hN|TM%By<=SjT}~OaFV# zhmmD`+tAFZ(jjr(78(*Ll9h)vbec+457hJb%3YT6f#O4Y>9q&Y=8Nj}s>BSDAFuP&i(vSJLMsrVJzo?@zr0B9_z*_ z#bFj;XKUtfT>)5L&pNuqC`3LKX^v`<WqTA~g-_aHv0k-1EV*$x>#xLV2H0)exNJ#RgNeAu9m7rupOP~h z%n)StK$qH;>g5J>H*gpHs_8U>s4x-N-@|c{n{SDHFc{NpCEP-b#O@}h9ckm_#q70N zW?4tHnUXfunnUtD*hQbLNA-jFZny!~r$siikk}Kdwj6MaP!G9-RS}xQ<`Vc(f20u= zOtB0XQH$hzu>^`@WFzW~knt>}kx*x`B^;)lg(c{bb9rEeL$(+nMHDjzNTDiYd<#&_ z$X)^F)?pn&ZSF#qsH#bOpeW%tp(2g*V_#6jdUzX`s3Ob8wV)svL>#g!>t4WsXZ`!& z;j2T7wC@H(K=#yC=t6LnFGi?au1`UHvU&=F^9>szVjgG&5n;nphY^ydT9vTbFZs5|!o3B$(~xK06pb{1g2cO{rg?>yc^bhwx3*kl|2p2>tn<1BP`1RuGeuo7+IzeNKf5k7YQ-pER z$z!UZ5^$?qEpr1yBF!VV#Mg15jz(B9#YwnmZ;@Pp-B_j=S&KST$#`R=^0>;W1ndsi z*wcvhMI%(yxmeZi0e)i2U9mo>(j{GLQ%gA2iW$I^XJo@FPd$f)n7v&I`$xlIktU=y z?1+=OI46(Kivzv%1`>Y#aj?i3+)*(w0T_eRh9Fq$8!q1ey{bR5WS5spiG!0)@Q(uo Ld_P{3hbZ?ymxkR! diff --git a/packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notifications.png b/packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notifications.png deleted file mode 100644 index 6544a81cefd79302c36787858651c2876adf2adb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2720 zcmcgudpy&7AOCI3ESE$yBy%sE7;-tIOfFGkZ8#-onBx*c#-?!?m1`*BOpZ$qx!*-D zW6}lZ5R&_~76}__IEFo|=g;Rn&!5j9pYP}MeZRk-?;qdG>-|o^*qs*@k`)2~K-9+C z0?W^gZvlhyN9>fpAU_=pvc5_LfLe`j0dgrZSuGj3keuPGaU?pVb^?u%A4^72ulPVMK@4{VpLn z@LKWJKGR4R)3uj0xudv?bZPLif@=2*pvoAR0LsGOqrRBkg3`VOPh+utRo-5_j@yE4qb-#2 z0S2`<$E%jQ#HZVhBV-zI7yRIUID}P590KTn^Ko6;An;R4P^_j%zIhqv+`$~mUr}m_ zp&6>~IvYRQttnyz<+L}edrEhO8SiOUx!r~vzlBWieI2ANcphbgPzvzgoOt#cgppI&X5v%KJW~!G&8UE^$S4< z+KpWIZHHED-T2ouE9f)0l9{ZzcvL^uvKB&`t?+{t()^h6^R3S--2q|DWXpcU4Q5B- zfIAEdis#rBpOoZUFct62oA1src6F$?N~8o$XYR~sB_12xX=;71D>$cfccwLjz)R=o z+Pns4lH(m-?F3Q@dQ`LJQ0IcNBs5Fi)|MyRHc6B{|gmy&b)JGg=>s~6};(o zFV2S!(Hozn^6K#_0af6V6jA;GoCifFZk%?CzmuBr8fsMmPk5LbhgQNK zU&?a;by%N8D1{6C{FdyN9XnEPaf%B{AJM8B4wna*R?Ci9%Qd(8D_@+ZqJsJ<87Dot ziUVswRao|(j98Sgq~T9a%&3GR%#)}%3lik;gU^rt*n&tm;#KKicY^7gxOA2JMU`wG zQoQuuCJz%`eYHA`1fIf{ZmrhNC~IViTan#Lm8~e z2*{t`G<|!d31jZk6teg=uoAvhXe)q`Uv0Hep+Q|2Q!mIwiyS4baEm!gIcZsO=<3W^ zA*IehMi-)}2*w%Y&D^?P{hb0@{N9BFE(CfU1i|Vfvm5XQINkNbCC+kf&W?E&!R>{) zp|T27!+JO8$RkM&njDavc4V-no&ElC2Dg&DZs{syzhFw~XO()4WH%^t#G*G)O~*`j zq0AV!%ful{5~*lMKHnhtozi?7SB#n<>rw5mu+7FWGRqfN7b}Nk7;8axijx(i`8bD0k1(SQc3ZJ7_46ZT zL(q0UNB--RBn|lS=1xk2Q=v8>emTQ75~=ylA@O>I*8LWsS9x#LtY(BFMv1%VZN;sA ziYGkA!l|%!PdX$g*Jr2dQrV0kZMyEJr}AtVNL^$!0hzk+xhmndwzIabYbnY)*)sXs zgSwoYgR-!IT0B8g`B3-s3+>pUZpS~=IpYRPc$~TFAc$15S<3j z66nxVW2p4lmWtnuvR?>dSibmJCXYm-6kF;&?L{rC_N%Rf^3@S__-N;c4;9u&wbnt_ z`I?pF{E-qh-h`?tknw_dVrVHrg+Dn9SU&5e2>K?2%PYv=wgbAk6^8kls{4YOMGAmq z1^in*QKU$fUlu6wOz0qqPz%zxXO-`-00GxJU=c@t=sTL%5}S~*0%*<6+tcs3cKsrV zmelz#it|6j=>JAZ97h-BPWsXzPm5jNOncJ1vQ!MHy<-d#Fk3rwdqSD9urbCsGZNmG zZ2@I;<(;xgQMd_OTl2}wKANMUMR9>9g!g6HOoo9gZ~@cs+m^%h zcj%B0nglWu|Ij^d@`(J}NV{GdE%*asHvB-0v{)f)<&n`gA>vD25-7xa{!0CU&O8rk zj_u>ki4^IDXAA)KasM{ahZ*M>bh<@x2iyLD2i`P6EOu4edH}~A#yDSjDlk*wxeQpq zzNgv#qpH@t6eKc=Zyux?5n)y8E#iz>6uErI-#kW?egwz+G<8FQ0Vvh_NAQI2vT`*o zLgW}d1_7TBP>{7%04sn;Nzzo+c-rfQrlRET5%^0-BE#NoA8_k67vkrS6mwX zCRXaL!j8rimnDy%=${NN@olb#^NrRA h;y-w<|9IwH)3o%7i>B>LC46@Y*jUv8}9 diff --git a/packages/neon/neon/lib/src/utils/push_utils.dart b/packages/neon/neon/lib/src/utils/push_utils.dart index 7a5a24c3..b1cc823b 100644 --- a/packages/neon/neon/lib/src/utils/push_utils.dart +++ b/packages/neon/neon/lib/src/utils/push_utils.dart @@ -75,23 +75,11 @@ class PushUtils { final platform = await getNeonPlatform(); final cache = Cache(platform); await cache.init(); - //final requestManager = RequestManager(cache); - //final allAppImplementations = getAppImplementations(sharedPreferences, requestManager, platform); - final allAppImplementations = []; - final matchingAppImplementations = - allAppImplementations.where((final a) => a.id == notification.subject.app).toList(); - AppImplementation? app; - if (matchingAppImplementations.isNotEmpty) { - app = matchingAppImplementations.single; - } else { - app = allAppImplementations.firstWhereOrNull((final a) => a.id == 'notifications'); - } - - final appID = app?.id ?? notification.subject.app; - var appName = localizations.appImplementationName(appID ?? ''); + var appName = localizations.appImplementationName(notification.subject.app ?? ''); if (appName == '') { - appName = appID ?? 'Nextcloud'; + debugPrint('Missing app name for ${notification.subject.app}'); + appName = notification.subject.app ?? 'Nextcloud'; } await localNotificationsPlugin.show( @@ -103,7 +91,7 @@ class PushUtils { notification.subject.app ?? 'nextcloud', appName, groupKey: notification.subject.app != null ? 'app_${notification.subject.app}' : 'nextcloud', - icon: '@mipmap/${app != null ? 'app_${app.id}' : 'ic_launcher'}', + icon: '@mipmap/ic_launcher', color: themePrimaryColor, category: notification.type == 'voip' ? AndroidNotificationCategory.call : null, importance: Importance.max, diff --git a/tool/generate-neon.sh b/tool/generate-neon.sh index f6ddce33..03fb5c92 100755 --- a/tool/generate-neon.sh +++ b/tool/generate-neon.sh @@ -70,10 +70,6 @@ copy_nextcloud_app_svg notifications external/nextcloud-notifications # Android launcher icons export_mipmap_icon_all "assets/logo.svg" "ic_launcher" & - for id in files news notes notifications; do - export_mipmap_icon_all "../neon/neon_$id/assets/app.svg" "app_$id" & - done - wait fvm dart run flutter_native_splash:create ) From 3a546e2a639f3ebf05c06b1b47c22c87af3865a3 Mon Sep 17 00:00:00 2001 From: jld3103 Date: Wed, 19 Apr 2023 08:30:45 +0200 Subject: [PATCH 2/3] neon: Load whole notification for received push notification --- packages/neon/neon/lib/l10n/en.arb | 2 +- packages/neon/neon/lib/neon.dart | 1 - .../neon/neon/lib/src/blocs/accounts.dart | 32 +++++----- .../neon/neon/lib/src/utils/push_utils.dart | 58 +++++++++++-------- 4 files changed, 52 insertions(+), 41 deletions(-) diff --git a/packages/neon/neon/lib/l10n/en.arb b/packages/neon/neon/lib/l10n/en.arb index ac4613e4..d15d03e6 100644 --- a/packages/neon/neon/lib/l10n/en.arb +++ b/packages/neon/neon/lib/l10n/en.arb @@ -1,6 +1,6 @@ { "@@locale": "en", - "appImplementationName": "{app, select, core{Server} files{Files} news{News} notes{Notes} notifications{Notifications} other{}}", + "appImplementationName": "{app, select, nextcloud{Nextcloud} core{Server} files{Files} news{News} notes{Notes} notifications{Notifications} other{}}", "@appImplementationName": { "placeholders": { "app": {} diff --git a/packages/neon/neon/lib/neon.dart b/packages/neon/neon/lib/neon.dart index 5a380332..0f19bedd 100644 --- a/packages/neon/neon/lib/neon.dart +++ b/packages/neon/neon/lib/neon.dart @@ -5,7 +5,6 @@ import 'dart:convert'; import 'dart:io'; import 'dart:math'; -import 'package:collection/collection.dart'; import 'package:crypto/crypto.dart'; import 'package:file_picker/file_picker.dart'; import 'package:filesize/filesize.dart'; diff --git a/packages/neon/neon/lib/src/blocs/accounts.dart b/packages/neon/neon/lib/src/blocs/accounts.dart index 457e09ec..fc12a79d 100644 --- a/packages/neon/neon/lib/src/blocs/accounts.dart +++ b/packages/neon/neon/lib/src/blocs/accounts.dart @@ -1,5 +1,7 @@ part of '../../neon.dart'; +const _keyAccounts = 'accounts'; + abstract class AccountsBlocEvents { void addAccount(final Account account); void removeAccount(final Account account); @@ -20,19 +22,12 @@ class AccountsBloc extends Bloc implements AccountsBlocEvents, AccountsBlocState this._globalOptions, this._allAppImplementations, ) { - accounts.listen((final as) async { - _globalOptions.updateAccounts(as); - await _storage.setStringList(_keyAccounts, as.map((final a) => json.encode(a.toJson())).toList()); - }); - - if (_storage.containsKey(_keyAccounts)) { - accounts.add( - _storage - .getStringList(_keyAccounts)! - .map((final a) => Account.fromJson(json.decode(a) as Map)) - .toList(), - ); - } + accounts + ..add(loadAccounts(_storage)) + ..listen((final as) async { + _globalOptions.updateAccounts(as); + await _storage.setStringList(_keyAccounts, as.map((final a) => json.encode(a.toJson())).toList()); + }); final as = accounts.value; if (_globalOptions.rememberLastUsedAccount.value && _storage.containsKey(_keyLastUsedAccount)) { @@ -56,7 +51,6 @@ class AccountsBloc extends Bloc implements AccountsBlocEvents, AccountsBlocState final SharedPreferences _sharedPreferences; final GlobalOptions _globalOptions; final List _allAppImplementations; - final _keyAccounts = 'accounts'; final _keyLastUsedAccount = 'last-used-account'; final _accountsOptions = {}; @@ -194,3 +188,13 @@ class AccountsBloc extends Bloc implements AccountsBlocEvents, AccountsBlocState ); } } + +List loadAccounts(final AppStorage storage) { + if (storage.containsKey(_keyAccounts)) { + return storage + .getStringList(_keyAccounts)! + .map((final a) => Account.fromJson(json.decode(a) as Map)) + .toList(); + } + return []; +} diff --git a/packages/neon/neon/lib/src/utils/push_utils.dart b/packages/neon/neon/lib/src/utils/push_utils.dart index b1cc823b..d737896a 100644 --- a/packages/neon/neon/lib/src/utils/push_utils.dart +++ b/packages/neon/neon/lib/src/utils/push_utils.dart @@ -55,20 +55,20 @@ class PushUtils { for (final message in Uri(query: utf8.decode(messages)).queryParameters.values) { final data = json.decode(message) as Map; - final notification = PushNotification( + final pushNotification = PushNotification( accountID: instance, priority: data['priority']! as String, type: data['type']! as String, subject: decryptPushNotificationSubject(keypair.privateKey, data['subject']! as String), ); - if (notification.subject.delete ?? false) { - await localNotificationsPlugin.cancel(_getNotificationID(instance, notification)); - } else if (notification.subject.deleteAll ?? false) { + if (pushNotification.subject.delete ?? false) { + await localNotificationsPlugin.cancel(_getNotificationID(instance, pushNotification)); + } else if (pushNotification.subject.deleteAll ?? false) { await localNotificationsPlugin.cancelAll(); Global.onPushNotificationReceived?.call(instance); - } else if (notification.type == 'background') { - debugPrint('Got unknown background notification ${json.encode(notification.toJson())}'); + } else if (pushNotification.type == 'background') { + debugPrint('Got unknown background notification ${json.encode(pushNotification.toJson())}'); } else { final localizations = await appLocalizationsFromSystem(); @@ -76,38 +76,46 @@ class PushUtils { final cache = Cache(platform); await cache.init(); - var appName = localizations.appImplementationName(notification.subject.app ?? ''); + NextcloudNotificationsNotification? notification; + try { + final account = loadAccounts(AppStorage('accounts', sharedPreferences)).find(instance); + if (account != null) { + notification = + (await account.client.notifications.getNotification(id: pushNotification.subject.nid!)).ocs.data; + } + } catch (e, s) { + debugPrint(e.toString()); + debugPrint(s.toString()); + } + + final appID = notification?.app ?? pushNotification.subject.app ?? 'nextcloud'; + var appName = localizations.appImplementationName(appID); if (appName == '') { - debugPrint('Missing app name for ${notification.subject.app}'); - appName = notification.subject.app ?? 'Nextcloud'; + debugPrint('Missing app name for $appID'); + appName = appID; } + final title = notification?.subject ?? pushNotification.subject.subject; + final message = notification != null && notification.message != '' ? notification.message : null; await localNotificationsPlugin.show( - _getNotificationID(instance, notification), - appName, - notification.subject.subject, + _getNotificationID(instance, pushNotification), + message != null ? '$appName: $title' : appName, + message ?? title, NotificationDetails( android: AndroidNotificationDetails( - notification.subject.app ?? 'nextcloud', + appID, appName, - groupKey: notification.subject.app != null ? 'app_${notification.subject.app}' : 'nextcloud', + groupKey: 'app_$appID', icon: '@mipmap/ic_launcher', color: themePrimaryColor, - category: notification.type == 'voip' ? AndroidNotificationCategory.call : null, + category: pushNotification.type == 'voip' ? AndroidNotificationCategory.call : null, importance: Importance.max, - priority: notification.priority == 'high' - ? (notification.type == 'voip' ? Priority.max : Priority.high) + priority: pushNotification.priority == 'high' + ? (pushNotification.type == 'voip' ? Priority.max : Priority.high) : Priority.defaultPriority, ), ), - payload: json.encode( - PushNotification( - accountID: instance, - priority: notification.priority, - type: notification.type, - subject: notification.subject, - ).toJson(), - ), + payload: json.encode(pushNotification.toJson()), ); } From 1e002f5455d23793bc8ab30f0850543bf8145fa6 Mon Sep 17 00:00:00 2001 From: jld3103 Date: Wed, 19 Apr 2023 08:49:57 +0200 Subject: [PATCH 3/3] neon: Display account on notification if multiple accounts are present --- packages/neon/neon/lib/src/utils/push_utils.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/neon/neon/lib/src/utils/push_utils.dart b/packages/neon/neon/lib/src/utils/push_utils.dart index d737896a..9797efbd 100644 --- a/packages/neon/neon/lib/src/utils/push_utils.dart +++ b/packages/neon/neon/lib/src/utils/push_utils.dart @@ -77,8 +77,11 @@ class PushUtils { await cache.init(); NextcloudNotificationsNotification? notification; + var accounts = []; + Account? account; try { - final account = loadAccounts(AppStorage('accounts', sharedPreferences)).find(instance); + accounts = loadAccounts(AppStorage('accounts', sharedPreferences)); + account = accounts.find(instance); if (account != null) { notification = (await account.client.notifications.getNotification(id: pushNotification.subject.nid!)).ocs.data; @@ -105,6 +108,7 @@ class PushUtils { android: AndroidNotificationDetails( appID, appName, + subText: accounts.length > 1 && account != null ? account.client.humanReadableID : null, groupKey: 'app_$appID', icon: '@mipmap/ic_launcher', color: themePrimaryColor,