testing for cause of freezing bug
This commit is contained in:
parent
8620028afe
commit
68e6c5879e
4 changed files with 40 additions and 36 deletions
|
|
@ -1,19 +1,8 @@
|
|||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:uni_links/uni_links.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/config/themes.dart';
|
||||
import 'package:fluffychat/pages/chat_list/chat_list_view.dart';
|
||||
|
|
@ -29,6 +18,18 @@ import 'package:fluffychat/utils/localized_exception_extension.dart';
|
|||
import 'package:fluffychat/utils/matrix_sdk_extensions/client_stories_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import 'package:fluffychat/utils/tor_stub.dart'
|
||||
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:uni_links/uni_links.dart';
|
||||
|
||||
import '../../../utils/account_bundles.dart';
|
||||
import '../../utils/matrix_sdk_extensions/matrix_file_extension.dart';
|
||||
import '../../utils/url_launcher.dart';
|
||||
|
|
@ -36,9 +37,6 @@ import '../../utils/voip/callkeep_manager.dart';
|
|||
import '../../widgets/fluffy_chat_app.dart';
|
||||
import '../../widgets/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/utils/tor_stub.dart'
|
||||
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
||||
|
||||
enum SelectMode {
|
||||
normal,
|
||||
share,
|
||||
|
|
@ -505,7 +503,7 @@ class ChatListController extends State<ChatList>
|
|||
}
|
||||
});
|
||||
|
||||
_subscriptionStatusStream = pangeaController
|
||||
_subscriptionStatusStream ??= pangeaController
|
||||
.subscriptionController.subscriptionStream.stream
|
||||
.listen((event) {
|
||||
if (mounted) {
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
import 'dart:async';
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/constants/local.key.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/extensions/client_extension.dart';
|
||||
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
|
||||
import 'package:fluffychat/pangea/utils/class_code.dart';
|
||||
import 'package:fluffychat/pangea/utils/error_handler.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import '../../widgets/matrix.dart';
|
||||
import '../utils/bot_name.dart';
|
||||
import '../utils/firebase_analytics.dart';
|
||||
|
|
@ -67,6 +66,7 @@ class ClassController extends BaseController {
|
|||
try {
|
||||
//question for gabby: why do we need this in two places?
|
||||
if (!_pangeaController.subscriptionController.isSubscribed) {
|
||||
debugPrint("Unsubscribed user in class_controller. Showing paywall.");
|
||||
_pangeaController.subscriptionController.showPaywall(context);
|
||||
}
|
||||
} catch (err) {
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ class SubscriptionController extends BaseController {
|
|||
subscription?.currentSubscription?.isTrial ?? false;
|
||||
|
||||
Future<void> initialize() async {
|
||||
debugPrint("Initializing subscription controller");
|
||||
try {
|
||||
if (_pangeaController.matrixState.client.userID == null) {
|
||||
debugPrint(
|
||||
|
|
@ -59,11 +60,15 @@ class SubscriptionController extends BaseController {
|
|||
? WebSubscriptionInfo(pangeaController: _pangeaController)
|
||||
: MobileSubscriptionInfo(pangeaController: _pangeaController);
|
||||
|
||||
debugPrint("Configuring subscription controller");
|
||||
await subscription!.configure();
|
||||
debugPrint("Configured subscription controller");
|
||||
|
||||
if (activatedNewUserTrial) {
|
||||
setNewUserTrial();
|
||||
}
|
||||
|
||||
debugPrint("Setting initalized true");
|
||||
initialized = true;
|
||||
|
||||
if (!kIsWeb) {
|
||||
|
|
@ -131,6 +136,9 @@ class SubscriptionController extends BaseController {
|
|||
BuildContext context, [
|
||||
bool forceShow = false,
|
||||
]) async {
|
||||
debugPrint(
|
||||
"User is not subscribed. Showing paywall. Initialized: $initialized",
|
||||
);
|
||||
try {
|
||||
if (!initialized) {
|
||||
await initialize();
|
||||
|
|
|
|||
|
|
@ -1,10 +1,5 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/config/environment.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
|
|
@ -13,6 +8,9 @@ import 'package:fluffychat/pangea/pages/settings_subscription/settings_subscript
|
|||
import 'package:fluffychat/pangea/utils/subscription_app_id.dart';
|
||||
import 'package:fluffychat/pangea/widgets/subscription/subscription_snackbar.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
class SubscriptionManagement extends StatefulWidget {
|
||||
const SubscriptionManagement({super.key});
|
||||
|
|
@ -35,6 +33,14 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
debugPrint("stateStream event in subscription settings");
|
||||
setState(() {});
|
||||
});
|
||||
|
||||
_subscriptionStatusStream ??= pangeaController
|
||||
.subscriptionController.subscriptionStream.stream
|
||||
.listen((_) {
|
||||
showSubscribedSnackbar(context);
|
||||
context.go('/rooms');
|
||||
});
|
||||
|
||||
pangeaController.subscriptionController.updateCustomerInfo();
|
||||
super.initState();
|
||||
}
|
||||
|
|
@ -123,15 +129,7 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
_subscriptionStatusStream ??= pangeaController
|
||||
.subscriptionController.subscriptionStream.stream
|
||||
.listen((_) {
|
||||
showSubscribedSnackbar(context);
|
||||
context.go('/rooms');
|
||||
});
|
||||
return SettingsSubscriptionView(this);
|
||||
}
|
||||
Widget build(BuildContext context) => SettingsSubscriptionView(this);
|
||||
}
|
||||
|
||||
enum ManagementOption {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue