(function () { "use strict"; var app = WinJS.Application; var activation = Windows.ApplicationModel.Activation; var appManager = null; navigator.gamepadInputEmulation = "keyboard"; app.onactivated = function (args) { CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppActivated", JSON.stringify({ 'Kind': args.detail.kind, 'PreviousExecutionState': args.detail.previousExecutionState })); if (args.detail.kind === activation.ActivationKind.webAccountProvider) { appManager = new CloudExperienceHost.MSATokenProviderManager(new CloudExperienceHost.AppView(document, _htmlRoot, _view, _progress, _progressControl, _progressText)); } else { appManager = new CloudExperienceHost.AppManager(new CloudExperienceHost.AppView(document, _htmlRoot, _view, _progress, _progressControl, _progressText)); } args.setPromise(WinJS.UI.processAll().then(function () { var previousExecutionState = args.detail.previousExecutionState; switch (args.detail.previousExecutionState) { case activation.ApplicationExecutionState.notRunning: case activation.ApplicationExecutionState.closedByUser: appManager.start(args); break; case activation.ApplicationExecutionState.suspended: break; case activation.ApplicationExecutionState.terminated: appManager.resume(args); break; case activation.ApplicationExecutionState.running: appManager.start(args); break; default: throw new Error(CloudExperienceHost.ErrorNames.ActivationNotSupported); break; } })); }; app.oncheckpoint = function (args) { CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppCheckpoint"); CloudExperienceHost.Telemetry.AppTelemetry.getInstance().appCheckpoint(); appManager.checkpoint(args); }; app.onloaded = function () { WinJS.Resources.processAll(); } app.onerror = function (e) { return appManager ? appManager.onUnhandledException(e) : null; } app.restart = function (uri) { CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppRestart", uri); appManager.restart(uri); }; app.start(); })();