testing for cause of freezing bug

pull/1011/head
ggurdin 2 years ago
parent 8620028afe
commit 68e6c5879e

@ -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…
Cancel
Save