From 44fa2a8c3ec02c49baba3da3881e98b2279234a9 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Sat, 5 Apr 2025 11:05:47 +0800 Subject: [PATCH] mod: tweak for xiaomi Closes #608 Signed-off-by: bggRGjQaUbCoE --- lib/main.dart | 49 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index b2a45b8b..f1240e36 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,6 +4,7 @@ import 'package:PiliPlus/build_config.dart'; import 'package:PiliPlus/pages/video/detail/view_v.dart'; import 'package:PiliPlus/utils/cache_manage.dart'; import 'package:PiliPlus/utils/utils.dart'; +import 'package:device_info_plus/device_info_plus.dart'; import 'package:flex_seed_scheme/flex_seed_scheme.dart'; import 'package:flutter/services.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; @@ -90,11 +91,17 @@ Commit Hash: ${BuildConfig.commitHash}'''; }, ); + bool? isXiaomi; + if (Platform.isAndroid) { + final androidInfo = await DeviceInfoPlugin().androidInfo; + isXiaomi = androidInfo.manufacturer.toLowerCase() == 'xiaomi'; + } + Catcher2( debugConfig: debugConfig, releaseConfig: releaseConfig, runAppFunction: () { - runApp(const MyApp()); + runApp(MyApp(isXiaomi: isXiaomi)); }, ); @@ -111,7 +118,9 @@ Commit Hash: ${BuildConfig.commitHash}'''; } class MyApp extends StatelessWidget { - const MyApp({super.key}); + const MyApp({super.key, this.isXiaomi}); + + final bool? isXiaomi; Box get setting => GStorage.setting; @@ -204,19 +213,31 @@ class MyApp extends StatelessWidget { fallbackLocale: const Locale("zh", "CN"), getPages: Routes.getPages, home: const MainApp(), - builder: FlutterSmartDialog.init( - toastBuilder: (String msg) => CustomToast(msg: msg), - loadingBuilder: (msg) => LoadingWidget(msg: msg), - builder: (context, child) { - return MediaQuery( - data: MediaQuery.of(context) - .copyWith(textScaler: TextScaler.linear(textScale)), - child: child!, - ); - }, - ), + builder: isXiaomi == true + ? (BuildContext context, Widget? child) { + return FlutterSmartDialog( + toastBuilder: (String msg) => CustomToast(msg: msg), + loadingBuilder: (msg) => LoadingWidget(msg: msg), + child: MediaQuery( + data: MediaQuery.of(context) + .copyWith(textScaler: TextScaler.linear(textScale)), + child: child!, + ), + ); + } + : FlutterSmartDialog.init( + toastBuilder: (String msg) => CustomToast(msg: msg), + loadingBuilder: (msg) => LoadingWidget(msg: msg), + builder: (context, child) { + return MediaQuery( + data: MediaQuery.of(context) + .copyWith(textScaler: TextScaler.linear(textScale)), + child: child!, + ); + }, + ), navigatorObservers: [ - FlutterSmartDialog.observer, + if (isXiaomi != true) FlutterSmartDialog.observer, VideoDetailPageV.routeObserver, MainApp.routeObserver, ],