From 4a8e5397cea917b1d6814225b4e9b66d6c22418f Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 15 Apr 2016 15:29:20 -0300 Subject: [PATCH] Fix resume event on mobile for Glidera/Coinbase integration (#4083) --- src/js/controllers/coinbase.js | 2 ++ src/js/controllers/coinbaseUri.js | 14 ++++++++------ src/js/controllers/glidera.js | 1 + src/js/services/coinbaseService.js | 3 ++- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/js/controllers/coinbase.js b/src/js/controllers/coinbase.js index f9e9c3b5f..780d4bc1d 100644 --- a/src/js/controllers/coinbase.js +++ b/src/js/controllers/coinbase.js @@ -3,6 +3,8 @@ angular.module('copayApp.controllers').controller('coinbaseController', function($rootScope, $scope, $timeout, $modal, profileService, configService, storageService, coinbaseService, isChromeApp, animationService, lodash, nodeWebkit) { + window.ignoreMobilePause = true; + this.openAuthenticateWindow = function() { var oauthUrl = this.getAuthenticateUrl(); if (!nodeWebkit.isDefined()) { diff --git a/src/js/controllers/coinbaseUri.js b/src/js/controllers/coinbaseUri.js index 7c607794d..24c48280b 100644 --- a/src/js/controllers/coinbaseUri.js +++ b/src/js/controllers/coinbaseUri.js @@ -17,13 +17,15 @@ angular.module('copayApp.controllers').controller('coinbaseUriController', $scope.$apply(); }, 100); } - else if (data && data.access_token) { + else if (data && data.access_token && data.refresh_token) { storageService.setCoinbaseToken(network, data.access_token, function() { - $scope.$emit('Local/CoinbaseUpdated', data.access_token); - $timeout(function() { - go.path('coinbase'); - $scope.$apply(); - }, 100); + storageService.setCoinbaseRefreshToken(network, data.refresh_token, function() { + $scope.$emit('Local/CoinbaseUpdated', data.access_token); + $timeout(function() { + go.path('coinbase'); + $scope.$apply(); + }, 100); + }); }); } }); diff --git a/src/js/controllers/glidera.js b/src/js/controllers/glidera.js index 612a8b6a7..df876cf9a 100644 --- a/src/js/controllers/glidera.js +++ b/src/js/controllers/glidera.js @@ -3,6 +3,7 @@ angular.module('copayApp.controllers').controller('glideraController', function($rootScope, $scope, $timeout, $modal, profileService, configService, storageService, glideraService, isChromeApp, animationService, lodash) { + window.ignoreMobilePause = true; this.getAuthenticateUrl = function() { return glideraService.getOauthCodeUrl(); diff --git a/src/js/services/coinbaseService.js b/src/js/services/coinbaseService.js index b0c35c8d9..aa0e46354 100644 --- a/src/js/services/coinbaseService.js +++ b/src/js/services/coinbaseService.js @@ -356,7 +356,8 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $ root.getPendingTransactions = function(cb) { var network = configService.getSync().coinbase.testnet ? 'testnet' : 'livenet'; storageService.getCoinbaseTxs(network, function(err, txs) { - return cb(err, JSON.parse(txs)); + var _txs = txs ? JSON.parse(txs) : {}; + return cb(err, _txs); }); };