Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 1 | Rev 17 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 12
Línea 37... Línea 37...
37
      UIPageControl.appearance().currentPageIndicatorTintColor = .systemBlue
37
      UIPageControl.appearance().currentPageIndicatorTintColor = .systemBlue
38
      UIPageControl.appearance().pageIndicatorTintColor = .systemGray2
38
      UIPageControl.appearance().pageIndicatorTintColor = .systemGray2
Línea 39... Línea -...
39
      
-
 
40
 
-
 
41
 
-
 
-
 
39
      
42
      registerBGTasksScheduler()
40
 
Línea 43... Línea 41...
43
      scheduleProcess()
41
 
Línea 44... Línea 42...
44
      scheduleRefresh()
42
 
Línea 74... Línea 72...
74
                    break
72
                    break
75
                }
73
                }
76
          }
74
          }
77
    }
75
    }
Línea 78... Línea -...
78
    
-
 
79
    func registerBGTasksScheduler() {
-
 
80
        BGTaskScheduler.shared.register(forTaskWithIdentifier: Constants.BACKGROUND_TASK_REFRESH, using: nil) { task in
-
 
81
                 self.handleRefreshTask(task: task as! BGAppRefreshTask)
-
 
82
        }
-
 
83
        
-
 
84
        BGTaskScheduler.shared.register(forTaskWithIdentifier: Constants.BACKGROUND_TASK_PROCESS, using: nil) { task in
-
 
85
                 self.handleProcessTask(task: task as! BGProcessingTask)
-
 
86
        }
-
 
87
 
-
 
88
    }
-
 
89
        
-
 
90
    func scheduleRefresh() {
-
 
91
        let request = BGAppRefreshTaskRequest(identifier: Constants.BACKGROUND_TASK_REFRESH)
-
 
92
        request.earliestBeginDate = Date(timeIntervalSinceNow: 10 * 60)
-
 
93
        
-
 
94
 
-
 
95
            
-
 
96
        do {
-
 
97
             try BGTaskScheduler.shared.submit(request)
-
 
98
        } catch {
-
 
99
            print("Could not schedule app refresh: \(error)")
-
 
100
        }
-
 
101
    }
-
 
102
        
-
 
103
    func scheduleProcess() {
-
 
104
        let request = BGProcessingTaskRequest(identifier: Constants.BACKGROUND_TASK_PROCESS)
-
 
105
        request.earliestBeginDate = Date(timeIntervalSinceNow: 10 * 60)
-
 
106
        request.requiresNetworkConnectivity = true
-
 
107
        request.requiresExternalPower = false
-
 
108
 
-
 
109
        do {
-
 
110
            try BGTaskScheduler.shared.submit(request)
-
 
111
        } catch {
-
 
112
            print("Could not schedule processing: \(error)")
-
 
113
        }
-
 
114
    }
-
 
115
        
-
 
116
    func handleProcessTask(task: BGProcessingTask) {
-
 
117
        scheduleProcess()
-
 
118
        
-
 
119
        let syncAdapter = SyncAdapter()
-
 
120
        syncAdapter.sync { success in
-
 
121
            task.setTaskCompleted(success: success)
-
 
122
        }
-
 
123
 
-
 
124
        /*
-
 
125
        task.expirationHandler = {
-
 
126
            task.setTaskCompleted(success: false)
-
 
127
         }
-
 
128
         */
-
 
129
        task.setTaskCompleted(success: true)
-
 
130
    }
-
 
131
        
-
 
132
    func handleRefreshTask(task: BGAppRefreshTask) {
-
 
133
        scheduleRefresh()
-
 
134
        
-
 
135
        
-
 
136
        
-
 
137
        let syncAdapter = SyncAdapter()
-
 
138
        if syncAdapter.isCheckChangesRequired() {
-
 
139
            syncAdapter.checkChanges(isForeground: false) { success in
-
 
140
                task.setTaskCompleted(success: success)
-
 
141
            }
-
 
142
        } else {
-
 
143
            task.expirationHandler = {
-
 
144
                task.setTaskCompleted(success: false)
-
 
145
             }
-
 
146
        }
-
 
147
        
76
    
148
 
-
 
149
        task.setTaskCompleted(success: true)
-
 
150
    }
77
    
Línea 151... Línea 78...
151
}
78
}
152
 
79