|
|
@ -113,34 +113,39 @@ class _NeonAppState extends State<NeonApp> with WidgetsBindingObserver, tray.Tra |
|
|
|
if (account == null) { |
|
|
|
if (account == null) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
final app = Provider.of<Iterable<AppImplementation>>(context, listen: false).find('notifications'); |
|
|
|
|
|
|
|
if (app != null) { |
|
|
|
|
|
|
|
await _accountsBloc.getAppsBlocFor(account).getAppBloc<NotificationsBlocInterface>(app).refresh(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
Global.onPushNotificationClicked = (final pushNotificationWithAccountID) async { |
|
|
|
|
|
|
|
final allAppImplementations = Provider.of<Iterable<AppImplementation>>(context, listen: false); |
|
|
|
final allAppImplementations = Provider.of<Iterable<AppImplementation>>(context, listen: false); |
|
|
|
|
|
|
|
final app = allAppImplementations.find('notifications') as NotificationsAppInterface?; |
|
|
|
|
|
|
|
|
|
|
|
final app = (pushNotificationWithAccountID.subject.app != null |
|
|
|
if (app == null) { |
|
|
|
? allAppImplementations.find(pushNotificationWithAccountID.subject.app!) |
|
|
|
return; |
|
|
|
: null) ?? |
|
|
|
} |
|
|
|
allAppImplementations.find('notifications'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await _accountsBloc.getAppsBlocFor(account).getAppBloc<NotificationsBlocInterface>(app).refresh(); |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
Global.onPushNotificationClicked = (final pushNotificationWithAccountID) async { |
|
|
|
final account = _accountsBloc.accounts.value.find(pushNotificationWithAccountID.accountID); |
|
|
|
final account = _accountsBloc.accounts.value.find(pushNotificationWithAccountID.accountID); |
|
|
|
if (account == null) { |
|
|
|
if (account == null) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_accountsBloc.setActiveAccount(account); |
|
|
|
_accountsBloc.setActiveAccount(account); |
|
|
|
if (app != null) { |
|
|
|
|
|
|
|
if (app.id != 'notifications') { |
|
|
|
final allAppImplementations = Provider.of<Iterable<AppImplementation>>(context, listen: false); |
|
|
|
_accountsBloc |
|
|
|
|
|
|
|
.getAppsBlocFor(account) |
|
|
|
final notificationsApp = allAppImplementations.find('notifications') as NotificationsAppInterface?; |
|
|
|
.getAppBloc<NotificationsBlocInterface>(app) |
|
|
|
if (notificationsApp != null) { |
|
|
|
.deleteNotification(pushNotificationWithAccountID.subject.nid!); |
|
|
|
_accountsBloc |
|
|
|
} |
|
|
|
.getAppsBlocFor(account) |
|
|
|
await _openAppFromExternal(account, app.id); |
|
|
|
.getAppBloc<NotificationsBlocInterface>(notificationsApp) |
|
|
|
|
|
|
|
.deleteNotification(pushNotificationWithAccountID.subject.nid!); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final app = allAppImplementations.find(pushNotificationWithAccountID.subject.app!) ?? notificationsApp; |
|
|
|
|
|
|
|
if (app == null) { |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await _openAppFromExternal(account, app.id); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
final details = await localNotificationsPlugin.getNotificationAppLaunchDetails(); |
|
|
|
final details = await localNotificationsPlugin.getNotificationAppLaunchDetails(); |
|
|
|