From a2922e0d5e69c3358c135e075ce1de2ff4e99f20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Wed, 14 Sep 2016 14:43:38 -0300 Subject: [PATCH] prevent default in onboarding views with no back --- src/js/controllers/onboarding/collectEmail.js | 2 +- src/js/routes.js | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/onboarding/collectEmail.js b/src/js/controllers/onboarding/collectEmail.js index e00aaa098..197d43744 100644 --- a/src/js/controllers/onboarding/collectEmail.js +++ b/src/js/controllers/onboarding/collectEmail.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('collectEmailController', function($scope, $state, $timeout, $stateParams, profileService, configService, walletService, platformInfo) { +angular.module('copayApp.controllers').controller('collectEmailController', function($scope, $state, $timeout, $ionicPlatform, $stateParams, profileService, configService, walletService, platformInfo) { var isCordova = platformInfo.isCordova; var isWP = platformInfo.isWP; diff --git a/src/js/routes.js b/src/js/routes.js index c8c928e9d..0794cd07c 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -789,6 +789,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr $ionicPlatform.registerBackButtonAction(function(e) { + //from root tabs view var fromWelcome = $ionicHistory.currentStateName().match(/welcome/) ? true : false; var matchHome = $ionicHistory.currentStateName().match(/home/) ? true : false; var matchReceive = $ionicHistory.currentStateName().match(/receive/) ? true : false; @@ -796,9 +797,23 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr var matchSettings = $ionicHistory.currentStateName().match(/settings/) ? true : false; var fromTabs = matchHome | matchReceive | matchSend | matchSettings; + //onboarding with no back views + var matchCollectEmail = $ionicHistory.currentStateName().match(/collectEmail/) ? true : false; + var matchBackupRequest = $ionicHistory.currentStateName().match(/backupRequest/) ? true : false; + var matchDisclaimer = $ionicHistory.currentStateName().match(/disclaimer/) ? true : false; + var matchNotifications = $ionicHistory.currentStateName().match(/notifications/) ? true : false; + + var fromOnboarding = matchCollectEmail | matchBackupRequest | matchDisclaimer | matchNotifications; + + if (fromOnboarding) { + e.preventDefault(); + return; + } + if ($ionicHistory.backView() && !fromTabs) { $ionicHistory.goBack(); - } else if ($rootScope.backButtonPressedOnceToExit || fromWelcome) { + } else + if ($rootScope.backButtonPressedOnceToExit || fromWelcome) { ionic.Platform.exitApp(); } else { $rootScope.backButtonPressedOnceToExit = true;