mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-24 02:46:50 +01:00
allow fitness apps to send ongoing notification
This commit is contained in:
parent
02510da6d9
commit
b65c10907f
@ -307,7 +307,10 @@ public class NotificationListener extends NotificationListenerService {
|
|||||||
|
|
||||||
Long notificationOldRepeatPreventionValue = notificationOldRepeatPrevention.get(source);
|
Long notificationOldRepeatPreventionValue = notificationOldRepeatPrevention.get(source);
|
||||||
if (notificationOldRepeatPreventionValue != null
|
if (notificationOldRepeatPreventionValue != null
|
||||||
&& notification.when <= notificationOldRepeatPreventionValue) {
|
&& notification.when <= notificationOldRepeatPreventionValue
|
||||||
|
&& !shouldIgnoreRepeatPrevention(sbn)
|
||||||
|
)
|
||||||
|
{
|
||||||
LOG.info("NOT processing notification, already sent newer notifications from this source.");
|
LOG.info("NOT processing notification, already sent newer notifications from this source.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -836,6 +839,33 @@ public class NotificationListener extends NotificationListenerService {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean shouldIgnoreRepeatPrevention(StatusBarNotification sbn) {
|
||||||
|
if (isFitnessApp(sbn)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean shouldIgnoreOngoing(StatusBarNotification sbn) {
|
||||||
|
if (isFitnessApp(sbn)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isFitnessApp(StatusBarNotification sbn) {
|
||||||
|
String source = sbn.getPackageName();
|
||||||
|
if (source.equals("de.dennisguse.opentracks")
|
||||||
|
|| source.equals("de.dennisguse.opentracks.debug")
|
||||||
|
|| source.equals("de.tadris.fitness")
|
||||||
|
|| source.equals("de.tadris.fitness.debug")
|
||||||
|
) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private boolean shouldIgnoreNotification(StatusBarNotification sbn, boolean remove) {
|
private boolean shouldIgnoreNotification(StatusBarNotification sbn, boolean remove) {
|
||||||
Notification notification = sbn.getNotification();
|
Notification notification = sbn.getNotification();
|
||||||
String source = sbn.getPackageName();
|
String source = sbn.getPackageName();
|
||||||
@ -864,6 +894,10 @@ public class NotificationListener extends NotificationListenerService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (shouldIgnoreOngoing(sbn)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return (notification.flags & Notification.FLAG_ONGOING_EVENT) == Notification.FLAG_ONGOING_EVENT;
|
return (notification.flags & Notification.FLAG_ONGOING_EVENT) == Notification.FLAG_ONGOING_EVENT;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user