diff --git a/src/components/file/file.ts b/src/components/file/file.ts index b8e7a7965..57c509107 100644 --- a/src/components/file/file.ts +++ b/src/components/file/file.ts @@ -169,7 +169,7 @@ export class CoreFileComponent implements OnInit, OnDestroy { } if (!this.appProvider.isOnline() && (!openAfterDownload || (openAfterDownload && - !(this.state === CoreConstants.DOWNLOADED || this.state === CoreConstants.OUTDATED)))) { + !this.fileHelper.isStateDownloaded(this.state)))) { this.domUtils.showErrorModal('core.networkerrormsg', true); return; diff --git a/src/core/course/providers/helper.ts b/src/core/course/providers/helper.ts index 82b9d03d6..9cfb9385c 100644 --- a/src/core/course/providers/helper.ts +++ b/src/core/course/providers/helper.ts @@ -1089,7 +1089,7 @@ export class CoreCourseHelperProvider { // Get the time it was downloaded (if it was downloaded). promises.push(this.filepoolProvider.getPackageData(siteId, component, module.id).then((data) => { - if (data && data.downloadTime && (data.status == CoreConstants.OUTDATED || data.status == CoreConstants.DOWNLOADED)) { + if (data && data.downloadTime && this.fileHelper.isStateDownloaded(data.status)) { const now = this.timeUtils.timestamp(); moduleInfo.downloadTime = data.downloadTime; if (now - data.downloadTime < 7 * 86400) { diff --git a/src/core/course/providers/module-prefetch-delegate.ts b/src/core/course/providers/module-prefetch-delegate.ts index 58cda1d91..6e05b283b 100644 --- a/src/core/course/providers/module-prefetch-delegate.ts +++ b/src/core/course/providers/module-prefetch-delegate.ts @@ -27,6 +27,7 @@ import { CoreConstants } from '../../constants'; import { Md5 } from 'ts-md5/dist/md5'; import { Subject, BehaviorSubject, Subscription } from 'rxjs'; import { CoreDelegate, CoreDelegateHandler } from '@classes/delegate'; +import { CoreFileHelperProvider } from '@providers/file-helper'; /** * Progress of downloading a list of modules. @@ -258,10 +259,15 @@ export class CoreCourseModulePrefetchDelegate extends CoreDelegate { } } = {}; - constructor(loggerProvider: CoreLoggerProvider, protected sitesProvider: CoreSitesProvider, private utils: CoreUtilsProvider, - private courseProvider: CoreCourseProvider, private filepoolProvider: CoreFilepoolProvider, - private timeUtils: CoreTimeUtilsProvider, private fileProvider: CoreFileProvider, - protected eventsProvider: CoreEventsProvider) { + constructor(loggerProvider: CoreLoggerProvider, + protected sitesProvider: CoreSitesProvider, + protected utils: CoreUtilsProvider, + protected courseProvider: CoreCourseProvider, + protected filepoolProvider: CoreFilepoolProvider, + protected timeUtils: CoreTimeUtilsProvider, + protected fileProvider: CoreFileProvider, + protected eventsProvider: CoreEventsProvider, + protected fileHelper: CoreFileHelperProvider) { super('CoreCourseModulePrefetchDelegate', loggerProvider, sitesProvider, eventsProvider); this.sitesProvider.registerSiteSchema(this.siteSchema); @@ -881,7 +887,7 @@ export class CoreCourseModulePrefetchDelegate extends CoreDelegate { const packageId = this.filepoolProvider.getPackageId(handler.component, module.id), status = this.statusCache.getValue(packageId, 'status'); - if (typeof status != 'undefined' && status != CoreConstants.DOWNLOADED && status != CoreConstants.OUTDATED) { + if (typeof status != 'undefined' && !this.fileHelper.isStateDownloaded(status)) { // Module isn't downloaded, just return the status. return Promise.resolve({ status: status @@ -927,7 +933,7 @@ export class CoreCourseModulePrefetchDelegate extends CoreDelegate { return this.sitesProvider.getSite(siteId).then((site) => { // Get the status and download time of the module. return this.getModuleStatusAndDownloadTime(module, courseId).then((data) => { - if (data.status != CoreConstants.DOWNLOADED && data.status != CoreConstants.OUTDATED) { + if (!this.fileHelper.isStateDownloaded(data.status)) { // Not downloaded, no updates. return {}; } diff --git a/src/core/h5p/components/h5p-player/h5p-player.ts b/src/core/h5p/components/h5p-player/h5p-player.ts index f4c0f70d7..1166c0136 100644 --- a/src/core/h5p/components/h5p-player/h5p-player.ts +++ b/src/core/h5p/components/h5p-player/h5p-player.ts @@ -25,6 +25,7 @@ import { CoreUrlUtilsProvider } from '@providers/utils/url'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreH5PProvider } from '@core/h5p/providers/h5p'; import { CorePluginFileDelegate } from '@providers/plugin-file-delegate'; +import { CoreFileHelperProvider } from '@providers/file-helper'; import { CoreConstants } from '@core/constants'; import { CoreSite } from '@classes/site'; @@ -66,7 +67,8 @@ export class CoreH5PPlayerComponent implements OnInit, OnChanges, OnDestroy { protected appProvider: CoreAppProvider, protected domUtils: CoreDomUtilsProvider, protected pluginFileDelegate: CorePluginFileDelegate, - protected fileProvider: CoreFileProvider) { + protected fileProvider: CoreFileProvider, + protected fileHelper: CoreFileHelperProvider) { this.logger = loggerProvider.getInstance('CoreH5PPlayerComponent'); this.site = sitesProvider.getCurrentSite(); @@ -106,7 +108,7 @@ export class CoreH5PPlayerComponent implements OnInit, OnChanges, OnDestroy { this.addResizerScript(); - if (this.canDownload && (this.state == CoreConstants.DOWNLOADED || this.state == CoreConstants.OUTDATED)) { + if (this.canDownload && this.fileHelper.isStateDownloaded(this.state)) { // Package is downloaded, use the local URL. promise = this.h5pProvider.getContentIndexFileUrl(this.urlParams.url, this.urlParams, this.siteId).catch(() => {