| Index: remoting/webapp/crd/js/it2me_activity.js
|
| diff --git a/remoting/webapp/crd/js/it2me_activity.js b/remoting/webapp/crd/js/it2me_activity.js
|
| index e5dc2db7054fd81abae923b92e42c8235e69db7c..8140c9f5bca8ff7e5b2286916a02a70d15ec9e30 100644
|
| --- a/remoting/webapp/crd/js/it2me_activity.js
|
| +++ b/remoting/webapp/crd/js/it2me_activity.js
|
| @@ -44,8 +44,11 @@ remoting.It2MeActivity.prototype.dispose = function() {
|
| remoting.It2MeActivity.prototype.start = function() {
|
| var that = this;
|
|
|
| + this.desktopActivity_ = new remoting.DesktopRemotingActivity(this);
|
| + remoting.app.setConnectionMode(remoting.Application.Mode.IT2ME);
|
| +
|
| this.accessCodeDialog_.show().then(function(/** string */ accessCode) {
|
| - remoting.setMode(remoting.AppMode.CLIENT_CONNECTING);
|
| + that.desktopActivity_.getConnectingDialog().show();
|
| return that.verifyAccessCode_(accessCode);
|
| }).then(function() {
|
| return remoting.identity.getToken();
|
| @@ -55,7 +58,7 @@ remoting.It2MeActivity.prototype.start = function() {
|
| return that.onHostInfo_(response);
|
| }).then(function(/** remoting.Host */ host) {
|
| that.connect_(host);
|
| - }).catch(function(/** remoting.Error */ error) {
|
| + }).catch(remoting.Error.handler(function(/** remoting.Error */ error) {
|
| if (error.hasTag(remoting.Error.Tag.CANCELLED)) {
|
| remoting.setMode(remoting.AppMode.HOME);
|
| } else {
|
| @@ -63,7 +66,7 @@ remoting.It2MeActivity.prototype.start = function() {
|
| l10n.localizeElementFromTag(errorDiv, error.getTag());
|
| remoting.setMode(remoting.AppMode.CLIENT_CONNECT_FAILED_IT2ME);
|
| }
|
| - });
|
| + }));
|
| };
|
|
|
| remoting.It2MeActivity.prototype.stop = function() {
|
| @@ -74,7 +77,9 @@ remoting.It2MeActivity.prototype.stop = function() {
|
| * @param {!remoting.Error} error
|
| */
|
| remoting.It2MeActivity.prototype.onConnectionFailed = function(error) {
|
| - this.onError(error);
|
| + this.showErrorMessage_(error);
|
| + base.dispose(this.desktopActivity_);
|
| + this.desktopActivity_ = null;
|
| };
|
|
|
| /**
|
| @@ -84,14 +89,22 @@ remoting.It2MeActivity.prototype.onConnected = function(connectionInfo) {
|
| this.accessCodeDialog_.inputField().value = '';
|
| };
|
|
|
| -remoting.It2MeActivity.prototype.onDisconnected = function() {
|
| - this.showFinishDialog_(remoting.AppMode.CLIENT_SESSION_FINISHED_IT2ME);
|
| +remoting.It2MeActivity.prototype.onDisconnected = function(error) {
|
| + if (error.isNone()) {
|
| + this.showFinishDialog_(remoting.AppMode.CLIENT_SESSION_FINISHED_IT2ME);
|
| + } else {
|
| + this.showErrorMessage_(error);
|
| + }
|
| +
|
| + base.dispose(this.desktopActivity_);
|
| + this.desktopActivity_ = null;
|
| };
|
|
|
| /**
|
| * @param {!remoting.Error} error
|
| + * @private
|
| */
|
| -remoting.It2MeActivity.prototype.onError = function(error) {
|
| +remoting.It2MeActivity.prototype.showErrorMessage_ = function(error) {
|
| var errorDiv = document.getElementById('connect-error-message');
|
| l10n.localizeElementFromTag(errorDiv, error.getTag());
|
| this.showFinishDialog_(remoting.AppMode.CLIENT_CONNECT_FAILED_IT2ME);
|
| @@ -183,9 +196,6 @@ remoting.It2MeActivity.prototype.onHostInfo_ = function(xhrResponse) {
|
| * @private
|
| */
|
| remoting.It2MeActivity.prototype.connect_ = function(host) {
|
| - base.dispose(this.desktopActivity_);
|
| - this.desktopActivity_ = new remoting.DesktopRemotingActivity(this);
|
| - remoting.app.setConnectionMode(remoting.Application.Mode.IT2ME);
|
| this.desktopActivity_.start(
|
| host, new remoting.CredentialsProvider({ accessCode: this.passCode_ }));
|
| };
|
|
|