diff --git a/lib/ui/views/installer/installer_view.dart b/lib/ui/views/installer/installer_view.dart index 4d16b750..76ec0395 100644 --- a/lib/ui/views/installer/installer_view.dart +++ b/lib/ui/views/installer/installer_view.dart @@ -25,114 +25,114 @@ class InstallerView extends StatelessWidget { model.onPopAttempt(context); } }, - child: SafeArea( - top: false, - bottom: model.isPatching, - child: Scaffold( - floatingActionButton: Visibility( - visible: - !model.isPatching && !model.hasErrors && !model.isInstalling, - child: HapticFloatingActionButtonExtended( - label: Text( - model.isInstalled - ? t.installerView.openButton - : t.installerView.installButton, - ), - icon: model.isInstalled - ? const Icon(Icons.open_in_new) - : const Icon(Icons.file_download_outlined), - onPressed: model.isInstalled - ? () => { - model.openApp(), - model.cleanPatcher(), - Navigator.of(context).pop(), - } - : () => model.installTypeDialog(context), - elevation: 0, + child: Scaffold( + floatingActionButton: Visibility( + visible: + !model.isPatching && !model.hasErrors && !model.isInstalling, + child: HapticFloatingActionButtonExtended( + label: Text( + model.isInstalled + ? t.installerView.openButton + : t.installerView.installButton, ), + icon: model.isInstalled + ? const Icon(Icons.open_in_new) + : const Icon(Icons.file_download_outlined), + onPressed: model.isInstalled + ? () => { + model.openApp(), + model.cleanPatcher(), + Navigator.of(context).pop(), + } + : () => model.installTypeDialog(context), + elevation: 0, ), - floatingActionButtonLocation: - FloatingActionButtonLocation.endContained, - bottomNavigationBar: Visibility( - visible: !model.isPatching, - child: BottomAppBar( - child: Row( - children: [ - Visibility( - visible: !model.hasErrors, - child: IconButton.filledTonal( - tooltip: t.installerView.exportApkButtonTooltip, - icon: const Icon(Icons.save), - onPressed: () => model.onButtonPressed(0), - ), - ), - IconButton.filledTonal( - tooltip: t.installerView.exportLogButtonTooltip, - icon: const Icon(Icons.post_add), - onPressed: () => model.onButtonPressed(1), - ), - ], - ), - ), - ), - body: NotificationListener( - onNotification: model.handleAutoScrollNotification, - child: Stack( - children: [ - CustomScrollView( - key: model.logCustomScrollKey, - controller: model.scrollController, - slivers: [ - CustomSliverAppBar( - title: Text( - model.headerLogs, - style: GoogleFonts.inter( - color: - Theme.of(context).textTheme.titleLarge!.color, - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - onBackButtonPressed: () => Navigator.maybePop(context), - bottom: PreferredSize( - preferredSize: const Size(double.infinity, 1.0), - child: GradientProgressIndicator( - progress: model.progress, - ), - ), - ), - SliverPadding( - padding: const EdgeInsets.all(20.0), - sliver: SliverList( - delegate: SliverChildListDelegate.fixed( - [ - CustomCard( - child: Text( - model.logs, - style: GoogleFonts.jetBrainsMono( - fontSize: 13, - height: 1.5, - ), - ), - ), - ], - ), - ), - ), - ], - ), + ), + floatingActionButtonLocation: + FloatingActionButtonLocation.endContained, + bottomNavigationBar: Visibility( + visible: !model.isPatching, + child: BottomAppBar( + child: Row( + children: [ Visibility( - visible: model.showAutoScrollButton, - child: Align( - alignment: const Alignment(0.9, 0.97), - child: FloatingActionButton( - onPressed: model.scrollToBottom, - child: const Icon(Icons.arrow_downward_rounded), + visible: !model.hasErrors, + child: IconButton.filledTonal( + tooltip: t.installerView.exportApkButtonTooltip, + icon: const Icon(Icons.save), + onPressed: () => model.onButtonPressed(0), + ), + ), + IconButton.filledTonal( + tooltip: t.installerView.exportLogButtonTooltip, + icon: const Icon(Icons.post_add), + onPressed: () => model.onButtonPressed(1), + ), + ], + ), + ), + ), + body: NotificationListener( + onNotification: model.handleAutoScrollNotification, + child: Scaffold( + body: CustomScrollView( + key: model.logCustomScrollKey, + controller: model.scrollController, + slivers: [ + CustomSliverAppBar( + title: Text( + model.headerLogs, + style: GoogleFonts.inter( + color: Theme.of(context).textTheme.titleLarge!.color, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + onBackButtonPressed: () => Navigator.maybePop(context), + bottom: PreferredSize( + preferredSize: const Size(double.infinity, 1.0), + child: GradientProgressIndicator( + progress: model.progress, + ), + ), + ), + SliverPadding( + padding: EdgeInsets.only( + left: 20, + right: 20, + top: 20, + bottom: MediaQuery.paddingOf(context).bottom, + ), + sliver: SliverList( + delegate: SliverChildListDelegate.fixed( + [ + CustomCard( + child: Text( + model.logs, + style: GoogleFonts.jetBrainsMono( + fontSize: 13, + height: 1.5, + ), + ), + ), + ], ), ), ), ], ), + floatingActionButtonLocation: + FloatingActionButtonLocation.endDocked, + floatingActionButton: Visibility( + visible: model.showAutoScrollButton, + child: Align( + alignment: const Alignment(1, 0.85), + child: FloatingActionButton( + onPressed: model.scrollToBottom, + child: const Icon(Icons.arrow_downward_rounded), + ), + ), + ), ), ), ), diff --git a/lib/ui/views/navigation/navigation_viewmodel.dart b/lib/ui/views/navigation/navigation_viewmodel.dart index 50b7697a..e22c59b6 100644 --- a/lib/ui/views/navigation/navigation_viewmodel.dart +++ b/lib/ui/views/navigation/navigation_viewmodel.dart @@ -49,12 +49,8 @@ class NavigationViewModel extends IndexTrackingViewModel { SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); SystemChrome.setSystemUIOverlayStyle( - SystemUiOverlayStyle( + const SystemUiOverlayStyle( systemNavigationBarColor: Colors.transparent, - systemNavigationBarIconBrightness: - DynamicTheme.of(context)!.theme.brightness == Brightness.light - ? Brightness.dark - : Brightness.light, ), ); }