revert commented code that were due to zoom issue

live_activities
tahaalam 21 hours ago
parent cd15cf1a39
commit 12ec392fc2

Binary file not shown.

@ -25,7 +25,7 @@ android {
defaultConfig {
applicationId = "com.ejada.hmg"
// minSdk = 24
minSdk = 26
minSdk = 28
targetSdk = 36
compileSdk = 36
// targetSdk = flutter.targetSdkVersion
@ -91,7 +91,7 @@ android {
"lib/arm64-v8a/libc++_shared.so",
"**/*.so"
)
useLegacyPackaging = true
useLegacyPackaging = false
}
resources {
excludes += listOf("META-INF/proguard/androidx-annotations.pro")

@ -25,6 +25,11 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin audio_session, com.ryanheise.audio_session.AudioSessionPlugin", e);
}
try {
flutterEngine.getPlugins().add(new de.mintware.barcode_scan.BarcodeScanPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin barcode_scan2, de.mintware.barcode_scan.BarcodeScanPlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.connectivity.ConnectivityPlugin());
} catch (Exception e) {
@ -90,6 +95,11 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_plugin_android_lifecycle, io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.flutterzoom.videosdk.FlutterZoomVideoSdkPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_zoom_videosdk, com.flutterzoom.videosdk.FlutterZoomVideoSdkPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.github.ponnamkarthik.toast.fluttertoast.FlutterToastPlugin());
} catch (Exception e) {

@ -1522,7 +1522,7 @@
"bmi": "مؤشر كتلة الجسم",
"yesPleaseINeedHelp": "نعم، من فضلك أريد المساعدة",
"noThanksIKnowTheClinic": "لا شكراً، أعرف العيادة",
"unableToSendOTP": "تعذر إرسال رمز التحقق لمرة واحدة"
"unableToSendOTP": "تعذر إرسال رمز التحقق لمرة واحدة",
"callForVitalSign": "استدعاء لأخذ العلامات الحيوية",
"callForDoctor": "استدعاء الطبيب",
"yourQueueNumber": "رقمك في الدور",

@ -1516,7 +1516,7 @@
"bmi": "BMI",
"yesPleaseINeedHelp": "Yes, Please I need help",
"noThanksIKnowTheClinic": "No, Thanks. I Know the clinic",
"unableToSendOTP": "Unable to send Verification OTP"
"unableToSendOTP": "Unable to send Verification OTP",
"callForVitalSign": "Call for vital signs",
"callForDoctor": "Call for Doctor",
"yourQueueNumber": "Your Queue Number",

@ -127,10 +127,10 @@ class AppDependencies {
getIt.registerLazySingleton<CacheService>(() => CacheServiceImp(sharedPreferences: sharedPreferences, loggerService: getIt()));
final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
// getIt.registerLazySingleton<NotificationService>(() => NotificationServiceImp(
// flutterLocalNotificationsPlugin: flutterLocalNotificationsPlugin,
// loggerService: getIt(),
// ));
getIt.registerLazySingleton<NotificationService>(() => NotificationServiceImp(
flutterLocalNotificationsPlugin: flutterLocalNotificationsPlugin,
loggerService: getIt(),
));
getIt.registerLazySingleton<ApiClient>(() => ApiClientImp(appState: getIt()));
getIt.registerLazySingleton<LocalAuthService>(

@ -985,7 +985,6 @@ abstract class LocaleKeys {
static const thankYouForPatience = 'thankYouForPatience';
static const servingNow = 'servingNow';
static const callForVitalSigns = 'callForVitalSigns';
static const callForDoctor = 'callForDoctor';
static const thingsToAskDoctor = 'thingsToAskDoctor';
static const improveOverallHealth = 'improveOverallHealth';
static const routineScreenings = 'routineScreenings';

@ -16,7 +16,7 @@ import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/appointments/appointment_queue_page.dart';
import 'package:hmg_patient_app_new/presentation/home/navigation_screen.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
// import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/nfc/nfc_reader_sheet.dart';
@ -91,10 +91,10 @@ class AppointmentCheckinBottomSheet extends StatelessWidget {
LocaleKeys.qrCode.tr(context: context),
LocaleKeys.scanQRCodeToCheckIn.tr(context: context),
).onPress(() async {
// String onlineCheckInQRCode = (await BarcodeScanner.scan().then((value) => value.rawContent));
// if (onlineCheckInQRCode != "") {
// sendCheckInRequest(onlineCheckInQRCode, 2, context);
// } else {}
String onlineCheckInQRCode = (await BarcodeScanner.scan().then((value) => value.rawContent));
if (onlineCheckInQRCode != "") {
sendCheckInRequest(onlineCheckInQRCode, 2, context);
} else {}
}),
],
);

@ -14,7 +14,7 @@ import 'package:hmg_patient_app_new/features/book_appointments/book_appointments
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/book_appointment/review_appointment_page.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
// import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/nfc/nfc_reader_sheet.dart';
@ -82,10 +82,10 @@ class WaitingAppointmentOnlineCheckinSheet extends StatelessWidget {
LocaleKeys.qrCode.tr(),
LocaleKeys.scanQRCodeToCheckIn.tr()
).onPress(() async {
// String onlineCheckInQRCode = (await BarcodeScanner.scan().then((value) => value.rawContent));
// if (onlineCheckInQRCode != "") {
// checkScannedNFCAndQRCode(onlineCheckInQRCode, context);
// } else {}
String onlineCheckInQRCode = (await BarcodeScanner.scan().then((value) => value.rawContent));
if (onlineCheckInQRCode != "") {
checkScannedNFCAndQRCode(onlineCheckInQRCode, context);
} else {}
}),
],
);

