revanced-manager/lib/ui/views/root_checker/root_checker_viewmodel.dart

28 lines
872 B
Dart
Raw Normal View History

2022-08-14 19:33:01 +05:30
import 'package:revanced_manager/app/app.locator.dart';
import 'package:revanced_manager/app/app.router.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:stacked/stacked.dart';
import 'package:root/root.dart';
import 'package:stacked_services/stacked_services.dart';
class RootCheckerViewModel extends BaseViewModel {
2022-08-18 15:33:33 +01:00
final NavigationService _navigationService = locator<NavigationService>();
bool isRooted = false;
2022-08-14 19:33:01 +05:30
Future<void> checkRoot() async {
2022-08-18 15:33:33 +01:00
bool? res = await Root.isRooted();
isRooted = res != null && res == true;
if (isRooted) {
2022-08-14 19:40:34 +01:00
navigateToHome();
}
2022-08-14 19:33:01 +05:30
notifyListeners();
}
Future<void> navigateToHome() async {
final prefs = await SharedPreferences.getInstance();
2022-08-18 15:33:33 +01:00
prefs.setBool('isRooted', isRooted);
2022-08-14 19:40:34 +01:00
_navigationService.navigateTo(Routes.navigation);
2022-08-14 19:33:01 +05:30
notifyListeners();
}
}