Skip to content

Commit

Permalink
Clean up device service
Browse files Browse the repository at this point in the history
  • Loading branch information
beastoin committed Sep 26, 2024
1 parent 1b4fd1e commit 2a78ee8
Show file tree
Hide file tree
Showing 19 changed files with 595 additions and 1,579 deletions.
71 changes: 48 additions & 23 deletions app/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import 'package:friend_private/providers/message_provider.dart';
import 'package:friend_private/providers/onboarding_provider.dart';
import 'package:friend_private/providers/plugin_provider.dart';
import 'package:friend_private/providers/speech_profile_provider.dart';
import 'package:friend_private/services/notification_service.dart';
import 'package:friend_private/services/notifications.dart';
import 'package:friend_private/services/services.dart';
import 'package:friend_private/utils/analytics/gleap.dart';
import 'package:friend_private/utils/analytics/growthbook.dart';
Expand All @@ -53,9 +53,11 @@ Future<bool> _init() async {

// Firebase
if (F.env == Environment.prod) {
await Firebase.initializeApp(options: prod.DefaultFirebaseOptions.currentPlatform, name: 'prod');
await Firebase.initializeApp(
options: prod.DefaultFirebaseOptions.currentPlatform, name: 'prod');
} else {
await Firebase.initializeApp(options: dev.DefaultFirebaseOptions.currentPlatform, name: 'dev');
await Firebase.initializeApp(
options: dev.DefaultFirebaseOptions.currentPlatform, name: 'dev');
}

if (Env.intercomAppId != null) {
Expand Down Expand Up @@ -111,7 +113,8 @@ void main() async {
);
}
FlutterError.onError = (FlutterErrorDetails details) {
Zone.current.handleUncaughtError(details.exception, details.stack ?? StackTrace.empty);
Zone.current.handleUncaughtError(
details.exception, details.stack ?? StackTrace.empty);
};
Instabug.setColorTheme(ColorTheme.dark);
runApp(const MyApp());
Expand All @@ -129,10 +132,12 @@ class MyApp extends StatefulWidget {
@override
State<MyApp> createState() => _MyAppState();

static _MyAppState of(BuildContext context) => context.findAncestorStateOfType<_MyAppState>()!;
static _MyAppState of(BuildContext context) =>
context.findAncestorStateOfType<_MyAppState>()!;

// The navigator key is necessary to navigate using static methods
static final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
static final GlobalKey<NavigatorState> navigatorKey =
GlobalKey<NavigatorState>();
}

class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
Expand All @@ -141,6 +146,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
NotificationUtil.initializeNotificationsEventListeners();
NotificationUtil.initializeIsolateReceivePort();
WidgetsBinding.instance.addObserver(this);

super.initState();
}

Expand Down Expand Up @@ -171,31 +177,40 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
update: (BuildContext context, value, MessageProvider? previous) =>
(previous?..updatePluginProvider(value)) ?? MessageProvider(),
),
ChangeNotifierProxyProvider2<MemoryProvider, MessageProvider, CaptureProvider>(
ChangeNotifierProxyProvider2<MemoryProvider, MessageProvider,
CaptureProvider>(
create: (context) => CaptureProvider(),
update: (BuildContext context, memory, message, CaptureProvider? previous) =>
(previous?..updateProviderInstances(memory, message)) ?? CaptureProvider(),
update: (BuildContext context, memory, message,
CaptureProvider? previous) =>
(previous?..updateProviderInstances(memory, message)) ??
CaptureProvider(),
),
ChangeNotifierProxyProvider<CaptureProvider, DeviceProvider>(
create: (context) => DeviceProvider(),
update: (BuildContext context, captureProvider, DeviceProvider? previous) =>
update: (BuildContext context, captureProvider,
DeviceProvider? previous) =>
(previous?..setProviders(captureProvider)) ?? DeviceProvider(),
),
ChangeNotifierProxyProvider<DeviceProvider, OnboardingProvider>(
create: (context) => OnboardingProvider(),
update: (BuildContext context, value, OnboardingProvider? previous) =>
update: (BuildContext context, value,
OnboardingProvider? previous) =>
(previous?..setDeviceProvider(value)) ?? OnboardingProvider(),
),
ListenableProvider(create: (context) => HomeProvider()),
ChangeNotifierProxyProvider<DeviceProvider, SpeechProfileProvider>(
create: (context) => SpeechProfileProvider(),
update: (BuildContext context, device, SpeechProfileProvider? previous) =>
update: (BuildContext context, device,
SpeechProfileProvider? previous) =>
(previous?..setProviders(device)) ?? SpeechProfileProvider(),
),
ChangeNotifierProxyProvider2<PluginProvider, MemoryProvider, MemoryDetailProvider>(
ChangeNotifierProxyProvider2<PluginProvider, MemoryProvider,
MemoryDetailProvider>(
create: (context) => MemoryDetailProvider(),
update: (BuildContext context, plugin, memory, MemoryDetailProvider? previous) =>
(previous?..setProviders(plugin, memory)) ?? MemoryDetailProvider(),
update: (BuildContext context, plugin, memory,
MemoryDetailProvider? previous) =>
(previous?..setProviders(plugin, memory)) ??
MemoryDetailProvider(),
),
ChangeNotifierProvider(create: (context) => CalenderProvider()),
],
Expand Down Expand Up @@ -223,13 +238,20 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
),
snackBarTheme: SnackBarThemeData(
backgroundColor: Colors.grey.shade900,
contentTextStyle: const TextStyle(fontSize: 16, color: Colors.white, fontWeight: FontWeight.w500),
contentTextStyle: const TextStyle(
fontSize: 16,
color: Colors.white,
fontWeight: FontWeight.w500),
),
textTheme: TextTheme(
titleLarge: const TextStyle(fontSize: 18, color: Colors.white),
titleMedium: const TextStyle(fontSize: 16, color: Colors.white),
bodyMedium: const TextStyle(fontSize: 14, color: Colors.white),
labelMedium: TextStyle(fontSize: 12, color: Colors.grey.shade200),
titleLarge:
const TextStyle(fontSize: 18, color: Colors.white),
titleMedium:
const TextStyle(fontSize: 16, color: Colors.white),
bodyMedium:
const TextStyle(fontSize: 14, color: Colors.white),
labelMedium:
TextStyle(fontSize: 12, color: Colors.grey.shade200),
),
textSelectionTheme: const TextSelectionThemeData(
cursorColor: Colors.white,
Expand All @@ -239,11 +261,13 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
builder: (context, child) {
FlutterError.onError = (FlutterErrorDetails details) {
WidgetsBinding.instance.addPostFrameCallback((_) {
Logger.instance.talker.handle(details.exception, details.stack);
Logger.instance.talker
.handle(details.exception, details.stack);
});
};
ErrorWidget.builder = (errorDetails) {
return CustomErrorWidget(errorMessage: errorDetails.exceptionAsString());
return CustomErrorWidget(
errorMessage: errorDetails.exceptionAsString());
};
return child!;
},
Expand Down Expand Up @@ -301,7 +325,8 @@ class _DeciderWidgetState extends State<DeciderWidget> {
Widget build(BuildContext context) {
return Consumer<AuthenticationProvider>(
builder: (context, authProvider, child) {
if (SharedPreferencesUtil().onboardingCompleted && authProvider.user != null) {
if (SharedPreferencesUtil().onboardingCompleted &&
authProvider.user != null) {
return const HomePageWrapper();
} else {
return const OnboardingWrapper();
Expand Down
Loading

0 comments on commit 2a78ee8

Please sign in to comment.