Update to stores

development_sikander
haroon amjad 2 years ago
parent 5f3c4b034f
commit d3358d578c

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <paths>
<resources> <external-path name="external-path" path="."/>
<external-cache-path name="external-cache-path" path="."/>
<external-files-path name="external-files-path" path="."/>
<files-path name="files_path" path="."/>
<cache-path name="cache-path" path="."/>
<root-path name="root" path="."/> <root-path name="root" path="."/>
<external-path name="external_storage_directory" path="." /> </paths>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<files-path name="files-path" path="../" />
</paths>
</resources>

@ -39,7 +39,7 @@ class ChatApiClient {
"platform": Platform.isIOS ? "ios" : "android", "platform": Platform.isIOS ? "ios" : "android",
"deviceToken": AppState().getIsHuawei ? AppState().getHuaweiPushToken : AppState().getDeviceToken, "deviceToken": AppState().getIsHuawei ? AppState().getHuaweiPushToken : AppState().getDeviceToken,
"isHuaweiDevice": AppState().getIsHuawei, "isHuaweiDevice": AppState().getIsHuawei,
"voipToken": "", "voipToken": "80a3b01fc1ef2453eb4f1daa4fc31d8142d9cb67baf848e91350b607971fe2ba",
}, },
); );

@ -90,7 +90,7 @@ class AppState {
String get getHuaweiPushToken => _huaweiPushToken; String get getHuaweiPushToken => _huaweiPushToken;
final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 31, versionID: 5.7, mobileType: Platform.isAndroid ? "android" : "ios"); final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 31, versionID: 5.8, mobileType: Platform.isAndroid ? "android" : "ios");
void setPostParamsInitConfig() { void setPostParamsInitConfig() {
isAuthenticated = false; isAuthenticated = false;

@ -3,8 +3,8 @@ import 'package:mohem_flutter_app/ui/marathon/widgets/question_card.dart';
class ApiConsts { class ApiConsts {
//static String baseUrl = "http://10.200.204.20:2801/"; // Local server //static String baseUrl = "http://10.200.204.20:2801/"; // Local server
// static String baseUrl = "https://erptstapp.srca.org.sa"; // SRCA server // static String baseUrl = "https://erptstapp.srca.org.sa"; // SRCA server
static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver // static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver
// static String baseUrl = "https://hmgwebservices.com"; // Live server static String baseUrl = "https://hmgwebservices.com"; // Live server
static String baseUrlServices = baseUrl + "/Services/"; // server static String baseUrlServices = baseUrl + "/Services/"; // server
// static String baseUrlServices = "https://api.cssynapses.com/tangheem/"; // Live server // static String baseUrlServices = "https://api.cssynapses.com/tangheem/"; // Live server
static String utilitiesRest = baseUrlServices + "Utilities.svc/REST/"; static String utilitiesRest = baseUrlServices + "Utilities.svc/REST/";

@ -2,7 +2,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:open_file/open_file.dart'; import 'package:open_filex/open_filex.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
@ -26,7 +26,7 @@ class FileProcess {
static void openFile(String fileName, {bool isFullPath = false}) { static void openFile(String fileName, {bool isFullPath = false}) {
String dir = directory!.path + "/$fileName.pdf"; String dir = directory!.path + "/$fileName.pdf";
OpenFile.open(isFullPath ? fileName : dir); OpenFilex.open(isFullPath ? fileName : dir);
} }
static Future<File> downloadFile(String base64Content, String fileName) async { static Future<File> downloadFile(String base64Content, String fileName) async {

@ -37,7 +37,7 @@ import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.
import 'package:mohem_flutter_app/ui/chat/chat_detailed_screen.dart'; import 'package:mohem_flutter_app/ui/chat/chat_detailed_screen.dart';
import 'package:mohem_flutter_app/ui/landing/dashboard_screen.dart'; import 'package:mohem_flutter_app/ui/landing/dashboard_screen.dart';
import 'package:mohem_flutter_app/widgets/image_picker.dart'; import 'package:mohem_flutter_app/widgets/image_picker.dart';
import 'package:open_file/open_file.dart'; import 'package:open_filex/open_filex.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:signalr_netcore/hub_connection.dart'; import 'package:signalr_netcore/hub_connection.dart';
@ -1674,7 +1674,7 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
try { try {
String path = await downChatMedia(encodedString, fileTypeName ?? ""); String path = await downChatMedia(encodedString, fileTypeName ?? "");
Utils.hideLoading(context); Utils.hideLoading(context);
OpenFile.open(path); OpenFilex.open(path);
} catch (e) { } catch (e) {
Utils.showToast("Cannot open file."); Utils.showToast("Cannot open file.");
} }

@ -530,49 +530,49 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
children: [ children: [
ServicesWidget(), ServicesWidget(),
context.watch<MarathonProvider>().isLoading ? const MarathonBannerShimmer().paddingAll(20) : const MarathonBanner().paddingOnly(left: 21, right: 21, bottom: 8, top: 8), context.watch<MarathonProvider>().isLoading ? const MarathonBannerShimmer().paddingAll(20) : const MarathonBanner().paddingOnly(left: 21, right: 21, bottom: 8, top: 8),
context.watch<MarathonProvider>().isTutorialLoading // context.watch<MarathonProvider>().isTutorialLoading
? const MarathonBannerShimmer().paddingAll(20) // ? const MarathonBannerShimmer().paddingAll(20)
: Container( // : Container(
padding: EdgeInsets.only(bottom: 12, top: 12), // padding: EdgeInsets.only(bottom: 12, top: 12),
margin: EdgeInsets.only(left: 21, right: 21, bottom: 21, top: 8), // margin: EdgeInsets.only(left: 21, right: 21, bottom: 21, top: 8),
width: double.infinity, // width: double.infinity,
alignment: Alignment.center, // alignment: Alignment.center,
decoration: BoxDecoration( // decoration: BoxDecoration(
color: MyColors.backgroundBlackColor, // color: MyColors.backgroundBlackColor,
borderRadius: BorderRadius.circular(20), // borderRadius: BorderRadius.circular(20),
border: Border.all(color: MyColors.lightGreyEDColor, width: 1), // border: Border.all(color: MyColors.lightGreyEDColor, width: 1),
), // ),
child: Column( // child: Column(
crossAxisAlignment: CrossAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min, // mainAxisSize: MainAxisSize.min,
children: [ // children: [
Text( // Text(
"Tutorial:", // "Tutorial:",
style: TextStyle( // style: TextStyle(
fontSize: 11, // fontSize: 11,
fontStyle: FontStyle.italic, // fontStyle: FontStyle.italic,
fontWeight: FontWeight.w600, // fontWeight: FontWeight.w600,
color: MyColors.white.withOpacity(0.83), // color: MyColors.white.withOpacity(0.83),
letterSpacing: -0.4, // letterSpacing: -0.4,
), // ),
), // ),
Text( // Text(
context.read<MarathonProvider>().tutorial?.tutorialName ?? "", // context.read<MarathonProvider>().tutorial?.tutorialName ?? "",
overflow: TextOverflow.ellipsis, // overflow: TextOverflow.ellipsis,
style: TextStyle( // style: TextStyle(
fontStyle: FontStyle.italic, // fontStyle: FontStyle.italic,
fontSize: 19, // fontSize: 19,
fontWeight: FontWeight.bold, // fontWeight: FontWeight.bold,
color: MyColors.white, // color: MyColors.white,
height: 32 / 22, // height: 32 / 22,
), // ),
), // ),
], // ],
), // ),
).onPress(() { // ).onPress(() {
checkERMChannel(); // checkERMChannel();
// Navigator.pushNamed(context, AppRoutes.marathonTutorialScreen); // // Navigator.pushNamed(context, AppRoutes.marathonTutorialScreen);
}), // }),
], ],
), ),
), ),

@ -174,10 +174,12 @@ class _MarathonTutorialViewerScreenState extends State<MarathonTutorialViewerScr
if (_controller!.value.isPlaying) { if (_controller!.value.isPlaying) {
_controller!.pause(); _controller!.pause();
} else if (_controller!.value.isCompleted) { }
videoLength.value = 0; // else if (_controller!.value.isCompleted) {
_controller!.play(); // videoLength.value = 0;
} else { // _controller!.play();
// }
else {
_controller!.play(); _controller!.play();
} }
setState(() {}); setState(() {});

@ -18,7 +18,7 @@ import 'package:mohem_flutter_app/models/mowadhafhi/get_transaction_attachment_m
import 'package:mohem_flutter_app/ui/screens/mowadhafhi/view_transaction_attachment.dart'; import 'package:mohem_flutter_app/ui/screens/mowadhafhi/view_transaction_attachment.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart'; import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart';
import 'package:open_file/open_file.dart'; import 'package:open_filex/open_filex.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
@ -276,7 +276,7 @@ class _RequestDetailsState extends State<MowadhafhiRequestDetails> {
ext = rFileExt!.split(".").last.toLowerCase(); ext = rFileExt!.split(".").last.toLowerCase();
try { try {
String path = await _createFileFromString(rFile!.split("base64,").last ?? "", ext ?? ""); String path = await _createFileFromString(rFile!.split("base64,").last ?? "", ext ?? "");
await OpenFile.open(path).catchError((err) { await OpenFilex.open(path).catchError((err) {
print(err); print(err);
}); });
} catch (ex) { } catch (ex) {

@ -76,7 +76,7 @@ class _OffersAndDiscountsDetailsState extends State<OffersAndDiscountsDetails> {
: getOffersList[0].titleEn!.toText22(isBold: true, color: const Color(0xff2B353E)).center, : getOffersList[0].titleEn!.toText22(isBold: true, color: const Color(0xff2B353E)).center,
Html( Html(
data: AppState().isArabic(context) ? getOffersList[0].descriptionAr! : getOffersList[0].descriptionEn ?? "", data: AppState().isArabic(context) ? getOffersList[0].descriptionAr! : getOffersList[0].descriptionEn ?? "",
onLinkTap: (String? url, Map<String, String> attributes, _) { onLinkTap: (String? url, RenderContext context, Map<String, String> attributes, _) {
launchUrl(Uri.parse(url!)); launchUrl(Uri.parse(url!));
}, },
), ),

@ -22,7 +22,7 @@ import 'package:mohem_flutter_app/models/get_quotation_analysis_list_model.dart'
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/circular_avatar.dart'; import 'package:mohem_flutter_app/widgets/circular_avatar.dart';
import 'package:mohem_flutter_app/widgets/item_detail_view_widget.dart'; import 'package:mohem_flutter_app/widgets/item_detail_view_widget.dart';
import 'package:open_file/open_file.dart'; import 'package:open_filex/open_filex.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
class ItemHistoryScreenParams { class ItemHistoryScreenParams {
@ -278,7 +278,7 @@ class _ItemHistoryScreenState extends State<ItemHistoryScreen> {
).objectContainerView().onPress(() async { ).objectContainerView().onPress(() async {
try { try {
String path = await _createFileFromString(getAttachmentList[index].fILEDATA ?? "", getAttachmentList[index].fILECONTENTTYPE ?? ""); String path = await _createFileFromString(getAttachmentList[index].fILEDATA ?? "", getAttachmentList[index].fILECONTENTTYPE ?? "");
OpenFile.open(path); OpenFilex.open(path);
} catch (ex) { } catch (ex) {
Utils.showToast("Cannot open file."); Utils.showToast("Cannot open file.");
} }

@ -10,7 +10,7 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/models/itg_forms_models/itg_forms_attachments_model.dart'; import 'package:mohem_flutter_app/models/itg_forms_models/itg_forms_attachments_model.dart';
import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart'; import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart';
import 'package:open_file/open_file.dart'; import 'package:open_filex/open_filex.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
@ -32,33 +32,8 @@ class ITGAttachmentsFragment extends StatelessWidget {
], ],
).objectContainerView().onPress(() async { ).objectContainerView().onPress(() async {
try { try {
Permission.storage.isGranted.then( String path = await _createFileFromString(itgFormAttachmentsList[index].fileBase64 ?? "", itgFormAttachmentsList[index].fileType ?? "");
(isGranted) async { OpenFilex.open(path);
if (!isGranted) {
Permission.manageExternalStorage.request().then(
(granted) async {
if (granted == PermissionStatus.granted) {
String path = await _createFileFromString(itgFormAttachmentsList[index].fileBase64 ?? "", itgFormAttachmentsList[index].fileType ?? "");
OpenFile.open(path);
} else {
showDialog(
context: context,
builder: (BuildContext cxt) => ConfirmDialog(
message: "You need to give storage permission to view files.",
onTap: () {
Navigator.pop(context);
},
),
);
}
},
);
} else {
String path = await _createFileFromString(itgFormAttachmentsList[index].fileBase64 ?? "", itgFormAttachmentsList[index].fileType ?? "");
OpenFile.open(path);
}
},
);
} catch (ex) { } catch (ex) {
Utils.showToast("Cannot open file."); Utils.showToast("Cannot open file.");
} }

@ -10,7 +10,7 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/models/get_attachement_list_model.dart'; import 'package:mohem_flutter_app/models/get_attachement_list_model.dart';
import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart'; import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart';
import 'package:open_file/open_file.dart'; import 'package:open_filex/open_filex.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
@ -32,33 +32,8 @@ class AttachmentsFragment extends StatelessWidget {
], ],
).objectContainerView().onPress(() async { ).objectContainerView().onPress(() async {
try { try {
Permission.storage.isGranted.then( String path = await _createFileFromString(getAttachmentList[index].fILEDATA ?? "", getAttachmentList[index].fILECONTENTTYPE ?? "");
(isGranted) async { OpenFilex.open(path);
if (!isGranted) {
Permission.manageExternalStorage.request().then(
(granted) async {
if (granted == PermissionStatus.granted) {
String path = await _createFileFromString(getAttachmentList[index].fILEDATA ?? "", getAttachmentList[index].fILECONTENTTYPE ?? "");
OpenFile.open(path);
} else {
showDialog(
context: context,
builder: (BuildContext cxt) => ConfirmDialog(
message: "You need to give storage permission to view files.",
onTap: () {
Navigator.pop(context);
},
),
);
}
},
);
} else {
String path = await _createFileFromString(getAttachmentList[index].fILEDATA ?? "", getAttachmentList[index].fILECONTENTTYPE ?? "");
OpenFile.open(path);
}
},
);
} catch (ex) { } catch (ex) {
Utils.showToast("Cannot open file."); Utils.showToast("Cannot open file.");
} }

@ -47,7 +47,7 @@ class ImageOptions {
onFilesTap: () async { onFilesTap: () async {
Permission.storage.isGranted.then((isGranted) async { Permission.storage.isGranted.then((isGranted) async {
if (!isGranted) { if (!isGranted) {
Permission.manageExternalStorage.request().then((granted) async { Permission.storage.request().then((granted) async {
if (granted == PermissionStatus.granted) { if (granted == PermissionStatus.granted) {
FilePickerResult? result = await FilePicker.platform.pickFiles( FilePickerResult? result = await FilePicker.platform.pickFiles(
type: FileType.custom, type: FileType.custom,

@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
#version: 3.3.01+300040 #version: 3.3.01+300040
version: 3.3.6+300046 version: 3.3.5+300045
environment: environment:
sdk: ">=2.16.0 <3.0.0" sdk: ">=2.16.0 <3.0.0"
@ -63,8 +63,9 @@ dependencies:
file_picker: 5.2.5 file_picker: 5.2.5
geolocator: ^9.0.2 geolocator: ^9.0.2
month_year_picker: ^0.2.0+1 month_year_picker: ^0.2.0+1
month_picker_dialog_2: 0.5.5 month_picker_dialog_2: ^0.5.5
open_file: ^3.2.1 # open_file: ^3.2.1
open_filex: ^4.4.0
wifi_iot: ^0.3.18 wifi_iot: ^0.3.18
flutter_html: ^3.0.0-alpha.6 flutter_html: ^3.0.0-alpha.6
# flutter_barcode_scanner: ^2.0.0 # flutter_barcode_scanner: ^2.0.0
@ -100,7 +101,7 @@ dependencies:
#Encryption #Encryption
flutter_des: ^2.1.0 flutter_des: ^2.1.0
video_player: ^2.5.1 video_player: 2.7.0
just_audio: ^0.9.30 just_audio: ^0.9.30
# safe_device: ^1.1.2 # safe_device: ^1.1.2
flutter_layout_grid: ^2.0.1 flutter_layout_grid: ^2.0.1

Loading…
Cancel
Save