From 72e11fd859336b71afd4ec69221f24320fd6af82 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Wed, 27 Mar 2024 18:41:04 +0100 Subject: [PATCH] Disable notifications in daemon mode --- sbapp/main.py | 2 +- sbapp/sideband/core.py | 32 +++++++++++++++++--------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/sbapp/main.py b/sbapp/main.py index 0fd14d9..6b15a0f 100644 --- a/sbapp/main.py +++ b/sbapp/main.py @@ -4967,7 +4967,7 @@ if not args.daemon: def run(): if args.daemon: RNS.log("Starting Sideband in daemon mode") - sideband = SidebandCore(None, is_client=False, verbose=(args.verbose or __debug_build__)) + sideband = SidebandCore(None, is_client=False, verbose=(args.verbose or __debug_build__), is_daemon=True) sideband.start() while True: time.sleep(5) diff --git a/sbapp/sideband/core.py b/sbapp/sideband/core.py index 16b6996..e41b744 100644 --- a/sbapp/sideband/core.py +++ b/sbapp/sideband/core.py @@ -106,9 +106,10 @@ class SidebandCore(): # stream logger self.log_announce(destination_hash, app_data, dest_type=SidebandCore.aspect_filter) - def __init__(self, owner_app, is_service=False, is_client=False, android_app_dir=None, verbose=False, owner_service=None, service_context=None): + def __init__(self, owner_app, is_service=False, is_client=False, android_app_dir=None, verbose=False, owner_service=None, service_context=None, is_daemon=False): self.is_service = is_service self.is_client = is_client + self.is_daemon = is_daemon self.db = None if not self.is_service and not self.is_client: @@ -769,23 +770,24 @@ class SidebandCore(): RNS.log("Error while setting LXMF propagation node: "+str(e), RNS.LOG_ERROR) def notify(self, title, content, group=None, context_id=None): - if self.config["notifications_on"]: - if RNS.vendor.platformutils.get_platform() == "android": - if self.getpersistent("permissions.notifications"): - notifications_permitted = True - else: - notifications_permitted = False - else: - notifications_permitted = True - - if notifications_permitted: + if not self.is_daemon: + if self.config["notifications_on"]: if RNS.vendor.platformutils.get_platform() == "android": - if self.is_service: - self.owner_service.android_notification(title, content, group=group, context_id=context_id) + if self.getpersistent("permissions.notifications"): + notifications_permitted = True else: - plyer.notification.notify(title, content, notification_icon=self.notification_icon, context_override=None) + notifications_permitted = False else: - plyer.notification.notify(title, content, app_icon=self.icon_32) + notifications_permitted = True + + if notifications_permitted: + if RNS.vendor.platformutils.get_platform() == "android": + if self.is_service: + self.owner_service.android_notification(title, content, group=group, context_id=context_id) + else: + plyer.notification.notify(title, content, notification_icon=self.notification_icon, context_override=None) + else: + plyer.notification.notify(title, content, app_icon=self.icon_32) def log_announce(self, dest, app_data, dest_type): try: