mirror of
https://github.com/revanced/revanced-manager
synced 2024-05-14 13:56:57 +02:00
fix: remove glitchy animations for now
This commit is contained in:
parent
ecc2e5b688
commit
de59641ede
@ -11,6 +11,7 @@ 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_view.dart';
|
||||||
import 'package:revanced_manager/ui/views/root_checker/root_checker_view.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:revanced_manager/ui/views/settings/settings_view.dart';
|
||||||
|
import 'package:revanced_manager/ui/widgets/appInfoView/app_info_view.dart';
|
||||||
import 'package:stacked/stacked_annotations.dart';
|
import 'package:stacked/stacked_annotations.dart';
|
||||||
import 'package:stacked_services/stacked_services.dart';
|
import 'package:stacked_services/stacked_services.dart';
|
||||||
|
|
||||||
@ -24,6 +25,7 @@ import 'package:stacked_services/stacked_services.dart';
|
|||||||
MaterialRoute(page: SettingsView),
|
MaterialRoute(page: SettingsView),
|
||||||
MaterialRoute(page: ContributorsView),
|
MaterialRoute(page: ContributorsView),
|
||||||
MaterialRoute(page: RootCheckerView),
|
MaterialRoute(page: RootCheckerView),
|
||||||
|
MaterialRoute(page: AppInfoView),
|
||||||
],
|
],
|
||||||
dependencies: [
|
dependencies: [
|
||||||
LazySingleton(classType: NavigationViewModel),
|
LazySingleton(classType: NavigationViewModel),
|
||||||
|
@ -8,15 +8,18 @@ import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
|||||||
import 'package:fluttertoast/fluttertoast.dart';
|
import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:injectable/injectable.dart';
|
import 'package:injectable/injectable.dart';
|
||||||
import 'package:revanced_manager/app/app.locator.dart';
|
import 'package:revanced_manager/app/app.locator.dart';
|
||||||
|
import 'package:revanced_manager/app/app.router.dart';
|
||||||
import 'package:revanced_manager/models/patched_application.dart';
|
import 'package:revanced_manager/models/patched_application.dart';
|
||||||
import 'package:revanced_manager/services/manager_api.dart';
|
import 'package:revanced_manager/services/manager_api.dart';
|
||||||
import 'package:revanced_manager/services/patcher_api.dart';
|
import 'package:revanced_manager/services/patcher_api.dart';
|
||||||
import 'package:revanced_manager/ui/views/navigation/navigation_viewmodel.dart';
|
import 'package:revanced_manager/ui/views/navigation/navigation_viewmodel.dart';
|
||||||
import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
|
import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
|
||||||
import 'package:stacked/stacked.dart';
|
import 'package:stacked/stacked.dart';
|
||||||
|
import 'package:stacked_services/stacked_services.dart';
|
||||||
|
|
||||||
@lazySingleton
|
@lazySingleton
|
||||||
class HomeViewModel extends BaseViewModel {
|
class HomeViewModel extends BaseViewModel {
|
||||||
|
final NavigationService _navigationService = locator<NavigationService>();
|
||||||
final ManagerAPI _managerAPI = locator<ManagerAPI>();
|
final ManagerAPI _managerAPI = locator<ManagerAPI>();
|
||||||
final PatcherAPI _patcherAPI = locator<PatcherAPI>();
|
final PatcherAPI _patcherAPI = locator<PatcherAPI>();
|
||||||
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
||||||
@ -36,6 +39,13 @@ class HomeViewModel extends BaseViewModel {
|
|||||||
_managerAPI.reAssessSavedApps().then((_) => _getPatchedApps());
|
_managerAPI.reAssessSavedApps().then((_) => _getPatchedApps());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void navigateToAppInfo(PatchedApplication app) {
|
||||||
|
_navigationService.navigateTo(
|
||||||
|
Routes.appInfoView,
|
||||||
|
arguments: AppInfoViewArguments(app: app),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
void toggleUpdatableApps(bool value) {
|
void toggleUpdatableApps(bool value) {
|
||||||
showUpdatableApps = value;
|
showUpdatableApps = value;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
@ -2,14 +2,10 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_i18n/flutter_i18n.dart';
|
import 'package:flutter_i18n/flutter_i18n.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:revanced_manager/app/app.locator.dart';
|
import 'package:revanced_manager/app/app.locator.dart';
|
||||||
import 'package:revanced_manager/ui/views/app_selector/app_selector_view.dart';
|
|
||||||
import 'package:revanced_manager/ui/views/installer/installer_view.dart';
|
|
||||||
import 'package:revanced_manager/ui/views/patcher/patcher_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/widgets/patcherView/app_selector_card.dart';
|
import 'package:revanced_manager/ui/widgets/patcherView/app_selector_card.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/patcherView/patch_selector_card.dart';
|
import 'package:revanced_manager/ui/widgets/patcherView/patch_selector_card.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/custom_sliver_app_bar.dart';
|
import 'package:revanced_manager/ui/widgets/shared/custom_sliver_app_bar.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/open_container_wrapper.dart';
|
|
||||||
import 'package:stacked/stacked.dart';
|
import 'package:stacked/stacked.dart';
|
||||||
|
|
||||||
class PatcherView extends StatelessWidget {
|
class PatcherView extends StatelessWidget {
|
||||||
@ -23,13 +19,10 @@ class PatcherView extends StatelessWidget {
|
|||||||
builder: (context, model, child) => Scaffold(
|
builder: (context, model, child) => Scaffold(
|
||||||
floatingActionButton: Visibility(
|
floatingActionButton: Visibility(
|
||||||
visible: model.showPatchButton(),
|
visible: model.showPatchButton(),
|
||||||
child: OpenContainerWrapper(
|
child: FloatingActionButton.extended(
|
||||||
openBuilder: (_, __) => const InstallerView(),
|
label: I18nText('patcherView.patchButton'),
|
||||||
closedBuilder: (_, openContainer) => FloatingActionButton.extended(
|
icon: const Icon(Icons.build),
|
||||||
label: I18nText('patcherView.patchButton'),
|
onPressed: () => model.navigateToInstaller(),
|
||||||
icon: const Icon(Icons.build),
|
|
||||||
onPressed: openContainer,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: CustomScrollView(
|
body: CustomScrollView(
|
||||||
@ -50,21 +43,16 @@ class PatcherView extends StatelessWidget {
|
|||||||
sliver: SliverList(
|
sliver: SliverList(
|
||||||
delegate: SliverChildListDelegate.fixed(
|
delegate: SliverChildListDelegate.fixed(
|
||||||
<Widget>[
|
<Widget>[
|
||||||
OpenContainerWrapper(
|
AppSelectorCard(
|
||||||
openBuilder: (_, __) => const AppSelectorView(),
|
onPressed: () => model.navigateToAppSelector(),
|
||||||
closedBuilder: (_, openContainer) => AppSelectorCard(
|
|
||||||
onPressed: openContainer,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
Opacity(
|
Opacity(
|
||||||
opacity: model.dimPatchesCard() ? 0.5 : 1,
|
opacity: model.dimPatchesCard() ? 0.5 : 1,
|
||||||
child: OpenContainerWrapper(
|
child: PatchSelectorCard(
|
||||||
openBuilder: (_, __) => const PatchesSelectorView(),
|
onPressed: model.dimPatchesCard()
|
||||||
closedBuilder: (_, openContainer) => PatchSelectorCard(
|
? () => {}
|
||||||
onPressed:
|
: () => model.navigateToPatchesSelector(),
|
||||||
model.dimPatchesCard() ? () => {} : openContainer,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -1,13 +1,29 @@
|
|||||||
import 'package:injectable/injectable.dart';
|
import 'package:injectable/injectable.dart';
|
||||||
|
import 'package:revanced_manager/app/app.locator.dart';
|
||||||
|
import 'package:revanced_manager/app/app.router.dart';
|
||||||
import 'package:revanced_manager/models/patch.dart';
|
import 'package:revanced_manager/models/patch.dart';
|
||||||
import 'package:revanced_manager/models/patched_application.dart';
|
import 'package:revanced_manager/models/patched_application.dart';
|
||||||
import 'package:stacked/stacked.dart';
|
import 'package:stacked/stacked.dart';
|
||||||
|
import 'package:stacked_services/stacked_services.dart';
|
||||||
|
|
||||||
@lazySingleton
|
@lazySingleton
|
||||||
class PatcherViewModel extends BaseViewModel {
|
class PatcherViewModel extends BaseViewModel {
|
||||||
|
final NavigationService _navigationService = locator<NavigationService>();
|
||||||
PatchedApplication? selectedApp;
|
PatchedApplication? selectedApp;
|
||||||
List<Patch> selectedPatches = [];
|
List<Patch> selectedPatches = [];
|
||||||
|
|
||||||
|
void navigateToAppSelector() {
|
||||||
|
_navigationService.navigateTo(Routes.appSelectorView);
|
||||||
|
}
|
||||||
|
|
||||||
|
void navigateToPatchesSelector() {
|
||||||
|
_navigationService.navigateTo(Routes.patchesSelectorView);
|
||||||
|
}
|
||||||
|
|
||||||
|
void navigateToInstaller() {
|
||||||
|
_navigationService.navigateTo(Routes.installerView);
|
||||||
|
}
|
||||||
|
|
||||||
bool showPatchButton() {
|
bool showPatchButton() {
|
||||||
return selectedPatches.isNotEmpty;
|
return selectedPatches.isNotEmpty;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_i18n/flutter_i18n.dart';
|
import 'package:flutter_i18n/flutter_i18n.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:revanced_manager/ui/views/contributors/contributors_view.dart';
|
|
||||||
import 'package:revanced_manager/ui/views/settings/settings_viewmodel.dart';
|
import 'package:revanced_manager/ui/views/settings/settings_viewmodel.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/settingsView/about_widget.dart';
|
import 'package:revanced_manager/ui/widgets/settingsView/about_widget.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/settingsView/custom_switch_tile.dart';
|
import 'package:revanced_manager/ui/widgets/settingsView/custom_switch_tile.dart';
|
||||||
@ -10,7 +9,6 @@ import 'package:revanced_manager/ui/widgets/settingsView/settings_section.dart';
|
|||||||
import 'package:revanced_manager/ui/widgets/settingsView/social_media_widget.dart';
|
import 'package:revanced_manager/ui/widgets/settingsView/social_media_widget.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/settingsView/sources_widget.dart';
|
import 'package:revanced_manager/ui/widgets/settingsView/sources_widget.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/custom_sliver_app_bar.dart';
|
import 'package:revanced_manager/ui/widgets/shared/custom_sliver_app_bar.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/open_container_wrapper.dart';
|
|
||||||
import 'package:stacked/stacked.dart';
|
import 'package:stacked/stacked.dart';
|
||||||
|
|
||||||
class SettingsView extends StatelessWidget {
|
class SettingsView extends StatelessWidget {
|
||||||
@ -143,23 +141,20 @@ class SettingsView extends StatelessWidget {
|
|||||||
SettingsSection(
|
SettingsSection(
|
||||||
title: 'settingsView.teamSectionTitle',
|
title: 'settingsView.teamSectionTitle',
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
OpenContainerWrapper(
|
ListTile(
|
||||||
openBuilder: (_, __) => const ContributorsView(),
|
contentPadding: EdgeInsets.zero,
|
||||||
closedBuilder: (_, openContainer) => ListTile(
|
title: I18nText(
|
||||||
contentPadding: EdgeInsets.zero,
|
'settingsView.contributorsLabel',
|
||||||
title: I18nText(
|
child: const Text(
|
||||||
'settingsView.contributorsLabel',
|
'',
|
||||||
child: const Text(
|
style: TextStyle(
|
||||||
'',
|
fontSize: 20,
|
||||||
style: TextStyle(
|
fontWeight: FontWeight.w500,
|
||||||
fontSize: 20,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
subtitle: I18nText('settingsView.contributorsHint'),
|
|
||||||
onTap: openContainer,
|
|
||||||
),
|
),
|
||||||
|
subtitle: I18nText('settingsView.contributorsHint'),
|
||||||
|
onTap: () => model.navigateToContributors(),
|
||||||
),
|
),
|
||||||
const SocialMediaWidget(),
|
const SocialMediaWidget(),
|
||||||
],
|
],
|
||||||
|
@ -22,6 +22,10 @@ class SettingsViewModel extends BaseViewModel {
|
|||||||
_navigationService.navigateTo(Routes.rootCheckerView);
|
_navigationService.navigateTo(Routes.rootCheckerView);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void navigateToContributors() {
|
||||||
|
_navigationService.navigateTo(Routes.contributorsView);
|
||||||
|
}
|
||||||
|
|
||||||
Future<void> updateLanguage(BuildContext context, String? value) async {
|
Future<void> updateLanguage(BuildContext context, String? value) async {
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
await FlutterI18n.refresh(context, Locale(value));
|
await FlutterI18n.refresh(context, Locale(value));
|
||||||
|
@ -3,10 +3,8 @@ import 'package:flutter_i18n/flutter_i18n.dart';
|
|||||||
import 'package:revanced_manager/app/app.locator.dart';
|
import 'package:revanced_manager/app/app.locator.dart';
|
||||||
import 'package:revanced_manager/models/patched_application.dart';
|
import 'package:revanced_manager/models/patched_application.dart';
|
||||||
import 'package:revanced_manager/ui/views/home/home_viewmodel.dart';
|
import 'package:revanced_manager/ui/views/home/home_viewmodel.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/appInfoView/app_info_view.dart';
|
|
||||||
import 'package:revanced_manager/ui/widgets/shared/application_item.dart';
|
import 'package:revanced_manager/ui/widgets/shared/application_item.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/custom_card.dart';
|
import 'package:revanced_manager/ui/widgets/shared/custom_card.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/open_container_wrapper.dart';
|
|
||||||
|
|
||||||
class InstalledAppsCard extends StatelessWidget {
|
class InstalledAppsCard extends StatelessWidget {
|
||||||
InstalledAppsCard({Key? key}) : super(key: key);
|
InstalledAppsCard({Key? key}) : super(key: key);
|
||||||
@ -41,16 +39,14 @@ class InstalledAppsCard extends StatelessWidget {
|
|||||||
physics: const NeverScrollableScrollPhysics(),
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
children: apps
|
children: apps
|
||||||
.map(
|
.map(
|
||||||
(app) => OpenContainerWrapper(
|
(app) => ApplicationItem(
|
||||||
openBuilder: (_, __) => AppInfoView(app: app),
|
icon: app.icon,
|
||||||
closedBuilder: (_, openContainer) => ApplicationItem(
|
name: app.name,
|
||||||
icon: app.icon,
|
patchDate: app.patchDate,
|
||||||
name: app.name,
|
changelog: app.changelog,
|
||||||
patchDate: app.patchDate,
|
isUpdatableApp: false,
|
||||||
changelog: app.changelog,
|
onPressed: () =>
|
||||||
isUpdatableApp: false,
|
locator<HomeViewModel>().navigateToAppInfo(app),
|
||||||
onPressed: openContainer,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.toList(),
|
.toList(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user