Skip to content

Commit 6571d6d

Browse files
committed
- Enhance Local Authentication Process
- Enhance home screen camera option experience - Edit Some Localization Texts
1 parent 9a3097f commit 6571d6d

File tree

15 files changed

+79
-291
lines changed

15 files changed

+79
-291
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
android:value="2" />
3232
</application>
3333
<uses-permission android:name="android.permission.INTERNET" />
34-
34+
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
3535
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3636
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
3737
<!-- Required to query activities that can process text, see:

assets/translations/ar.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,10 @@
5656
"update": "تحديث",
5757
"updateDesc": "التحديث متوفر. قم بتنزيله وتثبيته",
5858
"exit": "خروج",
59-
"pleaseEnterPin": "الرجاء إدخال الرقم السري",
60-
"tooManyAttemptsDisabled": "عدد محاولات كثيرة. تم تعطيل مستشعر بصمة الإصبع.",
61-
"tooManyAttempts": "عدد محاولات كثيرة. حاول مرة أخرى بعد {} ثوانٍ.",
59+
"tooManyAttempts": "عدد محاولات خاطئة كثيرة. حاول مرة أخرى بعد {} ثوانٍ.",
6260
"enterFingerprint": "مسح بصمة الإصبع (أو التعرف على الوجه أو أي شيء آخر) للمصادقة",
63-
"appLocked": "محادثة مقفلة",
6461
"disableFingerprint": "إذا لم يكن مستشعر بصمة الإصبع يعمل، قم بتعطيله في إعدادات جهازك.",
62+
"appLocked": "@:title مغلق",
6563
"photoGallery": "اختيار من المعرض",
6664
"camera": "التقاط صورة",
6765
"offline": "غير متصل",

assets/translations/en.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,8 @@
5656
"update": "Update",
5757
"updateDesc": "Update Available. Download and Install",
5858
"exit": "Exit",
59-
"pleaseEnterPin": "Please enter Pin",
60-
"tooManyAttemptsDisabled": "Too many attempts. Fingerprint sensor disabled.",
61-
"tooManyAttempts": "Too many attempts. Try again after {} seconds.",
62-
"enterFingerprint": "Scan your fingerprint (or face or whatever) to authenticate",
59+
"tooManyAttempts": "Too many wrong attempts. Try again after {} seconds.",
60+
"enterFingerprint": "Scan your fingerprint (or face ID or whatever) to authenticate",
6361
"appLocked": "@:title Locked",
6462
"disableFingerprint": "If the fingerprint sensor isn't working, disable it in\nyour device's settings.",
6563
"photoGallery": "Photo Gallery",

lib/core/widgets/modal_fit.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ class ModalFit extends StatelessWidget {
1212
@override
1313
Widget build(BuildContext context) {
1414
return Material(
15-
child: SafeArea(
16-
top: false,
1715
child: Column(
1816
mainAxisSize: MainAxisSize.min,
1917
children: <Widget>[
@@ -50,6 +48,6 @@ class ModalFit extends StatelessWidget {
5048
),
5149
],
5250
),
53-
));
51+
);
5452
}
5553
}

lib/features/camera/ui/camera.dart

Lines changed: 0 additions & 90 deletions
This file was deleted.

