From ffe212ebf2bd1cdf26dcf4ebb9bd4790eab07456 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Thu, 25 Aug 2022 11:17:47 -0400 Subject: [PATCH] Fixed bg task issue + notification icon --- .../src/main/res/drawable/ic_notification.png | Bin 1394 -> 4198 bytes lib/main.dart | 52 +++++++++++++----- 2 files changed, 38 insertions(+), 14 deletions(-) mode change 100644 => 100755 android/app/src/main/res/drawable/ic_notification.png diff --git a/android/app/src/main/res/drawable/ic_notification.png b/android/app/src/main/res/drawable/ic_notification.png old mode 100644 new mode 100755 index ec6c2ca203394111442b43167d0a4df9ce671340..41641ef82cf42bb4eaeb04eb24aec49bd951671c GIT binary patch literal 4198 zcmcgw2~-o;8cq;dQUOH}`-(b^Xn{J(WHOl~gMkDhLX}0J2wjxP%p{B?nV3WfRS~pW zm*=6@wqVsZ&)U|fN2sE0sckK7U0M}ffcnIxPwG;vSe3SFvA&yyh^v4A@pvKWY1$m{Omp2q0pRz^iwzUOBiNEwXyfssA=k}65Vrbt z9`B)eHm|^5kTIE{IFpE^IUOT%m@Gh>#~YvIu#i*!0L#!f;GlhJG=94evPE&<+M!(t)iRLM$#TD-)GTMV!?jmME1-hlFfx2(9oz>rCu1j)9QjCMWhpJ2BQ?(E&R)(~5);x|g z_F*TxuZj?giV!GvDr=^>GFzN02k!(%OWGNg5C92<5e1A&@+2sMp@d8UBN%}o9@Pwv zX7%O2QI+LM5CT&YQso`00L3(EC-19FQ-q$gnnh-7;(^IgVl;~lF9+Sfg zn$*KMtx#YHO=B`SNZ$nu0+<0Ik*n|((tqhRR?UMDSuK^2V15mYj zDJq#Xc;Ad{;@zu_lZX_R<0!0`kUAKXVF*luAy_FT5kQ8FPAAom7rWRAn1DQQ9<$;< z_V4BlB8_#$Q|^r-mzn8{2XfN{K~kOqQ?5z2q}jlLvs5hn^U2^68LE`YaTv!L84M0gB|rtO5_eI=;aq|Ctk=#t;p#kx48N&0e^;9y|wKncnfVdkM zJSYZ1Z$N+p#&_iWdxwL^Klh&=GA`7(6YtmX^$me8()H?VU%`j30cOl#r&>XKoAs(5 z^ws{S)3usB$FYlRW*a9LM(=t0NFg`hVH8eV=3p3Ad+LtM=9r}rmbbS%{D}p18^3-p zd2xh}6=0j-wO?n#f;pP& z;m)A%1RJKW^ozk0k3Jo>+$ z(lu?>5xlm2f$OI{?_jX^)<`5pn58mHc@S*Z!09yo0FH%+CI z>ehyZ{0M&AvX0ykCx3BA{a<@eR*WfnVn$W%o*nU%0#BV9S`txd&mN}koj!>>I4s*l z4fwF;N8P$w!_n7nbw==7M@9}FK0~ul9k$*-V#}lFUal?co_EF;`}vZT7EO_(GG;?$ z=gRn!lk-{y<@2_+HeQ?k_V_o0iv8oEit?DyajNE?nxoNEb_^O4!Drv)H&XuZ-MaLB z#1>_@VP~y2xS8l-M(#iS;`~i>r{$c;q(^=YUD`Bu_4Fgb>AR(~FPTogAK#%JoMOmR z_s$)3Z09#;atBuFY)ut$1x1seJ%9L-nGavywM@A<@{B&jC^`^+PQLEa`le##Sm%Mn z@2bBz8xPM(_~2LD>a$&_IJ$h><&0e~B!(o}Q0=HpoP4*5DTs;-OCx7rt71bN854hjnj^dr1&j+WgF!ysm{$jkxuT)6ZH%v0-a|sy}Jz zY^?dXGAHwqo55#8G~!=A{WMycb)@6hy=miQ`OAyPIS*Vtk}g=fHk;q%oVKl-4y|ih zQdg0CWM6*e^~T7Q;IjwcoSIJ_YO5^ zc%`d3YV*z0MK}KT-k9jgr-okp@XM!G2QDae&c!sF*H(;)!fO(b_x>X;YtK-}h_~B6 z;-#L@Y{4`mZk%iXZtbKxL%3s*^W+KsqR-Whg4X)=J;8BDMt$*!t>f4D$N@KUF9*bb zVm!SmM{R0rC3io2{?e2oYnIJ0HC;$fSkbYuc4OnjnL+34k}Wg7zi5AQYt@YTeoMwX z|Gu4Ha&1%QQ7cX=i#gc`+G&eg zk?wb^3txLQ=F02MKOB2!;He>;IJ%+Xv8~N&;i2BsnD~l#*rv{`IBvrkwb8IQQ`hC){qCRq2lm7;xKFEIM@#{d8T literal 1394 zcmb7^>pK$)0LD4FtTC5~73yr#Fg0}4vRuwYwzVWAGWW}(sZP{{EzO*$$(nm~c1|vF zTq9zxXKpKOEh1*?QFD8WJqa4NxRVDYpYN?OXbYoJlje{@;={3kEk+^6Lo%qFuGJ>S22JeL5!{o zr-+%qFsR5(^JZf+?&98IbZtZHA7re9wrKGqRQP@txE*}? z1VOn)yB@rBES%f_G!hGv>0{5=0oehsq+{+`PX21}z$cMCY&NPM-e^(5Hz}Z)5)$NH zHL+HWqel1`pV^^6t`8Vfv~LM1qw>?3rT0u)p#y2uBy7u`y&bC)#p#}UUpkw5dW?z_ z^ntx=iCV3fIvB=hLZSMs!+bHzL8nr)^d9&V%m5^ki={qf!#c;h76b})C^kXEfmO)y zlx&6xvuMjXn&YbD)^ABSb+`A0dRQf5ZWMZnMn`UG>mr-Z{91Oq=yO>0io<|}K64OT zo|%#P$!1UW3mPp|aB=q`_%|;M<;EkFyjD6|rg!}9M6me<1-TEtI}%xnpK9CME=h5s z#zwVw2C*Hj7VmYP(!bLPRfM@tdobH`M>I%k5Gi}_J8Y1ZZ+2WTkj}g+uLPA~EqsA@ z_w!inl8UCpMt={*X7h)gxQR}6&0_SLNU+>8_6?1qL`ojC&sql8%*Vjj?7|6sT(f^X zUmZ3fteXDSOog~RpVLaWljl|u{n?pz7h@m#YZ&F!k>rM6n!kW4 zpI@K`N(YNWV-&4!aS+(&b!y zu+Gho{VMB-WJ4-F6*@5+U7=Ct;&~A(X!hqgzL@aVMtpca#sC z`2rBhrue4hhR4(SA-x5C9X$2(bJCPI@dt<{ckBzhWJ|jFws71sFDd?PIK&nmers^7 zsmX@q9k9|{-JcnkYhdrNvC`&trQEY3TPvYzzFamQn+t$koZ%y}M#X{Zx3-hXu&n2n zZO+1MD@!ruTT*#L)m)365qtQtSolZVW?hdP{o1OBuci$;s*>TYhXL!CeV$H{K!*H| zbFMfVa7yN{qKUeJ5B;DUGV>9LuOLMMo3=h$~%O5zO4?U92m?89(u& zE2n>`=OrC+I)q&EoG%==M9rX*09H=PGL^Rx8JZF61naLU?%6|L>-{PN~lqr5F6I Q?=Drsxw^a5I0w`J1vTQ2pa1{> diff --git a/lib/main.dart b/lib/main.dart index 7a1e78e..53a0dd8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -8,25 +8,49 @@ import 'package:provider/provider.dart'; import 'package:workmanager/workmanager.dart'; import 'package:dynamic_color/dynamic_color.dart'; +@pragma('vm:entry-point') void backgroundUpdateCheck() { Workmanager().executeTask((task, inputData) async { var appsProvider = AppsProvider(bg: true); - await appsProvider.loadApps(); - List updates = await appsProvider.getUpdates(); - if (updates.isNotEmpty) { - String message = updates.length == 1 - ? '${updates[0].name} has an update.' - : '${(updates.length == 2 ? '${updates[0].name} and ${updates[1].name}' : '${updates[0].name} and ${updates.length - 1} more apps')} have updates.'; - await appsProvider.downloaderNotifications.cancel(2); + await appsProvider.notify( + 4, + 'Checking for Updates', + '', + 'BG_UPDATE_CHECK', + 'Checking for Updates', + 'Transient notification that appears when checking for updates', + important: false); + try { + await appsProvider.loadApps(); + List updates = await appsProvider.getUpdates(); + if (updates.isNotEmpty) { + String message = updates.length == 1 + ? '${updates[0].name} has an update.' + : '${(updates.length == 2 ? '${updates[0].name} and ${updates[1].name}' : '${updates[0].name} and ${updates.length - 1} more apps')} have updates.'; + await appsProvider.downloaderNotifications.cancel(2); + await appsProvider.notify( + 2, + 'Updates Available', + message, + 'UPDATES_AVAILABLE', + 'Updates Available', + 'Notifies the user that updates are available for one or more Apps tracked by Obtainium'); + } + return Future.value(true); + } catch (e) { + await appsProvider.downloaderNotifications.cancel(5); await appsProvider.notify( - 2, - 'Updates Available', - message, - 'UPDATES_AVAILABLE', - 'Updates Available', - 'Notifies the user that updates are available for one or more Apps tracked by Obtainium'); + 5, + 'Error Checking for Updates', + e.toString(), + 'BG_UPDATE_CHECK_ERROR', + 'Error Checking for Updates', + 'A notification that shows when background update checking fails', + important: false); + return Future.value(false); + } finally { + await appsProvider.downloaderNotifications.cancel(4); } - return Future.value(true); }); }