import { debugSettings } from "../debugsettings"; /** * Service which provides ability to subscribe on the * device events. */ export class DeviceEventService { public ready: Signal; public active: Signal; public resignActive: Signal; public pause: Signal; public resume: Signal; constructor() { this.ready = new signals.Signal(); this.active = new signals.Signal(); this.resignActive = new signals.Signal(); this.pause = new signals.Signal(); this.resume = new signals.Signal(); } /** * Initializes the device event handler */ public initialize() { document.addEventListener("deviceready", () => this.onDeviceReady(), false); if (debugSettings.ios.hasMultitasking) { document.addEventListener("resign", () => this.onResign(), false); document.addEventListener("active", () => this.onActive(), false); } document.addEventListener("pause", () => this.onPause(), false); document.addEventListener("resume", () => this.onResume(), false); } private onDeviceReady() { this.ready.dispatch(); } private onResign() { this.resignActive.dispatch(); } private onActive() { this.active.dispatch(); } private onPause() { this.pause.dispatch(); } private onResume() { this.resume.dispatch(); } }