permission issue fixed

merge-requests/321/head
Sultan Khan 5 years ago
parent b4a7235fc8
commit 85e803651c

@ -75,7 +75,7 @@ class AddFamilyMemberType extends StatelessWidget {
), ),
AppText( AppText(
TranslationBase.of(context) TranslationBase.of(context)
.nationalID, .idNo,
fontSize: SizeConfig fontSize: SizeConfig
.textMultiplier * .textMultiplier *
2, 2,

@ -278,23 +278,27 @@ class _RegisterInfo extends State<RegisterInfo> {
registerNow() { registerNow() {
dynamic request = getTempUserRequest(); dynamic request = getTempUserRequest();
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
this.authService.registerUser(request).then((result) => { this
.authService
.registerUser(request)
.then((result) => {
GifLoaderDialogUtils.hideDialog(context), GifLoaderDialogUtils.hideDialog(context),
// userData = result.list; // userData = result.list;
//AuthenticatedUser.fromJson(result['List'][0]), //AuthenticatedUser.fromJson(result['List'][0]),
if(result is String){ if (result is String)
{
new ConfirmDialog( new ConfirmDialog(
context: context, context: context,
confirmMessage: result, confirmMessage: result,
okText: TranslationBase.of(context).ok, okText: TranslationBase.of(context).ok,
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => { okFunction: () =>
{ConfirmDialog.closeAlertDialog(context)},
cancelFunction: () => {
ConfirmDialog.closeAlertDialog(context) ConfirmDialog.closeAlertDialog(context)
}, }).showAlertDialog(context)
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}) }
.showAlertDialog(context) else
}else
{ {
result.list.isFamily = false, result.list.isFamily = false,
sharedPref.setObject(USER_PROFILE, result.list), sharedPref.setObject(USER_PROFILE, result.list),
@ -303,19 +307,17 @@ class _RegisterInfo extends State<RegisterInfo> {
sharedPref.setString(TOKEN, result.authenticationTokenID), sharedPref.setString(TOKEN, result.authenticationTokenID),
Navigator.of(context).pushNamed(HOME) Navigator.of(context).pushNamed(HOME)
} }
}).catchError((err) { })
.catchError((err) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
ConfirmDialog dialog = new ConfirmDialog( ConfirmDialog dialog = new ConfirmDialog(
context: context, context: context,
confirmMessage: err, confirmMessage: err,
okText: TranslationBase.of(context).confirm, okText: TranslationBase.of(context).confirm,
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => { okFunction: () => {ConfirmDialog.closeAlertDialog(context)},
ConfirmDialog.closeAlertDialog(context)
},
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}); cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)});
dialog.showAlertDialog(context); dialog.showAlertDialog(context);
}); });
} }
@ -347,12 +349,12 @@ class _RegisterInfo extends State<RegisterInfo> {
"PatientIdentificationNo": registerInfo.idNumber, "PatientIdentificationNo": registerInfo.idNumber,
"MobileNumber": registerd_data.patientMobileNumber, "MobileNumber": registerd_data.patientMobileNumber,
"PatientOutSA": registerd_data.zipCode == '966' ? 0 : 1, "PatientOutSA": registerd_data.zipCode == '966' ? 0 : 1,
"FirstNameN":registerInfo.firstNameAr =='-' ?"": registerInfo.firstNameAr, "FirstNameN": registerInfo.firstNameAr,
"FirstName": registerInfo.firstNameEn =='-' ?"":registerInfo.firstNameEn, "FirstName": registerInfo.firstNameEn,
"MiddleNameN":registerInfo.secondNameAr =='-' ? "" : registerInfo.secondNameAr, "MiddleNameN": registerInfo.secondNameAr,
"MiddleName":registerInfo.secondNameEn == '-' ? "": registerInfo.secondNameEn, "MiddleName": registerInfo.secondNameEn,
"LastNameN": registerInfo.lastNameAr =='-'? "" : registerInfo.lastNameAr, "LastNameN": registerInfo.lastNameAr,
"LastName": registerInfo.lastNameEn =='-' ? "": registerInfo.lastNameEn, "LastName": registerInfo.lastNameEn,
"StrDateofBirth": registerInfo.dateOfBirth, "StrDateofBirth": registerInfo.dateOfBirth,
"DateofBirth": DateUtil.convertISODateToJsonDate( "DateofBirth": DateUtil.convertISODateToJsonDate(
registerInfo.dateOfBirth.replaceAll('/', '-')), registerInfo.dateOfBirth.replaceAll('/', '-')),

@ -21,6 +21,7 @@ import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class Register extends StatefulWidget { class Register extends StatefulWidget {
@override @override
@ -294,12 +295,12 @@ class _Register extends State<Register> {
// DOB: this.dateOption === '1' ? this.dateOfBirth : moment(this.dateOfBirth).format('DD/MM/YYYY'), // DOB: this.dateOption === '1' ? this.dateOfBirth : moment(this.dateOfBirth).format('DD/MM/YYYY'),
// IsHijri: Number(this.dateOption) // IsHijri: Number(this.dateOption)
// } // }
final DateFormat dateFormat = DateFormat('dd/MM/yyyy');
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
var request = CheckUserStatusRequest(); var request = CheckUserStatusRequest();
request.patientIdentificationID = nationalIDorFile.text; request.patientIdentificationID = nationalIDorFile.text;
request.dOB = isHijri == 1 request.dOB = isHijri == 1 ? dob : dateFormat.format(selectedDate);
? dob
: "${selectedDate.toLocal()}".split(' ')[0].replaceAll('-', '/');
request.isHijri = isHijri; request.isHijri = isHijri;
request.patientOutSA = countryCode == '966' ? 0 : 1; request.patientOutSA = countryCode == '966' ? 0 : 1;
this.authService.checkUserStatus(request).then((result) => { this.authService.checkUserStatus(request).then((result) => {
@ -311,7 +312,12 @@ class _Register extends State<Register> {
Navigator.of(context).push(FadePage(page: ConfirmLogin())), Navigator.of(context).push(FadePage(page: ConfirmLogin())),
} }
else else
{AppToast.showErrorToast(message: result)} {
AppToast.showErrorToast(
message: result
? result
: TranslationBase.of(context).somethingWentWrong)
}
}); });
} }

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:screen/screen.dart'; import 'package:screen/screen.dart';
@ -27,10 +28,14 @@ class _GeneralSettings extends State<GeneralSettings>
bool location = false; bool location = false;
var sharedPref = new AppSharedPreferences(); var sharedPref = new AppSharedPreferences();
var permission = new PermissionService(); var permission = new PermissionService();
LocationPermission locationPermission;
var mediaQueryData; var mediaQueryData;
@override @override
void initState() { void initState() {
setState(() {
getValues(); getValues();
});
super.initState(); super.initState();
} }
@ -215,9 +220,12 @@ class _GeneralSettings extends State<GeneralSettings>
Switch( Switch(
value: location, value: location,
onChanged: (value) { onChanged: (value) {
setState(() { if (value == true) {
location = value; Navigator.pop(context);
}); this.setLocationPermission();
} else {
Geolocator.openLocationSettings();
}
}, },
activeTrackColor: Colors.lightGreenAccent, activeTrackColor: Colors.lightGreenAccent,
activeColor: Colors.green, activeColor: Colors.green,
@ -227,6 +235,23 @@ class _GeneralSettings extends State<GeneralSettings>
])); ]));
} }
setLocationPermission() async {
locationPermission = await Geolocator.checkPermission();
if (locationPermission == LocationPermission.denied) {
locationPermission = await Geolocator.requestPermission();
if (locationPermission != LocationPermission.denied) {
setState(() {
location = true;
});
} else {
this.location = false;
}
} else {
Geolocator.openLocationSettings();
this.location = true;
}
}
setTheme(value) async { setTheme(value) async {
switch (value) { switch (value) {
case 0: case 0:
@ -277,20 +302,26 @@ class _GeneralSettings extends State<GeneralSettings>
vibration = permission.isVibrationEnabled() == null vibration = permission.isVibrationEnabled() == null
? false ? false
: permission.isVibrationEnabled(); : permission.isVibrationEnabled();
accsibility = mediaQueryData.accessibleNavigation; // accsibility = mediaQueryData.accessibleNavigation;
setTheme(blindValue); //setTheme(blindValue);
} }
this.location = await this.permission.isLocationEnabled();
} }
getTheme(value) async { getTheme(value) async {
if (value == 1) { if (value == 1) {
return invertThemes( return invertThemes(
fontName: Provider.of<ProjectViewModel>(context, listen: false).isArabic ? 'Cairo' : 'WorkSans' fontName:
); Provider.of<ProjectViewModel>(context, listen: false).isArabic
? 'Cairo'
: 'WorkSans');
} else if (value == 3) { } else if (value == 3) {
return bwThemes( return bwThemes(
fontName: Provider.of<ProjectViewModel>(context, listen: false).isArabic ? 'Cairo' : 'WorkSans' fontName:
); Provider.of<ProjectViewModel>(context, listen: false).isArabic
? 'Cairo'
: 'WorkSans');
} else { } else {
return defaultTheme( return defaultTheme(
fontName: fontName:

@ -44,7 +44,7 @@ class _ProfileSettings extends State<ProfileSettings>
child: model.user != null child: model.user != null
? ListView(scrollDirection: Axis.vertical, children: <Widget>[ ? ListView(scrollDirection: Axis.vertical, children: <Widget>[
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.all(15), padding: EdgeInsets.all(15),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -74,7 +74,7 @@ class _ProfileSettings extends State<ProfileSettings>
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
), ),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -93,7 +93,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -116,7 +116,7 @@ class _ProfileSettings extends State<ProfileSettings>
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
), ),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -136,7 +136,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Row( child: Row(
@ -160,7 +160,7 @@ class _ProfileSettings extends State<ProfileSettings>
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
), ),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Column( child: Column(
@ -175,7 +175,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Column( child: Column(
@ -190,7 +190,7 @@ class _ProfileSettings extends State<ProfileSettings>
], ],
)), )),
Container( Container(
color: Theme.of(context).primaryColor, color: Theme.of(context).textTheme.headline2.color,
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 0, left: 10, right: 10, bottom: 0), top: 0, left: 10, right: 10, bottom: 0),
child: Column( child: Column(

@ -10,9 +10,11 @@ import 'package:flutter/services.dart';
import 'package:localstorage/localstorage.dart'; import 'package:localstorage/localstorage.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:vibration/vibration.dart'; import 'package:vibration/vibration.dart';
import 'package:geolocator/geolocator.dart' as geo;
class PermissionService extends BaseService { class PermissionService extends BaseService {
final LocalStorage storage = new LocalStorage("permission"); final LocalStorage storage = new LocalStorage("permission");
geo.LocationPermission locationPermission;
AppGlobal appGlobal = new AppGlobal(); AppGlobal appGlobal = new AppGlobal();
setVibrationPermission(flag) async { setVibrationPermission(flag) async {
@ -20,12 +22,14 @@ class PermissionService extends BaseService {
} }
isVibrationEnabled() { isVibrationEnabled() {
return (storage.getItem('isVibration') ==null) || (storage.getItem('isVibration')) ==false ? false :true; return (storage.getItem('isVibration') == null) ||
(storage.getItem('isVibration')) == false
? false
: true;
} }
vibrate(callback, context) async{
if (callback == null) vibrate(callback, context) async {
return null; if (callback == null) return null;
if (isVibrationEnabled() == true) { if (isVibrationEnabled() == true) {
if (await Vibration.hasVibrator()) { if (await Vibration.hasVibrator()) {
Vibration.vibrate(duration: 100); Vibration.vibrate(duration: 100);
@ -36,7 +40,6 @@ class PermissionService extends BaseService {
} }
} }
setTheme(flag) async { setTheme(flag) async {
storage.setItem('isTheme', flag); storage.setItem('isTheme', flag);
} }
@ -44,22 +47,34 @@ class PermissionService extends BaseService {
isThemeEnabled() { isThemeEnabled() {
return storage.getItem('isTheme'); return storage.getItem('isTheme');
} }
cameraPermission() async { cameraPermission() async {
Map<Permission, PermissionStatus> statuses = await [ Map<Permission, PermissionStatus> statuses = await [
Permission.camera, Permission.camera,
].request(); ].request();
} }
isCameraEnabled() async { isCameraEnabled() async {
print(await Permission.camera.status); print(await Permission.camera.status);
return await Permission.camera.status == PermissionStatus.granted ? true : false; return await Permission.camera.status == PermissionStatus.granted
? true
: false;
} }
setCameraLocationPermission(context) async { setCameraLocationPermission(context) async {
Navigator.pop(context); Navigator.pop(context);
openAppSettings(); openAppSettings();
} }
isLocationEnabled() async { isLocationEnabled() async {
return await Permission.location.status == PermissionStatus.granted ? true : false; var permission = await geo.Geolocator.checkPermission();
if (permission == geo.LocationPermission.denied) {
return false;
} else {
return true;
}
} }
openSettings() async { openSettings() async {
openAppSettings(); openAppSettings();
} }

@ -1575,6 +1575,9 @@ class TranslationBase {
String get preferredunit => String get preferredunit =>
localizedValues["preferredunit"][locale.languageCode]; localizedValues["preferredunit"][locale.languageCode];
String get trySaying => localizedValues["try-saying"][locale.languageCode]; String get trySaying => localizedValues["try-saying"][locale.languageCode];
String get somethingWentWrong =>
localizedValues["somethingWentWrong"][locale.languageCode];
String get enterIdentificationNumber => String get enterIdentificationNumber =>
localizedValues["enterIdentificationNumber"][locale.languageCode]; localizedValues["enterIdentificationNumber"][locale.languageCode];
String get accountActivationDesc => String get accountActivationDesc =>

Loading…
Cancel
Save