From 22f6e321942a47d3eb64bbc9b3dc742f01c2dfea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?th=E1=BB=8Bnh?= Date: Wed, 26 Feb 2025 12:47:26 +0700 Subject: [PATCH] Fix the edge case when sign-out from the exsiting user flow, just in case --- app/lib/pages/persona/twitter/social_profile.dart | 2 ++ app/lib/pages/persona/twitter/verify_identity_screen.dart | 2 +- app/lib/pages/settings/page.dart | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/lib/pages/persona/twitter/social_profile.dart b/app/lib/pages/persona/twitter/social_profile.dart index 14d3b41f9d..4602bb0bf1 100644 --- a/app/lib/pages/persona/twitter/social_profile.dart +++ b/app/lib/pages/persona/twitter/social_profile.dart @@ -191,6 +191,8 @@ class _SocialHandleScreenState extends State { properties: {'handle': handle, 'uid': FirebaseAuth.instance.currentUser?.uid ?? ''}, ); SharedPreferencesUtil().hasOmiDevice = false; + Provider.of(context, listen: false) + .setRouting(PersonaProfileRouting.no_device); await provider.getTwitterProfile(handle); if (provider.twitterProfile.isNotEmpty) { routeToPage(context, const VerifyIdentityScreen()); diff --git a/app/lib/pages/persona/twitter/verify_identity_screen.dart b/app/lib/pages/persona/twitter/verify_identity_screen.dart index 4651d17f52..f6452255cb 100644 --- a/app/lib/pages/persona/twitter/verify_identity_screen.dart +++ b/app/lib/pages/persona/twitter/verify_identity_screen.dart @@ -239,7 +239,7 @@ class _VerifyIdentityScreenState extends State { Column( children: [ Text( - tryDecodingText(provider.twitterProfile['name']), + tryDecodingText(provider.twitterProfile['name'] ?? ""), style: TextStyle( color: Colors.white.withOpacity(0.78), fontSize: 20, diff --git a/app/lib/pages/settings/page.dart b/app/lib/pages/settings/page.dart index 726c384cc4..c438549dbf 100644 --- a/app/lib/pages/settings/page.dart +++ b/app/lib/pages/settings/page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:friend_private/backend/auth.dart'; import 'package:friend_private/backend/preferences.dart'; import 'package:friend_private/main.dart'; +import 'package:friend_private/pages/persona/persona_provider.dart'; import 'package:friend_private/pages/settings/about.dart'; import 'package:friend_private/pages/settings/developer.dart'; import 'package:friend_private/pages/settings/profile.dart'; @@ -10,6 +11,7 @@ import 'package:friend_private/utils/other/temp.dart'; import 'package:friend_private/widgets/dialog.dart'; import 'package:intercom_flutter/intercom_flutter.dart'; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:provider/provider.dart'; import 'device_settings.dart'; @@ -121,6 +123,8 @@ class _SettingsPageState extends State { }, () async { SharedPreferencesUtil().hasOmiDevice = null; SharedPreferencesUtil().verifiedPersonaId = null; + Provider.of(context, listen: false) + .setRouting(PersonaProfileRouting.no_device); await signOut(); Navigator.of(context).pop(); routeToPage(context, const DeciderWidget(), replace: true);