MakerBook/books_viewer/lib/main.dart

65 lines
1.6 KiB
Dart

//import 'package:MakerBook/secure_screen/screenshot_guard.dart';
import 'package:flutter/material.dart';
import 'package:screen_protector/screen_protector.dart';
import 'pages/home_page.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// Android → FLAG_SECURE
// iOS → blur no app switcher + bloqueio de screen recording
await ScreenProtector.preventScreenshotOn();
await ScreenProtector.protectDataLeakageOn();
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) async {
// iOS: protege quando vai para background / app switcher
if (state == AppLifecycleState.paused ||
state == AppLifecycleState.inactive) {
await ScreenProtector.protectDataLeakageOn();
}
// remove blur ao voltar
if (state == AppLifecycleState.resumed) {
await ScreenProtector.protectDataLeakageOff();
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Maker Book',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const HomePage(),
);
}
}