diff --git a/src/core/course/components/format/format.ts b/src/core/course/components/format/format.ts index f296406f5..8b419c87c 100644 --- a/src/core/course/components/format/format.ts +++ b/src/core/course/components/format/format.ts @@ -479,6 +479,14 @@ export class CoreCourseFormatComponent implements OnInit, OnChanges, OnDestroy { this.dynamicComponents.forEach((component) => { component.callComponentFunction('ionViewDidEnter'); }); + if (this.downloadEnabled) { + // The download status of a section might have been changed from within a module page. + if (this.selectedSection && this.selectedSection.id !== CoreCourseProvider.ALL_SECTIONS_ID) { + this.courseHelper.calculateSectionStatus(this.selectedSection, this.course.id); + } else { + this.courseHelper.calculateSectionsStatus(this.sections, this.course.id); + } + } } /** diff --git a/src/core/course/components/module/module.ts b/src/core/course/components/module/module.ts index b4d8cba41..758784848 100644 --- a/src/core/course/components/module/module.ts +++ b/src/core/course/components/module/module.ts @@ -148,6 +148,8 @@ export class CoreCourseModuleComponent implements OnInit, OnDestroy { // Get download size to ask for confirm if it's high. this.prefetchHandler.getDownloadSize(this.module, this.courseId, true).then((size) => { return this.courseHelper.prefetchModule(this.prefetchHandler, this.module, size, this.courseId, refresh); + }).then(() => { + this.courseHelper.calculateSectionStatus(this.section, this.courseId); }).catch((error) => { // Error, hide spinner. this.spinner = false;