diff --git a/app/lib/pages/capture/page.dart b/app/lib/pages/capture/page.dart index 3ab055134f..4f15240cdc 100644 --- a/app/lib/pages/capture/page.dart +++ b/app/lib/pages/capture/page.dart @@ -13,6 +13,7 @@ import 'package:friend_private/pages/capture/widgets/widgets.dart'; import 'package:friend_private/providers/capture_provider.dart'; import 'package:friend_private/providers/device_provider.dart'; import 'package:friend_private/providers/onboarding_provider.dart'; +import 'package:friend_private/utils/analytics/mixpanel.dart'; import 'package:friend_private/utils/audio/wav_bytes.dart'; import 'package:friend_private/utils/ble/communication.dart'; import 'package:friend_private/utils/connectivity_controller.dart'; @@ -173,6 +174,7 @@ class CapturePageState extends State with AutomaticKeepAliveClientM } else { PermissionStatus permissionGranted = await locationService.requestPermission(); SharedPreferencesUtil().locationEnabled = permissionGranted == PermissionStatus.granted; + MixpanelManager().setUserProperty('Location Enabled', SharedPreferencesUtil().locationEnabled); if (permissionGranted == PermissionStatus.denied) { debugPrint('Location permission not granted'); } else if (permissionGranted == PermissionStatus.deniedForever) { diff --git a/app/lib/pages/home/page.dart b/app/lib/pages/home/page.dart index 7a460cd323..1b93c04177 100644 --- a/app/lib/pages/home/page.dart +++ b/app/lib/pages/home/page.dart @@ -29,6 +29,7 @@ import 'package:friend_private/utils/other/temp.dart'; import 'package:friend_private/widgets/upgrade_alert.dart'; import 'package:gradient_borders/gradient_borders.dart'; import 'package:instabug_flutter/instabug_flutter.dart'; +import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; import 'package:upgrader/upgrader.dart'; @@ -45,6 +46,14 @@ class _HomePageWrapperState extends State { @override void initState() { WidgetsBinding.instance.addPostFrameCallback((_) async { + if (SharedPreferencesUtil().notificationsEnabled != await Permission.notification.isGranted) { + SharedPreferencesUtil().notificationsEnabled = await Permission.notification.isGranted; + MixpanelManager().setUserProperty('Notifications Enabled', SharedPreferencesUtil().notificationsEnabled); + } + if (SharedPreferencesUtil().locationEnabled != await Permission.location.isGranted) { + SharedPreferencesUtil().locationEnabled = await Permission.location.isGranted; + MixpanelManager().setUserProperty('Location Enabled', SharedPreferencesUtil().locationEnabled); + } context.read().periodicConnect('coming from HomePageWrapper'); await context.read().getInitialMemories(); }); diff --git a/app/lib/providers/onboarding_provider.dart b/app/lib/providers/onboarding_provider.dart index fc08dc5ccc..871f03fed3 100644 --- a/app/lib/providers/onboarding_provider.dart +++ b/app/lib/providers/onboarding_provider.dart @@ -11,6 +11,7 @@ import 'package:friend_private/backend/schema/bt_device.dart'; import 'package:friend_private/providers/base_provider.dart'; import 'package:friend_private/providers/device_provider.dart'; import 'package:friend_private/services/notification_service.dart'; +import 'package:friend_private/utils/analytics/mixpanel.dart'; import 'package:friend_private/utils/ble/connect.dart'; import 'package:friend_private/utils/ble/connected.dart'; import 'package:friend_private/utils/ble/find.dart'; @@ -53,12 +54,14 @@ class OnboardingProvider extends BaseProvider with MessageNotifierMixin { void updateLocationPermission(bool value) { hasLocationPermission = value; SharedPreferencesUtil().locationEnabled = value; + MixpanelManager().setUserProperty('Location Enabled', SharedPreferencesUtil().locationEnabled); notifyListeners(); } void updateNotificationPermission(bool value) { hasNotificationPermission = value; SharedPreferencesUtil().notificationsEnabled = value; + MixpanelManager().setUserProperty('Notifications Enabled', SharedPreferencesUtil().notificationsEnabled); notifyListeners(); }