HMS Core & LiveCare Schedule fixes

merge-update-with-lab-changes
haroon amjad 3 years ago
parent 58a6dc6a6f
commit 21cf9da900

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

@ -408,14 +408,14 @@ var UPDATE_COVID_QUESTIONNAIRE = 'Services/Doctors.svc/REST/COVID19_Questionnar
var CHANNEL = 3;
var GENERAL_ID = 'Cs2020@2016\$2958';
var IP_ADDRESS = '10.20.10.20';
var VERSION_ID = 8.8;
var VERSION_ID = 8.9;
var SETUP_ID = '91877';
var LANGUAGE = 2;
// var PATIENT_OUT_SA = 0;
var SESSION_ID = 'TMRhVmkGhOsvamErw';
var IS_DENTAL_ALLOWED_BACKEND = false;
// var PATIENT_TYPE = 1;
// var PATIENT_TYPE_ID = 1;
var PATIENT_TYPE = 1;
var PATIENT_TYPE_ID = 1;
var DEVICE_TOKEN = "";
var IS_VOICE_COMMAND_CLOSED = true;
var IS_TEXT_COMPLETED = false;

@ -14,7 +14,6 @@ import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:provider/provider.dart';
@ -95,21 +94,21 @@ class BaseAppClient {
? body['PatientType']
: user['PatientType'] != null
? user['PatientType']
: null
: null;
: PATIENT_TYPE
: PATIENT_TYPE;
body['PatientTypeID'] = body.containsKey('PatientTypeID')
? body['PatientTypeID'] != null
? body['PatientTypeID']
: user['PatientType'] != null
? user['PatientType']
: null
: null;
: PATIENT_TYPE_ID
: PATIENT_TYPE_ID;
if (user != null) {
body['TokenID'] = body['TokenID'] != null ? body['TokenID'] : token;
body['PatientID'] = body['PatientID'] != null ? body['PatientID'] : user['PatientID'];
body['PatientOutSA'] = user['OutSA'];
body['PatientOutSA'] = body.containsKey('PatientOutSA')
? body['PatientOutSA'] != null
? body['PatientOutSA']

@ -20,11 +20,13 @@ import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:provider/provider.dart';
class CMCLocationPage extends StatefulWidget {
@ -53,9 +55,11 @@ class _CMCLocationPageState extends State<CMCLocationPage> {
);
LatLng currentPostion;
AppSharedPreferences sharedPref = AppSharedPreferences();
HmsApiAvailability hmsApiAvailability;
@override
void initState() {
hmsApiAvailability = HmsApiAvailability();
checkIsHuawei();
appMap = AppMap(
@ -87,7 +91,9 @@ class _CMCLocationPageState extends State<CMCLocationPage> {
}
checkIsHuawei() async {
isHuawei = await FlutterHmsGmsAvailability.isHmsAvailable;
await hmsApiAvailability.isHMSAvailable().then((value) {
isHuawei = value == 0 ? true : false;
});
print(isHuawei);
setState(() {});
}

@ -18,11 +18,12 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:provider/provider.dart';
class LocationPage extends StatefulWidget {
@ -56,9 +57,11 @@ class _LocationPageState extends State<LocationPage> {
// Completer<GoogleMapController> mapController = Completer();
Placemark selectedPlace;
HmsApiAvailability hmsApiAvailability;
@override
void initState() {
hmsApiAvailability = HmsApiAvailability();
latitude = widget.latitude;
longitude = widget.longitude;
checkIsHuawei();
@ -223,7 +226,12 @@ class _LocationPageState extends State<LocationPage> {
}
checkIsHuawei() async {
isHuawei = await FlutterHmsGmsAvailability.isHmsAvailable;
// isHuawei = await FlutterHmsGmsAvailability.isHmsAvailable;
// print(isHuawei);
// setState(() {});
await hmsApiAvailability.isHMSAvailable().then((value) {
isHuawei = value == 0 ? true : false;
});
print(isHuawei);
setState(() {});
}

@ -432,7 +432,7 @@ class _AnicllaryOrdersState extends State<AnicllaryOrdersDetails> with SingleTic
selectedPaymentMethod = method;
print(selectedPaymentMethod);
openPayment(selectedPaymentMethod, projectViewModel.authenticatedUserObject.user, double.parse(getTotalValue()), null);
},
}, patientShare: double.parse(getTotalValue()),
));
}

@ -300,7 +300,11 @@ class _BookSuccessState extends State<BookSuccess> {
appo.serviceID = widget.patientShareResponse.serviceID;
appo.isLiveCareAppointment = widget.patientShareResponse.isLiveCareAppointment;
appo.doctorID = widget.patientShareResponse.doctorID;
confirmAppointment(appo);
if (appo.isLiveCareAppointment) {
navigateToHome(context);
} else {
confirmAppointment(appo);
}
},
child: Text(widget.patientShareResponse.isLiveCareAppointment ? TranslationBase.of(context).confirmLiveCare : TranslationBase.of(context).confirm, style: TextStyle(fontSize: 16.0)),
),
@ -539,6 +543,7 @@ class _BookSuccessState extends State<BookSuccess> {
appo.clinicName = widget.patientShareResponse.clinicName;
appo.projectName = widget.patientShareResponse.projectName;
appo.appointmentNo = widget.patientShareResponse.appointmentNo;
appo.isLiveCareAppointment = widget.patientShareResponse.isLiveCareAppointment;
Navigator.push(
context,

@ -239,7 +239,8 @@ class _SearchByClinicState extends State<SearchByClinic> {
Navigator.push(context, FadePage(page: LaserClinic()));
} else if (!isDentalSelectedAndSupported()) {
projectDropdownValue = "";
getDoctorsList(context);
if(!nearestAppo)
getDoctorsList(context);
} else {}
});
projectViewModel.analytics.appointment.book_appointment_select_clinic(appointment_type: 'regular', clinic: clincs.clinicDescription);

@ -965,7 +965,7 @@ class _ToDoState extends State<ToDo> with SingleTickerProviderStateMixin {
service.markAppointmentForTamara(appo.projectID, appo.appointmentNo.toString()).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (appo.isLiveCareAppointment)
addVIDARequestInsert("0", tamaraOrderID, apptData);
addVIDARequestInsert("0", tamaraOrderID, appo);
else
getAppoQR(context, appo);
// autoGenerateInvoiceTamara(appo);
@ -1053,7 +1053,7 @@ class _ToDoState extends State<ToDo> with SingleTickerProviderStateMixin {
service.addAdvancedNumberRequest(advanceNumber, paymentReference, appointmentID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (appo.isLiveCareAppointment)
addVIDARequestInsert(advanceNumber, paymentReference, apptData);
addVIDARequestInsert(advanceNumber, paymentReference, appo);
else
getAppoQR(context, appo);
}).catchError((err) {
@ -1062,12 +1062,12 @@ class _ToDoState extends State<ToDo> with SingleTickerProviderStateMixin {
});
}
addVIDARequestInsert(String advanceNumber, String paymentReference, dynamic apptData) {
addVIDARequestInsert(String advanceNumber, String paymentReference, AppoitmentAllHistoryResultList appo) {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
service.addVIDARequest(advanceNumber, paymentReference, apptData, context).then((res) {
service.insertVIDARequest(appo.appointmentNo, appo.clinicID, appo.projectID, appo.serviceID, appo.doctorID, appo.appointmentDate, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res);
getPatientAppointmentHistory();
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
print(err);

@ -73,7 +73,7 @@ class _ScheduleClinicCardState extends State<ScheduleClinicCard> {
children: <Widget>[
Container(
child: Text(
widget.clinicsHaveScheduleList.clinicDesc,
widget.clinicsHaveScheduleList.clinicDesc ?? "",
style: TextStyle(
fontSize: 16.0,
color: Colors.black,

@ -308,7 +308,7 @@ class _clinic_listState extends State<ClinicList> {
});
}
openPayment(List<String> paymentMethod, AuthenticatedUser authenticatedUser, double amount, AppoitmentAllHistoryResultList appo) {
openPayment(List<String> paymentMethod, AuthenticatedUser authenticatedUser, num amount, AppoitmentAllHistoryResultList appo) {
browser = new MyInAppBrowser(onExitCallback: onBrowserExit, appo: appo, onLoadStartCallback: onBrowserLoadStart, context: context);
selectedPaymentMethod = paymentMethod[0];

@ -22,7 +22,6 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/otp/sms-popup.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:pay/pay.dart';
@ -212,7 +211,7 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
TranslationBase.of(context).confirm.toUpperCase(),
() {
if (widget.advanceModel.fileNumber == projectViewModel.user.patientID.toString()) {
openPayment(widget.selectedPaymentMethod, widget.authenticatedUser, double.parse(widget.advanceModel.amount), null);
openPayment(widget.selectedPaymentMethod, widget.authenticatedUser, double.parse(widget.advanceModel.amount), null);
} else {
GifLoaderDialogUtils.showMyDialog(context);
model.sendActivationCodeForAdvancePayment(patientID: int.parse(widget.advanceModel.fileNumber), projectID: widget.advanceModel.hospitalsModel.iD).then((value) {

@ -27,12 +27,13 @@ import 'PrescriptionIDeliveryAddressPage.dart';
class PrescriptionItemsPage extends StatelessWidget {
final Prescriptions prescriptions;
ProjectViewModel projectViewModel;
PrescriptionItemsPage({Key key, this.prescriptions});
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
projectViewModel = Provider.of(context);
return BaseView<PrescriptionsViewModel>(
onModelReady: (model) => model.getPrescriptionReport(prescriptions: prescriptions),
builder: (_, model, widget) => AppScaffold(
@ -416,7 +417,7 @@ class PrescriptionItemsPage extends StatelessWidget {
showDialog(
context: context,
builder: (cxt) => ConfirmSendEmailDialog(
email: model.user.emailAddress,
email: projectViewModel.user.emailAddress,
onTapSendEmail: () {
model.sendPrescriptionEmail(
appointmentDate: prescriptions.appointmentDate,

@ -990,6 +990,7 @@ class DoctorsListService extends BaseService {
"PatientType": authUser.patientType,
"DeviceToken": await sharedPref.getString(PUSH_TOKEN),
"VoipToken": await sharedPref.getString(ONESIGNAL_APNS_TOKEN),
"IsVoip": Platform.isIOS ? true : false
};
// request.DeviceToken = this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false);

@ -264,7 +264,8 @@ class FamilyFilesProvider with ChangeNotifier {
request['PatientIdentificationID'] = '';
request['IsSilentLogin'] = true;
request['PatientID'] = switchUser.responseID; //['PatientID'];
request['ZipCode'] = currentUser.outSA == 1 ? "971" : "966";
request['ZipCode'] = switchUser.familyRegionID != null ? switchUser.familyRegionID == 1 ? "966" : "971" : "966";
// request['ZipCode'] = currentUser.outSA == 1 ? "971" : "966";
request['activationCode'] = '0000';
request['isRegister'] = false;
}

@ -6,9 +6,9 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:huawei_location/location/fused_location_provider_client.dart';
import 'package:huawei_location/location/location.dart';
import 'package:huawei_location/location/location_callback.dart';
@ -22,11 +22,12 @@ class LocationUtils {
bool isShowConfirmDialog;
BuildContext context;
bool isHuawei;
LocationUtils({@required this.isShowConfirmDialog, @required this.context});
LocationUtils({@required this.isShowConfirmDialog, @required this.context, @required this.isHuawei = false});
void getCurrentLocation({Function(LatLng) callBack}) async {
if (Platform.isAndroid && (await FlutterHmsGmsAvailability.isHmsAvailable)) {
if (Platform.isAndroid && isHuawei) {
_getHMSCurrentLocation(callBack);
} else {
Geolocator.isLocationServiceEnabled().then((value) {

@ -16,9 +16,10 @@ import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:firebase_messaging/firebase_messaging.dart' as fir;
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:flutter_ios_voip_kit/call_state_type.dart';
import 'package:flutter_ios_voip_kit/flutter_ios_voip_kit.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:huawei_push/huawei_push.dart' as h_push;
import 'app_shared_preferences.dart';
@ -113,6 +114,7 @@ class PushNotificationHandler {
final BuildContext context;
static PushNotificationHandler _instance;
final voIPKit = FlutterIOSVoIPKit.instance;
HmsApiAvailability hmsApiAvailability;
Timer timeOutTimer;
bool isTalking = false;
@ -158,6 +160,7 @@ class PushNotificationHandler {
}
init() async {
hmsApiAvailability = new HmsApiAvailability();
// VoIP Callbacks
voIPKit.getVoIPToken().then((value) {
print('🎈 example: getVoIPToken: $value');
@ -217,9 +220,14 @@ class PushNotificationHandler {
});
};
if (Platform.isAndroid && (!await FlutterHmsGmsAvailability.isHmsAvailable)) {
final fcmToken = await FirebaseMessaging.instance.getToken();
if (fcmToken != null) onToken(fcmToken);
// if (Platform.isAndroid && (!await FlutterHmsGmsAvailability.isHmsAvailable)) {
if (Platform.isAndroid) {
await hmsApiAvailability.isHMSAvailable().then((value) async {
if(value != 0) {
final fcmToken = await FirebaseMessaging.instance.getToken();
if (fcmToken != null) onToken(fcmToken);
}
});
}
if (Platform.isIOS) {
@ -227,27 +235,33 @@ class PushNotificationHandler {
if (permission.authorizationStatus == AuthorizationStatus.denied) return;
}
if (Platform.isAndroid && (await FlutterHmsGmsAvailability.isHmsAvailable)) {
// 'Android HMS' (Handle Huawei Push_Kit Streams)
// 'Android HMS' (Handle Huawei Push_Kit Streams)
// if (Platform.isAndroid) {
// if (Platform.isAndroid && (await FlutterHmsGmsAvailability.isHmsAvailable)) {
h_push.Push.enableLogger();
final result = await h_push.Push.setAutoInitEnabled(true);
await hmsApiAvailability.isHMSAvailable().then((value) async {
if(value == 0) {
h_push.Push.enableLogger();
final result = await h_push.Push.setAutoInitEnabled(true);
h_push.Push.onNotificationOpenedApp.listen((message) {
newMessage(toFirebaseRemoteMessage(message));
}, onError: (e) => print(e.toString()));
h_push.Push.onNotificationOpenedApp.listen((message) {
newMessage(toFirebaseRemoteMessage(message));
}, onError: (e) => print(e.toString()));
h_push.Push.onMessageReceivedStream.listen((message) {
newMessage(toFirebaseRemoteMessage(message));
}, onError: (e) => print(e.toString()));
h_push.Push.onMessageReceivedStream.listen((message) {
newMessage(toFirebaseRemoteMessage(message));
}, onError: (e) => print(e.toString()));
h_push.Push.getTokenStream.listen((token) {
onToken(token);
}, onError: (e) => print(e.toString()));
await h_push.Push.getToken('');
h_push.Push.getTokenStream.listen((token) {
onToken(token);
}, onError: (e) => print(e.toString()));
await h_push.Push.getToken('');
h_push.Push.registerBackgroundMessageHandler(backgroundMessageHandler);
} else {
h_push.Push.registerBackgroundMessageHandler(backgroundMessageHandler);
}
});
// } else {
// 'Android GMS or iOS' (Handle Firebase Messaging Streams
FirebaseMessaging.instance.getInitialMessage().then((RemoteMessage message) async {
@ -293,7 +307,7 @@ class PushNotificationHandler {
});
FirebaseMessaging.onBackgroundMessage(backgroundMessageHandler);
}
// }
}
subscribeFCMTopic() async {

@ -44,7 +44,8 @@ import 'package:diplomaticquarterapp/widgets/dialogs/covid_consent_dialog.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
@ -827,11 +828,14 @@ extension IndexedIterable<E> on Iterable<E> {
}
}
openAppStore({String androidPackageName, String iOSAppID}) async {
openAppStore({String androidPackageName, String iOSAppID, bool isHuawei = false}) async {
if (Platform.isAndroid) {
assert(!(androidPackageName == null), "Should have valid value in androidPackageName parameter");
if ((await FlutterHmsGmsAvailability.isGmsAvailable)) launch("market://details?id=com.ejada.hmg");
if ((await FlutterHmsGmsAvailability.isHmsAvailable)) launch("appmarket://details?id=com.ejada.hmg");
if (isHuawei) {
launch("appmarket://details?id=com.ejada.hmg");
} else {
launch("market://details?id=com.ejada.hmg");
}
} else if (Platform.isIOS) {
assert((iOSAppID == null), "Should have valid value in iOSAppID parameter");
launch("https://itunes.apple.com/kr/app/apple-store/$iOSAppID)");

@ -3,8 +3,9 @@ import 'dart:async';
import 'package:diplomaticquarterapp/services/pharmacy_services/writeReview_service.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:huawei_map/map.dart' as hmsMap;
class AppMap extends StatefulWidget {
@ -40,13 +41,19 @@ class AppMapState extends State<AppMap> {
Completer<hmsMap.HuaweiMapController> _huaweiMapControllerComp = Completer();
hmsMap.HuaweiMapController _huaweiMapController;
HmsApiAvailability hmsApiAvailability;
checkIsHuawei() async {
isHuawei = await FlutterHmsGmsAvailability.isHmsAvailable;
await hmsApiAvailability.isHMSAvailable().then((value) {
isHuawei = value == 0 ? true : false;
});
print(isHuawei);
setState(() {});
}
@override
void initState() {
hmsApiAvailability = HmsApiAvailability();
checkIsHuawei();
}

@ -145,7 +145,7 @@ class MyInAppBrowser extends InAppBrowser {
this.openUrlRequest(urlRequest: URLRequest(url: Uri.parse(full_url)), options: _InAppBrowserOptions);
}
openPaymentBrowser(double amount, String orderDesc, String transactionID, String projId, String emailId, String paymentMethod, dynamic patientType, String patientName, dynamic patientID,
openPaymentBrowser(num amount, String orderDesc, String transactionID, String projId, String emailId, String paymentMethod, dynamic patientType, String patientName, dynamic patientID,
AuthenticatedUser authenticatedUser, InAppBrowser browser, bool isLiveCareAppo, var servID, var LiveServID,
[var appoDate, var appoNo, var clinicID, var doctorID, var installments]) async {
this.browser = browser;
@ -266,7 +266,7 @@ class MyInAppBrowser extends InAppBrowser {
this.browser.openUrlRequest(urlRequest: URLRequest(url: Uri.parse(url)), options: _InAppBrowserOptions);
}
Future<String> generateURL(double amount, String orderDesc, String transactionID, String projId, String emailId, String paymentMethod, dynamic patientType, String patientName, dynamic patientID,
Future<String> generateURL(num amount, String orderDesc, String transactionID, String projId, String emailId, String paymentMethod, dynamic patientType, String patientName, dynamic patientID,
AuthenticatedUser authUser, bool isLiveCareAppo, var servID, var LiveServID,
[var appoDate, var appoNo, var clinicID, var doctorID, var patientData]) async {
getDeviceToken();
@ -323,8 +323,8 @@ class MyInAppBrowser extends InAppBrowser {
return 'data:text/html;base64,' + base64Str;
}
Future<String> generateTamaraURL(double amount, String orderDesc, String transactionID, String projId, String emailId, String paymentMethod, dynamic patientType, String patientName,
dynamic patientID, AuthenticatedUser authUser, bool isLiveCareAppo, var servID, var LiveServID,
Future<String> generateTamaraURL(num amount, String orderDesc, String transactionID, String projId, String emailId, String paymentMethod, dynamic patientType, String patientName, dynamic patientID,
AuthenticatedUser authUser, bool isLiveCareAppo, var servID, var LiveServID,
[var appoDate, var appoNo, var clinicID, var doctorID, var patientData, var installments]) async {
getDeviceToken();
String currentLanguageID = await getLanguageID() == 'ar' ? 'AR' : 'EN';
@ -339,7 +339,7 @@ class MyInAppBrowser extends InAppBrowser {
form = form.replaceFirst('PROJECT_ID_VALUE', projId);
form = form.replaceFirst('PAYMENT_OPTION_VALUE', paymentMethod);
form = form.replaceFirst('LANG_VALUE', currentLanguageID);
form = form.replaceFirst('SERVICE_URL_VALUE', "https://mdlaboratories.com/tamara/Home/Checkout");
form = form.replaceFirst('SERVICE_URL_VALUE', "https://mdlaboratories.com/tamaralive/Home/Checkout");
form = form.replaceFirst('INSTALLMENTS_VALUE', installments);
form = form.replaceFirst('CUSTNATIONALID_VALUE', authUser.patientIdentificationNo);

@ -9,10 +9,11 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
import 'package:geocoding/geocoding.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:provider/provider.dart';
class PickupLocationFromMap extends StatefulWidget {
@ -38,13 +39,16 @@ class _PickupLocationFromMapState extends State<PickupLocationFromMap> {
double latitude = 0;
double longitude = 0;
HmsApiAvailability hmsApiAvailability;
static CameraPosition kGooglePlex = CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
target: LatLng(24.126613,45.081137),
zoom: 14.4746,
);
@override
void initState() {
hmsApiAvailability = HmsApiAvailability();
checkIsHuawei();
appMap = AppMap(
@ -68,7 +72,12 @@ class _PickupLocationFromMapState extends State<PickupLocationFromMap> {
}
checkIsHuawei() async {
isHuawei = await FlutterHmsGmsAvailability.isHmsAvailable;
// isHuawei = await FlutterHmsGmsAvailability.isHmsAvailable;
// print(isHuawei);
// setState(() {});
await hmsApiAvailability.isHMSAvailable().then((value) {
isHuawei = value == 0 ? true : false;
});
print(isHuawei);
setState(() {});
}

@ -1,7 +1,7 @@
name: diplomaticquarterapp
description: A new Flutter application.
version: 4.4.99+404099
version: 4.4.996+4040996
environment:
sdk: ">=2.7.0 <3.0.0"
@ -100,7 +100,7 @@ dependencies:
location: ^4.3.0
# Qr code Scanner
# barcode_scan_fix: ^1.0.2
barcode_scan2: ^4.1.4
barcode_scan2: ^4.2.1
# Rating Stars
rating_bar: ^0.2.0
@ -169,7 +169,7 @@ dependencies:
wifi: ^0.1.5
vibration: ^1.7.3
flutter_nfc_kit: ^3.2.0
flutter_nfc_kit: ^3.3.1
speech_to_text:
path: speech_to_text
@ -190,7 +190,8 @@ dependencies:
carousel_slider: ^4.0.0
flutter_material_pickers: ^3.1.2
flutter_staggered_grid_view: ^0.4.1
flutter_hms_gms_availability: ^2.0.0
# flutter_hms_gms_availability: ^2.0.0
huawei_hmsavailability: ^6.6.0+300
huawei_location: ^6.0.0+302
# Marker Animation
@ -202,6 +203,7 @@ dependencies:
sms_retriever: ^1.0.0
sms_otp_auto_verify: ^2.1.0
flutter_ios_voip_kit: ^0.0.5
# firebase_core: 1.12.0
dependency_overrides:
provider : ^5.0.0

Loading…
Cancel
Save