MOBILE-4081 emulator: Fix error injecting Network Service

main
Pau Ferrer Ocaña 2022-06-15 10:17:02 +02:00
parent 7c98579097
commit 1cbdd5a96b
5 changed files with 17 additions and 25 deletions

View File

@ -94,6 +94,7 @@ import { CoreCourseActivityPrefetchHandlerBase } from '@features/course/classes/
import { CoreCourseResourcePrefetchHandlerBase } from '@features/course/classes/resource-prefetch-handler';
import { CoreGeolocationError, CoreGeolocationErrorReason } from '@services/geolocation';
import { CORE_ERRORS_CLASSES } from '@classes/errors/errors';
import { CoreNetwork } from '@services/network';
// Import all core modules that define components, directives and pipes.
import { CoreSharedModule } from '@/core/shared.module';
@ -343,6 +344,7 @@ export class CoreCompileProvider {
instance['CoreLoggerProvider'] = CoreLogger;
instance['moment'] = moment;
instance['Md5'] = Md5;
instance['Network'] = CoreNetwork.instance;
instance['CoreSyncBaseProvider'] = CoreSyncBaseProvider;
instance['CoreArray'] = CoreArray;
instance['CoreComponentsRegistry'] = CoreComponentsRegistry;

View File

@ -82,7 +82,6 @@ import { GeolocationMock } from './services/geolocation';
import { InAppBrowserMock } from './services/inappbrowser';
import { MediaCaptureMock } from './services/media-capture';
import { ZipMock } from './services/zip';
import { CoreNetworkService } from '@services/network';
/**
* This module handles the emulation of Cordova plugins in browser and desktop.
@ -142,17 +141,12 @@ import { CoreNetworkService } from '@services/network';
},
Keyboard,
LocalNotifications,
{
provide: Media,
deps: [],
useFactory: (): Media => new Media(),
},
Media,
{
provide: MediaCapture,
deps: [Platform],
useFactory: (platform: Platform): MediaCapture => platform.is('cordova') ? new MediaCapture() : new MediaCaptureMock(),
},
CoreNetworkService,
Push,
QRScanner,
SplashScreen,

View File

@ -16,6 +16,7 @@ import { CoreConfig } from '@services/config';
import { CoreFilepool } from '@services/filepool';
import { CoreLang } from '@services/lang';
import { CoreLocalNotifications } from '@services/local-notifications';
import { CoreNetwork } from '@services/network';
import { CoreSites } from '@services/sites';
import { CoreUpdateManager } from '@services/update-manager';
import { CoreTimeUtils } from '@services/utils/time';
@ -27,6 +28,7 @@ export default async function(): Promise<void> {
CoreSites.initialize(),
CoreLang.initialize(),
CoreLocalNotifications.initialize(),
CoreNetwork.initialize(),
CoreUpdateManager.initialize(),
CoreTimeUtils.initialize(),
]);

View File

@ -14,17 +14,15 @@
import { Injectable } from '@angular/core';
import { CorePlatform } from '@services/platform';
import { Network as NetworkService } from '@ionic-native/network/ngx';
import { Network } from '@ionic-native/network/ngx';
import { makeSingleton } from '@singletons';
import { Observable, Subject, merge } from 'rxjs';
const Network = makeSingleton(NetworkService);
/**
* Service to manage network connections.
*/
@Injectable({ providedIn: 'root' })
export class CoreNetworkService extends NetworkService {
export class CoreNetworkService extends Network {
type!: string;
@ -33,13 +31,14 @@ export class CoreNetworkService extends NetworkService {
protected forceOffline = false;
protected online = false;
constructor() {
super();
/**
* Initialize the service.
*/
initialize(): void {
this.checkOnline();
if (CorePlatform.isMobile()) {
Network.onChange().subscribe(() => {
this.onChange().subscribe(() => {
this.fireObservable();
});
} else {
@ -165,13 +164,13 @@ export class CoreNetworkService extends NetworkService {
}
const limited = [
Network.Connection.CELL_2G,
Network.Connection.CELL_3G,
Network.Connection.CELL_4G,
Network.Connection.CELL,
this.Connection.CELL_2G,
this.Connection.CELL_3G,
this.Connection.CELL_4G,
this.Connection.CELL,
];
return limited.indexOf(Network.type) > -1;
return limited.indexOf(this.type) > -1;
}
/**

View File

@ -55,7 +55,6 @@ import { Keyboard as KeyboardService } from '@ionic-native/keyboard/ngx';
import { LocalNotifications as LocalNotificationsService } from '@ionic-native/local-notifications/ngx';
import { Media as MediaService } from '@ionic-native/media/ngx';
import { MediaCapture as MediaCaptureService } from '@ionic-native/media-capture/ngx';
import { Network as NetworkService } from '@ionic-native/network/ngx';
import { Push as PushService } from '@ionic-native/push/ngx';
import { QRScanner as QRScannerService } from '@ionic-native/qr-scanner/ngx';
import { StatusBar as StatusBarService } from '@ionic-native/status-bar/ngx';
@ -187,10 +186,6 @@ export const LocalNotifications = makeSingleton(LocalNotificationsService);
export const Media = makeSingleton(MediaService);
export const MediaCapture = makeSingleton(MediaCaptureService);
export const NativeHttp = makeSingleton(HTTP);
/**
* @deprecated on 4.1 use CoreNetwork instead.
*/
export const Network = makeSingleton(NetworkService);
export const Push = makeSingleton(PushService);
export const QRScanner = makeSingleton(QRScannerService);
export const StatusBar = makeSingleton(StatusBarService);