mirror of
https://github.com/ReVanced/revanced-manager.git
synced 2026-01-30 06:11:05 +00:00
Compare commits
8 Commits
v1.21.0-de
...
v1.21.0-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65feb34242 | ||
|
|
23690a98df | ||
|
|
7449d4e318 | ||
|
|
c6f9e36f4b | ||
|
|
e9cee0abe2 | ||
|
|
9440f23b55 | ||
|
|
c67b4b438c | ||
|
|
1bdb820aed |
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -39,7 +39,7 @@ jobs:
|
||||
flutter-version: 3.22.x
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
run: npm ci
|
||||
|
||||
- name: Get dependencies
|
||||
run: flutter pub get
|
||||
|
||||
@@ -80,7 +80,7 @@ Some of the features ReVanced Manager provides are:
|
||||
|
||||
## 🔽 Download
|
||||
|
||||
You can download the most recent version of ReVanced Manager at [revanced.app/download](https://revanced.app/download) or from [GitHub releases](https://github.com/ReVanced/revanced-manager/releases).
|
||||
You can download the most recent version of ReVanced Manager at [revanced.app/download](https://revanced.app/download) or from [GitHub releases](https://github.com/ReVanced/revanced-manager/releases/latest).
|
||||
Learn how to use ReVanced Manager by following the [documentation](/docs).
|
||||
|
||||
## 📚 Everything else
|
||||
|
||||
@@ -24,7 +24,6 @@ if (flutterVersionName == null) {
|
||||
|
||||
android {
|
||||
compileSdk 34
|
||||
ndkVersion flutter.ndkVersion
|
||||
|
||||
compileOptions {
|
||||
coreLibraryDesugaringEnabled true
|
||||
|
||||
@@ -4,14 +4,10 @@
|
||||
"dismissButton": "Dismiss",
|
||||
"quitButton": "Quit",
|
||||
"updateButton": "Update",
|
||||
"enabledLabel": "Enabled",
|
||||
"disabledLabel": "Disabled",
|
||||
"installed": "Installed: ${version}",
|
||||
"suggested": "Suggested: ${version}",
|
||||
"yesButton": "Yes",
|
||||
"noButton": "No",
|
||||
"warning": "Warning",
|
||||
"options": "Options",
|
||||
"notice": "Notice",
|
||||
"noShowAgain": "Don't show this again",
|
||||
"add": "Add",
|
||||
@@ -30,8 +26,6 @@
|
||||
"lastPatchedAppSubtitle": "Last patched app",
|
||||
"patchedSubtitle": "Installed apps",
|
||||
"changeLaterSubtitle": "You can change this in the settings at a later time.",
|
||||
"noUpdates": "No updates available",
|
||||
"WIP": "Work in progress...",
|
||||
"noSavedAppFound": "No app found",
|
||||
"noInstallations": "No patched apps installed",
|
||||
"installUpdate": "Continue to install the update?",
|
||||
@@ -43,27 +37,19 @@
|
||||
"downloadConsentDialogTitle": "Download necessary files?",
|
||||
"downloadConsentDialogText": "ReVanced Manager needs to download necessary files to work properly.",
|
||||
"downloadConsentDialogText2": "This will connect you to ${url}.",
|
||||
"checkUpdateDialogTitle": "Check for updates?",
|
||||
"checkUpdateDialogText": "Do you want ReVanced Manager to check for updates automatically?",
|
||||
"notificationTitle": "Update downloaded",
|
||||
"notificationText": "Tap to install the update",
|
||||
"downloadingMessage": "Downloading update...",
|
||||
"downloadedMessage": "Update downloaded",
|
||||
"installingMessage": "Installing update...",
|
||||
"errorDownloadMessage": "Unable to download update",
|
||||
"errorInstallMessage": "Unable to install update",
|
||||
"noConnection": "No internet connection",
|
||||
"updatesDisabled": "Updating a patched app is currently disabled. Repatch the app again."
|
||||
"noConnection": "No internet connection"
|
||||
},
|
||||
"applicationItem": {
|
||||
"infoButton": "Info"
|
||||
},
|
||||
"latestCommitCard": {
|
||||
"loadingLabel": "Loading...",
|
||||
"timeagoLabel": "${time} ago",
|
||||
"patcherLabel": "Patcher: ",
|
||||
"managerLabel": "Manager: ",
|
||||
"updateButton": "Update Manager"
|
||||
"timeagoLabel": "${time} ago"
|
||||
},
|
||||
"patcherView": {
|
||||
"widgetTitle": "Patcher",
|
||||
@@ -77,8 +63,6 @@
|
||||
"widgetTitleSelected": "Selected app",
|
||||
"widgetSubtitle": "No app selected",
|
||||
"noAppsLabel": "No applications found",
|
||||
"currentVersion": "Current",
|
||||
"suggestedVersion": "Suggested",
|
||||
"anyVersion": "Any version"
|
||||
},
|
||||
"patchSelectorCard": {
|
||||
@@ -122,15 +106,12 @@
|
||||
"customValue": "Custom value",
|
||||
"setToNull": "Set to null",
|
||||
"nullValue": "This option value is currently null",
|
||||
"resetOptionsTooltip": "Reset patch options",
|
||||
"viewTitle": "Patch options",
|
||||
"saveOptions": "Save",
|
||||
"addOptions": "Add options",
|
||||
"unselectPatch": "Unselect patch",
|
||||
"tooltip": "More input options",
|
||||
"selectFilePath": "Select file path",
|
||||
"selectFolder": "Select folder",
|
||||
"selectOption": "Select option",
|
||||
"requiredOption": "Setting this option is required",
|
||||
"unsupportedOption": "This option is not supported",
|
||||
"requiredOptionNull": "The following options have to be set:\n\n${options}"
|
||||
@@ -143,7 +124,6 @@
|
||||
"patchesChangeWarningDialogButton": "Use default selection"
|
||||
},
|
||||
"installerView": {
|
||||
"widgetTitle": "Installer",
|
||||
"installType": "Select install type",
|
||||
"installTypeDescription": "Select the installation type to continue with.",
|
||||
"installButton": "Install",
|
||||
@@ -152,7 +132,6 @@
|
||||
"warning": "Disable auto updates for the patched app to avoid unexpected issues.",
|
||||
"pressBackAgain": "Press back again to cancel",
|
||||
"openButton": "Open",
|
||||
"shareButton": "Share file",
|
||||
"notificationTitle": "ReVanced Manager is patching",
|
||||
"notificationText": "Tap to return to the installer",
|
||||
"exportApkButtonTooltip": "Export patched APK",
|
||||
@@ -177,7 +156,6 @@
|
||||
"dynamicThemeHint": "Enjoy an experience closer to your device",
|
||||
"languageLabel": "Language",
|
||||
"languageUpdated": "Language updated",
|
||||
"englishOption": "English",
|
||||
"sourcesLabel": "Alternative sources",
|
||||
"sourcesLabelHint": "Configure the alternative sources for ReVanced Patches and ReVanced Integrations",
|
||||
"sourcesIntegrationsLabel": "Integrations source",
|
||||
|
||||
@@ -4,7 +4,7 @@ To use ReVanced on your Android device, ReVanced Manager must be first installed
|
||||
|
||||
## ✅ Installation steps
|
||||
|
||||
1. Download the latest version of ReVanced Manager at [revanced.app/download](https://revanced.app/download) or from [GitHub releases](https://github.com/ReVanced/revanced-manager/releases)
|
||||
1. Download the latest version of ReVanced Manager at [revanced.app/download](https://revanced.app/download) or from [GitHub releases](https://github.com/ReVanced/revanced-manager/releases/latest)
|
||||
2. Install ReVanced Manager
|
||||
|
||||
## ⏭️ What's next
|
||||
|
||||
@@ -10,7 +10,7 @@ var lightCustomTheme = ThemeData(
|
||||
useMaterial3: true,
|
||||
colorScheme: lightCustomColorScheme,
|
||||
navigationBarTheme: NavigationBarThemeData(
|
||||
labelTextStyle: MaterialStateProperty.all(
|
||||
labelTextStyle: WidgetStateProperty.all(
|
||||
TextStyle(
|
||||
color: lightCustomColorScheme.onSurface,
|
||||
fontWeight: FontWeight.w500,
|
||||
@@ -31,7 +31,7 @@ var darkCustomTheme = ThemeData(
|
||||
useMaterial3: true,
|
||||
colorScheme: darkCustomColorScheme,
|
||||
navigationBarTheme: NavigationBarThemeData(
|
||||
labelTextStyle: MaterialStateProperty.all(
|
||||
labelTextStyle: WidgetStateProperty.all(
|
||||
TextStyle(
|
||||
color: darkCustomColorScheme.onSurface,
|
||||
fontWeight: FontWeight.w500,
|
||||
|
||||
@@ -2,7 +2,6 @@ import 'dart:ui';
|
||||
import 'package:dynamic_color/dynamic_color.dart';
|
||||
import 'package:dynamic_themes/dynamic_themes.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:revanced_manager/app/app.router.dart';
|
||||
@@ -52,7 +51,7 @@ class _DynamicThemeBuilderState extends State<DynamicThemeBuilder>
|
||||
final ThemeData lightDynamicTheme = ThemeData(
|
||||
useMaterial3: true,
|
||||
navigationBarTheme: NavigationBarThemeData(
|
||||
labelTextStyle: MaterialStateProperty.all(
|
||||
labelTextStyle: WidgetStateProperty.all(
|
||||
GoogleFonts.roboto(
|
||||
color: lightColorScheme?.onSurface,
|
||||
fontWeight: FontWeight.w500,
|
||||
@@ -66,7 +65,7 @@ class _DynamicThemeBuilderState extends State<DynamicThemeBuilder>
|
||||
brightness: Brightness.dark,
|
||||
useMaterial3: true,
|
||||
navigationBarTheme: NavigationBarThemeData(
|
||||
labelTextStyle: MaterialStateProperty.all(
|
||||
labelTextStyle: WidgetStateProperty.all(
|
||||
GoogleFonts.roboto(
|
||||
color: darkColorScheme?.onSurface,
|
||||
fontWeight: FontWeight.w500,
|
||||
|
||||
@@ -13,6 +13,7 @@ import 'package:revanced_manager/services/manager_api.dart';
|
||||
import 'package:revanced_manager/services/patcher_api.dart';
|
||||
import 'package:revanced_manager/services/toast.dart';
|
||||
import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
|
||||
import 'package:revanced_manager/utils/about_info.dart';
|
||||
import 'package:revanced_manager/utils/check_for_supported_patch.dart';
|
||||
import 'package:stacked/stacked.dart';
|
||||
|
||||
@@ -74,11 +75,14 @@ class AppSelectorViewModel extends BaseViewModel {
|
||||
required String packageName,
|
||||
}) async {
|
||||
final String suggestedVersion = getSuggestedVersion(packageName);
|
||||
final String architecture = await AboutInfo.getInfo().then((info) {
|
||||
return info['supportedArch'][0];
|
||||
});
|
||||
|
||||
if (suggestedVersion.isNotEmpty) {
|
||||
await openDefaultBrowser('$packageName apk version $suggestedVersion');
|
||||
await openDefaultBrowser('$packageName apk version $suggestedVersion $architecture');
|
||||
} else {
|
||||
await openDefaultBrowser('$packageName apk');
|
||||
await openDefaultBrowser('$packageName apk $architecture');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,7 +182,6 @@ class AppSelectorViewModel extends BaseViewModel {
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
|
||||
),
|
||||
actions: [
|
||||
FilledButton(
|
||||
|
||||
@@ -4,8 +4,8 @@ import 'package:revanced_manager/app/app.locator.dart';
|
||||
import 'package:revanced_manager/gen/strings.g.dart';
|
||||
import 'package:revanced_manager/ui/views/home/home_viewmodel.dart';
|
||||
import 'package:revanced_manager/ui/widgets/homeView/installed_apps_card.dart';
|
||||
import 'package:revanced_manager/ui/widgets/homeView/latest_commit_card.dart';
|
||||
import 'package:revanced_manager/ui/widgets/homeView/last_patched_app_card.dart';
|
||||
import 'package:revanced_manager/ui/widgets/homeView/latest_commit_card.dart';
|
||||
import 'package:revanced_manager/ui/widgets/shared/custom_sliver_app_bar.dart';
|
||||
import 'package:stacked/stacked.dart';
|
||||
|
||||
@@ -48,20 +48,19 @@ class HomeView extends StatelessWidget {
|
||||
LatestCommitCard(model: model, parentContext: context),
|
||||
const SizedBox(height: 23),
|
||||
Visibility(
|
||||
visible: model.isLastPatchedAppEnabled(),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
t.homeView.lastPatchedAppSubtitle,
|
||||
style: Theme.of(context).textTheme.titleLarge,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
LastPatchedAppCard(),
|
||||
const SizedBox(height: 10),
|
||||
|
||||
],
|
||||
),
|
||||
visible: model.isLastPatchedAppEnabled(),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
t.homeView.lastPatchedAppSubtitle,
|
||||
style: Theme.of(context).textTheme.titleLarge,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
LastPatchedAppCard(),
|
||||
const SizedBox(height: 10),
|
||||
],
|
||||
),
|
||||
),
|
||||
Text(
|
||||
t.homeView.patchedSubtitle,
|
||||
|
||||
@@ -458,10 +458,6 @@ class HomeViewModel extends BaseViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
void updatesAreDisabled() {
|
||||
_toast.showBottom(t.homeView.updatesDisabled);
|
||||
}
|
||||
|
||||
Future<void> showUpdateConfirmationDialog(
|
||||
BuildContext parentContext,
|
||||
bool isPatches, [
|
||||
|
||||
@@ -170,7 +170,7 @@ class _PatchItemState extends State<PatchItem> {
|
||||
onPressed: () =>
|
||||
_showUnsupportedWarningDialog(),
|
||||
style: ButtonStyle(
|
||||
shape: MaterialStateProperty.all(
|
||||
shape: WidgetStateProperty.all(
|
||||
RoundedRectangleBorder(
|
||||
borderRadius:
|
||||
BorderRadius.circular(8),
|
||||
@@ -181,12 +181,10 @@ class _PatchItemState extends State<PatchItem> {
|
||||
),
|
||||
),
|
||||
),
|
||||
backgroundColor:
|
||||
MaterialStateProperty.all(
|
||||
backgroundColor: WidgetStateProperty.all(
|
||||
Colors.transparent,
|
||||
),
|
||||
foregroundColor:
|
||||
MaterialStateProperty.all(
|
||||
foregroundColor: WidgetStateProperty.all(
|
||||
Theme.of(context).colorScheme.secondary,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -38,8 +38,8 @@ class CustomSliverAppBar extends StatelessWidget {
|
||||
onPressed:
|
||||
onBackButtonPressed ?? () => Navigator.of(context).pop(),
|
||||
),
|
||||
backgroundColor: MaterialStateColor.resolveWith(
|
||||
(states) => states.contains(MaterialState.scrolledUnder)
|
||||
backgroundColor: WidgetStateColor.resolveWith(
|
||||
(states) => states.contains(WidgetState.scrolledUnder)
|
||||
? Theme.of(context).colorScheme.surface
|
||||
: Theme.of(context).canvasColor,
|
||||
),
|
||||
|
||||
24
pubspec.lock
24
pubspec.lock
@@ -306,6 +306,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.0"
|
||||
file_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: file_picker
|
||||
sha256: "2ca051989f69d1b2ca012b2cf3ccf78c70d40144f0861ff2c063493f7c8c3d45"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.0.5"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -385,10 +393,18 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_markdown
|
||||
sha256: "9921f9deda326f8a885e202b1e35237eadfc1345239a0f6f0f1ff287e047547f"
|
||||
sha256: "2e8a801b1ded5ea001a4529c97b1f213dcb11c6b20668e081cafb23468593514"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.1"
|
||||
version: "0.7.3"
|
||||
flutter_plugin_android_lifecycle:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_plugin_android_lifecycle
|
||||
sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.20"
|
||||
flutter_test:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@@ -1361,5 +1377,5 @@ packages:
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
sdks:
|
||||
dart: ">=3.3.0 <4.0.0"
|
||||
flutter: ">=3.19.2"
|
||||
dart: ">=3.4.0 <4.0.0"
|
||||
flutter: ">=3.22.0"
|
||||
|
||||
@@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager
|
||||
|
||||
publish_to: 'none'
|
||||
|
||||
version: 1.21.0-dev.6+101800022
|
||||
version: 1.21.0-dev.7+101800023
|
||||
|
||||
environment:
|
||||
sdk: '>=3.0.0 <4.0.0'
|
||||
@@ -35,7 +35,7 @@ dependencies:
|
||||
flutter_local_notifications: ^17.1.0
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
flutter_markdown: ^0.7.1
|
||||
flutter_markdown: ^0.7.3
|
||||
fluttertoast: ^8.2.5
|
||||
font_awesome_flutter: ^10.7.0
|
||||
google_fonts: ^6.2.1
|
||||
|
||||
Reference in New Issue
Block a user