MOBILE-3532 ionic: Half Revert Fix check device during loading

This reverts commit 8844abd857.
main
Pau Ferrer Ocaña 2020-09-15 14:36:06 +02:00
parent bee1e42b9b
commit dbae55bff2
4 changed files with 50 additions and 59 deletions

View File

@ -49,33 +49,31 @@ export class CoreSharedFilesModule {
// Register the handler.
delegate.registerHandler(handler);
platform.ready().then(() => {
if (appsProvider.isIOS()) {
let lastCheck = 0;
if (appsProvider.isIOS()) {
let lastCheck = 0;
// Check if there are new files at app start and when the app is resumed.
helper.searchIOSNewSharedFiles();
platform.resume.subscribe(() => {
// Wait a bit to make sure that APP_LAUNCHED_URL is treated before this callback.
setTimeout(() => {
if (Date.now() - lastCheck < 1000) {
// Last check less than 1s ago, don't do anything.
return;
}
lastCheck = Date.now();
helper.searchIOSNewSharedFiles();
}, 200);
});
eventsProvider.on(CoreEventsProvider.APP_LAUNCHED_URL, (url) => {
if (url && url.indexOf('file://') === 0) {
// We received a file in iOS, it's probably a shared file. Treat it.
lastCheck = Date.now();
helper.searchIOSNewSharedFiles(url);
// Check if there are new files at app start and when the app is resumed.
helper.searchIOSNewSharedFiles();
platform.resume.subscribe(() => {
// Wait a bit to make sure that APP_LAUNCHED_URL is treated before this callback.
setTimeout(() => {
if (Date.now() - lastCheck < 1000) {
// Last check less than 1s ago, don't do anything.
return;
}
});
}
});
lastCheck = Date.now();
helper.searchIOSNewSharedFiles();
}, 200);
});
eventsProvider.on(CoreEventsProvider.APP_LAUNCHED_URL, (url) => {
if (url && url.indexOf('file://') === 0) {
// We received a file in iOS, it's probably a shared file. Treat it.
lastCheck = Date.now();
helper.searchIOSNewSharedFiles(url);
}
});
}
}
}

View File

@ -17,7 +17,6 @@ import { Platform, App, NavController, MenuController } from 'ionic-angular';
import { Keyboard } from '@ionic-native/keyboard';
import { Network } from '@ionic-native/network';
import { StatusBar } from '@ionic-native/status-bar';
import { Device } from '@ionic-native/device';
import { CoreDbProvider } from './db';
import { CoreLoggerProvider } from './logger';
@ -179,7 +178,6 @@ export class CoreAppProvider {
zone: NgZone,
private menuCtrl: MenuController,
private statusBar: StatusBar,
private device: Device,
appRef: ApplicationRef) {
this.logger = logger.getInstance('CoreAppProvider');
@ -392,8 +390,7 @@ export class CoreAppProvider {
* @return Whether the app is running in an Android mobile or tablet device.
*/
isAndroid(): boolean {
return this.isMobile() &&
((this.device.platform && this.device.platform.toLowerCase() == 'android') || this.platform.is('android'));
return this.isMobile() && this.platform.is('android');
}
/**
@ -413,8 +410,7 @@ export class CoreAppProvider {
* @return Whether the app is running in an iOS mobile or tablet device.
*/
isIOS(): boolean {
return this.isMobile() &&
((this.device.platform && this.device.platform.toLowerCase() == 'ios') || this.platform.is('ios'));
return this.isMobile() && !this.platform.is('android');
}
/**
@ -572,7 +568,7 @@ export class CoreAppProvider {
*/
openKeyboard(): void {
// Open keyboard is not supported in desktop and in iOS.
if (this.isMobile() && !this.isIOS()) {
if (this.isAndroid()) {
this.keyboard.show();
}
}

View File

@ -81,31 +81,28 @@ export class CoreFileProvider {
this.logger = logger.getInstance('CoreFileProvider');
platform.ready().then(() => {
if (appProvider.isAndroid() && !Object.getOwnPropertyDescriptor(FileReader.prototype, 'onloadend')) {
// Cordova File plugin creates some getters and setter for FileReader, but
// Ionic's polyfills override them in Android.
// Create the getters and setters again. This code comes from FileReader.js in cordova-plugin-file.
this.defineGetterSetter(FileReader.prototype, 'readyState', function(): any {
return this._localURL ? this._readyState : this._realReader.readyState;
});
if (appProvider.isAndroid() && !Object.getOwnPropertyDescriptor(FileReader.prototype, 'onloadend')) {
// Cordova File plugin creates some getters and setter for FileReader, but Ionic's polyfills override them in Android.
// Create the getters and setters again. This code comes from FileReader.js in cordova-plugin-file.
this.defineGetterSetter(FileReader.prototype, 'readyState', function(): any {
return this._localURL ? this._readyState : this._realReader.readyState;
});
this.defineGetterSetter(FileReader.prototype, 'error', function(): any {
return this._localURL ? this._error : this._realReader.error;
});
this.defineGetterSetter(FileReader.prototype, 'error', function(): any {
return this._localURL ? this._error : this._realReader.error;
});
this.defineGetterSetter(FileReader.prototype, 'result', function(): any {
return this._localURL ? this._result : this._realReader.result;
});
this.defineGetterSetter(FileReader.prototype, 'result', function(): any {
return this._localURL ? this._result : this._realReader.result;
});
this.defineEvent('onloadstart');
this.defineEvent('onprogress');
this.defineEvent('onload');
this.defineEvent('onerror');
this.defineEvent('onloadend');
this.defineEvent('onabort');
}
});
this.defineEvent('onloadstart');
this.defineEvent('onprogress');
this.defineEvent('onload');
this.defineEvent('onerror');
this.defineEvent('onloadend');
this.defineEvent('onabort');
}
}
/**

View File

@ -57,8 +57,8 @@ export class CoreIframeUtilsProvider {
const win = <WKUserScriptWindow> window;
platform.ready().then(() => {
if (appProvider.isIOS() && win.WKUserScript) {
if (appProvider.isIOS() && win.WKUserScript) {
platform.ready().then(() => {
// Inject code to the iframes because we cannot access the online ones.
const wwwPath = fileProvider.getWWWAbsolutePath();
const linksPath = textUtils.concatenatePaths(wwwPath, 'assets/js/iframe-treat-links.js');
@ -73,8 +73,8 @@ export class CoreIframeUtilsProvider {
// Handle post messages received by iframes.
window.addEventListener('message', this.handleIframeMessage.bind(this));
}
});
});
}
}
/**