import 'package:flutter/material.dart'; import 'package:flutter_i18n/widgets/I18nText.dart'; import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_manage_keystore_password.dart'; import 'package:revanced_manager/ui/views/settings/settings_viewmodel.dart'; import 'package:revanced_manager/ui/widgets/settingsView/settings_section.dart'; import 'package:revanced_manager/ui/widgets/shared/custom_material_button.dart'; final _settingsViewModel = SettingsViewModel(); class SExportSection extends StatelessWidget { const SExportSection({super.key}); @override Widget build(BuildContext context) { return SettingsSection( title: 'settingsView.exportSectionTitle', children: [ ListTile( contentPadding: const EdgeInsets.symmetric(horizontal: 20.0), title: I18nText( 'settingsView.exportPatchesLabel', child: const Text( '', style: TextStyle( fontSize: 20, fontWeight: FontWeight.w500, ), ), ), subtitle: I18nText('settingsView.exportPatchesHint'), onTap: () => _settingsViewModel.exportPatches(), ), ListTile( contentPadding: const EdgeInsets.symmetric(horizontal: 20.0), title: I18nText( 'settingsView.importPatchesLabel', child: const Text( '', style: TextStyle( fontSize: 20, fontWeight: FontWeight.w500, ), ), ), subtitle: I18nText('settingsView.importPatchesHint'), onTap: () => _settingsViewModel.importPatches(), ), ListTile( contentPadding: const EdgeInsets.symmetric(horizontal: 20.0), title: I18nText( 'settingsView.exportKeystoreLabel', child: const Text( '', style: TextStyle( fontSize: 20, fontWeight: FontWeight.w500, ), ), ), subtitle: I18nText('settingsView.exportKeystoreHint'), onTap: () => _settingsViewModel.exportKeystore(), ), ListTile( contentPadding: const EdgeInsets.symmetric(horizontal: 20.0), title: I18nText( 'settingsView.importKeystoreLabel', child: const Text( '', style: TextStyle( fontSize: 20, fontWeight: FontWeight.w500, ), ), ), subtitle: I18nText('settingsView.importKeystoreHint'), onTap: () async{ await _settingsViewModel.importKeystore(); final sManageKeystorePassword = SManageKeystorePassword(); if(context.mounted){ sManageKeystorePassword.showKeystoreDialog(context); } }, ), ListTile( contentPadding: const EdgeInsets.symmetric(horizontal: 20.0), title: I18nText( 'settingsView.resetStoredPatchesLabel', child: const Text( '', style: TextStyle( fontSize: 20, fontWeight: FontWeight.w500, ), ), ), subtitle: I18nText('settingsView.resetStoredPatchesHint'), onTap: () => _showResetStoredPatchesDialog(context), ), ], ); } Future _showResetStoredPatchesDialog(context) { return showDialog( context: context, builder: (context) => AlertDialog( title: I18nText('settingsView.resetStoredPatchesDialogTitle'), backgroundColor: Theme.of(context).colorScheme.secondaryContainer, content: I18nText( 'settingsView.resetStoredPatchesDialogText', ), actions: [ CustomMaterialButton( isFilled: false, label: I18nText('noButton'), onPressed: () => Navigator.of(context).pop(), ), CustomMaterialButton( label: I18nText('yesButton'), onPressed: () => { Navigator.of(context).pop(), _settingsViewModel.resetSelectedPatches() }, ) ], ), ); } }