From 116db6e8d3ee4c83532fcd07d2c2b0d416ecb6c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Wed, 7 Apr 2021 09:13:07 +0100 Subject: [PATCH] Custom Ui direct update --- .gitignore | 1 + config.xml | 6 ++-- package-lock.json | 30 ++++++++++++++++ package.json | 7 +++- src/app/home/home.page.ts | 63 +++++++++++++++++++++++++++++++++ src/assets/js/wldirectudpate.js | 22 ++++++++++++ 6 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 src/assets/js/wldirectudpate.js diff --git a/.gitignore b/.gitignore index 5f038d25c..16e20818a 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ npm-debug.log* /platforms /plugins /www +/mobilefirst # Custom /android diff --git a/config.xml b/config.xml index 984e37afb..7f89a02af 100644 --- a/config.xml +++ b/config.xml @@ -101,14 +101,14 @@ 1109370933 - 2614547080 + 2995684404 246097737 - 2528953624 + 2366819154 @@ -136,7 +136,7 @@ 8.0.0.00-20210308-063916 - + en diff --git a/package-lock.json b/package-lock.json index 331c84bd0..c740d06fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5712,6 +5712,22 @@ } } }, + "cordova-plugin-androidx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-androidx/-/cordova-plugin-androidx-3.0.0.tgz", + "integrity": "sha512-niMnhcxKsu4/oKTUbL0jRAnh6/cdoIVxRxJqj3uEyv8CVOlAj1sWhX+9b1XiAo9+bejAM9BbA21YK0mChfbVTA==", + "dev": true + }, + "cordova-plugin-androidx-adapter": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-androidx-adapter/-/cordova-plugin-androidx-adapter-1.1.3.tgz", + "integrity": "sha512-W1SImn0cCCvOSTSfWWp5TnanIQrSuh2Bch+dcZXIzEn0km3Qb7VryeAqHhgBQYwwzC5Ollk1DtUAk/AJSojuZA==", + "dev": true, + "requires": { + "q": "^1.5.1", + "recursive-readdir": "^2.2.2" + } + }, "cordova-plugin-camera": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-5.0.1.tgz", @@ -8923,6 +8939,11 @@ "ipaddr.js": "^1.9.0" } }, + "ionic-angular": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/ionic-angular/-/ionic-angular-3.9.10.tgz", + "integrity": "sha512-4nmGrdpu4Zy3SZwF0AaS/3gDrbFGU1dV+zn1eqInFgFj9q20N1cIITgvyIcoxUI/IoqYiohsJX1rGY5vB/HrhQ==" + }, "ionic-selectable": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/ionic-selectable/-/ionic-selectable-4.7.1.tgz", @@ -13982,6 +14003,15 @@ "picomatch": "^2.2.1" } }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "dev": true, + "requires": { + "minimatch": "3.0.4" + } + }, "reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", diff --git a/package.json b/package.json index 5c27470eb..fde1ff19c 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "cordova-res": "^0.15.3", "cordova-sqlite-storage": "^5.1.0", "date-fns": "^2.17.0", + "ionic-angular": "^3.9.10", "ionic-selectable": "^4.7.1", "ionic2-alpha-scroll": "^2.0.1", "ionic2-calendar": "^0.6.6", @@ -79,6 +80,8 @@ "cordova-android": "^9.0.0", "cordova-browser": "^6.0.0", "cordova-ios": "^6.2.0", + "cordova-plugin-androidx": "^3.0.0", + "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-compat": "^1.2.0", "cordova-plugin-device": "^2.0.2", "cordova-plugin-inappbrowser": "^4.0.0", @@ -114,7 +117,9 @@ "cordova-sqlite-storage": {}, "cordova-plugin-compat": {}, "cordova-plugin-mfp": {}, - "cordova-plugin-mfp-push": {} + "cordova-plugin-mfp-push": {}, + "cordova-plugin-androidx": {}, + "cordova-plugin-androidx-adapter": {} }, "platforms": [ "browser", diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index c04ee6542..7037111b7 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -5,6 +5,7 @@ import { EventsService } from '../services/events.service'; import { Event } from '../models/event.model'; import { ProcessesService } from '../services/processes.service'; import { ModalController } from '@ionic/angular'; +//import { AlertController } from 'ionic-angular'; /* import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed, Modals } from '@capacitor/core'; */ import { Router } from '@angular/router'; @@ -33,6 +34,7 @@ export class HomePage implements OnInit { } ngOnInit() { + //this.securityCheck() this.mobileFirstTest() /* //Initialize profile as mdgpr @@ -186,6 +188,67 @@ export class HomePage implements OnInit { } +/* securityCheck() { + + var PincodeChallengeHandler = WL.Client.createSecurityCheckChallengeHandler("UserLogin"); + this.registerChallengeHandler(PincodeChallengeHandler); + + } + + registerChallengeHandler(PincodeChallengeHandler) { + PincodeChallengeHandler = WL.Client.createSecurityCheckChallengeHandler("PinCodeAttempts"); + PincodeChallengeHandler.handleChallenge = ((challenge: any) => { + console.log('--> PincodeChallengeHandler.handleChallenge called'); + this.displayLoginChallenge(challenge, PincodeChallengeHandler); + }); + } + + displayLoginChallenge(response, PincodeChallengeHandler) { + if (response.errorMsg) { + var msg = response.errorMsg + '
Remaining attempts: ' + response.remainingAttempts; + console.log('--> displayLoginChallenge ERROR: ' + msg); + } + let prompt = this.alertCtrl.create({ + title: 'MFP Gateway', + message: msg, + inputs: [ + { + name: 'username', + placeholder: 'please enter the name', + type: 'clientid' + }, + { + name: 'pin', + placeholder: 'please enter the pincode', + type: 'password' + } + + ], + buttons: [ + { + text: 'Cancel', + role: 'cancel', + handler: () => { + console.log('PincodeChallengeHandler: Cancel clicked'); + PincodeChallengeHandler.Cancel(); + prompt.dismiss(); + return false + } + }, + { + text: 'Ok', + handler: data => { + console.log('PincodeChallengeHandler', data.username); + PincodeChallengeHandler.submitChallengeAnswer(data); + } + } + ] + }); + prompt.present(); +} */ + + + /* async openApproveModal(eventSerialNumber){ const modal = await this.modalController.create({ component: ApproveEventModalPage, diff --git a/src/assets/js/wldirectudpate.js b/src/assets/js/wldirectudpate.js new file mode 100644 index 000000000..8f9a334f5 --- /dev/null +++ b/src/assets/js/wldirectudpate.js @@ -0,0 +1,22 @@ +function wlCommonInit(){ + // Override the default Direct Update interface. + + //uncomment below function to get custom DU + wl_directUpdateChallengeHandler.handleDirectUpdate = function(directUpdateData, directUpdateContext) { + // Create a dialog. + navigator.notification.confirm( + 'Custom dialog body text', + // Handle dialog buttons. + function(buttonIndex) { + if (buttonIndex == 1) { + directUpdateContext.start(); + } else { + wl_directUpdateChallengeHandler.submitFailure(); + } + }, + 'Custom dialog title text', + ['Update'] + ); + }; + +} \ No newline at end of file