lib/features/chat/ui/chat_page.dart

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -185,32 +185,31 @@ class _ChatScreenState extends State<ChatScreen> {
185185
Future getImageFromCamera() async {
186186
final pickedFile = await _picker.pickImage(source: ImageSource.camera);
187187

188-
setState(() {
189-
if (pickedFile != null) {
190-
context.pushNamed(Routes.displayPictureScreen, arguments: [
191-
pickedFile,
192-
token!,
193-
widget.receivedMToken,
194-
widget.receivedUserID,
195-
]);
196-
}
197-
});
188+
if (pickedFile != null) {
189+
if (!mounted) return;
190+
191+
context.pushNamed(Routes.displayPictureScreen, arguments: [
192+
pickedFile,
193+
token!,
194+
widget.receivedMToken,
195+
widget.receivedUserID,
196+
]);
197+
}
198198
}
199199

200200
//Image Picker function to get image from gallery
201201
Future getImageFromGallery() async {
202202
final pickedFile = await _picker.pickImage(source: ImageSource.gallery);
203203

204-
setState(() {
205-
if (pickedFile != null) {
206-
context.pushNamed(Routes.displayPictureScreen, arguments: [
207-
pickedFile,
208-
token!,
209-
widget.receivedMToken,
210-
widget.receivedUserID,
211-
]);
212-
}
213-
});
204+
if (pickedFile != null) {
205+
if (!mounted) return;
206+
context.pushNamed(Routes.displayPictureScreen, arguments: [
207+
pickedFile,
208+
token!,
209+
widget.receivedMToken,
210+
widget.receivedUserID,
211+
]);
212+
}
214213
}
215214

216215
getToken() async {

lib/features/display_picture/ui/display_picture_screen.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:flutter/material.dart';
88
import 'package:flutter_screenutil/flutter_screenutil.dart';
99
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
1010
import 'package:image_picker/image_picker.dart';
11-
import 'package:logger/logger.dart';
1211

1312
import '../../../services/database.dart';
1413
import '../../../services/notification_service.dart';
@@ -32,7 +31,6 @@ class DisplayPictureScreen extends StatefulWidget {
3231
}
3332

3433
class _DisplayPictureScreenState extends State<DisplayPictureScreen> {
35-
final logger = Logger();
3634
late String url;
3735
final _auth = FirebaseAuth.instance;
3836

lib/features/home/ui/home_screen.dart

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
import 'package:camera/camera.dart';
1+
import 'package:image_picker/image_picker.dart';
22
import 'package:shared_preferences/shared_preferences.dart';
33
import '../../../services/database.dart';
44
import 'package:easy_localization/easy_localization.dart';
55
import 'package:firebase_auth/firebase_auth.dart';
66
import 'package:firebase_messaging/firebase_messaging.dart';
77
import 'package:flutter/material.dart';
88
import 'package:google_sign_in/google_sign_in.dart';
9-
import 'package:logger/logger.dart';
109

1110
import '../../../helpers/extensions.dart';
1211
import '../../../router/routes.dart';
@@ -24,7 +23,7 @@ class HomeScreen extends StatefulWidget {
2423

2524
class _HomeScreenState extends State<HomeScreen> with WidgetsBindingObserver {
2625
final _auth = FirebaseAuth.instance;
27-
var logger = Logger();
26+
final _picker = ImagePicker();
2827

2928
@override
3029
Widget build(BuildContext context) {
@@ -58,13 +57,18 @@ class _HomeScreenState extends State<HomeScreen> with WidgetsBindingObserver {
5857
icon: const Icon(Icons.camera_alt_outlined),
5958
color: Colors.white,
6059
onPressed: () async {
61-
final cameras = await availableCameras();
62-
final firstCamera = cameras.first;
63-
if (!context.mounted) return;
64-
context.pushNamed(
65-
Routes.takePictureScreen,
66-
arguments: firstCamera,
67-
);
60+
final pickedFile =
61+
await _picker.pickImage(source: ImageSource.camera);
62+
63+
if (pickedFile != null) {
64+
if (!context.mounted) return;
65+
context.pushNamed(Routes.displayPictureScreen, arguments: [
66+
pickedFile,
67+
'',
68+
'',
69+
'',
70+
]);
71+
}
6872
},
6973
),
7074
IconButton(
@@ -166,8 +170,6 @@ class _HomeScreenState extends State<HomeScreen> with WidgetsBindingObserver {
166170
onTap: () async {
167171
try {
168172
await GoogleSignIn().disconnect();
169-
} catch (e) {
170-
logger.e(e.toString());
171173
} finally {
172174
await DatabaseMethods.updateUserDetails({'isOnline': 'false'});
173175

0 commit comments

Comments
 (0)