diff --git a/packages/ap_common/lib/pages/about_us_page.dart b/packages/ap_common/lib/pages/about_us_page.dart index 43232c78..5b70bd8f 100644 --- a/packages/ap_common/lib/pages/about_us_page.dart +++ b/packages/ap_common/lib/pages/about_us_page.dart @@ -50,7 +50,7 @@ class AboutUsPageState extends State { @override void initState() { - AnalyticsUtils.instance?.setCurrentScreen( + AnalyticsUtil.instance?.setCurrentScreen( 'AboutUsPage', 'about_us_page.dart', ); @@ -87,7 +87,7 @@ class AboutUsPageState extends State { ), ), ); - AnalyticsUtils.instance?.logEvent('license_page_click'); + AnalyticsUtil.instance?.logEvent('license_page_click'); }, ), ], @@ -184,7 +184,7 @@ class AboutUsPageState extends State { ApUtils.launchUrl( 'https://m.me/${widget.fbFanPageId}', ); - AnalyticsUtils.instance?.logEvent('fb_click'); + AnalyticsUtil.instance?.logEvent('fb_click'); }, iconSize: 48.0, ), @@ -196,7 +196,7 @@ class AboutUsPageState extends State { ApUtils.launchUrl( 'https://ig.me/m/$username', ); - AnalyticsUtils.instance + AnalyticsUtil.instance ?.logEvent('instagram_click'); }, iconSize: 48.0, @@ -214,7 +214,7 @@ class AboutUsPageState extends State { ); }, ); - AnalyticsUtils.instance + AnalyticsUtil.instance ?.logEvent('github_click'); }, iconSize: 48.0, @@ -232,7 +232,7 @@ class AboutUsPageState extends State { ); }, ); - AnalyticsUtils.instance + AnalyticsUtil.instance ?.logEvent('email_click'); }, iconSize: 48.0, diff --git a/packages/ap_common/lib/pages/announcement/home_page.dart b/packages/ap_common/lib/pages/announcement/home_page.dart index 3253976a..c79bb8cf 100644 --- a/packages/ap_common/lib/pages/announcement/home_page.dart +++ b/packages/ap_common/lib/pages/announcement/home_page.dart @@ -824,9 +824,9 @@ class _AnnouncementHomePageState extends State { } catch (e, s) { if (!mounted) return; ApUtils.showToast(context, ap.thirdPartyLoginFail); - CrashlyticsUtils.instance?.recordError(e, s); + CrashlyticsUtil.instance?.recordError(e, s); if (isNotLogin) Navigator.of(context, rootNavigator: true).pop(); - if (CrashlyticsUtils.instance != null) rethrow; + if (CrashlyticsUtil.instance != null) rethrow; } case AnnouncementLoginType.apple: try { @@ -843,7 +843,7 @@ class _AnnouncementHomePageState extends State { if (!mounted) return; ApUtils.showToast(context, ap.thirdPartyLoginFail); if (isNotLogin) Navigator.of(context, rootNavigator: true).pop(); - CrashlyticsUtils.instance?.recordError(e, s); + CrashlyticsUtil.instance?.recordError(e, s); } } } diff --git a/packages/ap_common/lib/pages/announcement_content_page.dart b/packages/ap_common/lib/pages/announcement_content_page.dart index e94dd4f0..22ecb2d8 100644 --- a/packages/ap_common/lib/pages/announcement_content_page.dart +++ b/packages/ap_common/lib/pages/announcement_content_page.dart @@ -31,7 +31,7 @@ class AnnouncementContentPageState extends State { @override void initState() { - AnalyticsUtils.instance?.setCurrentScreen( + AnalyticsUtil.instance?.setCurrentScreen( 'AnnouncementContentPage', 'announcement_content_page.dart', ); @@ -109,7 +109,7 @@ class AnnouncementContentPageState extends State { ), ), ); - AnalyticsUtils.instance?.logEvent('announcement_content_image_click'); + AnalyticsUtil.instance?.logEvent('announcement_content_image_click'); }, child: AspectRatio( aspectRatio: orientation == Orientation.portrait ? 4 / 3 : 9 / 16, @@ -174,7 +174,7 @@ class AnnouncementContentPageState extends State { ), onPressed: () { ApUtils.launchUrl(widget.announcement.url!); - AnalyticsUtils.instance?.logEvent('announcement_link_click'); + AnalyticsUtil.instance?.logEvent('announcement_link_click'); }, child: Icon( ApIcon.exitToApp, diff --git a/packages/ap_common/lib/scaffold/course_scaffold.dart b/packages/ap_common/lib/scaffold/course_scaffold.dart index 1d46e3d3..80f2fd89 100644 --- a/packages/ap_common/lib/scaffold/course_scaffold.dart +++ b/packages/ap_common/lib/scaffold/course_scaffold.dart @@ -220,7 +220,7 @@ class CourseScaffoldState extends State { }, ), ); - AnalyticsUtils.instance?.logEvent('course_setting_click'); + AnalyticsUtil.instance?.logEvent('course_setting_click'); }, tooltip: ApLocalizations.of(context).courseScaffoldSetting, ), @@ -269,7 +269,7 @@ class CourseScaffoldState extends State { child: RefreshIndicator( onRefresh: () async { await widget.onRefresh!(); - AnalyticsUtils.instance?.logEvent('course_refresh'); + AnalyticsUtil.instance?.logEvent('course_refresh'); return; }, child: _body(), @@ -309,7 +309,7 @@ class CourseScaffoldState extends State { floatingActionButton: showSearchButton! ? FloatingActionButton( onPressed: () { - AnalyticsUtils.instance + AnalyticsUtil.instance ?.logEvent('course_search_button_click'); _pickSemester(); }, @@ -453,7 +453,7 @@ class CourseScaffoldState extends State { context, ), ); - AnalyticsUtils.instance?.logEvent('export_course_table_image_success'); + AnalyticsUtil.instance?.logEvent('export_course_table_image_success'); } else { if (!mounted) return; ApUtils.showToast(context, app.unknownError); @@ -780,7 +780,7 @@ class _CourseContentState extends State { timeZone: 'GMT+8', ); Add2Calendar.addEvent2Cal(event); - AnalyticsUtils.instance + AnalyticsUtil.instance ?.logEvent('course_export_to_calendar'); }, ), @@ -832,7 +832,7 @@ class _CourseContentState extends State { context, ApLocalizations.of(context).courseNotifyHint, ); - AnalyticsUtils.instance + AnalyticsUtil.instance ?.logEvent('course_notify_schedule'); } else { await NotificationUtil.instance.cancelNotify( @@ -850,7 +850,7 @@ class _CourseContentState extends State { } widget.notifyData!.save(); setState(() {}); - AnalyticsUtils.instance?.logEvent('course_notify_cancel'); + AnalyticsUtil.instance?.logEvent('course_notify_cancel'); } if (widget.onNotifyClick != null) { if (!mounted) return; @@ -1178,7 +1178,7 @@ class CourseBorder extends StatelessWidget { : InkWell( onTap: () { onPressed?.call(sectionTime!.weekday, timeCode!, course!); - AnalyticsUtils.instance?.logEvent('course_border_click'); + AnalyticsUtil.instance?.logEvent('course_border_click'); }, radius: 6.0, child: Padding( diff --git a/packages/ap_common/lib/scaffold/home_page_scaffold.dart b/packages/ap_common/lib/scaffold/home_page_scaffold.dart index 54a3d28b..1ec56329 100644 --- a/packages/ap_common/lib/scaffold/home_page_scaffold.dart +++ b/packages/ap_common/lib/scaffold/home_page_scaffold.dart @@ -177,7 +177,7 @@ class HomePageScaffoldState extends State { return GestureDetector( onTap: () { widget.onImageTapped?.call(announcement); - AnalyticsUtils.instance?.logEvent('announcement_image_click'); + AnalyticsUtil.instance?.logEvent('announcement_image_click'); }, onTapDown: (TapDownDetails detail) { _timer?.cancel(); @@ -316,12 +316,12 @@ class HomePageScaffoldState extends State { leftActionText: app.cancel, rightActionText: app.confirm, rightActionFunction: () { - AnalyticsUtils.instance?.logEvent('logout_dialog_confirm'); + AnalyticsUtil.instance?.logEvent('logout_dialog_confirm'); SystemNavigator.pop(); }, ), ); - AnalyticsUtils.instance?.logEvent('logout_dialog_open'); + AnalyticsUtil.instance?.logEvent('logout_dialog_open'); } void hideSnackBar() { diff --git a/packages/ap_common/lib/scaffold/score_scaffold.dart b/packages/ap_common/lib/scaffold/score_scaffold.dart index 94a06c01..79409dde 100644 --- a/packages/ap_common/lib/scaffold/score_scaffold.dart +++ b/packages/ap_common/lib/scaffold/score_scaffold.dart @@ -84,7 +84,7 @@ class ScoreScaffoldState extends State { ? FloatingActionButton( onPressed: () { _pickSemester(); - AnalyticsUtils.instance?.logEvent('score_search_button_click'); + AnalyticsUtil.instance?.logEvent('score_search_button_click'); }, child: const Icon(Icons.search), ) @@ -114,7 +114,7 @@ class ScoreScaffoldState extends State { child: RefreshIndicator( onRefresh: () async { await widget.onRefresh?.call(); - AnalyticsUtils.instance?.logEvent('score_refresh'); + AnalyticsUtil.instance?.logEvent('score_refresh'); return; }, child: _body(), @@ -295,7 +295,7 @@ class _ScoreContentState extends State { onTap: (widget.onScoreSelect != null) ? () { widget.onScoreSelect!(i); - AnalyticsUtils.instance + AnalyticsUtil.instance ?.logEvent('score_title_click'); } : null, diff --git a/packages/ap_common/lib/scaffold/user_info_scaffold.dart b/packages/ap_common/lib/scaffold/user_info_scaffold.dart index d6ee947d..9041551b 100644 --- a/packages/ap_common/lib/scaffold/user_info_scaffold.dart +++ b/packages/ap_common/lib/scaffold/user_info_scaffold.dart @@ -72,7 +72,7 @@ class UserInfoScaffoldState extends State { () => codeMode = BarCodeMode .values[(codeMode.index + 1) % BarCodeMode.values.length], ); - AnalyticsUtils.instance?.logEvent('user_info_barcode_switch'); + AnalyticsUtil.instance?.logEvent('user_info_barcode_switch'); }, ), ], @@ -80,7 +80,7 @@ class UserInfoScaffoldState extends State { body: RefreshIndicator( onRefresh: () async { if (widget.onRefresh != null) await widget.onRefresh!(); - AnalyticsUtils.instance?.logEvent('user_info_refresh'); + AnalyticsUtil.instance?.logEvent('user_info_refresh'); return; }, child: ListView( diff --git a/packages/ap_common/lib/utils/ap_utils.dart b/packages/ap_common/lib/utils/ap_utils.dart index eaa19e86..70e75f15 100644 --- a/packages/ap_common/lib/utils/ap_utils.dart +++ b/packages/ap_common/lib/utils/ap_utils.dart @@ -289,10 +289,10 @@ class ApUtils { } catch (e, s) { if (!context.mounted) return; ApUtils.showToast(context, ap.unknownError); - if (CrashlyticsUtils.instance == null) { + if (CrashlyticsUtil.instance == null) { rethrow; } else { - CrashlyticsUtils.instance?.recordError(e, s); + CrashlyticsUtil.instance?.recordError(e, s); } } } diff --git a/packages/ap_common/lib/views/notification_list_view.dart b/packages/ap_common/lib/views/notification_list_view.dart index b5c9b4ff..eeff38f7 100644 --- a/packages/ap_common/lib/views/notification_list_view.dart +++ b/packages/ap_common/lib/views/notification_list_view.dart @@ -47,7 +47,7 @@ class NotificationListViewState extends State @override void initState() { - AnalyticsUtils.instance?.setCurrentScreen( + AnalyticsUtil.instance?.setCurrentScreen( 'NotificationListView', 'notification_list_view.dart', ); @@ -69,11 +69,11 @@ class NotificationListViewState extends State '${notification.info.title}\n${notification.link}', sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size, ); - AnalyticsUtils.instance?.logEvent('share_long_click'); + AnalyticsUtil.instance?.logEvent('share_long_click'); }, onTap: () { ApUtils.launchUrl(notification.link); - AnalyticsUtils.instance?.logEvent('notification_link_click'); + AnalyticsUtil.instance?.logEvent('notification_link_click'); }, child: Container( width: double.infinity, @@ -134,7 +134,7 @@ class NotificationListViewState extends State return InkWell( onTap: () { widget.onRefresh.call(); - AnalyticsUtils.instance?.logEvent(AnalyticsConstants.refresh); + AnalyticsUtil.instance?.logEvent(AnalyticsConstants.refresh); }, child: HintContent( icon: ApIcon.assignment, @@ -166,7 +166,7 @@ class NotificationListViewState extends State if (controller!.position.extentAfter < 500) { if (widget.state == NotificationState.finish) { widget.onLoadingMore?.call(); - AnalyticsUtils.instance?.logEvent('notification_load_more'); + AnalyticsUtil.instance?.logEvent('notification_load_more'); } } } diff --git a/packages/ap_common/lib/views/pdf_view.dart b/packages/ap_common/lib/views/pdf_view.dart index 27c016d0..7475b2db 100644 --- a/packages/ap_common/lib/views/pdf_view.dart +++ b/packages/ap_common/lib/views/pdf_view.dart @@ -31,7 +31,7 @@ class PdfView extends StatefulWidget { class _PdfViewState extends State { @override void initState() { - AnalyticsUtils.instance?.setCurrentScreen( + AnalyticsUtil.instance?.setCurrentScreen( 'PdfView', 'pdf_view.dart', ); @@ -60,7 +60,7 @@ class _PdfViewState extends State { children: [ FloatingActionButton( onPressed: () async { - AnalyticsUtils.instance?.logEvent('export_by_share'); + AnalyticsUtil.instance?.logEvent('export_by_share'); await Printing.sharePdf( bytes: widget.data!, filename: '${widget.fileName ?? 'export'}.pdf', @@ -71,7 +71,7 @@ class _PdfViewState extends State { const SizedBox(height: 16.0), FloatingActionButton( onPressed: () async { - AnalyticsUtils.instance?.logEvent('export_by_printing'); + AnalyticsUtil.instance?.logEvent('export_by_printing'); await Printing.layoutPdf( name: widget.fileName ?? 'export', onLayout: (PdfPageFormat format) => widget.data!, diff --git a/packages/ap_common/lib/views/phone_list_view.dart b/packages/ap_common/lib/views/phone_list_view.dart index 192fff56..397d1082 100644 --- a/packages/ap_common/lib/views/phone_list_view.dart +++ b/packages/ap_common/lib/views/phone_list_view.dart @@ -43,7 +43,7 @@ class PhoneListViewState extends State @override void initState() { - AnalyticsUtils.instance?.setCurrentScreen( + AnalyticsUtil.instance?.setCurrentScreen( 'PhoneListView', 'phone_list_view.dart', ); @@ -122,12 +122,12 @@ class PhoneListViewState extends State Widget _phoneItem(PhoneModel phone) { return InkWell( onTap: () { - AnalyticsUtils.instance?.logEvent('call_phone_click'); + AnalyticsUtil.instance?.logEvent('call_phone_click'); try { ApUtils.callPhone(phone.number); - AnalyticsUtils.instance?.logEvent('call_phone_success'); + AnalyticsUtil.instance?.logEvent('call_phone_success'); } catch (e) { - AnalyticsUtils.instance?.logEvent('call_phone_error'); + AnalyticsUtil.instance?.logEvent('call_phone_error'); } }, child: Container( diff --git a/packages/ap_common/lib/widgets/item_picker.dart b/packages/ap_common/lib/widgets/item_picker.dart index 806c6744..50f9cf80 100644 --- a/packages/ap_common/lib/widgets/item_picker.dart +++ b/packages/ap_common/lib/widgets/item_picker.dart @@ -34,7 +34,7 @@ class ItemPicker extends StatelessWidget { ), ); if (featureTag != null) { - AnalyticsUtils.instance?.logEvent('${featureTag}_item_picker_click'); + AnalyticsUtil.instance?.logEvent('${featureTag}_item_picker_click'); } }, child: Padding( diff --git a/packages/ap_common/lib/widgets/setting_page_widgets.dart b/packages/ap_common/lib/widgets/setting_page_widgets.dart index 9da980a1..7b2654ce 100644 --- a/packages/ap_common/lib/widgets/setting_page_widgets.dart +++ b/packages/ap_common/lib/widgets/setting_page_widgets.dart @@ -231,18 +231,18 @@ class ChangeLanguageItem extends StatelessWidget { onChange.call(locale); PreferenceUtil.instance .setString(ApConstants.prefLanguageCode, code); - AnalyticsUtils.instance?.logEvent( + AnalyticsUtil.instance?.logEvent( 'change_language', parameters: {'code': code}, ); - AnalyticsUtils.instance?.setUserProperty( + AnalyticsUtil.instance?.setUserProperty( AnalyticsConstants.language, locale.toLanguageTag(), ); }, ), ); - AnalyticsUtils.instance?.logEvent('language_setting_click'); + AnalyticsUtil.instance?.logEvent('language_setting_click'); }, ); } @@ -282,7 +282,7 @@ class ChangeThemeModeItem extends StatelessWidget { onChange.call(mode); PreferenceUtil.instance .setInt(ApConstants.prefThemeModeIndex, index); - AnalyticsUtils.instance?.logEvent( + AnalyticsUtil.instance?.logEvent( 'change_theme', parameters: { 'code': mode.toString(), @@ -292,7 +292,7 @@ class ChangeThemeModeItem extends StatelessWidget { }, ), ); - AnalyticsUtils.instance?.logEvent('theme_mode_setting_click'); + AnalyticsUtil.instance?.logEvent('theme_mode_setting_click'); }, ); } @@ -329,14 +329,14 @@ class ChangeIconStyleItem extends StatelessWidget { PreferenceUtil.instance .setString(ApConstants.prefIconStyleCode, code); onChange.call(code); - AnalyticsUtils.instance?.logEvent( + AnalyticsUtil.instance?.logEvent( 'change_icon_style', parameters: {'code': code}, ); }, ), ); - AnalyticsUtils.instance?.logEvent('icon_style_setting_click'); + AnalyticsUtil.instance?.logEvent('icon_style_setting_click'); }, ); } diff --git a/packages/ap_common_core/lib/src/utilities/analytics_utils.dart b/packages/ap_common_core/lib/src/utilities/analytics_utils.dart index 21fde358..a575eb79 100644 --- a/packages/ap_common_core/lib/src/utilities/analytics_utils.dart +++ b/packages/ap_common_core/lib/src/utilities/analytics_utils.dart @@ -1,7 +1,7 @@ import 'package:ap_common_core/src/models/user_info.dart'; -abstract class AnalyticsUtils { - static AnalyticsUtils? instance; +abstract class AnalyticsUtil { + static AnalyticsUtil? instance; Future setCurrentScreen(String screenName, String screenClassOverride); diff --git a/packages/ap_common_core/lib/src/utilities/crashlytics_utils.dart b/packages/ap_common_core/lib/src/utilities/crashlytics_utils.dart index 33c1833b..f0d2c91f 100644 --- a/packages/ap_common_core/lib/src/utilities/crashlytics_utils.dart +++ b/packages/ap_common_core/lib/src/utilities/crashlytics_utils.dart @@ -1,5 +1,5 @@ -abstract class CrashlyticsUtils { - static CrashlyticsUtils? instance; +abstract class CrashlyticsUtil { + static CrashlyticsUtil? instance; Future recordError( dynamic exception,