123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*
- * Copyright @ 2018-present 8x8, Inc.
- * Copyright @ 2017-2018 Atlassian Pty Ltd
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- import ClockKit
-
-
- class ComplicationController: NSObject, CLKComplicationDataSource {
-
- // MARK: - Timeline Configuration
-
- func getSupportedTimeTravelDirections(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimeTravelDirections) -> Void) {
- handler([])
- }
-
- func getPrivacyBehavior(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationPrivacyBehavior) -> Void) {
- handler(.showOnLockScreen)
- }
-
- // MARK: - Timeline Population
-
- func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
- // Call the handler with the current timeline entry
- getLocalizableSampleTemplate(for: complication) {template in
- guard let template = template else {
- handler(nil)
- return
- }
- handler(CLKComplicationTimelineEntry(date: Date(), complicationTemplate: template))
- }
- }
-
- func getTimelineEntries(for complication: CLKComplication, before date: Date, limit: Int, withHandler handler: @escaping ([CLKComplicationTimelineEntry]?) -> Void) {
- // Call the handler with the timeline entries prior to the given date
- 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 to the given date
- handler(nil)
- }
-
- // MARK: - Placeholder 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
-
- let imageProvider = CLKImageProvider(onePieceImage: UIImage(named: "jitsi")!)
- if complication.family == .circularSmall {
- let small = CLKComplicationTemplateCircularSmallRingImage()
- small.imageProvider = imageProvider
- small.ringStyle = .closed
- small.fillFraction = 0
- handler(small)
- } else if complication.family == .utilitarianSmall {
- let utilitarian = CLKComplicationTemplateUtilitarianSmallSquare()
- utilitarian.imageProvider = imageProvider
- handler(utilitarian)
- } else if complication.family == .modularSmall {
- let modular = CLKComplicationTemplateModularSmallRingImage()
- modular.imageProvider = imageProvider
- modular.ringStyle = .closed
- modular.fillFraction = 0
- handler(modular)
- }
- }
-
- }
|