Merge branch 'flutter' of https://github.com/revanced/revanced-manager into flutter

This commit is contained in:
Aunali321
2022-09-12 18:23:39 +05:30
22 changed files with 580 additions and 371 deletions

View File

@ -60,13 +60,14 @@ class InstallerView extends StatelessWidget {
preferredSize: const Size(double.infinity, 1.0),
child: LinearProgressIndicator(
color: Theme.of(context).colorScheme.primary,
backgroundColor: Theme.of(context).colorScheme.secondary,
backgroundColor:
Theme.of(context).colorScheme.primaryContainer,
value: model.progress,
),
),
),
SliverPadding(
padding: const EdgeInsets.all(20.0),
padding: const EdgeInsets.all(20.0).copyWith(bottom: 20.0),
sliver: SliverList(
delegate: SliverChildListDelegate.fixed(
<Widget>[
@ -79,61 +80,64 @@ class InstallerView extends StatelessWidget {
),
),
),
Padding(
padding: const EdgeInsets.symmetric(
vertical: 16,
horizontal: 0,
),
child: Visibility(
visible: !model.isPatching,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Visibility(
visible: model.isInstalled,
child: CustomMaterialButton(
label: I18nText('installerView.openButton'),
isExpanded: true,
onPressed: () {
model.openApp();
model.cleanPatcher();
Navigator.of(context).pop();
},
),
),
Visibility(
visible: !model.isInstalled,
child: CustomMaterialButton(
isFilled: false,
label: I18nText(
'installerView.installRootButton'),
isExpanded: true,
onPressed: () => model.installResult(true),
),
),
Visibility(
visible: !model.isInstalled,
child: const SizedBox(
width: 16,
),
),
Visibility(
visible: !model.isInstalled,
child: CustomMaterialButton(
label:
I18nText('installerView.installButton'),
isExpanded: true,
onPressed: () => model.installResult(false),
),
),
],
),
),
),
],
),
),
),
SliverFillRemaining(
hasScrollBody: false,
child: Align(
alignment: Alignment.bottomCenter,
child: Visibility(
visible: !model.isPatching,
child: Padding(
padding: const EdgeInsets.all(20.0).copyWith(top: 0.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Visibility(
visible: model.isInstalled,
child: CustomMaterialButton(
label: I18nText('installerView.openButton'),
isExpanded: true,
onPressed: () {
model.openApp();
model.cleanPatcher();
Navigator.of(context).pop();
},
),
),
Visibility(
visible: !model.isInstalled,
child: CustomMaterialButton(
isFilled: false,
label:
I18nText('installerView.installRootButton'),
isExpanded: true,
onPressed: () => model.installResult(true),
),
),
Visibility(
visible: !model.isInstalled,
child: const SizedBox(
width: 16,
),
),
Visibility(
visible: !model.isInstalled,
child: CustomMaterialButton(
label: I18nText('installerView.installButton'),
isExpanded: true,
onPressed: () => model.installResult(false),
),
),
],
),
),
),
),
),
],
),
),

View File

@ -10,6 +10,7 @@ import 'package:revanced_manager/services/manager_api.dart';
import 'package:revanced_manager/services/patcher_api.dart';
import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
import 'package:stacked/stacked.dart';
import 'package:wakelock/wakelock.dart';
class InstallerViewModel extends BaseViewModel {
final ManagerAPI _managerAPI = locator<ManagerAPI>();
@ -46,10 +47,12 @@ class InstallerViewModel extends BaseViewModel {
),
);
await FlutterBackground.enableBackgroundExecution();
} finally {
await handlePlatformChannelMethods();
await runPatcher();
await Wakelock.enable();
} on Exception {
// ignore
}
await handlePlatformChannelMethods();
await runPatcher();
}
Future<dynamic> handlePlatformChannelMethods() async {
@ -119,9 +122,11 @@ class InstallerViewModel extends BaseViewModel {
}
try {
await FlutterBackground.disableBackgroundExecution();
} finally {
isPatching = false;
await Wakelock.disable();
} on Exception {
// ignore
}
isPatching = false;
}
void installResult(bool installAsRoot) async {