mirror of
https://github.com/revanced/revanced-manager.git
synced 2025-05-02 06:44:25 +02:00
chore: merge dev
to main
(#935)
This commit is contained in:
commit
2aaa7ae8c9
19
.github/workflows/update-documentation.yml
vendored
Normal file
19
.github/workflows/update-documentation.yml
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
name: Update documentation
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- docs/**
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
trigger:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Dispatch event to documentation repository
|
||||||
|
if: github.ref == 'refs/heads/main'
|
||||||
|
steps:
|
||||||
|
- uses: peter-evans/repository-dispatch@v2
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.DOCUMENTATION_REPO_ACCESS_TOKEN }}
|
||||||
|
repository: revanced/revanced-documentation
|
||||||
|
event-type: update-documentation
|
||||||
|
client-payload: '{"repo": "${{ github.event.repository.name }}", "ref": "${{ github.ref }}"}'
|
@ -71,7 +71,7 @@ dependencies {
|
|||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
|
|
||||||
// ReVanced
|
// ReVanced
|
||||||
implementation "app.revanced:revanced-patcher:9.0.0"
|
implementation "app.revanced:revanced-patcher:11.0.0"
|
||||||
|
|
||||||
// Signing & aligning
|
// Signing & aligning
|
||||||
implementation("org.bouncycastle:bcpkix-jdk15on:1.70")
|
implementation("org.bouncycastle:bcpkix-jdk15on:1.70")
|
||||||
|
@ -271,8 +271,8 @@ class MainActivity : FlutterActivity() {
|
|||||||
"update",
|
"update",
|
||||||
mapOf(
|
mapOf(
|
||||||
"progress" to -100.0,
|
"progress" to -100.0,
|
||||||
"header" to "Aborting...",
|
"header" to "Aborted...",
|
||||||
"log" to "An error occurred! Aborting\nError:\n$stack"
|
"log" to "An error occurred! Aborted\nError:\n$stack"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
"updateButton": "Update",
|
"updateButton": "Update",
|
||||||
"enabledLabel": "Enabled",
|
"enabledLabel": "Enabled",
|
||||||
"disabledLabel": "Disabled",
|
"disabledLabel": "Disabled",
|
||||||
|
"installed":"Installed: {version}",
|
||||||
|
"suggested":"Suggested: {version}",
|
||||||
"yesButton": "Yes",
|
"yesButton": "Yes",
|
||||||
"noButton": "No",
|
"noButton": "No",
|
||||||
"warning": "Warning",
|
"warning": "Warning",
|
||||||
|
@ -1 +1 @@
|
|||||||
The ReVanced Manager is an Android application that allows you to modify any Dalvik Android application to add, remove and/or modify existing functionality. It dissassembles the APK locally on your device, makes the required changes using ReVanced Patcher and then assembles it back into an APK again.
|
ReVanced Manager is an Android application that uses ReVanced Patcher to add, remove, and modify existing functionalities in Android applications
|
||||||
|
@ -78,7 +78,7 @@ class _AppSelectorViewState extends State<AppSelectorView> {
|
|||||||
child: model.noApps
|
child: model.noApps
|
||||||
? Center(
|
? Center(
|
||||||
child: I18nText(
|
child: I18nText(
|
||||||
'appSelectorView.noAppsLabel',
|
'appSelectorCard.noAppsLabel',
|
||||||
child: Text(
|
child: Text(
|
||||||
'',
|
'',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@ -111,7 +111,9 @@ class _AppSelectorViewState extends State<AppSelectorView> {
|
|||||||
model.getSuggestedVersion(
|
model.getSuggestedVersion(
|
||||||
app.packageName,
|
app.packageName,
|
||||||
),
|
),
|
||||||
onTap: () => model.canSelectInstalled(context, app.packageName),
|
installedVersion: app.versionName!,
|
||||||
|
onTap: () => model.canSelectInstalled(
|
||||||
|
context, app.packageName),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.toList(),
|
.toList(),
|
||||||
|
@ -22,7 +22,6 @@ 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:revanced_manager/ui/widgets/homeView/update_confirmation_dialog.dart';
|
import 'package:revanced_manager/ui/widgets/homeView/update_confirmation_dialog.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/custom_material_button.dart';
|
import 'package:revanced_manager/ui/widgets/shared/custom_material_button.dart';
|
||||||
import 'package:revanced_manager/utils/about_info.dart';
|
|
||||||
import 'package:stacked/stacked.dart';
|
import 'package:stacked/stacked.dart';
|
||||||
import 'package:stacked_services/stacked_services.dart';
|
import 'package:stacked_services/stacked_services.dart';
|
||||||
|
|
||||||
@ -113,6 +112,7 @@ class HomeViewModel extends BaseViewModel {
|
|||||||
|
|
||||||
Future<bool> hasManagerUpdates() async {
|
Future<bool> hasManagerUpdates() async {
|
||||||
String currentVersion = await _managerAPI.getCurrentManagerVersion();
|
String currentVersion = await _managerAPI.getCurrentManagerVersion();
|
||||||
|
_latestManagerVersion = await _managerAPI.getLatestManagerVersion();
|
||||||
|
|
||||||
// add v to current version
|
// add v to current version
|
||||||
if (!currentVersion.startsWith('v')) {
|
if (!currentVersion.startsWith('v')) {
|
||||||
|
@ -157,7 +157,8 @@ class InstallerView extends StatelessWidget {
|
|||||||
SliverFillRemaining(
|
SliverFillRemaining(
|
||||||
hasScrollBody: false,
|
hasScrollBody: false,
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
height: MediaQuery.of(context).viewPadding.bottom),
|
height: MediaQuery.of(context).viewPadding.bottom,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -135,15 +135,15 @@ class InstallerViewModel extends BaseViewModel {
|
|||||||
} on Exception catch (e) {
|
} on Exception catch (e) {
|
||||||
update(
|
update(
|
||||||
-100.0,
|
-100.0,
|
||||||
'Aborting...',
|
'Aborted...',
|
||||||
'An error occurred! Aborting\nError:\n$e',
|
'An error occurred! Aborted\nError:\n$e',
|
||||||
);
|
);
|
||||||
if (kDebugMode) {
|
if (kDebugMode) {
|
||||||
print(e);
|
print(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
update(-100.0, 'Aborting...', 'No app or patches selected! Aborting');
|
update(-100.0, 'Aborted...', 'No app or patches selected! Aborted');
|
||||||
}
|
}
|
||||||
if (FlutterBackground.isBackgroundExecutionEnabled) {
|
if (FlutterBackground.isBackgroundExecutionEnabled) {
|
||||||
try {
|
try {
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_i18n/flutter_i18n.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/shared/custom_card.dart';
|
import 'package:revanced_manager/ui/widgets/shared/custom_card.dart';
|
||||||
|
|
||||||
class InstalledAppItem extends StatefulWidget {
|
class InstalledAppItem extends StatefulWidget {
|
||||||
@ -10,6 +12,7 @@ class InstalledAppItem extends StatefulWidget {
|
|||||||
required this.icon,
|
required this.icon,
|
||||||
required this.patchesCount,
|
required this.patchesCount,
|
||||||
required this.suggestedVersion,
|
required this.suggestedVersion,
|
||||||
|
required this.installedVersion,
|
||||||
this.onTap,
|
this.onTap,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
final String name;
|
final String name;
|
||||||
@ -17,6 +20,7 @@ class InstalledAppItem extends StatefulWidget {
|
|||||||
final Uint8List icon;
|
final Uint8List icon;
|
||||||
final int patchesCount;
|
final int patchesCount;
|
||||||
final String suggestedVersion;
|
final String suggestedVersion;
|
||||||
|
final String installedVersion;
|
||||||
final Function()? onTap;
|
final Function()? onTap;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -48,23 +52,38 @@ class _InstalledAppItemState extends State<InstalledAppItem> {
|
|||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Text(
|
|
||||||
widget.name,
|
|
||||||
maxLines: 2,
|
|
||||||
overflow: TextOverflow.visible,
|
|
||||||
style: const TextStyle(
|
|
||||||
fontSize: 16,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 4),
|
|
||||||
Text(widget.pkgName),
|
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
widget.suggestedVersion.isEmpty
|
widget.name,
|
||||||
|
maxLines: 2,
|
||||||
|
overflow: TextOverflow.visible,
|
||||||
|
style: const TextStyle(
|
||||||
|
fontSize: 16,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 4),
|
||||||
|
I18nText(
|
||||||
|
widget.installedVersion.isEmpty
|
||||||
? 'All versions'
|
? 'All versions'
|
||||||
: widget.suggestedVersion,
|
: 'v${widget.installedVersion}',
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Text(widget.pkgName),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
I18nText(
|
||||||
|
FlutterI18n.translate(
|
||||||
|
context,
|
||||||
|
'suggested',
|
||||||
|
translationParams: {
|
||||||
|
'version': widget.suggestedVersion.isEmpty
|
||||||
|
? 'All versions'
|
||||||
|
: 'v${widget.suggestedVersion}'
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 4),
|
const SizedBox(width: 4),
|
||||||
Text(
|
Text(
|
||||||
|
@ -59,9 +59,7 @@ class _NotInstalledAppItem extends State<NotInstalledAppItem> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
widget.suggestedVersion.isEmpty
|
'Suggested: ${widget.suggestedVersion.isEmpty ? 'All versions' : 'v${widget.suggestedVersion}'}',
|
||||||
? 'All versions'
|
|
||||||
: widget.suggestedVersion,
|
|
||||||
),
|
),
|
||||||
const SizedBox(width: 4),
|
const SizedBox(width: 4),
|
||||||
Text(
|
Text(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user