@@ -36,9 +36,6 @@ class ModelDownloadTask {
3636 /// Downloader instance.
3737 private let downloader : FileDownloader
3838
39- /// Telemetry logger.
40- private let telemetryLogger : TelemetryLogger ?
41-
4239 /// Download progress handler.
4340 typealias ProgressHandler = ( Float ) -> Void
4441 private var progressHandler : ProgressHandler ?
@@ -52,15 +49,13 @@ class ModelDownloadTask {
5249 defaults: GULUserDefaults ,
5350 downloader: FileDownloader ,
5451 progressHandler: ProgressHandler ? = nil ,
55- completion: @escaping Completion ,
56- telemetryLogger: TelemetryLogger ? = nil ) {
52+ completion: @escaping Completion ) {
5753 self . remoteModelInfo = remoteModelInfo
5854 self . appName = appName
5955 self . defaults = defaults
6056 self . downloader = downloader
6157 self . progressHandler = progressHandler
6258 self . completion = completion
63- self . telemetryLogger = telemetryLogger
6459 }
6560}
6661
@@ -96,23 +91,9 @@ extension ModelDownloadTask {
9691 DeviceLogger . logEvent ( level: . debug,
9792 message: ModelDownloadTask . ErrorDescription. anotherDownloadInProgress,
9893 messageCode: . anotherDownloadInProgressError)
99- telemetryLogger? . logModelDownloadEvent ( eventName: . modelDownload,
100- status: . failed,
101- model: CustomModel ( name: remoteModelInfo. name,
102- size: remoteModelInfo. size,
103- path: " " ,
104- hash: remoteModelInfo. modelHash) ,
105- downloadErrorCode: . downloadFailed)
10694 return
10795 }
10896 downloadStatus = . downloading
109- telemetryLogger? . logModelDownloadEvent ( eventName: . modelDownload,
110- status: . downloading,
111- model: CustomModel ( name: remoteModelInfo. name,
112- size: remoteModelInfo. size,
113- path: " " ,
114- hash: remoteModelInfo. modelHash) ,
115- downloadErrorCode: . noError)
11697 downloader. downloadFile ( with: remoteModelInfo. downloadURL,
11798 progressHandler: { downloadedBytes, totalBytes in
11899 /// Fraction of model file downloaded.
@@ -141,45 +122,18 @@ extension ModelDownloadTask {
141122 DeviceLogger . logEvent ( level: . debug,
142123 message: description,
143124 messageCode: . hostnameError)
144- self . telemetryLogger? . logModelDownloadEvent (
145- eventName: . modelDownload,
146- status: . failed,
147- model: CustomModel ( name: self . remoteModelInfo. name,
148- size: self . remoteModelInfo. size,
149- path: " " ,
150- hash: self . remoteModelInfo. modelHash) ,
151- downloadErrorCode: . noConnection
152- )
153125 case FileDownloaderError . unexpectedResponseType:
154126 let description = ModelDownloadTask . ErrorDescription. invalidHTTPResponse
155127 downloadError = . internalError( description: description)
156128 DeviceLogger . logEvent ( level: . debug,
157129 message: description,
158130 messageCode: . invalidHTTPResponse)
159- self . telemetryLogger? . logModelDownloadEvent (
160- eventName: . modelDownload,
161- status: . failed,
162- model: CustomModel ( name: self . remoteModelInfo. name,
163- size: self . remoteModelInfo. size,
164- path: " " ,
165- hash: self . remoteModelInfo. modelHash) ,
166- downloadErrorCode: . downloadFailed
167- )
168131 default :
169132 let description = ModelDownloadTask . ErrorDescription. unknownDownloadError
170133 downloadError = . internalError( description: description)
171134 DeviceLogger . logEvent ( level: . debug,
172135 message: description,
173136 messageCode: . modelDownloadError)
174- self . telemetryLogger? . logModelDownloadEvent (
175- eventName: . modelDownload,
176- status: . failed,
177- model: CustomModel ( name: self . remoteModelInfo. name,
178- size: self . remoteModelInfo. size,
179- path: " " ,
180- hash: self . remoteModelInfo. modelHash) ,
181- downloadErrorCode: . downloadFailed
182- )
183137 }
184138 self . completion ( . failure( downloadError) )
185139 }
@@ -197,75 +151,30 @@ extension ModelDownloadTask {
197151 message: ModelDownloadTask . ErrorDescription
198152 . invalidArgument ( remoteModelInfo. name) ,
199153 messageCode: . invalidArgument)
200- telemetryLogger? . logModelDownloadEvent (
201- eventName: . modelDownload,
202- status: . failed,
203- model: CustomModel ( name: remoteModelInfo. name,
204- size: remoteModelInfo. size,
205- path: " " ,
206- hash: remoteModelInfo. modelHash) ,
207- downloadErrorCode: . httpError( code: response. statusCode)
208- )
209154 completion ( . failure( . invalidArgument) )
210155 return
211156 }
212157 DeviceLogger . logEvent ( level: . debug,
213158 message: ModelDownloadTask . ErrorDescription. expiredModelInfo,
214159 messageCode: . expiredModelInfo)
215- telemetryLogger? . logModelDownloadEvent (
216- eventName: . modelDownload,
217- status: . failed,
218- model: CustomModel ( name: remoteModelInfo. name,
219- size: remoteModelInfo. size,
220- path: " " ,
221- hash: remoteModelInfo. modelHash) ,
222- downloadErrorCode: . urlExpired
223- )
224160 completion ( . failure( . expiredDownloadURL) )
225161 case 401 , 403 :
226162 DeviceLogger . logEvent ( level: . debug,
227163 message: ModelDownloadTask . ErrorDescription. permissionDenied,
228164 messageCode: . permissionDenied)
229- telemetryLogger? . logModelDownloadEvent (
230- eventName: . modelDownload,
231- status: . failed,
232- model: CustomModel ( name: remoteModelInfo. name,
233- size: remoteModelInfo. size,
234- path: " " ,
235- hash: remoteModelInfo. modelHash) ,
236- downloadErrorCode: . httpError( code: response. statusCode)
237- )
238165 completion ( . failure( . permissionDenied) )
239166 case 404 :
240167 DeviceLogger . logEvent ( level: . debug,
241168 message: ModelDownloadTask . ErrorDescription
242169 . modelNotFound ( remoteModelInfo. name) ,
243170 messageCode: . modelNotFound)
244- telemetryLogger? . logModelDownloadEvent (
245- eventName: . modelDownload,
246- status: . failed,
247- model: CustomModel ( name: remoteModelInfo. name,
248- size: remoteModelInfo. size,
249- path: " " ,
250- hash: remoteModelInfo. modelHash) ,
251- downloadErrorCode: . httpError( code: response. statusCode)
252- )
253171 completion ( . failure( . notFound) )
254172 default :
255173 let description = ModelDownloadTask . ErrorDescription
256174 . modelDownloadFailed ( response. statusCode)
257175 DeviceLogger . logEvent ( level: . debug,
258176 message: description,
259177 messageCode: . modelDownloadError)
260- telemetryLogger? . logModelDownloadEvent (
261- eventName: . modelDownload,
262- status: . failed,
263- model: CustomModel ( name: remoteModelInfo. name,
264- size: remoteModelInfo. size,
265- path: " " ,
266- hash: remoteModelInfo. modelHash) ,
267- downloadErrorCode: . httpError( code: response. statusCode)
268- )
269178 completion ( . failure( . internalError( description: description) ) )
270179 }
271180 return
@@ -282,13 +191,6 @@ extension ModelDownloadTask {
282191 message: description,
283192 messageCode: . downloadedModelSaveError)
284193 // Downloading the file succeeding but saving failed.
285- telemetryLogger? . logModelDownloadEvent ( eventName: . modelDownload,
286- status: . succeeded,
287- model: CustomModel ( name: remoteModelInfo. name,
288- size: remoteModelInfo. size,
289- path: " " ,
290- hash: remoteModelInfo. modelHash) ,
291- downloadErrorCode: . downloadFailed)
292194 completion ( . failure( . internalError( description: description) ) )
293195 return
294196 }
@@ -325,12 +227,6 @@ extension ModelDownloadTask {
325227 DeviceLogger . logEvent ( level: . debug,
326228 message: ModelDownloadTask . DebugDescription. modelDownloaded,
327229 messageCode: . modelDownloaded)
328- telemetryLogger? . logModelDownloadEvent (
329- eventName: . modelDownload,
330- status: . succeeded,
331- model: model,
332- downloadErrorCode: . noError
333- )
334230 completion ( . success( model) )
335231 } catch let error as DownloadError {
336232 if error == . notEnoughSpace {
@@ -343,27 +239,13 @@ extension ModelDownloadTask {
343239 messageCode: . downloadedModelSaveError)
344240 }
345241 // Downloading the file succeeding but saving failed.
346- telemetryLogger? . logModelDownloadEvent ( eventName: . modelDownload,
347- status: . succeeded,
348- model: CustomModel ( name: remoteModelInfo. name,
349- size: remoteModelInfo. size,
350- path: " " ,
351- hash: remoteModelInfo. modelHash) ,
352- downloadErrorCode: . downloadFailed)
353242 completion ( . failure( error) )
354243 return
355244 } catch {
356245 DeviceLogger . logEvent ( level: . debug,
357246 message: ModelDownloadTask . ErrorDescription. modelSaveError,
358247 messageCode: . downloadedModelSaveError)
359248 // Downloading the file succeeding but saving failed.
360- telemetryLogger? . logModelDownloadEvent ( eventName: . modelDownload,
361- status: . succeeded,
362- model: CustomModel ( name: remoteModelInfo. name,
363- size: remoteModelInfo. size,
364- path: " " ,
365- hash: remoteModelInfo. modelHash) ,
366- downloadErrorCode: . downloadFailed)
367249 completion ( . failure( . internalError( description: error. localizedDescription) ) )
368250 return
369251 }
0 commit comments