IntentHandler.swift 1001 B

1234567891011121314151617181920212223242526272829303132
  1. //
  2. // IntentHandler.swift
  3. // WidgetDashboardIntentHandler
  4. //
  5. // Created by Marino Faggiana on 08/10/22.
  6. // Copyright © 2022 Marino Faggiana. All rights reserved.
  7. //
  8. import Intents
  9. import RealmSwift
  10. class IntentHandler: INExtension, DashboardIntentHandling {
  11. func provideApplicationsOptionsCollection(for intent: DashboardIntent, with completion: @escaping (INObjectCollection<Applications>?, Error?) -> Void) {
  12. var applications: [Applications] = []
  13. guard let account = NCManageDatabase.shared.getActiveAccount() else {
  14. completion(nil, nil)
  15. return
  16. }
  17. let results = NCManageDatabase.shared.getDashboardWidgetApplications(account: account.account)
  18. for result in results {
  19. let application = Applications(identifier: result.id, display: result.title)
  20. applications.append(application)
  21. }
  22. let collection = INObjectCollection(items: applications)
  23. completion(collection, nil)
  24. }
  25. }