From bfd4dd8ac759f143e7e7a61ca96d436d6bdce810 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Thu, 21 Jun 2018 10:29:37 +0200 Subject: [PATCH 1/2] MOBILE-2431 build: Fix database with AOT --- gulpfile.js | 6 +++--- .../assessment/accumulative/component/accumulative.ts | 2 +- ...ddon-mod-workshop-assessment-strategy-accumulative.html} | 0 ...=> addon-mod-workshop-assessment-strategy-comments.html} | 0 .../mod/workshop/assessment/comments/component/comments.ts | 2 +- ...> addon-mod-workshop-assessment-strategy-numerrors.html} | 0 .../workshop/assessment/numerrors/component/numerrors.ts | 2 +- ...l => addon-mod-workshop-assessment-strategy-rubric.html} | 0 .../mod/workshop/assessment/rubric/component/rubric.ts | 2 +- 9 files changed, 7 insertions(+), 7 deletions(-) rename src/addon/mod/workshop/assessment/accumulative/component/{accumulative.html => addon-mod-workshop-assessment-strategy-accumulative.html} (100%) rename src/addon/mod/workshop/assessment/comments/component/{comments.html => addon-mod-workshop-assessment-strategy-comments.html} (100%) rename src/addon/mod/workshop/assessment/numerrors/component/{numerrors.html => addon-mod-workshop-assessment-strategy-numerrors.html} (100%) rename src/addon/mod/workshop/assessment/rubric/component/{rubric.html => addon-mod-workshop-assessment-strategy-rubric.html} (100%) diff --git a/gulpfile.js b/gulpfile.js index 1fc070779..d68894aa8 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -292,9 +292,9 @@ var templatesSrc = [ './src/components/**/*.html', './src/core/**/components/**/*.html', './src/core/**/component/**/*.html', - // Only some addon components are injected to compile to decrease load time. Copy only the ones that are needed. - './src/addon/mod/assign/components/**/*.html', - './src/addon/mod/workshop/components/**/*.html' + // Copy all addon components because any component can be injected using extraImports. + './src/addon/**/components/**/*.html', + './src/addon/**/component/**/*.html' ], templatesDest = './www/templates'; diff --git a/src/addon/mod/workshop/assessment/accumulative/component/accumulative.ts b/src/addon/mod/workshop/assessment/accumulative/component/accumulative.ts index 98385f1f0..eabb8bf09 100644 --- a/src/addon/mod/workshop/assessment/accumulative/component/accumulative.ts +++ b/src/addon/mod/workshop/assessment/accumulative/component/accumulative.ts @@ -20,7 +20,7 @@ import { AddonModWorkshopAssessmentStrategyComponentBase } from '../../../classe */ @Component({ selector: 'addon-mod-workshop-assessment-strategy-accumulative', - templateUrl: 'accumulative.html', + templateUrl: 'addon-mod-workshop-assessment-strategy-accumulative.html', }) export class AddonModWorkshopAssessmentStrategyAccumulativeComponent extends AddonModWorkshopAssessmentStrategyComponentBase { } diff --git a/src/addon/mod/workshop/assessment/accumulative/component/accumulative.html b/src/addon/mod/workshop/assessment/accumulative/component/addon-mod-workshop-assessment-strategy-accumulative.html similarity index 100% rename from src/addon/mod/workshop/assessment/accumulative/component/accumulative.html rename to src/addon/mod/workshop/assessment/accumulative/component/addon-mod-workshop-assessment-strategy-accumulative.html diff --git a/src/addon/mod/workshop/assessment/comments/component/comments.html b/src/addon/mod/workshop/assessment/comments/component/addon-mod-workshop-assessment-strategy-comments.html similarity index 100% rename from src/addon/mod/workshop/assessment/comments/component/comments.html rename to src/addon/mod/workshop/assessment/comments/component/addon-mod-workshop-assessment-strategy-comments.html diff --git a/src/addon/mod/workshop/assessment/comments/component/comments.ts b/src/addon/mod/workshop/assessment/comments/component/comments.ts index 2f963dc84..61a187536 100644 --- a/src/addon/mod/workshop/assessment/comments/component/comments.ts +++ b/src/addon/mod/workshop/assessment/comments/component/comments.ts @@ -20,7 +20,7 @@ import { AddonModWorkshopAssessmentStrategyComponentBase } from '../../../classe */ @Component({ selector: 'addon-mod-workshop-assessment-strategy-comments', - templateUrl: 'comments.html', + templateUrl: 'addon-mod-workshop-assessment-strategy-comments.html', }) export class AddonModWorkshopAssessmentStrategyCommentsComponent extends AddonModWorkshopAssessmentStrategyComponentBase { } diff --git a/src/addon/mod/workshop/assessment/numerrors/component/numerrors.html b/src/addon/mod/workshop/assessment/numerrors/component/addon-mod-workshop-assessment-strategy-numerrors.html similarity index 100% rename from src/addon/mod/workshop/assessment/numerrors/component/numerrors.html rename to src/addon/mod/workshop/assessment/numerrors/component/addon-mod-workshop-assessment-strategy-numerrors.html diff --git a/src/addon/mod/workshop/assessment/numerrors/component/numerrors.ts b/src/addon/mod/workshop/assessment/numerrors/component/numerrors.ts index ead73dcaf..cffa93995 100644 --- a/src/addon/mod/workshop/assessment/numerrors/component/numerrors.ts +++ b/src/addon/mod/workshop/assessment/numerrors/component/numerrors.ts @@ -20,7 +20,7 @@ import { AddonModWorkshopAssessmentStrategyComponentBase } from '../../../classe */ @Component({ selector: 'addon-mod-workshop-assessment-strategy-numerrors', - templateUrl: 'numerrors.html', + templateUrl: 'addon-mod-workshop-assessment-strategy-numerrors.html', }) export class AddonModWorkshopAssessmentStrategyNumErrorsComponent extends AddonModWorkshopAssessmentStrategyComponentBase { } diff --git a/src/addon/mod/workshop/assessment/rubric/component/rubric.html b/src/addon/mod/workshop/assessment/rubric/component/addon-mod-workshop-assessment-strategy-rubric.html similarity index 100% rename from src/addon/mod/workshop/assessment/rubric/component/rubric.html rename to src/addon/mod/workshop/assessment/rubric/component/addon-mod-workshop-assessment-strategy-rubric.html diff --git a/src/addon/mod/workshop/assessment/rubric/component/rubric.ts b/src/addon/mod/workshop/assessment/rubric/component/rubric.ts index d28b3f578..fda33b4d3 100644 --- a/src/addon/mod/workshop/assessment/rubric/component/rubric.ts +++ b/src/addon/mod/workshop/assessment/rubric/component/rubric.ts @@ -20,7 +20,7 @@ import { AddonModWorkshopAssessmentStrategyComponentBase } from '../../../classe */ @Component({ selector: 'addon-mod-workshop-assessment-strategy-rubric', - templateUrl: 'rubric.html', + templateUrl: 'addon-mod-workshop-assessment-strategy-rubric.html', }) export class AddonModWorkshopAssessmentStrategyRubricComponent extends AddonModWorkshopAssessmentStrategyComponentBase { } From 28e3313a7ca7be48956490f4c6a38b415d99a225 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Thu, 21 Jun 2018 13:19:49 +0200 Subject: [PATCH 2/2] MOBILE-2431 sso: Make SSO work in Inappbrowser v3 --- config.xml | 2 +- src/providers/utils/utils.ts | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/config.xml b/config.xml index 5fa06d260..e6e17803f 100644 --- a/config.xml +++ b/config.xml @@ -104,7 +104,7 @@ - + diff --git a/src/providers/utils/utils.ts b/src/providers/utils/utils.ts index 36ff520d6..20122e7a8 100644 --- a/src/providers/utils/utils.ts +++ b/src/providers/utils/utils.ts @@ -756,17 +756,41 @@ export class CoreUtilsProvider { this.iabInstance = this.iab.create(url, '_blank', options); if (this.appProvider.isDesktop() || this.appProvider.isMobile()) { + let loadStopSubscription; + const loadStartUrls = []; + // Trigger global events when a url is loaded or the window is closed. This is to make it work like in Ionic 1. const loadStartSubscription = this.iabInstance.on('loadstart').subscribe((event) => { // Execute the callback in the Angular zone, so change detection doesn't stop working. this.zone.run(() => { + // Store the last loaded URLs (max 10). + loadStartUrls.push(event.url); + if (loadStartUrls.length > 10) { + loadStartUrls.shift(); + } + this.eventsProvider.trigger(CoreEventsProvider.IAB_LOAD_START, event); }); }); + + if (this.platform.is('android')) { + // Load stop is needed with InAppBrowser v3. Custom URL schemes no longer trigger load start, simulate it. + loadStopSubscription = this.iabInstance.on('loadstop').subscribe((event) => { + // Execute the callback in the Angular zone, so change detection doesn't stop working. + this.zone.run(() => { + if (loadStartUrls.indexOf(event.url) == -1) { + // The URL was stopped but not started, probably a custom URL scheme. + this.eventsProvider.trigger(CoreEventsProvider.IAB_LOAD_START, event); + } + }); + }); + } + const exitSubscription = this.iabInstance.on('exit').subscribe((event) => { // Execute the callback in the Angular zone, so change detection doesn't stop working. this.zone.run(() => { loadStartSubscription.unsubscribe(); + loadStopSubscription && loadStopSubscription.unsubscribe(); exitSubscription.unsubscribe(); this.eventsProvider.trigger(CoreEventsProvider.IAB_EXIT, event); });