MOBILE-2235 core: Use isStateDownloaded where it should

main
Dani Palou 2019-12-04 13:27:41 +01:00
parent 5dae06ff81
commit 40fc0e2b00
4 changed files with 18 additions and 10 deletions

View File

@ -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;

View File

@ -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) {

View File

@ -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 {};
}

View File

@ -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(() => {