| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- //
- // ComplicationController.swift
- // Firestore_Example_watchOS WatchKit Extension
- //
- // Created by Cheryl Lin on 2022-06-08.
- // Copyright © 2022 Google. All rights reserved.
- //
- import ClockKit
- class ComplicationController: NSObject, CLKComplicationDataSource {
-
- // MARK: - Complication Configuration
- func getComplicationDescriptors(handler: @escaping ([CLKComplicationDescriptor]) -> Void) {
- let descriptors = [
- CLKComplicationDescriptor(identifier: "complication", displayName: "Firestore", supportedFamilies: CLKComplicationFamily.allCases)
- // Multiple complication support can be added here with more descriptors
- ]
-
- // Call the handler with the currently supported complication descriptors
- handler(descriptors)
- }
-
- func handleSharedComplicationDescriptors(_ complicationDescriptors: [CLKComplicationDescriptor]) {
- // Do any necessary work to support these newly shared complication descriptors
- }
- // MARK: - Timeline Configuration
-
- func getTimelineEndDate(for complication: CLKComplication, withHandler handler: @escaping (Date?) -> Void) {
- // Call the handler with the last entry date you can currently provide or nil if you can't support future timelines
- handler(nil)
- }
-
- func getPrivacyBehavior(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationPrivacyBehavior) -> Void) {
- // Call the handler with your desired behavior when the device is locked
- handler(.showOnLockScreen)
- }
- // MARK: - Timeline Population
-
- func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
- // Call the handler with the current timeline entry
- handler(nil)
- }
-
- func getTimelineEntries(for complication: CLKComplication, after date: Date, limit: Int, withHandler handler: @escaping ([CLKComplicationTimelineEntry]?) -> Void) {
- // Call the handler with the timeline entries after the given date
- handler(nil)
- }
- // MARK: - Sample Templates
-
- func getLocalizableSampleTemplate(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTemplate?) -> Void) {
- // This method will be called once per supported complication, and the results will be cached
- handler(nil)
- }
- }
|