Merge pull request #7994 from gabrielbazan7/feat/deviceinfo

[V4] FEAT: device info
This commit is contained in:
Gustavo Maximiliano Cortez 2018-02-07 09:52:43 -03:00 committed by GitHub
commit bdcd17a7e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 12 deletions

View File

@ -1,5 +1,5 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { NavParams, NavController } from 'ionic-angular'; import { NavParams, NavController, Platform } from 'ionic-angular';
import { Logger } from '../../../providers/logger/logger'; import { Logger } from '../../../providers/logger/logger';
//providers //providers
@ -36,7 +36,8 @@ export class FeedbackPage {
private feedbackProvider: FeedbackProvider, private feedbackProvider: FeedbackProvider,
private navCtrl: NavController, private navCtrl: NavController,
private logger: Logger, private logger: Logger,
private externalLinkProvider: ExternalLinkProvider private externalLinkProvider: ExternalLinkProvider,
private platform: Platform
) { ) {
this.score = this.navParams.data.score; this.score = this.navParams.data.score;
this.appName = this.appProvider.info.nameCase; this.appName = this.appProvider.info.nameCase;
@ -47,13 +48,19 @@ export class FeedbackPage {
public skip(): void { public skip(): void {
let platform = this.platform.platforms().join("");
let versions: any = this.platform.versions();
versions = _.values(_.pickBy(versions, _.identity)) //remove undefined and get array of versions
let version: any = versions && versions[0] ? versions[0] : null;
let versionStr = version ? version.str : '';
let dataSrc = { let dataSrc = {
"Email": _.values(this.config.emailFor)[0] || ' ', "Email": _.values(this.config.emailFor)[0] || ' ',
"Feedback": ' ', "Feedback": ' ',
"Score": this.score, "Score": this.score,
"AppVersion": this.appProvider.info.version, "AppVersion": this.appProvider.info.version,
"Platform": 'platform', //TODO ionic.Platform.platform() "Platform": platform,
"DeviceVersion": 'version' //TODO ionic.Platform.version() "DeviceVersion": versionStr
}; };
this.feedbackProvider.send(dataSrc).then(() => { this.feedbackProvider.send(dataSrc).then(() => {
this.navCtrl.push(FeedbackCompletePage, { score: this.score, skipped: true }) this.navCtrl.push(FeedbackCompletePage, { score: this.score, skipped: true })

View File

@ -1,5 +1,5 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular'; import { NavController, NavParams, Platform } from 'ionic-angular';
import { Validators, FormBuilder, FormGroup } from '@angular/forms'; import { Validators, FormBuilder, FormGroup } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import * as _ from "lodash"; import * as _ from "lodash";
@ -39,7 +39,8 @@ export class SendFeedbackPage {
private feedbackProvider: FeedbackProvider, private feedbackProvider: FeedbackProvider,
private formBuilder: FormBuilder, private formBuilder: FormBuilder,
private popupProvider: PopupProvider, private popupProvider: PopupProvider,
private translate: TranslateService private translate: TranslateService,
private platform: Platform
) { ) {
this.feedbackForm = this.formBuilder.group({ this.feedbackForm = this.formBuilder.group({
comment: ['', Validators.compose([Validators.minLength(1), Validators.required])] comment: ['', Validators.compose([Validators.minLength(1), Validators.required])]
@ -82,13 +83,19 @@ export class SendFeedbackPage {
let config: any = this.configProvider.get(); let config: any = this.configProvider.get();
let platform = this.platform.platforms().join("");
let versions: any = this.platform.versions();
versions = _.values(_.pickBy(versions, _.identity)) //remove undefined and get array of versions
let version: any = versions && versions[0] ? versions[0] : null;
let versionStr = version ? version.str : '';
let dataSrc = { let dataSrc = {
"email": _.values(config.emailFor)[0] || ' ', "email": _.values(config.emailFor)[0] || ' ',
"feedback": goHome ? ' ' : feedback, "feedback": goHome ? ' ' : feedback,
"score": this.score || ' ', "score": this.score || ' ',
"appVersion": this.appProvider.info.version, "appVersion": this.appProvider.info.version,
"platform": 'platform', //TODO ionic.Platform.platform() "platform": platform,
"deviceVersion": 'version' //TODO ionic.Platform.version() "deviceVersion": versionStr
}; };
if (!goHome) this.onGoingProcessProvider.set('sendingFeedback', true); if (!goHome) this.onGoingProcessProvider.set('sendingFeedback', true);

View File

@ -1,8 +1,9 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular'; import { NavController, NavParams, Platform } from 'ionic-angular';
import { Validators, FormBuilder, FormGroup } from '@angular/forms'; import { Validators, FormBuilder, FormGroup } from '@angular/forms';
import { Logger } from '../../../providers/logger/logger'; import { Logger } from '../../../providers/logger/logger';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import * as _ from 'lodash';
//providers //providers
import { AppProvider } from '../../../providers/app/app'; import { AppProvider } from '../../../providers/app/app';
@ -30,7 +31,8 @@ export class CollectEmailPage {
private fb: FormBuilder, private fb: FormBuilder,
private appProvider: AppProvider, private appProvider: AppProvider,
private http: HttpClient, private http: HttpClient,
private emailProvider: EmailNotificationsProvider private emailProvider: EmailNotificationsProvider,
private platform: Platform
) { ) {
this.walletId = this.navParams.data.walletId; this.walletId = this.navParams.data.walletId;
let regex: RegExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; let regex: RegExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
@ -72,12 +74,18 @@ export class CollectEmailPage {
} }
private collectEmail(): void { private collectEmail(): void {
let platform = this.platform.platforms().join("");
let versions: any = this.platform.versions();
versions = _.values(_.pickBy(versions, _.identity)) //remove undefined and get array of versions
let version: any = versions && versions[0] ? versions[0] : null;
let versionStr = version ? version.str : '';
const headers: any = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }); const headers: any = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' });
const urlSearchParams = new HttpParams() const urlSearchParams = new HttpParams()
.set('App', this.appProvider.info.nameCase) .set('App', this.appProvider.info.nameCase)
.set('Email', this.emailForm.value.email) .set('Email', this.emailForm.value.email)
.set('Platform', 'ionic.Platform.platform()') //TODO ionic.Platform.platform() .set('Platform', platform)
.set('DeviceVersion', 'ionic.Platform.version()') //TODO ionic.Platform.version() .set('DeviceVersion', versionStr)
this.http.post(this.URL, null, { this.http.post(this.URL, null, {
params: urlSearchParams, params: urlSearchParams,