From a5751afcab2d4025183a5078f792b3a34ea54603 Mon Sep 17 00:00:00 2001 From: Brayo Date: Sat, 15 Aug 2026 00:15:15 +0300 Subject: [PATCH] fix(notify): use ActivityWatch logo as notification small icon The foreground-service and time-alert notifications used the adaptive launcher mipmap as setSmallIcon(). Android status-bar icons are alpha-only, so that rendered as a white blob or the default robot. --- .../activitywatch/android/BackgroundService.kt | 7 ++++--- .../android/workers/NotifyWorker.kt | 3 ++- .../res/drawable-hdpi/ic_stat_notification.png | Bin 0 -> 1508 bytes .../res/drawable-mdpi/ic_stat_notification.png | Bin 0 -> 909 bytes .../res/drawable-xhdpi/ic_stat_notification.png | Bin 0 -> 2218 bytes .../res/drawable-xxhdpi/ic_stat_notification.png | Bin 0 -> 3871 bytes .../drawable-xxxhdpi/ic_stat_notification.png | Bin 0 -> 5870 bytes 7 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 mobile/src/main/res/drawable-hdpi/ic_stat_notification.png create mode 100644 mobile/src/main/res/drawable-mdpi/ic_stat_notification.png create mode 100644 mobile/src/main/res/drawable-xhdpi/ic_stat_notification.png create mode 100644 mobile/src/main/res/drawable-xxhdpi/ic_stat_notification.png create mode 100644 mobile/src/main/res/drawable-xxxhdpi/ic_stat_notification.png diff --git a/mobile/src/main/java/net/activitywatch/android/BackgroundService.kt b/mobile/src/main/java/net/activitywatch/android/BackgroundService.kt index b464901f..6a7a18ed 100644 --- a/mobile/src/main/java/net/activitywatch/android/BackgroundService.kt +++ b/mobile/src/main/java/net/activitywatch/android/BackgroundService.kt @@ -213,9 +213,10 @@ class BackgroundService : Service() { } return NotificationCompat.Builder(this, CHANNEL_ID) - .setContentTitle("ActivityWatch") - .setContentText("Running in the background") - .setSmallIcon(R.mipmap.aw_launcher_round) // Make sure this icon exists or use a fallback + .setContentTitle("ActivityWatch Server") + .setContentText("Server and sync running in background") + // Adaptive launcher mipmaps are not valid status-bar icons (alpha-only). + .setSmallIcon(R.drawable.ic_stat_notification) .setContentIntent(pendingIntent) .setPriority(NotificationCompat.PRIORITY_LOW) .build() diff --git a/mobile/src/main/java/net/activitywatch/android/workers/NotifyWorker.kt b/mobile/src/main/java/net/activitywatch/android/workers/NotifyWorker.kt index ccbcb5bd..40cce8f1 100644 --- a/mobile/src/main/java/net/activitywatch/android/workers/NotifyWorker.kt +++ b/mobile/src/main/java/net/activitywatch/android/workers/NotifyWorker.kt @@ -182,7 +182,8 @@ class NotifyWorker(context: Context, params: WorkerParameters) : Worker(context, val notification = NotificationCompat.Builder(applicationContext, CHANNEL_ID) .setContentTitle(if (alert.positive) "Goal reached!" else "Time spent") .setContentText(body) - .setSmallIcon(R.mipmap.aw_launcher_round) + // Adaptive launcher mipmaps are not valid status-bar icons (alpha-only). + .setSmallIcon(R.drawable.ic_stat_notification) .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setAutoCancel(true) .build() diff --git a/mobile/src/main/res/drawable-hdpi/ic_stat_notification.png b/mobile/src/main/res/drawable-hdpi/ic_stat_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..348a52cbeaf8415a7c4961ab7129a938621db9c5 GIT binary patch literal 1508 zcmVjJHIcZbyf|4Qv!j| z*w|Qak|h0TZodN<0;~`W@bTWfa;@01pGW0zhZM zx1C&j2*Ae%*ianD%Zhlk1qMLPd%w;ASq#^(U$aa~V-AArdeebfSA)vg1$8o*~tP-!cVmY~AI$jHbH@BJXbtTDQuVeI31 z&Q;ryc-Y57tRbi&=XcA;93WXK55i<9KiYft}O$##;mldzJ1Db zoS_FP)a&)v$#88BOa$Nu0KWlvgL_uAE2Z4QgS6Hv5#?zyG&-kFomxUh0|cO`JGf^t z*A&bYl{kQ}Cz4Q!k!RW9)zuzS87Lq9dl~>*J#v%>54&V~&wsPi! zm&yD=u1%u!4u)^6M9k@X0Q?Bx`XY&$!zs_Y8hDV-uG-hFuh1sB@&v=V7X20=Lpp@DQ9dqlUX0tk*UO{1pxE8=K#OiNKc&^>?!<8 z0CgCTM+^v6SO1hem0drXn&W@KJBjGSfM?!8tdelg_y`uX}pW6C!e{h`gf}tcV=q-jLrG z@_(|3+{AuZQxE==9;vN6O;cZF)Irou^-NeZCwvCLVJ*No{t&=$P6}HA?5DSG%&lo` zdzbw#Yt+H*XSH%uG#mVCM(SzCo0gMK59ew$@)ZD{0`QjsGsmhcj^itX+ecc2lji~( z7;|7Es!r`>lZf0PBG)?S{!k{oN$e7lF%h|obkzR3L}aIk^oht+5xItI_ln5hBBFNV zYPFiulQd2HZR*%jBq20=hPrrPe$7ZugW`VnHvl+fr28{~l^h=oiJ9XaA$4REn%L;N zJt4W~7@SnwY=I z)zO+Bh8eHk`}N~^*lQ3C++KsKXPYQXfHr6Vc(LU*Xo8Dk z)c|YjKAy9kC`V&G!3>sO6!W0;n(MvS*NmpCv}MquEG@fA&nGPfvv>6lTGcqR$T_FBbx{;WnbD?cnuy3T5gGE{?>Uzzy?+4{RgATLpJX%u0000< KMNUMnLSTZnF4J@X literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-mdpi/ic_stat_notification.png b/mobile/src/main/res/drawable-mdpi/ic_stat_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..70653f1f00db90e7af249a1bc1b6c7e895ab4148 GIT binary patch literal 909 zcmV;819JR{P)Z5fL@ROo@~rQ&Pc8CZrUhR)lRT5kx^T(GpxGZd>FgY9qDq zADEXQbSGB0P>`~uh>VnSal7~PJ?~HEbI#@X`FWMj=A3uVnP+CsnR(`wItI{_*F!@? zPo5=naJz9V|y&UQc0g zbjOz?7_&Uc%spA7P`%%&vNw0_PeB|z^`uLq@=!3 zXo3lQ0(`TiRg&H|vm22uN8C%`QAtlo`cl$$NlPRx3kQ6>VrD1GLVGe3S%kYCI8;1d zE<#Vu<3S~#$KJcZr@&XiuG1q~X1A5StP85}l-v(|R04Mt;-1K+zWAO5`~&=uslw@} z^vsFL$Lk?m*9qQHrSpN)Q6pB=&l_G-cadEex?WmTWTgj;a3XWol6&ZSq=r)fWQOf2 zzT1>goO`ot!|B#Cz5PWST<{PPv|FarLbsMVQq%uL(u%689;WG^uBvLAnf-F#re7K< j*7N+=B&GDfe_L(?FZ@N7L(b|A00000NkvXXu0mjf7uUF7 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xhdpi/ic_stat_notification.png b/mobile/src/main/res/drawable-xhdpi/ic_stat_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..4c6fb06d8d1ee7e3707e9d362350a57cc32cfac8 GIT binary patch literal 2218 zcmV;b2vzrqP)Sotd9H}oj~+cb*lM-*r)m1UQREA0n%)QCJpeY8 z7;^)Fs{wpZ$MA#c*vdnBS>DS5pAR%QH@7=Ul1T&np8#$Lusxu6+GmNY!|DJo1n@bI z>D_Bmd0Gs8gOB5QJV}yyEdjV2z)QMJ?q0`MK?kgcbxe-!g?J&3hinM*-YWRtPgrWB~#gCod>(#ZXEJ3*Kn`aR58{eV7{ja1dBt%J-#( zu)d z;yB)wrs*vEJz>D-K1%^E=l3%Jj`Mj6z#6a3WePE1gm{7xYF4pXthPh0RSjQBk~~5{ z8ZNg51N!>|)cS7#Tm+!WKG$0M!R{cFMc>^8v#XwA<}38DJMsFt7DoqX5nYpb43_uNe?Jxld9{-|t0$UM&RT zAST5I#oD3Z+1c6i(=?r-gtsrE{e1+lk>}NXcMk8jnu+b_&VrC?LoI+k07iNcBImEz zh;c?S&l6}yNai)>DIM|LFg!-OW1LJwy!3e!fH{7@BUFMJtHQgc4+!VlB35w3R^wdA z7tg#UN%9cQe;+&8CEkb5J*3g=9bFh5AgEJxw~ondEa?^Y3jm`YV2@ErlgCUk>+iv8 zwYtqYcQI4z!yKq%Fy|BpZshw}5!nLZeTGCW1f5E1X%X2ZBIC}vLj;}ZT{l5YN4_E= zPm0Kdb51qtl*eKMC~smrEF#w^X2mYeX7l~Vebxmo@iO9L!QmR!i z6_MlAyr#!L)a6D*u5ivhr{JA)YOy7oVj?!hsGFwOMN#xx_5X)Cv+tyYgF)!jZH)=F_Zka6%XgPsK4qH0_I0kzzf=MI!21Ite}A`ejkhdjb~DkwKzfZz z?=tz)du=4r*2~Im)&d{F_EYJ95wls@7p4x>v__~lv(Ev`u;B8Rxrn}Q+pQt^vds(W z*CWNQ8)v_eG%O+K!CDb{qed$c`3C(}`=IF3zP#%kP-~=&Ogfe(etu5bN%>I#x?SC2 z-v<`GMMJKLjPX-UUL%Em$gru>PK(GV7#8p1yTvA*cZJiO&v;_Ju}!eypqb{5KKN&C1K^f|ll; zy#L6s%u6`Vxm#<&yjMiDko747etSR@kw)jy&kWnG`rw_*JmNo-!!F-sd$c#jdHuzHX_+65t2T(yn`frvQuvjC|O8jA8Y~rvE3& zcbvbEa6Zh}oB-TJnh*H#!c;;UjmFkAO??_XVappmfZqz>@6`TqK_=_zZsYjZ7$Cpn z-eE1@eb9pCyN4;%Cev?%i`ZPA%q^8p7l5xA7nq~pOOfSFtk;^6w)^>eJAeP!&~7A# zpYrzxy47T$jE;0VZ;eL7ZfG`jD^MBmZy>XS;V!G7kI$3-r~>odb>w#~zx#2Iv%)dR z;xBB~uj_^;*iwGpN?ZVbZ?NlHbYpHb_Zjwkm0E(^()Ii{WL9NumjSqw&$_Bh*DYni zrhd9;Q_uT{Nb@n@x5Q5B6|~x6^6;)<`Rt-#Kj7SY+*ombQ{QYh&u;2{a;BwOLE+*gYp@#*I!ApthR=3;7jTYofY;0JBan+&zV5l^zOP5p(=M0l2E4jIyAngs^gf zvou~&+FnNQ(26w*3tMGMiwioIumJCC0en||-GUD+pfuk$>9r&kP zeNf!(t90IP!+(UCFYeZAwc_G#iSqh#OXmwtX2NEo-MUic^@0PA>$@CqEE#$FY3Qt8 zbR2Lr8jb!>X@VoBt1Zn+xD*y1F-AIm)C+nlE9w}L~y z@fA6#KSW4=eFk zgDlIw({8s9jEs!@HRSo<{IkamNs{#SXOA>Z7yGkE&#iPgEc&}mtybGPJUpzm%1gTa s-9|Uyy8lj+;M1&07*qoM6N<$f?KIy!~g&Q literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/drawable-xxhdpi/ic_stat_notification.png b/mobile/src/main/res/drawable-xxhdpi/ic_stat_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..f064e79f9ceadb5de4687b4ef90e5d1f41d4d9a7 GIT binary patch literal 3871 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 Ef`mRh!~g&Q literal 0 HcmV?d00001