feat: Root checker screen.

This commit is contained in:
Aunali321
2022-08-14 19:33:01 +05:30
parent f3383393ef
commit 6061d900ed
10 changed files with 236 additions and 3 deletions

View File

@ -2,11 +2,13 @@ import 'package:revanced_manager/services/patcher_api.dart';
import 'package:revanced_manager/ui/views/app_selector/app_selector_view.dart';
import 'package:revanced_manager/ui/views/app_selector/app_selector_viewmodel.dart';
import 'package:revanced_manager/ui/views/contributors/contributors_view.dart';
import 'package:revanced_manager/ui/views/home/home_view.dart';
import 'package:revanced_manager/ui/views/installer/installer_view.dart';
import 'package:revanced_manager/ui/views/installer/installer_viewmodel.dart';
import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
import 'package:revanced_manager/ui/views/patches_selector/patches_selector_view.dart';
import 'package:revanced_manager/ui/views/patches_selector/patches_selector_viewmodel.dart';
import 'package:revanced_manager/ui/views/root_checker/root_checker_view.dart';
import 'package:revanced_manager/ui/views/settings/settings_view.dart';
import 'package:stacked/stacked_annotations.dart';
import 'package:stacked_services/stacked_services.dart';
@ -14,11 +16,13 @@ import 'package:stacked_themes/stacked_themes.dart';
@StackedApp(
routes: [
MaterialRoute(page: HomeView),
MaterialRoute(page: AppSelectorView),
MaterialRoute(page: PatchesSelectorView),
MaterialRoute(page: InstallerView),
MaterialRoute(page: SettingsView),
MaterialRoute(page: ContributorsView)
MaterialRoute(page: ContributorsView),
MaterialRoute(page: RootCheckerView),
],
dependencies: [
LazySingleton(classType: NavigationService),

View File

@ -4,7 +4,7 @@
// StackedLocatorGenerator
// **************************************************************************
// ignore_for_file: public_member_api_docs, depend_on_referenced_packages
// ignore_for_file: public_member_api_docs
import 'package:stacked_core/stacked_core.dart';
import 'package:stacked_services/stacked_services.dart';

View File

@ -12,22 +12,28 @@ import 'package:stacked_services/stacked_services.dart';
import '../ui/views/app_selector/app_selector_view.dart';
import '../ui/views/contributors/contributors_view.dart';
import '../ui/views/home/home_view.dart';
import '../ui/views/installer/installer_view.dart';
import '../ui/views/patches_selector/patches_selector_view.dart';
import '../ui/views/root_checker/root_checker_view.dart';
import '../ui/views/settings/settings_view.dart';
class Routes {
static const String homeView = '/home-view';
static const String appSelectorView = '/app-selector-view';
static const String patchesSelectorView = '/patches-selector-view';
static const String installerView = '/installer-view';
static const String settingsView = '/settings-view';
static const String contributorsView = '/contributors-view';
static const String rootCheckerView = '/root-checker-view';
static const all = <String>{
homeView,
appSelectorView,
patchesSelectorView,
installerView,
settingsView,
contributorsView,
rootCheckerView,
};
}
@ -35,15 +41,23 @@ class StackedRouter extends RouterBase {
@override
List<RouteDef> get routes => _routes;
final _routes = <RouteDef>[
RouteDef(Routes.homeView, page: HomeView),
RouteDef(Routes.appSelectorView, page: AppSelectorView),
RouteDef(Routes.patchesSelectorView, page: PatchesSelectorView),
RouteDef(Routes.installerView, page: InstallerView),
RouteDef(Routes.settingsView, page: SettingsView),
RouteDef(Routes.contributorsView, page: ContributorsView),
RouteDef(Routes.rootCheckerView, page: RootCheckerView),
];
@override
Map<Type, StackedRouteFactory> get pagesMap => _pagesMap;
final _pagesMap = <Type, StackedRouteFactory>{
HomeView: (data) {
return MaterialPageRoute<dynamic>(
builder: (context) => const HomeView(),
settings: data,
);
},
AppSelectorView: (data) {
return MaterialPageRoute<dynamic>(
builder: (context) => const AppSelectorView(),
@ -77,6 +91,12 @@ class StackedRouter extends RouterBase {
settings: data,
);
},
RootCheckerView: (data) {
return MaterialPageRoute<dynamic>(
builder: (context) => const RootCheckerView(),
settings: data,
);
},
};
}
@ -95,6 +115,22 @@ class InstallerViewArguments {
/// *************************************************************************
extension NavigatorStateExtension on NavigationService {
Future<dynamic> navigateToHomeView({
int? routerId,
bool preventDuplicates = true,
Map<String, String>? parameters,
Widget Function(BuildContext, Animation<double>, Animation<double>, Widget)?
transition,
}) async {
return navigateTo(
Routes.homeView,
id: routerId,
preventDuplicates: preventDuplicates,
parameters: parameters,
transition: transition,
);
}
Future<dynamic> navigateToAppSelectorView({
int? routerId,
bool preventDuplicates = true,
@ -176,4 +212,20 @@ extension NavigatorStateExtension on NavigationService {
transition: transition,
);
}
Future<dynamic> navigateToRootCheckerView({
int? routerId,
bool preventDuplicates = true,
Map<String, String>? parameters,
Widget Function(BuildContext, Animation<double>, Animation<double>, Widget)?
transition,
}) async {
return navigateTo(
Routes.rootCheckerView,
id: routerId,
preventDuplicates: preventDuplicates,
parameters: parameters,
transition: transition,
);
}
}