Untitled

 avatar
unknown
plain_text
4 months ago
2.0 kB
4
Indexable
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:trl_audio/constants/app_constants.dart';
import 'package:trl_audio/constants/colors.dart';
import 'package:trl_audio/constants/data_constants.dart';
import 'package:trl_audio/di.dart';
import 'package:trl_audio/features/onboard/splash_screen.dart';
import 'package:trl_audio/global_view_model.dart';
import 'package:trl_audio/services/lifecycle_observer.dart';
import 'package:trl_audio/services/storage_service.dart';
import 'package:trl_audio/themes/light_theme.dart';
import 'package:trl_audio/utils/keys.dart';

class TrlAudiobookApp extends StatefulWidget {
  @override
  State<TrlAudiobookApp> createState() => _TrlAudiobookAppState();
}

class _TrlAudiobookAppState extends State<TrlAudiobookApp> with WidgetsBindingObserver {
  final _observer = LifecycleObserver();

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(_observer);
    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
      Provider.of<GlobalViewModel>(context, listen: false).initViewModel();
    });
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(_observer);
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    var userId = sl<StorageService>().user?.id;
    var customerId = userId == null || userId == DEFAULT_ID ? 'Unauthorized Customer' : userId;

    if (kReleaseMode) {
      FirebaseCrashlytics.instance.setUserIdentifier('Customer Id: $customerId');
    } else {
      debugPrint('User Identifier: Customer Id: $customerId');
    }

    return MaterialApp(
      color: primary,
      title: APP_NAME,
      theme: lightThemeData,
      navigatorKey: navigatorKey,
      home: SplashScreen(),
      themeMode: ThemeMode.light,
      debugShowCheckedModeBanner: false,
      scaffoldMessengerKey: scaffoldMessengerKey,
    );
  }
}
Editor is loading...
Leave a Comment