Merge branch 'refactor' into 'development'

Refactor

See merge request Cloud_Solution/doctor_app_flutter!171
pull/173/head
Mohammad Aljammal 4 years ago
commit d57eeb0a01

@ -0,0 +1,27 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/core/model/hospitals_model.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
import 'package:doctor_app_flutter/models/doctor/request_doctor_reply.dart';
class DoctorReplyService extends BaseService {
List<ListGtMyPatientsQuestions> get listDoctorWorkingHoursTable => _listDoctorWorkingHoursTable;
List<ListGtMyPatientsQuestions> _listDoctorWorkingHoursTable = [];
RequestDoctorReply _requestDoctorReply = RequestDoctorReply();
Future getDoctorReply() async {
await baseAppClient.post(GT_MY_PATIENT_QUESTION,
onSuccess: (dynamic response, int statusCode) {
_listDoctorWorkingHoursTable.clear();
response['List_GtMyPatientsQuestions'].forEach((v) {
_listDoctorWorkingHoursTable
.add(ListGtMyPatientsQuestions.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: _requestDoctorReply.toJson(),);
}
}

@ -0,0 +1,26 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
import 'package:doctor_app_flutter/models/doctor/list_doctor_working_hours_table_model.dart';
import 'package:doctor_app_flutter/models/doctor/request_schedule.dart';
class ScheduleService extends BaseService {
List<ListDoctorWorkingHoursTable> get listDoctorWorkingHoursTable => _listDoctorWorkingHoursTable;
List<ListDoctorWorkingHoursTable> _listDoctorWorkingHoursTable = [];
RequestSchedule _requestSchedule = RequestSchedule();
Future getDoctorSchedule() async {
await baseAppClient.post(GET_DOCTOR_WORKING_HOURS_TABLE,
onSuccess: (dynamic response, int statusCode) {
_listDoctorWorkingHoursTable.clear();
response['List_DoctorWorkingHoursTable'].forEach((v) {
_listDoctorWorkingHoursTable
.add(ListDoctorWorkingHoursTable.fromJson(v));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: _requestSchedule.toJson(),);
}
}

@ -0,0 +1,24 @@
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/model/hospitals_model.dart';
import 'package:doctor_app_flutter/core/service/doctor_reply_service.dart';
import 'package:doctor_app_flutter/core/service/hospital/hospitals_service.dart';
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
import '../../locator.dart';
import 'base_view_model.dart';
class DoctorReplayViewModel extends BaseViewModel {
DoctorReplyService _doctorReplyService = locator<DoctorReplyService>();
List<ListGtMyPatientsQuestions> get listDoctorWorkingHoursTable => _doctorReplyService.listDoctorWorkingHoursTable;
Future getDoctorReply() async {
setState(ViewState.Busy);
await _doctorReplyService.getDoctorReply();
if (_doctorReplyService.hasError) {
error = _doctorReplyService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
}

@ -0,0 +1,26 @@
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/model/hospitals_model.dart';
import 'package:doctor_app_flutter/core/service/doctor_reply_service.dart';
import 'package:doctor_app_flutter/core/service/hospital/hospitals_service.dart';
import 'package:doctor_app_flutter/core/service/schedule_service.dart';
import 'package:doctor_app_flutter/models/doctor/list_doctor_working_hours_table_model.dart';
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
import '../../locator.dart';
import 'base_view_model.dart';
class ScheduleViewModel extends BaseViewModel {
ScheduleService _scheduleService = locator<ScheduleService>();
List<ListDoctorWorkingHoursTable> get listDoctorWorkingHoursTable => _scheduleService.listDoctorWorkingHoursTable;
Future getDoctorSchedule() async {
setState(ViewState.Busy);
await _scheduleService.getDoctorSchedule();
if (_scheduleService.hasError) {
error = _scheduleService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
}

@ -1,7 +1,11 @@
import 'package:get_it/get_it.dart'; import 'package:get_it/get_it.dart';
import 'core/service/doctor_reply_service.dart';
import 'core/service/hospital/hospitals_service.dart'; import 'core/service/hospital/hospitals_service.dart';
import 'core/service/schedule_service.dart';
import 'core/viewModel/doctor_replay_view_model.dart';
import 'core/viewModel/hospital_view_model.dart'; import 'core/viewModel/hospital_view_model.dart';
import 'core/viewModel/schedule_view_model.dart';
GetIt locator = GetIt.instance; GetIt locator = GetIt.instance;
@ -9,7 +13,11 @@ GetIt locator = GetIt.instance;
void setupLocator() { void setupLocator() {
/// Services /// Services
locator.registerLazySingleton(() => HospitalService()); locator.registerLazySingleton(() => HospitalService());
locator.registerLazySingleton(() => DoctorReplyService());
locator.registerLazySingleton(() => ScheduleService());
/// View Model /// View Model
locator.registerFactory(() => HospitalViewModel()); locator.registerFactory(() => HospitalViewModel());
locator.registerFactory(() => DoctorReplayViewModel());
locator.registerFactory(() => ScheduleViewModel());
} }

@ -1,7 +1,6 @@
import 'package:doctor_app_flutter/providers/livecare_provider.dart'; import 'package:doctor_app_flutter/providers/livecare_provider.dart';
import 'package:doctor_app_flutter/providers/medicine_provider.dart'; import 'package:doctor_app_flutter/providers/medicine_provider.dart';
import 'package:doctor_app_flutter/providers/project_provider.dart'; import 'package:doctor_app_flutter/providers/project_provider.dart';
import 'package:doctor_app_flutter/providers/schedule_provider.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_localizations/flutter_localizations.dart';
@ -41,9 +40,6 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider<ProjectProvider>( ChangeNotifierProvider<ProjectProvider>(
create: (context) => ProjectProvider(), create: (context) => ProjectProvider(),
), ),
ChangeNotifierProvider<ScheduleProvider>(
create: (context) => ScheduleProvider(),
),
ChangeNotifierProvider<LiveCareProvider>( ChangeNotifierProvider<LiveCareProvider>(
create: (context) => LiveCareProvider(), create: (context) => LiveCareProvider(),
), ),

@ -1,41 +0,0 @@
import 'package:doctor_app_flutter/client/base_app_client.dart';
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/models/doctor/request_doctor_reply.dart';
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
import 'package:flutter/cupertino.dart';
class DoctorReplyProvider with ChangeNotifier {
List<ListGtMyPatientsQuestions> listDoctorWorkingHoursTable = [];
bool isLoading = true;
bool isError = false;
String error = '';
RequestDoctorReply _requestDoctorReply = RequestDoctorReply();
BaseAppClient baseAppClient = BaseAppClient();
DoctorReplyProvider() {
getDoctorReply();
}
getDoctorReply() async {
try {
await baseAppClient.post(GT_MY_PATIENT_QUESTION,
body: _requestDoctorReply.toJson(),
onSuccess: (dynamic response, int statusCode) {
response['List_GtMyPatientsQuestions'].forEach((v) {
listDoctorWorkingHoursTable
.add(ListGtMyPatientsQuestions.fromJson(v));
isError = false;
isLoading = false;
});
}, onFailure: (String error, int statusCode) {
isError = true;
isLoading = false;
this.error = error;
});
notifyListeners();
} catch (error) {
throw error;
}
}
}

@ -1,68 +0,0 @@
import 'package:doctor_app_flutter/client/base_app_client.dart';
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/models/doctor/statstics_for_certain_doctor_request.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:flutter/cupertino.dart';
Helpers helpers = Helpers();
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
StatsticsForCertainDoctorRequest _statsticsForCertainDoctorRequest = StatsticsForCertainDoctorRequest();
var certainDoctorsStasticsList = [];
/*@author: ibrahem albitar
*@Date:22/6/2020
*@desc: Doctor Provider
*/
class DoctorsProvider with ChangeNotifier {
bool isLoading = false;
bool isError = false;
String error = '';
BaseAppClient baseAppClient = BaseAppClient();
resetDefaultValues() {
isLoading = true;
isError = false;
error = '';
notifyListeners();
}
/*@author: ibrahem albitar
*@Date:22/6/2020
*@desc: StatsticsForCertainDoctor
*/
getStatsticsForCertainDoctor(String generalId) async {
resetDefaultValues();
try {
_statsticsForCertainDoctorRequest.generalid = generalId;
await baseAppClient.post(LIVE_CARE_STATISTICS_FOR_CERTAIN_DOCTOR_URL,
onSuccess: (dynamic response, int statusCode) {
certainDoctorsStasticsList = response['List_LiveCareCertainDoctorsStastics'];
isLoading = false;
isError = false;
this.error = '';
}, onFailure: (String error, int statusCode) {
isLoading = false;
isError = true;
this.error = error;
}, body: _statsticsForCertainDoctorRequest.toJson());
notifyListeners();
} catch (err) {
handelCatchErrorCase(err);
}
}
handelCatchErrorCase(err) {
isLoading = false;
isError = true;
error = helpers.generateContactAdminMsg(err);
notifyListeners();
throw err;
}
}

@ -1,43 +0,0 @@
import 'package:doctor_app_flutter/client/base_app_client.dart';
import 'package:doctor_app_flutter/config/config.dart';
import 'package:flutter/cupertino.dart';
import '../models/doctor/list_doctor_working_hours_table_model.dart';
import '../models/doctor/request_schedule.dart';
class ScheduleProvider with ChangeNotifier {
List<ListDoctorWorkingHoursTable> listDoctorWorkingHoursTable = [];
bool isLoading = true;
bool isError = false;
String error = '';
RequestSchedule requestSchedule = RequestSchedule();
ScheduleProvider() {
getDoctorSchedule();
}
BaseAppClient baseAppClient = BaseAppClient();
getDoctorSchedule() async {
try {
await baseAppClient.post(GET_DOCTOR_WORKING_HOURS_TABLE,
body: requestSchedule.toJson(),
onSuccess: (dynamic response, int statusCode) {
response['List_DoctorWorkingHoursTable'].forEach((v) {
listDoctorWorkingHoursTable.add(new ListDoctorWorkingHoursTable.fromJson(v));
});
isError = false;
isLoading = false;
}, onFailure: (String error, int statusCode) {
isLoading = false;
isError = true;
this.error = error;
});
notifyListeners();
} catch (e) {
isLoading = false;
isError = true;
error = 'Something wrong happened, please contact the admin';
notifyListeners();
}
}
}

@ -5,7 +5,6 @@ import 'package:doctor_app_flutter/models/doctor/clinic_model.dart';
import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart'; import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart';
import 'package:doctor_app_flutter/models/doctor/profile_req_Model.dart'; import 'package:doctor_app_flutter/models/doctor/profile_req_Model.dart';
import 'package:doctor_app_flutter/providers/auth_provider.dart'; import 'package:doctor_app_flutter/providers/auth_provider.dart';
import 'package:doctor_app_flutter/providers/doctor_reply_provider.dart';
import 'package:doctor_app_flutter/providers/hospital_provider.dart'; import 'package:doctor_app_flutter/providers/hospital_provider.dart';
import 'package:doctor_app_flutter/providers/medicine_provider.dart'; import 'package:doctor_app_flutter/providers/medicine_provider.dart';
import 'package:doctor_app_flutter/providers/project_provider.dart'; import 'package:doctor_app_flutter/providers/project_provider.dart';
@ -718,10 +717,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => builder: (context) =>
ChangeNotifierProvider( DoctorReplyScreen(),
create: (_) => DoctorReplyProvider(),
child: DoctorReplyScreen(),
),
), ),
); );
}, },

@ -1,19 +1,10 @@
import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/doctor_replay_view_model.dart';
import 'package:doctor_app_flutter/providers/doctor_reply_provider.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/doctor/doctor_reply_widget.dart'; import 'package:doctor_app_flutter/widgets/doctor/doctor_reply_widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart';
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
/* /*
*@author: Mohammad Aljammal *@author: Mohammad Aljammal
@ -23,30 +14,23 @@ import 'package:provider/provider.dart';
*@desc: Doctor Reply Screen display data from GtMyPatientsQuestions service *@desc: Doctor Reply Screen display data from GtMyPatientsQuestions service
*/ */
class DoctorReplyScreen extends StatelessWidget { class DoctorReplyScreen extends StatelessWidget {
DoctorReplyProvider _doctorReplyProvider;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
_doctorReplyProvider = Provider.of(context); return BaseView<DoctorReplayViewModel>(
return AppScaffold( onModelReady: (model) => model.getDoctorReply(),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
appBarTitle: TranslationBase.of(context).replay2, appBarTitle: TranslationBase.of(context).replay2,
body: _doctorReplyProvider.isLoading body: Container(
? DrAppCircularProgressIndeicator()
: _doctorReplyProvider.isError
? Center(
child: Text(
_doctorReplyProvider.error,
style: TextStyle(color: Theme.of(context).errorColor),
),
)
: Container(
padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0), padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0),
child: ListView( child: ListView(
children: [ children: [
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment:
children: _doctorReplyProvider MainAxisAlignment.spaceBetween,
children: model
.listDoctorWorkingHoursTable .listDoctorWorkingHoursTable
.map((reply) { .map((reply) {
return DoctorReplyWidget(reply: reply); return DoctorReplyWidget(reply: reply);
@ -55,6 +39,6 @@ class DoctorReplyScreen extends StatelessWidget {
], ],
), ),
), ),
); ));
} }
} }

@ -1,8 +1,6 @@
import 'package:doctor_app_flutter/providers/referral_patient_provider.dart'; import 'package:doctor_app_flutter/providers/referral_patient_provider.dart';
import 'package:doctor_app_flutter/providers/schedule_provider.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/doctor/my_referral_patient_widget.dart'; import 'package:doctor_app_flutter/widgets/doctor/my_referral_patient_widget.dart';
import 'package:doctor_app_flutter/widgets/doctor/my_schedule_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

@ -1,15 +1,12 @@
import 'package:doctor_app_flutter/providers/referred_patient_provider.dart'; import 'package:doctor_app_flutter/providers/referred_patient_provider.dart';
import 'package:doctor_app_flutter/providers/schedule_provider.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/doctor/my_referred_patient_widget.dart'; import 'package:doctor_app_flutter/widgets/doctor/my_referred_patient_widget.dart';
import 'package:doctor_app_flutter/widgets/doctor/my_schedule_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../widgets/shared/app_scaffold_widget.dart'; import '../../widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
class MyReferredPatient extends StatelessWidget { class MyReferredPatient extends StatelessWidget {
MyReferredPatientProvider referredPatientProvider; MyReferredPatientProvider referredPatientProvider;

@ -1,31 +1,22 @@
import 'package:doctor_app_flutter/providers/schedule_provider.dart'; import 'package:doctor_app_flutter/core/viewModel/schedule_view_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/doctor/my_schedule_widget.dart'; import 'package:doctor_app_flutter/widgets/doctor/my_schedule_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class MyScheduleScreen extends StatelessWidget { class MyScheduleScreen extends StatelessWidget {
ScheduleProvider scheduleProvider;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
scheduleProvider = Provider.of(context); return BaseView<ScheduleViewModel>(
return AppScaffold( onModelReady: (model) => model.getDoctorSchedule(),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
isShowAppBar: false, isShowAppBar: false,
body: scheduleProvider.isLoading body: model.listDoctorWorkingHoursTable.length == 0
? DrAppCircularProgressIndeicator()
: scheduleProvider.isError
? Center(
child: AppText(
scheduleProvider.error,
color: Theme.of(context).errorColor,
),
)
: scheduleProvider.listDoctorWorkingHoursTable.length == 0
? Center( ? Center(
child: AppText( child: AppText(
TranslationBase.of(context).errorNoSchedule, TranslationBase.of(context).errorNoSchedule,
@ -46,7 +37,7 @@ class MyScheduleScreen extends StatelessWidget {
height: 20, height: 20,
), ),
scheduleListByDate(), scheduleListByDate(model),
// scheduleListByDate('Wednesday, 8 April '), // scheduleListByDate('Wednesday, 8 April '),
], ],
), ),
@ -55,10 +46,10 @@ class MyScheduleScreen extends StatelessWidget {
], ],
), ),
), ),
); ));
} }
Column scheduleListByDate() { Column scheduleListByDate(ScheduleViewModel model ) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
@ -67,7 +58,7 @@ class MyScheduleScreen extends StatelessWidget {
), ),
Container( Container(
child: Column( child: Column(
children: scheduleProvider.listDoctorWorkingHoursTable.map((item) { children: model.listDoctorWorkingHoursTable.map((item) {
return MyScheduleWidget(workingHoursTable: item,); return MyScheduleWidget(workingHoursTable: item,);
}).toList(), }).toList(),
), ),

@ -1,20 +1,16 @@
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/providers/auth_provider.dart'; import 'package:doctor_app_flutter/providers/auth_provider.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../config/shared_pref_kay.dart';
import '../../config/size_config.dart'; import '../../config/size_config.dart';
import '../../providers/schedule_provider.dart';
import '../../routes.dart'; import '../../routes.dart';
import '../../screens/doctor/my_schedule_screen.dart';
import '../../util/dr_app_shared_pref.dart'; import '../../util/dr_app_shared_pref.dart';
import '../../widgets/shared/drawer_item_widget.dart'; import '../../widgets/shared/drawer_item_widget.dart';
import '../../widgets/shared/rounded_container_widget.dart'; import '../../widgets/shared/rounded_container_widget.dart';
import 'app_texts_widget.dart'; import 'app_texts_widget.dart';
import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();

Loading…
Cancel
Save