From dd878393c65bc8070a6aee4902f2bdd31e7e3877 Mon Sep 17 00:00:00 2001 From: kishan06 Date: Sat, 13 Jul 2024 11:28:58 +0530 Subject: [PATCH] apple ad facebook integrated --- android/app/src/main/res/values/strings.xml | 8 +- lib/Common/api_urls.dart | 3 +- lib/Login/View/loginscreen.dart | 109 +++++------ lib/Login/ViewModel/LoginApi.dart | 25 +-- lib/Utils/Common/AppleOAuthService.dart | 4 +- lib/onboarding/SplashScreen.dart | 203 ++++++++++---------- 6 files changed, 161 insertions(+), 191 deletions(-) diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index b304a14..87bac60 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ - ReGroup123 - 8076081959097016 - fb8076081959097016 - ca5a1805872edbec0d3a0a0b02229ba5 + Regroup + 803386025107790 + fb803386025107790 + fa69ee794ff94e50c7ddbfac1e035cb9 \ No newline at end of file diff --git a/lib/Common/api_urls.dart b/lib/Common/api_urls.dart index fdf45f3..fa63b98 100644 --- a/lib/Common/api_urls.dart +++ b/lib/Common/api_urls.dart @@ -27,10 +27,9 @@ class ApiUrls { static const postcommunities = "${baseUrl}select-communities"; static const googlelogin = "${baseUrl}sign-in-with-google-login"; - static const applelogin = "${baseUrl}sign-in-with-google-login"; + static const applelogin = "${baseUrl}apple-login-or-registration"; static const storeDetailsOfOAuth = "${baseUrl}update-user-account-type"; static const getuserdetails = "${baseUrl}get-auth-user-data"; - } diff --git a/lib/Login/View/loginscreen.dart b/lib/Login/View/loginscreen.dart index d5fd4b5..1f48c8d 100644 --- a/lib/Login/View/loginscreen.dart +++ b/lib/Login/View/loginscreen.dart @@ -13,6 +13,7 @@ import 'package:regroup/Utils/Common/googleOAuthService.dart'; import 'package:regroup/Utils/Common/sized_box.dart'; import 'package:regroup/Utils/dialogs.dart'; import 'package:regroup/Utils/texts.dart'; +import 'package:regroup/onboarding/Signup/view_model/getUserprofile.dart'; import 'package:regroup/resources/routes/route_name.dart'; import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart'; import 'package:flutter_facebook_auth/flutter_facebook_auth.dart'; @@ -27,8 +28,8 @@ class LoginScreen extends StatefulWidget { } class _LoginScreenState extends State { - String _accessToken = ""; - Map _userData = {}; + Map? _userData; + AccessToken? _accessToken; bool _checking = true; final TextEditingController _emailController = TextEditingController(); RxBool isObscured = true.obs; @@ -50,16 +51,9 @@ class _LoginScreenState extends State { final resp = await LoginAPI().storeGoogleSignin( {"google_access_token": value, "one_signal_player_id": "ABCD"}); if (resp.message == "go-to-signin-via-oauth") { - // Get.to(()=> ); Get.toNamed(RouteName.verifygoogleapplepage, arguments: {"email": resp.data}); - logger.d("go to sign in"); - } else if (resp.message == "profile-incomplete") { - if (resp.data) { - - } - } - else if (value == null) { + } else if (value == null) { Get.snackbar( 'Error', 'Google Sign-In canceled', @@ -93,54 +87,54 @@ class _LoginScreenState extends State { }); } - // _checkIfisLoggedIn() async { - // //user token - // final accessToken = await FacebookAuth.instance.accessToken; + _checkIfisLoggedIn() async { + //user token + final accessToken = await FacebookAuth.instance.accessToken; - // setState(() { - // _checking = false; - // }); + setState(() { + _checking = false; + }); - // if (accessToken != null) { - // print("/////////////////////////////////////////xcheck"); - // print("worked"); - // print(accessToken.toJson()); - // final userData = await FacebookAuth.instance.getUserData(); - // // _accessToken = accessToken; - // setState(() { - // _userData = userData; - // }); - // } else { - // print("/////////////////////////////////////////check"); + if (accessToken != null) { + print("/////////////////////////////////////////xcheck"); + print("worked"); + print(accessToken.toJson()); + final userData = await FacebookAuth.instance.getUserData(); + // _accessToken = accessToken; + setState(() { + _userData = userData; + }); + } else { + print("/////////////////////////////////////////check"); - // print("not worked"); - // _login(); - // } - // } + print("not worked"); + _login(); + } + } - // _login() async { - // final LoginResult result = await FacebookAuth.instance.login(); + _login() async { + final LoginResult result = await FacebookAuth.instance.login(); - // if (result.status == LoginStatus.success) { - // _accessToken = result.accessToken; + if (result.status == LoginStatus.success) { + _accessToken = result.accessToken; - // final userData = await FacebookAuth.instance.getUserData(); - // _userData = userData; - // } else { - // print(result.status); - // print(result.message); - // } - // setState(() { - // _checking = false; - // }); - // } + final userData = await FacebookAuth.instance.getUserData(); + _userData = userData; + } else { + print(result.status); + print(result.message); + } + setState(() { + _checking = false; + }); + } - // _logout() async { - // await FacebookAuth.instance.logOut(); - // _accessToken = null; - // _userData = null; - // setState(() {}); - // } + _logout() async { + await FacebookAuth.instance.logOut(); + _accessToken = null; + _userData = null; + setState(() {}); + } _logincheck() async { if (_emailController.text.isBlank! || _passwordController.text.isBlank!) { @@ -414,8 +408,6 @@ class _LoginScreenState extends State { GestureDetector( onTap: () { _loginWithApple(); - // Get.toNamed( - // RouteName.verifygoogleapplepage); }, child: Container( width: 55, @@ -473,16 +465,7 @@ class _LoginScreenState extends State { const Spacer(), GestureDetector( onTap: () async { - /* FacebookAuth.instance.login( - permissions: ['public_profile', 'email'], - ).then((value) { - FacebookAuth.instance.getUserData().then((userData) { - setState(() { - /* _isLoggedIn = true; - _userObj = userData; */ - }); - }); - }); */ + _checkIfisLoggedIn(); }, child: Container( width: 55, diff --git a/lib/Login/ViewModel/LoginApi.dart b/lib/Login/ViewModel/LoginApi.dart index f47ae27..431e8ee 100644 --- a/lib/Login/ViewModel/LoginApi.dart +++ b/lib/Login/ViewModel/LoginApi.dart @@ -4,6 +4,7 @@ import 'package:regroup/Common/base_manager.dart'; import 'package:regroup/Common/controller/data/network/network_api.dart'; import 'package:regroup/Global.dart'; import 'package:regroup/Login/Model/LoginModel.dart'; +import 'package:regroup/onboarding/Signup/view_model/getUserprofile.dart'; import 'package:regroup/resources/routes/route_name.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -41,18 +42,12 @@ class LoginAPI { if (accountype == "1") { print('tell us individyal'); Get.toNamed(RouteName.tellusindividualscreen, - arguments: { - 'pageroute' : "mainscreen" - } - ); + arguments: {'pageroute': "mainscreen"}); } else if (accountype == "2") { print('tell us business'); Get.toNamed(RouteName.tellusbusinessscreen, - arguments: { - 'pageroute' : "mainscreen" - } - ); + arguments: {'pageroute': "mainscreen"}); } } else { Get.toNamed(RouteName.mainscreen); @@ -76,14 +71,6 @@ class LoginAPI { return ResponseData( "go-to-signin-via-oauth", ResponseStatus.SUCCESS, data: response.data['data']['email']); - } - if (response.data['data']['is_account_type_updated'] == 2 || - response.data['data']['is_account_type_updated'] == 1) { - //get user data - - return ResponseData( - "profile-incomplete", ResponseStatus.SUCCESS, - data: response.data['data']['email']); } else { return ResponseData("go-to-login", ResponseStatus.SUCCESS); } @@ -92,14 +79,16 @@ class LoginAPI { return response; } - Future storeAppleSignin(var data) async { + Future storeAppleSignin(var data, + {String? emailReceived}) async { SharedPreferences prefs = await SharedPreferences.getInstance(); final response = await NetworkApiServices() .postApi(data, ApiUrls.applelogin, optionalpar: true); if (response.status == ResponseStatus.SUCCESS) { await prefs.setString('access-token', response.data['data']['token']); if (response.data['data']['is_account_type_updated'] == 3) { - Get.toNamed(RouteName.verifygoogleapplepage); + Get.toNamed(RouteName.verifygoogleapplepage, + arguments: {"email": emailReceived}); return ResponseData( "go-to-signin-via-oauth", ResponseStatus.SUCCESS); } else { diff --git a/lib/Utils/Common/AppleOAuthService.dart b/lib/Utils/Common/AppleOAuthService.dart index 0179e0d..3740a71 100644 --- a/lib/Utils/Common/AppleOAuthService.dart +++ b/lib/Utils/Common/AppleOAuthService.dart @@ -15,7 +15,9 @@ class AppleOAuthService { logger.d("email is ${credential.email}"); logger.d("fullname is ${credential.givenName}"); logger.d("token is ${credential.userIdentifier}"); - // LoginAPI().storeAppleSignin(); + + await LoginAPI() + .storeAppleSignin({"apple_auth_token": credential.userIdentifier}, emailReceived:credential.email ); } catch (e) { print("Error occured"); } diff --git a/lib/onboarding/SplashScreen.dart b/lib/onboarding/SplashScreen.dart index 0fcb10d..39e1d18 100644 --- a/lib/onboarding/SplashScreen.dart +++ b/lib/onboarding/SplashScreen.dart @@ -74,111 +74,108 @@ class _SplashScreenState extends State { initConnectivity(); log(_connectionStatus.toString()); - Future.delayed(Duration(seconds: 2), () async { - if (_connectionStatus.contains(ConnectivityResult.none)) { - var result = await Get.to(NoInternet()); - if (result != null && result) { - print('this is first'); - Timer(const Duration(seconds: 1), () async { - SharedPreferences prefs = await SharedPreferences.getInstance(); - - token = prefs.getString('access-token'); - emailid = prefs.getString('email'); - myusername = prefs.getString('username'); - fullname = prefs.getString('fullname'); - phonenumber = prefs.getString('phone'); - - if (token == null || token!.isEmpty) { - Get.toNamed(RouteName.onboarding1); - } else { - Getuserdetails().Getuser().then((value) { - print(getuserobj!.data!.userData!.isProfileUpdated!); - // .then((value) { - if (getuserobj?.data?.userData?.isProfileUpdated == 0) { - String? accountype = - getuserobj?.data?.userData?.principalTypeXid.toString(); - - if (accountype == "1") { - Get.toNamed(RouteName.tellusindividualscreen, - arguments: {'pageroute': "mainscreen"}); - } else if (accountype == "2") { - Get.toNamed(RouteName.tellusbusinessscreen, - arguments: {'pageroute': "mainscreen"}); - } - } else { - Get.toNamed(RouteName.mainscreen); - } - }); - // print(getuserobj!.data!.userData!.isProfileUpdated!); - - // // .then((value) { - // if (getuserobj?.data?.userData?.isProfileUpdated == 0) { - // String? accountype = - // getuserobj?.data?.userData?.principalTypeXid.toString(); - - // if (accountype == "1") { - // Get.toNamed(RouteName.tellusindividualscreen, - // arguments: { - // 'pageroute' : "mainscreen" - // } - // ); - // } else if (accountype == "2") { - // Get.toNamed(RouteName.tellusbusinessscreen); - // } - // } else { - // Get.toNamed(RouteName.mainscreen); - // } - // } - // ); - } - }); - } - } else { - Timer(const Duration(seconds: 2), () async { - print('this is second'); - - SharedPreferences prefs = await SharedPreferences.getInstance(); - - token = prefs.getString('access-token'); - emailid = prefs.getString('email'); - myusername = prefs.getString('username'); - fullname = prefs.getString('fullname'); - phonenumber = prefs.getString('phone'); - - if (token == null || token!.isEmpty) { - Get.toNamed(RouteName.onboarding1); - } else { - Getuserdetails().Getuser().then((value) { - print(getuserobj!.data!.userData!.isProfileUpdated!); - // .then((value) { - if (getuserobj?.data?.userData?.isProfileUpdated == 0) { - String? accountype = - getuserobj?.data?.userData?.principalTypeXid.toString(); - - if (accountype == "1") { - Get.toNamed(RouteName.tellusindividualscreen, - arguments: {'pageroute': "mainscreen"}); - } else if (accountype == "2") { - Get.toNamed(RouteName.tellusbusinessscreen, - arguments: {'pageroute': "mainscreen"}); - } - } else { - Get.toNamed(RouteName.mainscreen); - } - }); - - // } - // ); - } - }); - } - }); - // Future.delayed(Duration(seconds: 2), () async { - // Timer(const Duration(seconds: 1), () async { - // Get.toNamed(RouteName.onboarding1); - // }); + // if (_connectionStatus.contains(ConnectivityResult.none)) { + // var result = await Get.to(NoInternet()); + // if (result != null && result) { + // Timer(const Duration(seconds: 1), () async { + // SharedPreferences prefs = await SharedPreferences.getInstance(); + + // token = prefs.getString('access-token'); + // emailid = prefs.getString('email'); + // myusername = prefs.getString('username'); + // fullname = prefs.getString('fullname'); + // phonenumber = prefs.getString('phone'); + + // if (token == null || token!.isEmpty) { + // Get.toNamed(RouteName.onboarding1); + // } else { + // Getuserdetails().Getuser().then((value) { + // print(getuserobj!.data!.userData!.isProfileUpdated!); + // // .then((value) { + // if (getuserobj?.data?.userData?.isProfileUpdated == 0) { + // String? accountype = + // getuserobj?.data?.userData?.principalTypeXid.toString(); + + // if (accountype == "1") { + // Get.toNamed(RouteName.tellusindividualscreen, + // arguments: {'pageroute': "mainscreen"}); + // } else if (accountype == "2") { + // Get.toNamed(RouteName.tellusbusinessscreen, + // arguments: {'pageroute': "mainscreen"}); + // } + // } else { + // Get.toNamed(RouteName.mainscreen); + // } + // }); + // // print(getuserobj!.data!.userData!.isProfileUpdated!); + + // // // .then((value) { + // // if (getuserobj?.data?.userData?.isProfileUpdated == 0) { + // // String? accountype = + // // getuserobj?.data?.userData?.principalTypeXid.toString(); + + // // if (accountype == "1") { + // // Get.toNamed(RouteName.tellusindividualscreen, + // // arguments: { + // // 'pageroute' : "mainscreen" + // // } + // // ); + // // } else if (accountype == "2") { + // // Get.toNamed(RouteName.tellusbusinessscreen); + // // } + // // } else { + // // Get.toNamed(RouteName.mainscreen); + // // } + // // } + // // ); + // } + // }); + // } + // } else { + // Timer(const Duration(seconds: 2), () async { + // print('this is second'); + + // SharedPreferences prefs = await SharedPreferences.getInstance(); + + // token = prefs.getString('access-token'); + // emailid = prefs.getString('email'); + // myusername = prefs.getString('username'); + // fullname = prefs.getString('fullname'); + // phonenumber = prefs.getString('phone'); + + // if (token == null || token!.isEmpty) { + // Get.toNamed(RouteName.onboarding1); + // } else { + // Getuserdetails().Getuser().then((value) { + // print(getuserobj!.data!.userData!.isProfileUpdated!); + // // .then((value) { + // if (getuserobj?.data?.userData?.isProfileUpdated == 0) { + // String? accountype = + // getuserobj?.data?.userData?.principalTypeXid.toString(); + + // if (accountype == "1") { + // Get.toNamed(RouteName.tellusindividualscreen, + // arguments: {'pageroute': "mainscreen"}); + // } else if (accountype == "2") { + // Get.toNamed(RouteName.tellusbusinessscreen, + // arguments: {'pageroute': "mainscreen"}); + // } + // } else { + // Get.toNamed(RouteName.mainscreen); + // } + // }); + + // // } + // // ); + // } + // }); + // } // }); + + Future.delayed(Duration(seconds: 2), () async { + Get.toNamed(RouteName.onboarding1); + }); } @override