@ -12,7 +12,7 @@ import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
// import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/nfc/nfc_reader_sheet.dart';
@ -80,10 +80,10 @@ class ErOnlineCheckinSelectCheckinBottomSheet extends StatelessWidget {
LocaleKeys.qrCode.tr(context: context),
LocaleKeys.scanQRCodeToCheckIn.tr(context: context),
).onPress(() async {
// String onlineCheckInQRCode = (await BarcodeScanner.scan().then((value) => value.rawContent));
// if (onlineCheckInQRCode != "") {
// sendCheckInRequest(onlineCheckInQRCode, context);
// } else {}
String onlineCheckInQRCode = (await BarcodeScanner.scan().then((value) => value.rawContent));
if (onlineCheckInQRCode != "") {
sendCheckInRequest(onlineCheckInQRCode, context);
} else {}
}),
],
);

File diff suppressed because it is too large Load Diff

@ -1,258 +1,258 @@
// import 'dart:async';
//
// import 'package:flutter/material.dart';
// import 'package:flutter_hooks/flutter_hooks.dart';
// import 'package:flutter_zoom_videosdk/flutter_zoom_view.dart' as FlutterZoomView;
// import 'package:flutter_zoom_videosdk/native/zoom_videosdk.dart';
//
// const SHOW_TALKING_ICON_DURATION = 2000;
//
// class VideoView extends FlutterZoomView.ZoomView {
// const VideoView({
// super.key,
// required super.user,
// required super.sharing,
// required super.preview,
// required super.focused,
// required super.hasMultiCamera,
// required super.multiCameraIndex,
// required super.videoAspect,
// required super.fullScreen,
// required super.resolution,
// required super.isPiPView,
// });
//
// @override
// Widget build(BuildContext context) {
// var isVideoOn = useState(false);
// var isTalking = useState(false);
// var isMuted = useState(false);
// var isMounted = useIsMounted();
// var zoom = ZoomVideoSdk();
// var isSharing = useState(false);
// user?.audioStatus?.isMuted().then((muted) => isMuted.value = muted);
//
// useEffect(() {
// updateVideoStatus() {
// if (user == null) return;
// Future<void>.microtask(() async {
// if (isMounted()) {
// isVideoOn.value = (await user!.videoStatus!.isOn());
// isSharing.value = sharing;
// }
// });
// }
//
// resetAudioStatus() {
// isTalking.value = false;
// isMuted.value = false;
// }
//
// updateAudioStatus() async {
// if (!isMounted()) return;
// var talking = await user?.audioStatus?.isTalking();
// var muted = await user?.audioStatus?.isMuted();
// isMuted.value = muted!;
// isTalking.value = talking!;
// if (talking) {
// Timer(
// const Duration(milliseconds: SHOW_TALKING_ICON_DURATION),
// () => {
// if (isMounted())
// {
// isTalking.value = false,
// }
// });
// }
// }
//
// updateVideoStatus();
// return null;
// }, [zoom, user]);
//
// ImageIcon audioStatusIcon;
// if (isTalking.value) {
// audioStatusIcon = const ImageIcon(
// AssetImage("assets/images/png/zoom/talking@2x.png"),
// );
// } else if (isMuted.value) {
// audioStatusIcon = const ImageIcon(
// AssetImage("assets/images/png/zoom/muted@2x.png"),
// );
// }
// // Pass parameters to the platform side.
// final Map<String, dynamic> creationParams = <String, dynamic>{};
// creationParams.putIfAbsent("userId", () => user?.userId);
// creationParams.putIfAbsent("sharing", () => sharing);
// creationParams.putIfAbsent("preview", () => preview);
// creationParams.putIfAbsent("focused", () => focused);
// creationParams.putIfAbsent("hasMultiCamera", () => hasMultiCamera);
// if (videoAspect.isEmpty) {
// creationParams.putIfAbsent("videoAspect", () => VideoAspect.PanAndScan);
// } else {
// creationParams.putIfAbsent("videoAspect", () => videoAspect);
// }
// creationParams.putIfAbsent("fullScreen", () => fullScreen);
// if (resolution.isNotEmpty) {
// creationParams.putIfAbsent("videoAspect", () => videoAspect);
// }
//
// if (fullScreen) {
// if (sharing) {
// return Container(
// height: MediaQuery.of(context).size.height,
// width: MediaQuery.of(context).size.width,
// alignment: Alignment.center,
// child: FlutterZoomView.View(creationParams: creationParams),
// );
// } else if (isVideoOn.value) {
// return Container(
// height: MediaQuery.of(context).size.height,
// width: MediaQuery.of(context).size.width,
// alignment: Alignment.center,
// child: FlutterZoomView.View(creationParams: creationParams),
// );
// } else {
// return Container(
// margin: const EdgeInsets.symmetric(vertical: 0),
// child: Container(
// alignment: Alignment.center,
// child: const Image(
// image: AssetImage("assets/images/png/zoom/default-avatar.png"),
// )),
// );
// }
// } else {
// if (isVideoOn.value || sharing) {
// return Container(
// padding: const EdgeInsets.symmetric(horizontal: 8),
// height: 110,
// width: 110,
// child: Stack(
// children: [
// Container(
// height: 110,
// width: 110,
// decoration: BoxDecoration(
// color: const Color(0xff232323),
// border: Border.all(
// color: const Color(0xff666666),
// width: 1,
// ),
// borderRadius: const BorderRadius.all(Radius.circular(8)),
// ),
// alignment: Alignment.center,
// child: FlutterZoomView.View(creationParams: creationParams),
// ),
// Container(
// height: 110,
// width: 110,
// decoration: const BoxDecoration(
// borderRadius: BorderRadius.all(Radius.circular(8)),
// ),
// ),
// Container(
// alignment: Alignment.bottomCenter,
// child: Container(
// height: 20,
// width: 110,
// decoration: const BoxDecoration(
// color: Colors.black26,
// borderRadius: BorderRadius.all(Radius.circular(8)),
// ),
// ),
// ),
// Container(
// alignment: Alignment.bottomLeft,
// margin: const EdgeInsets.only(left: 5),
// child: Text(
// user!.userName,
// textAlign: TextAlign.left,
// style: const TextStyle(
// color: Colors.white,
// fontSize: 12,
// ),
// ),
// ),
// Container(
// alignment: Alignment.bottomRight,
// margin: const EdgeInsets.only(right: 5, bottom: 5),
// // height: 110,
// // width: 110,
// child: Image(
// height: 12,
// width: 12,
// image: isMuted.value ? const AssetImage("assets/images/png/zoom/muted@2x.png") : const AssetImage("assets/images/png/zoom/talking@2x.png"),
// fit: BoxFit.cover,
// ),
// )
// ],
// ),
// );
// } else {
// return Container(
// padding: const EdgeInsets.symmetric(horizontal: 8),
// height: 110,
// width: 110,
// child: Stack(
// children: [
// Container(
// height: 110,
// width: 110,
// decoration: BoxDecoration(
// color: const Color(0xff232323),
// border: Border.all(
// color: const Color(0xff666666),
// width: 1,
// ),
// borderRadius: const BorderRadius.all(Radius.circular(8)),
// ),
// alignment: Alignment.center,
// child: Container(
// alignment: Alignment.center,
// child: const Image(
// height: 60,
// width: 60,
// image: AssetImage("assets/images/png/zoom/default-avatar.png"),
// )),
// ),
// Align(
// alignment: Alignment.bottomCenter,
// child: Container(
// height: 20,
// width: 110,
// decoration: const BoxDecoration(
// color: Colors.black26,
// borderRadius: BorderRadius.all(Radius.circular(8)),
// ),
// ),
// ),
// Container(
// alignment: Alignment.bottomLeft,
// margin: const EdgeInsets.only(left: 5),
// child: Text(
// user!.userName,
// textAlign: TextAlign.left,
// style: const TextStyle(
// color: Colors.white,
// fontSize: 12,
// ),
// ),
// ),
// Container(
// alignment: Alignment.bottomRight,
// margin: const EdgeInsets.only(right: 5, bottom: 5),
// child: Image(
// height: 12,
// width: 12,
// image: isMuted.value ? const AssetImage("assets/images/png/zoom/muted@2x.png") : const AssetImage("assets/images/png/zoom/talking@2x.png"),
// fit: BoxFit.cover,
// ),
// ),
// ],
// ),
// );
// }
// }
// }
// }
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_zoom_videosdk/flutter_zoom_view.dart' as FlutterZoomView;
import 'package:flutter_zoom_videosdk/native/zoom_videosdk.dart';
const SHOW_TALKING_ICON_DURATION = 2000;
class VideoView extends FlutterZoomView.ZoomView {
const VideoView({
super.key,
required super.user,
required super.sharing,
required super.preview,
required super.focused,
required super.hasMultiCamera,
required super.multiCameraIndex,
required super.videoAspect,
required super.fullScreen,
required super.resolution,
required super.isPiPView,
});
@override
Widget build(BuildContext context) {
var isVideoOn = useState(false);
var isTalking = useState(false);
var isMuted = useState(false);
var isMounted = useIsMounted();
var zoom = ZoomVideoSdk();
var isSharing = useState(false);
user?.audioStatus?.isMuted().then((muted) => isMuted.value = muted);
useEffect(() {
updateVideoStatus() {
if (user == null) return;
Future<void>.microtask(() async {
if (isMounted()) {
isVideoOn.value = (await user!.videoStatus!.isOn());
isSharing.value = sharing;
}
});
}
resetAudioStatus() {
isTalking.value = false;
isMuted.value = false;
}
updateAudioStatus() async {
if (!isMounted()) return;
var talking = await user?.audioStatus?.isTalking();
var muted = await user?.audioStatus?.isMuted();
isMuted.value = muted!;
isTalking.value = talking!;
if (talking) {
Timer(
const Duration(milliseconds: SHOW_TALKING_ICON_DURATION),
() => {
if (isMounted())
{
isTalking.value = false,
}
});
}
}
updateVideoStatus();
return null;
}, [zoom, user]);
ImageIcon audioStatusIcon;
if (isTalking.value) {
audioStatusIcon = const ImageIcon(
AssetImage("assets/images/png/zoom/talking@2x.png"),
);
} else if (isMuted.value) {
audioStatusIcon = const ImageIcon(
AssetImage("assets/images/png/zoom/muted@2x.png"),
);
}
// Pass parameters to the platform side.
final Map<String, dynamic> creationParams = <String, dynamic>{};
creationParams.putIfAbsent("userId", () => user?.userId);
creationParams.putIfAbsent("sharing", () => sharing);
creationParams.putIfAbsent("preview", () => preview);
creationParams.putIfAbsent("focused", () => focused);
creationParams.putIfAbsent("hasMultiCamera", () => hasMultiCamera);
if (videoAspect.isEmpty) {
creationParams.putIfAbsent("videoAspect", () => VideoAspect.PanAndScan);
} else {
creationParams.putIfAbsent("videoAspect", () => videoAspect);
}
creationParams.putIfAbsent("fullScreen", () => fullScreen);
if (resolution.isNotEmpty) {
creationParams.putIfAbsent("videoAspect", () => videoAspect);
}
if (fullScreen) {
if (sharing) {
return Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
alignment: Alignment.center,
child: FlutterZoomView.View(creationParams: creationParams),
);
} else if (isVideoOn.value) {
return Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
alignment: Alignment.center,
child: FlutterZoomView.View(creationParams: creationParams),
);
} else {
return Container(
margin: const EdgeInsets.symmetric(vertical: 0),
child: Container(
alignment: Alignment.center,
child: const Image(
image: AssetImage("assets/images/png/zoom/default-avatar.png"),
)),
);
}
} else {
if (isVideoOn.value || sharing) {
return Container(
padding: const EdgeInsets.symmetric(horizontal: 8),
height: 110,
width: 110,
child: Stack(
children: [
Container(
height: 110,
width: 110,
decoration: BoxDecoration(
color: const Color(0xff232323),
border: Border.all(
color: const Color(0xff666666),
width: 1,
),
borderRadius: const BorderRadius.all(Radius.circular(8)),
),
alignment: Alignment.center,
child: FlutterZoomView.View(creationParams: creationParams),
),
Container(
height: 110,
width: 110,
decoration: const BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8)),
),
),
Container(
alignment: Alignment.bottomCenter,
child: Container(
height: 20,
width: 110,
decoration: const BoxDecoration(
color: Colors.black26,
borderRadius: BorderRadius.all(Radius.circular(8)),
),
),
),
Container(
alignment: Alignment.bottomLeft,
margin: const EdgeInsets.only(left: 5),
child: Text(
user!.userName,
textAlign: TextAlign.left,
style: const TextStyle(
color: Colors.white,
fontSize: 12,
),
),
),
Container(
alignment: Alignment.bottomRight,
margin: const EdgeInsets.only(right: 5, bottom: 5),
// height: 110,
// width: 110,
child: Image(
height: 12,
width: 12,
image: isMuted.value ? const AssetImage("assets/images/png/zoom/muted@2x.png") : const AssetImage("assets/images/png/zoom/talking@2x.png"),
fit: BoxFit.cover,
),
)
],
),
);
} else {
return Container(
padding: const EdgeInsets.symmetric(horizontal: 8),
height: 110,
width: 110,
child: Stack(
children: [
Container(
height: 110,
width: 110,
decoration: BoxDecoration(
color: const Color(0xff232323),
border: Border.all(
color: const Color(0xff666666),
width: 1,
),
borderRadius: const BorderRadius.all(Radius.circular(8)),
),
alignment: Alignment.center,
child: Container(
alignment: Alignment.center,
child: const Image(
height: 60,
width: 60,
image: AssetImage("assets/images/png/zoom/default-avatar.png"),
)),
),
Align(
alignment: Alignment.bottomCenter,
child: Container(
height: 20,
width: 110,
decoration: const BoxDecoration(
color: Colors.black26,
borderRadius: BorderRadius.all(Radius.circular(8)),
),
),
),
Container(
alignment: Alignment.bottomLeft,
margin: const EdgeInsets.only(left: 5),
child: Text(
user!.userName,
textAlign: TextAlign.left,
style: const TextStyle(
color: Colors.white,
fontSize: 12,
),
),
),
Container(
alignment: Alignment.bottomRight,
margin: const EdgeInsets.only(right: 5, bottom: 5),
child: Image(
height: 12,
width: 12,
image: isMuted.value ? const AssetImage("assets/images/png/zoom/muted@2x.png") : const AssetImage("assets/images/png/zoom/talking@2x.png"),
fit: BoxFit.cover,
),
),
],
),
);
}
}
}
}

@ -95,7 +95,7 @@ class AppRoutes {
register: (context) => RegisterNew(),
registerStepTwo: (context) => RegisterNewStep2(),
medicalFilePage: (context) => MedicalFilePage(),
zoomCallPage: (context) => MedicalFilePage(),
zoomCallPage: (context) => CallScreen(),
eReferralPage: (context) => NewReferralPage(),
comprehensiveCheckupPage: (context) => ComprehensiveCheckupPage(),
homeHealthCarePage: (context) => HhcProceduresPage(),

@ -61,7 +61,7 @@ dependencies:
geolocator: ^14.0.2
dropdown_search: ^6.0.2
google_maps_flutter: ^2.13.1
flutter_zoom_videosdk: 2.1.10
flutter_zoom_videosdk: 2.4.0
dart_jsonwebtoken: ^3.2.0
dartz: ^0.10.1
equatable: ^2.0.7

Loading…
Cancel
Save