From c00f14ad634f75ad91cc0dec8e99929a0c3cd963 Mon Sep 17 00:00:00 2001 From: Matias Pando Date: Thu, 11 Dec 2014 21:14:18 -0300 Subject: [PATCH] fix backup --- js/services/backupService.js | 45 +++++++++++++++++++++++++++++++++--- package.json | 4 +++- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/js/services/backupService.js b/js/services/backupService.js index 1fb190371..88a272184 100644 --- a/js/services/backupService.js +++ b/js/services/backupService.js @@ -9,10 +9,49 @@ BackupService.prototype.getCopayer = function(wallet) { return wallet.totalCopayers > 1 ? wallet.getMyCopayerNickname() : ''; }; + + + + BackupService.prototype._download = function(ew, walletName, filename) { - var blob = new Blob([ew], { - type: 'text/plain;charset=utf-8' - }); + + var NewBlob = function(data, datatype) { + var out; + + try { + out = new Blob([data], { + type: datatype + }); + console.debug("case 1"); + } catch (e) { + window.BlobBuilder = window.BlobBuilder || + window.WebKitBlobBuilder || + window.MozBlobBuilder || + window.MSBlobBuilder; + + if (e.name == 'TypeError' && window.BlobBuilder) { + var bb = new BlobBuilder(); + bb.append(data); + out = bb.getBlob(datatype); + console.debug("case 2"); + } else if (e.name == "InvalidStateError") { + // InvalidStateError (tested on FF13 WinXP) + out = new Blob([data], { + type: datatype + }); + console.debug("case 3"); + } else { + // We're screwed, blob constructor unsupported entirely + console.debug("Errore"); + } + } + return out; + }; + + var blob; + + blob = new NewBlob(ew, 'text/plain;charset=utf-8'); + this.notifications.success('Backup created', 'Encrypted backup file saved'); diff --git a/package.json b/package.json index 8899978f3..774e58f2d 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,9 @@ "postinstall": "./node_modules/.bin/grunt", "sign": "gpg -u 1112CFA1 --output browser-extensions/chrome/copay-chrome-extension.zip.sig --detach-sig browser-extensions/chrome/copay-chrome-extension.zip", "verify": "gpg --verify browser-extensions/chrome/copay-chrome-extension.zip.sig browser-extensions/chrome/copay-chrome-extension.zip", - "ios": "cordova/build.sh && cd cordova/project && cordova build ios && open platforms/ios/Copay.xcodeproj" + "ios": "cordova/build.sh && cd cordova/project && cordova build ios && open platforms/ios/Copay.xcodeproj", + "android": "cordova/build.sh --android && cd cordova/project && cordova run android" + }, "devDependencies": { "angular-gravatar": "*",