feat: root installation (wip)

This commit is contained in:
Alberto Ponces
2022-08-14 19:40:34 +01:00
parent 6061d900ed
commit 9ce0f81a89
16 changed files with 231 additions and 69 deletions

View File

@ -1,8 +1,10 @@
import 'package:revanced_manager/main.dart';
import 'package:revanced_manager/services/manager_api.dart';
import 'package:revanced_manager/services/patcher_api.dart';
import 'package:revanced_manager/services/root_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';
@ -16,7 +18,7 @@ import 'package:stacked_themes/stacked_themes.dart';
@StackedApp(
routes: [
MaterialRoute(page: HomeView),
MaterialRoute(page: Navigation),
MaterialRoute(page: AppSelectorView),
MaterialRoute(page: PatchesSelectorView),
MaterialRoute(page: InstallerView),
@ -27,12 +29,16 @@ import 'package:stacked_themes/stacked_themes.dart';
dependencies: [
LazySingleton(classType: NavigationService),
LazySingleton(classType: PatcherAPI),
LazySingleton(classType: ManagerAPI),
LazySingleton(classType: RootAPI),
LazySingleton(classType: PatcherViewModel),
LazySingleton(classType: AppSelectorViewModel),
LazySingleton(classType: PatchesSelectorViewModel),
LazySingleton(classType: InstallerViewModel),
LazySingleton(
classType: ThemeService, resolveUsing: ThemeService.getInstance),
classType: ThemeService,
resolveUsing: ThemeService.getInstance,
),
],
)
class AppSetup {}

View File

@ -4,13 +4,15 @@
// StackedLocatorGenerator
// **************************************************************************
// ignore_for_file: public_member_api_docs
// ignore_for_file: public_member_api_docs, depend_on_referenced_packages
import 'package:stacked_core/stacked_core.dart';
import 'package:stacked_services/stacked_services.dart';
import 'package:stacked_themes/stacked_themes.dart';
import '../services/manager_api.dart';
import '../services/patcher_api.dart';
import '../services/root_api.dart';
import '../ui/views/app_selector/app_selector_viewmodel.dart';
import '../ui/views/installer/installer_viewmodel.dart';
import '../ui/views/patcher/patcher_viewmodel.dart';
@ -27,6 +29,8 @@ Future<void> setupLocator(
// Register dependencies
locator.registerLazySingleton(() => NavigationService());
locator.registerLazySingleton(() => PatcherAPI());
locator.registerLazySingleton(() => ManagerAPI());
locator.registerLazySingleton(() => RootAPI());
locator.registerLazySingleton(() => PatcherViewModel());
locator.registerLazySingleton(() => AppSelectorViewModel());
locator.registerLazySingleton(() => PatchesSelectorViewModel());

View File

@ -10,16 +10,16 @@ import 'package:flutter/material.dart';
import 'package:stacked/stacked.dart';
import 'package:stacked_services/stacked_services.dart';
import '../main.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 navigation = '/Navigation';
static const String appSelectorView = '/app-selector-view';
static const String patchesSelectorView = '/patches-selector-view';
static const String installerView = '/installer-view';
@ -27,7 +27,7 @@ class Routes {
static const String contributorsView = '/contributors-view';
static const String rootCheckerView = '/root-checker-view';
static const all = <String>{
homeView,
navigation,
appSelectorView,
patchesSelectorView,
installerView,
@ -41,7 +41,7 @@ class StackedRouter extends RouterBase {
@override
List<RouteDef> get routes => _routes;
final _routes = <RouteDef>[
RouteDef(Routes.homeView, page: HomeView),
RouteDef(Routes.navigation, page: Navigation),
RouteDef(Routes.appSelectorView, page: AppSelectorView),
RouteDef(Routes.patchesSelectorView, page: PatchesSelectorView),
RouteDef(Routes.installerView, page: InstallerView),
@ -52,9 +52,9 @@ class StackedRouter extends RouterBase {
@override
Map<Type, StackedRouteFactory> get pagesMap => _pagesMap;
final _pagesMap = <Type, StackedRouteFactory>{
HomeView: (data) {
Navigation: (data) {
return MaterialPageRoute<dynamic>(
builder: (context) => const HomeView(),
builder: (context) => const Navigation(),
settings: data,
);
},
@ -115,7 +115,7 @@ class InstallerViewArguments {
/// *************************************************************************
extension NavigatorStateExtension on NavigationService {
Future<dynamic> navigateToHomeView({
Future<dynamic> navigateToNavigation({
int? routerId,
bool preventDuplicates = true,
Map<String, String>? parameters,
@ -123,7 +123,7 @@ extension NavigatorStateExtension on NavigationService {
transition,
}) async {
return navigateTo(
Routes.homeView,
Routes.navigation,
id: routerId,
preventDuplicates: preventDuplicates,
parameters: parameters,