diff --git a/Mohem/src/app/absence/submit-absence/submit-absence.component.html b/Mohem/src/app/absence/submit-absence/submit-absence.component.html
index ec40c78c..3eead9c9 100644
--- a/Mohem/src/app/absence/submit-absence/submit-absence.component.html
+++ b/Mohem/src/app/absence/submit-absence/submit-absence.component.html
@@ -7,7 +7,7 @@
-
diff --git a/Mohem/src/app/hmg-common/hmg_utils.ts b/Mohem/src/app/hmg-common/hmg_utils.ts
index d2e72588..301b3997 100644
--- a/Mohem/src/app/hmg-common/hmg_utils.ts
+++ b/Mohem/src/app/hmg-common/hmg_utils.ts
@@ -6,7 +6,7 @@ import { DevicePermissionsService } from 'src/app/hmg-common/services/device-per
import { Geolocation } from '@ionic-native/geolocation/ngx';
import { Platform } from "@ionic/angular";
-declare var cordova: any;
+declare const cordova: any;
@Injectable({
providedIn: 'root'
@@ -41,16 +41,16 @@ export class HMGUtils {
async isHuaweiDevice(): Promise {
- var result: any = await new Promise((resolve, reject) => {
+ const result: any = await new Promise((resolve, reject) => {
cordova.plugins.CordovaHMSGMSCheckPlugin.isHmsAvailable(
"index.js",
(_res) => {
- var hmsAvailable = _res === "true";
+ const hmsAvailable = _res === "true";
resolve(hmsAvailable);
},
(_err) => {
reject({ "status": false, "error": JSON.stringify(_err) });
- alert("Error checking device HMS/GMS") // add your popup
+ this.common.presentAlert(this.ts.trPK('general', 'huawei-hms-gms-error'));
}
);
});
@@ -60,42 +60,40 @@ export class HMGUtils {
private getHMSLocation(callBack: Function) {
try {
-
- console.log("Huawei Location [Getting]");
cordova.plugins.CordovaHMSLocationPlugin.requestLocation(
"index.js",
(_res) => {
console.log("Huawei Location Success: [Stop Getting]");
cordova.plugins.CordovaHMSLocationPlugin.removeLocation("", (_res) => { }, (_err) => { });
- var location = _res.split(',')
+ const location = _res.split(',')
console.log(location);
- if (location.length == 2) {
- var lat = Number(_res.split(',')[0]);
- var long = Number(_res.split(',')[1]);
- var mock = Boolean(_res.split(',')[2]);
+ if (location.length == 3) {
+ const lat = Number(_res.split(',')[0]);
+ const long = Number(_res.split(',')[1]);
+ const mock = Boolean(_res.split(',')[2]);
callBack({"latitude":lat, "longitude":long, "isfake":mock})
} else {
- alert("Invalid Huawei location from plugin.");
+ this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location'));
}
},
(_err) => {
- console.log("Huawei Location [Getting Error]: " + + JSON.stringify(_err));
- alert("Error while getting Huawei location");
+ console.log("Huawei Location [Getting Error]: " + JSON.stringify(_err));
+ this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location'));
}
);
} catch (_err) {
console.log("Huawei Location Plugin [Error]: " + + JSON.stringify(_err));
- alert("Error while initializing Huawei Location Plugin");
+ this.common.presentAlert('Error while initializing Huawei Location Plugin');
}
}
private getGMSLocation(callBack: Function) {
this.backgroundGeolocation.getCurrentLocation({ timeout: 10000, enableHighAccuracy: true, maximumAge: 3000 }).then((resp) => {
if (resp && (resp.latitude && resp.longitude)) {
- var isFakeLocation = resp.isFromMockProvider || resp.mockLocationsEnabled;
- var lat = resp.latitude;
- var long = resp.longitude;
+ const isFakeLocation = resp.isFromMockProvider || resp.mockLocationsEnabled;
+ const lat = resp.latitude;
+ const long = resp.longitude;
callBack({"latitude":lat, "longitude":long, "isfake":isFakeLocation})
} else {
this.common.presentAlert(this.ts.trPK('home', 'position-error'));
@@ -108,8 +106,8 @@ export class HMGUtils {
private getIOSLocation(callBack: Function) {
this.geolocation.getCurrentPosition({ maximumAge: 3000, timeout: 10000, enableHighAccuracy: true }).then(resp => {
if (resp && resp.coords.latitude && resp.coords.longitude) {
- var lat = resp.coords.latitude;
- var long = resp.coords.longitude;
+ const lat = resp.coords.latitude;
+ const long = resp.coords.longitude;
callBack({"latitude":lat, "longitude":long, "isfake":false})
} else {
this.common.presentAlert(this.ts.trPK('home', 'position-error'));
diff --git a/Mohem/src/app/home/attendance-options/attendance-options.component.ts b/Mohem/src/app/home/attendance-options/attendance-options.component.ts
index df7428bd..b2f97ee4 100644
--- a/Mohem/src/app/home/attendance-options/attendance-options.component.ts
+++ b/Mohem/src/app/home/attendance-options/attendance-options.component.ts
@@ -92,6 +92,10 @@ export class AttendanceOptionsComponent implements OnInit {
this.check = 'this device is not huawei device :' + test;
console.log('this device is non-huawei device :' + test);
}
+
+ this.hmgUtils.getCurrentLocation((data) => {
+ console.log(data);
+ });
}
public checkFirebaseDocument() {
diff --git a/Mohem/src/app/profile/home/home.component.html b/Mohem/src/app/profile/home/home.component.html
index 7b87ba62..96b8ea1b 100644
--- a/Mohem/src/app/profile/home/home.component.html
+++ b/Mohem/src/app/profile/home/home.component.html
@@ -142,7 +142,7 @@
-
+
diff --git a/Mohem/src/app/profile/home/home.component.scss b/Mohem/src/app/profile/home/home.component.scss
index 8ea8bfd1..97bbfbb6 100644
--- a/Mohem/src/app/profile/home/home.component.scss
+++ b/Mohem/src/app/profile/home/home.component.scss
@@ -1209,6 +1209,8 @@ $actionBtnSize: 36px;
height: 35px;
color: white;
border-radius: 50%;
+ position: absolute;
+ right: 30px;
}
.name{
diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json
index 01c556c6..58896854 100644
--- a/Mohem/src/assets/localization/i18n.json
+++ b/Mohem/src/assets/localization/i18n.json
@@ -209,6 +209,14 @@
}
},
"general": {
+ "invalid-huawei-location": {
+ "en": "Error while getting location from Huawei HMS services",
+ "ar": "خطأ أثناء الحصول على الموقع من خدمات Huawei HMS"
+ },
+ "huawei-hms-gms-error": {
+ "en": "Error checking device HMS/GMS availability",
+ "ar": "خطأ في التحقق من توفر جهاز HMS / GMS"
+ },
"location-permission-dialog": {
"en": "Allow the Mohemm app to access your location for marking your attendance",
"ar": "اسمح لتطبيق مهم بالوصول إلى موقعك لتحديد حضورك"