MOBILE-2380 remotethemes: Treat errors in remote themes

main
Dani Palou 2018-05-21 12:35:01 +02:00
parent de410c89b4
commit a0864f1606
1 changed files with 10 additions and 3 deletions

View File

@ -16,6 +16,7 @@ import { NgModule } from '@angular/core';
import { AddonRemoteThemesProvider } from './providers/remotethemes'; import { AddonRemoteThemesProvider } from './providers/remotethemes';
import { CoreEventsProvider } from '@providers/events'; import { CoreEventsProvider } from '@providers/events';
import { CoreInitDelegate } from '@providers/init'; import { CoreInitDelegate } from '@providers/init';
import { CoreLoggerProvider } from '@providers/logger';
import { CoreSitesProvider } from '@providers/sites'; import { CoreSitesProvider } from '@providers/sites';
@NgModule({ @NgModule({
@ -29,7 +30,9 @@ import { CoreSitesProvider } from '@providers/sites';
}) })
export class AddonRemoteThemesModule { export class AddonRemoteThemesModule {
constructor(initDelegate: CoreInitDelegate, remoteThemesProvider: AddonRemoteThemesProvider, eventsProvider: CoreEventsProvider, constructor(initDelegate: CoreInitDelegate, remoteThemesProvider: AddonRemoteThemesProvider, eventsProvider: CoreEventsProvider,
sitesProvider: CoreSitesProvider) { sitesProvider: CoreSitesProvider, loggerProvider: CoreLoggerProvider) {
const logger = loggerProvider.getInstance('AddonRemoteThemesModule');
// Preload the current site styles. // Preload the current site styles.
initDelegate.registerProcess({ initDelegate.registerProcess({
@ -53,7 +56,9 @@ export class AddonRemoteThemesModule {
eventsProvider.on(CoreEventsProvider.SITE_ADDED, (data) => { eventsProvider.on(CoreEventsProvider.SITE_ADDED, (data) => {
addingSite = data.siteId; addingSite = data.siteId;
remoteThemesProvider.addSite(data.siteId).finally(() => { remoteThemesProvider.addSite(data.siteId).catch((error) => {
logger.error('Error adding site', error);
}).then(() => {
if (addingSite == data.siteId) { if (addingSite == data.siteId) {
addingSite = false; addingSite = false;
} }
@ -68,7 +73,9 @@ export class AddonRemoteThemesModule {
// Update styles when current site is updated. // Update styles when current site is updated.
eventsProvider.on(CoreEventsProvider.SITE_UPDATED, (data) => { eventsProvider.on(CoreEventsProvider.SITE_UPDATED, (data) => {
if (data.siteId === sitesProvider.getCurrentSiteId()) { if (data.siteId === sitesProvider.getCurrentSiteId()) {
remoteThemesProvider.load(data.siteId); remoteThemesProvider.load(data.siteId).catch((error) => {
logger.error('Error loading site after site update', error);
});
} }
}); });