import { Logger } from '../common/logger'; // Added for LSA-2855. On Chromebooks, making the splash screen fullscreen causes problems for // the monitoring window used for unverified orgs if the monitoring window is waiting for user // interaction. export class MonitoringWindowListener { private isConfirmingStopMonitoring: boolean; private logger: Logger; constructor() { this.logger = Logger.getInstance(); this.isConfirmingStopMonitoring = false; chrome.runtime.onMessage.addListener((request) => { switch (request.message) { case 'MonitoringWindowState': { if ( request.stateObj && request.stateObj.presentation && request.stateObj.presentation === 'ConfirmStopMonitoring' ) { this.logger.logDebug('MonitoringWindowListener(): User being prompted.'); this.isConfirmingStopMonitoring = true; } else { this.logger.logDebug('MonitoringWindowListener(): User NOT being prompted.'); this.isConfirmingStopMonitoring = false; } break; } case 'UserAllowsMonitoring': case 'UserRejectsMonitoring': { this.logger.logDebug('MonitoringWindowListener(): User NOT being prompted.'); this.isConfirmingStopMonitoring = false; break; } } }); } monitoringWindowCanHandleFullScreenSplash() { return !this.isConfirmingStopMonitoring; } }