|
|
|
@ -10,8 +10,11 @@ import 'package:file_picker/file_picker.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
|
|
|
|
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
|
|
|
|
import 'package:image_picker/image_picker.dart';
|
|
|
|
import 'package:image_picker/image_picker.dart';
|
|
|
|
|
|
|
|
import 'package:image_picker_android/image_picker_android.dart';
|
|
|
|
|
|
|
|
import 'package:image_picker_platform_interface/image_picker_platform_interface.dart';
|
|
|
|
|
|
|
|
|
|
|
|
final ImagePicker picker = ImagePicker();
|
|
|
|
final ImagePicker picker = ImagePicker();
|
|
|
|
|
|
|
|
final ImagePickerPlatform _pickerPlatform = ImagePickerPlatform.instance;
|
|
|
|
|
|
|
|
|
|
|
|
class ImageOptions {
|
|
|
|
class ImageOptions {
|
|
|
|
static void showImageOptionsNew(
|
|
|
|
static void showImageOptionsNew(
|
|
|
|
@ -214,7 +217,14 @@ class ImageOptions {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void galleryImageAndroid(Function(String, File) image) async {
|
|
|
|
void galleryImageAndroid(Function(String, File) image) async {
|
|
|
|
XFile? pickedFile = await picker.pickImage(source: ImageSource.gallery, imageQuality: 20);
|
|
|
|
// Enable Android Photo Picker if available
|
|
|
|
|
|
|
|
if (_pickerPlatform is ImagePickerAndroid) {
|
|
|
|
|
|
|
|
(_pickerPlatform as ImagePickerAndroid).useAndroidPhotoPicker = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
final XFile? pickedFile = await _pickerPlatform.getImageFromSource(source: ImageSource.gallery, options: const ImagePickerOptions(imageQuality: 20));
|
|
|
|
|
|
|
|
|
|
|
|
if (pickedFile == null) return;
|
|
|
|
if (pickedFile == null) return;
|
|
|
|
|
|
|
|
|
|
|
|
File _image = File(pickedFile.path);
|
|
|
|
File _image = File(pickedFile.path);
|
|
|
|
@ -222,10 +232,22 @@ void galleryImageAndroid(Function(String, File) image) async {
|
|
|
|
var bytes = File(fileName).readAsBytesSync();
|
|
|
|
var bytes = File(fileName).readAsBytesSync();
|
|
|
|
String base64Encode = base64.encode(bytes);
|
|
|
|
String base64Encode = base64.encode(bytes);
|
|
|
|
image(base64Encode, _image);
|
|
|
|
image(base64Encode, _image);
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
print('Error picking image: $e');
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void cameraImageAndroid(Function(String, File) image) async {
|
|
|
|
void cameraImageAndroid(Function(String, File) image) async {
|
|
|
|
XFile? pickedFile = await picker.pickImage(source: ImageSource.camera, imageQuality: 20);
|
|
|
|
if (_pickerPlatform is ImagePickerAndroid) {
|
|
|
|
|
|
|
|
(_pickerPlatform as ImagePickerAndroid).useAndroidPhotoPicker = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
final XFile? pickedFile = await _pickerPlatform.getImageFromSource(
|
|
|
|
|
|
|
|
source: ImageSource.camera,
|
|
|
|
|
|
|
|
options: const ImagePickerOptions(imageQuality: 20),
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
if (pickedFile == null) return;
|
|
|
|
if (pickedFile == null) return;
|
|
|
|
|
|
|
|
|
|
|
|
File _image = File(pickedFile.path);
|
|
|
|
File _image = File(pickedFile.path);
|
|
|
|
@ -233,6 +255,9 @@ void cameraImageAndroid(Function(String, File) image) async {
|
|
|
|
var bytes = File(fileName).readAsBytesSync();
|
|
|
|
var bytes = File(fileName).readAsBytesSync();
|
|
|
|
String base64Encode = base64.encode(bytes);
|
|
|
|
String base64Encode = base64.encode(bytes);
|
|
|
|
image(base64Encode, _image);
|
|
|
|
image(base64Encode, _image);
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
print('Error taking picture: $e');
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class _BottomSheet extends StatelessWidget {
|
|
|
|
class _BottomSheet extends StatelessWidget {
|
|
|
|
|