From 1050b021405587a511403e74be41726d85101b27 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Tue, 24 Mar 2020 18:21:02 +0200 Subject: [PATCH] create shaerd pref service --- lib/screens/auth/login_screen.dart | 11 +++- lib/util/dr_app_shared_pref.dart | 85 ++++++++++++++++++++++++++ lib/widgets/auth/known_user_login.dart | 11 ++-- lib/widgets/auth/login_form.dart | 28 +++++---- 4 files changed, 114 insertions(+), 21 deletions(-) create mode 100644 lib/util/dr_app_shared_pref.dart diff --git a/lib/screens/auth/login_screen.dart b/lib/screens/auth/login_screen.dart index f7e7fb78..973c52da 100644 --- a/lib/screens/auth/login_screen.dart +++ b/lib/screens/auth/login_screen.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:doctor_app_flutter/lookups/auth_lookup.dart'; +import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; import 'package:doctor_app_flutter/widgets/auth/known_user_login.dart'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -8,6 +9,7 @@ import 'package:shared_preferences/shared_preferences.dart'; import '../../widgets/auth/auth_header.dart'; import '../../widgets/auth/login_form.dart'; +DrAppSharedPreferances ShPref = new DrAppSharedPreferances(); class Loginsreen extends StatefulWidget { @override _LoginsreenState createState() => _LoginsreenState(); @@ -23,7 +25,14 @@ class _LoginsreenState extends State { Future getSharedPref() async { final SharedPreferences prefs = await _prefs; - platformImei = prefs.getString('platformImei'); + // platformImei = prefs.getString('platformImei'); + ShPref.getString('platformImei').then((imei){ + platformImei = imei; + }); + ShPref.getObj('loggedInUser').then((loggedUser){ + if(loggedUser == null){} + print('dddddddddddddddd${loggedUser}'); + }); } @override diff --git a/lib/util/dr_app_shared_pref.dart b/lib/util/dr_app_shared_pref.dart new file mode 100644 index 00000000..b8a330bd --- /dev/null +++ b/lib/util/dr_app_shared_pref.dart @@ -0,0 +1,85 @@ +import 'dart:convert'; + +import 'package:shared_preferences/shared_preferences.dart'; + +class DrAppSharedPreferances { + Future _prefs = SharedPreferences.getInstance(); + + setString(String key, String value) async { + final SharedPreferences prefs = await _prefs; + return prefs.setString(key, value); + } + + setStringList(String key, List value) async { + final SharedPreferences prefs = await _prefs; + + return prefs.setStringList(key, value); + } + + setDouble(String key, double value) async { + final SharedPreferences prefs = await _prefs; + + return prefs.setDouble(key, value); + } + + setBool(String key, bool value) async { + final SharedPreferences prefs = await _prefs; + return prefs.setBool(key, value); + } + + setInt(String key, int value) async { + final SharedPreferences prefs = await _prefs; + return prefs.setInt(key, value); + } + + getString(String key) async { + final SharedPreferences prefs = await _prefs; + return prefs.getString(key); + } + + setObj(String key, value) async { + final SharedPreferences prefs = await _prefs; + + return prefs.setString(key, json.encode(value)); + } + + getPref() async { + Future _prefs = getInstance(); + return await _prefs; + } + + getInstance() { + return SharedPreferences.getInstance(); + } + + getStringList(String key) async { + final SharedPreferences prefs = await _prefs; + + return prefs.getStringList(key); + } + + getDouble(String key) async { + final SharedPreferences prefs = await _prefs; + + return prefs.getDouble(key); + } + + getBool(String key) async { + final SharedPreferences prefs = await _prefs; + return prefs.getBool(key); + } + + getInt(String key) async { + final SharedPreferences prefs = await _prefs; + return prefs.getInt(key); + } + + getObj(String key) async{ + final SharedPreferences prefs = await _prefs; + var string = prefs.getString(key); + if (string == null ){ + return null; + } + return json.decode(prefs.getString(key)); + } +} diff --git a/lib/widgets/auth/known_user_login.dart b/lib/widgets/auth/known_user_login.dart index e417de7c..432d9a2b 100644 --- a/lib/widgets/auth/known_user_login.dart +++ b/lib/widgets/auth/known_user_login.dart @@ -65,13 +65,10 @@ class KnownUserLogin extends StatelessWidget { ], ), ), - // Container( - // child: Image.asset( - // 'assets/images/verification_fingerprint_lg_icon.png', - // fit: BoxFit.cover, - // ), - // ), - Positioned(top: 7, right: 70, child:Image.asset( + Positioned( + top: 7, + right: 70, + child: Image.asset( 'assets/images/close_icon.png', fit: BoxFit.cover, )) diff --git a/lib/widgets/auth/login_form.dart b/lib/widgets/auth/login_form.dart index e15622ac..94dfa01f 100644 --- a/lib/widgets/auth/login_form.dart +++ b/lib/widgets/auth/login_form.dart @@ -1,16 +1,18 @@ -import 'package:doctor_app_flutter/providers/projects_provider.dart'; -import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; +import '../../providers/projects_provider.dart'; +import '../../util/dr_app_toast_msg.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:imei_plugin/imei_plugin.dart'; import 'package:provider/provider.dart'; -import 'package:shared_preferences/shared_preferences.dart'; import '../../models/user_model.dart'; import '../../providers/auth_provider.dart'; import '../../routes.dart'; +import '../../util/dr_app_shared_pref.dart'; + +DrAppSharedPreferances SharedPref = DrAppSharedPreferances(); class LoginForm extends StatefulWidget with DrAppToastMsg { LoginForm({ @@ -170,7 +172,6 @@ class _LoginFormState extends State { onChanged: (value) { userInfo.ProjectID = value; }), - SizedBox( height: 20, ), @@ -249,12 +250,12 @@ class _LoginFormState extends State { } } - insertDeviceImei(res, AuthProvider authProv) { + insertDeviceImei(preRes, AuthProvider authProv) { if (_platformImei != 'Unknown') { var imeiInfo = { "IMEI": _platformImei, "LogInType": 1, - "DoctorID": res['DoctorID'], + "DoctorID": preRes['DoctorID'], "DoctorName": "Test User", "Gender": 1, "ClinicID": 3, @@ -263,12 +264,13 @@ class _LoginFormState extends State { "ClinicName": "MED", "ProjectName": "", "DoctorImageURL": "UNKNOWN", - "LogInTokenID": res['LogInTokenID'], + "LogInTokenID": preRes['LogInTokenID'], "VersionID": 1.2 }; authProv.insertDeviceImei(imeiInfo).then((res) { if (res['MessageStatus'] == 1) { setSharedPref('platformImei', _platformImei); + saveObjToString('loggedInUser', preRes); Navigator.of(context).pushNamed(HOME); // save imei on shared preferance } else { @@ -307,12 +309,8 @@ class _LoginFormState extends State { } Future setSharedPref(key, value) async { - Future _prefs = SharedPreferences.getInstance(); - final SharedPreferences prefs = await _prefs; - - prefs.setString(key, value).then((bool success) { - print(prefs.getString('platformImei')); - return value; + SharedPref.setString(key, value).then(( success) { + print("SharedPref.setString" + success.toString()); }); } @@ -341,4 +339,8 @@ class _LoginFormState extends State { widget.showErrorToast(localMsg); } + + saveObjToString(String key, value) async { + SharedPref.setObj(key, value); + } }