Compare commits

...

16 Commits

Author SHA1 Message Date
7cc6b88e4e chore(release): 1.19.3-dev.1 [skip ci]
## [1.19.3-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.2...v1.19.3-dev.1) (2024-03-09)

### Bug Fixes

* Copy APK to working directory before trying to write to it ([5cd1cba](5cd1cba668))
2024-03-09 09:09:02 +00:00
5cd1cba668 fix: Copy APK to working directory before trying to write to it 2024-03-09 10:01:36 +01:00
ca365bac6e build: Bump dependencies to fix generating keystore 2024-03-09 09:58:41 +01:00
f1fc48ce5a chore(release): 1.19.2 [skip ci]
## [1.19.2](https://github.com/ReVanced/revanced-manager/compare/v1.19.1...v1.19.2) (2024-03-09)

### Bug Fixes

* App list is empty if all apps are installed ([#1750](https://github.com/ReVanced/revanced-manager/issues/1750)) ([1f5461f](1f5461fbe5))
* Fix white-screen when trying to install conflicting apps ([4acd738](4acd738353))
2024-03-09 03:55:35 +00:00
316e440d0d chore: Merge branch dev to main (#1739) 2024-03-09 04:48:12 +01:00
95018814a7 ci: Bump dependencies to fix release workflow 2024-03-09 04:44:38 +01:00
b52e49d90a build: Bump dependencies to fix signing issues 2024-03-09 04:39:58 +01:00
4acd738353 fix: Fix white-screen when trying to install conflicting apps
When you tried to install a patched app, but it conflicted with an existing installation, the screen would go blank. This was caused by trying to use an argument on a translation with no arguments.
2024-03-09 04:39:58 +01:00
982249f974 chore(release): 1.19.2-dev.1 [skip ci]
## [1.19.2-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.1...v1.19.2-dev.1) (2024-03-08)

### Bug Fixes

* App list is empty if all apps are installed ([#1750](https://github.com/ReVanced/revanced-manager/issues/1750)) ([1f5461f](1f5461fbe5))
2024-03-08 14:49:35 +00:00
1f5461fbe5 fix: App list is empty if all apps are installed (#1750)
Co-authored-by: Nikita <n.petrjakov@niitp.in>
2024-03-08 21:41:16 +07:00
adb7e5663a docs: Fix small mistakes [skip ci] 2024-03-05 14:58:11 +01:00
ffc14f2146 chore: Upgrade dependencies (#1734) 2024-03-05 14:09:02 +07:00
0c57322051 chore(release): 1.19.1 [skip ci]
## [1.19.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.0...v1.19.1) (2024-03-05)

### Bug Fixes

* Keep names for needed classes to fix crash at launch ([eef7016](eef701615b))
2024-03-05 02:29:37 +00:00
a8b7debf8d chore: Merge branch dev to main (#1729) 2024-03-05 03:22:11 +01:00
7ed9787b58 ci: Add workflow to open a PR to main 2024-03-05 03:21:07 +01:00
eef701615b fix: Keep names for needed classes to fix crash at launch 2024-03-05 03:19:20 +01:00
14 changed files with 75 additions and 43 deletions

View File

@ -107,7 +107,7 @@ jobs:
- App flavor: ${{ inputs.app-flavour }}
- name: Upload
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: revanced-manager-(${{ env.COMMIT_HASH }}-${{ inputs.pr-number }}-${{ inputs.app-flavour }})

27
.github/workflows/open_pull_request.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Open a PR to main
on:
push:
branches:
- dev
workflow_dispatch:
env:
MESSAGE: Merge branch `${{ github.head_ref || github.ref_name }}` to `main`
jobs:
pull-request:
name: Open pull request
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Open pull request
uses: repo-sync/pull-request@v2
with:
destination_branch: 'main'
pr_title: 'chore: ${{ env.MESSAGE }}'
pr_body: |
This pull request will ${{ env.MESSAGE }}.
pr_draft: true

View File

@ -11,7 +11,7 @@ jobs:
name: Dispatch event to documentation repository
if: github.ref == 'refs/heads/main'
steps:
- uses: peter-evans/repository-dispatch@v2
- uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.DOCUMENTATION_REPO_ACCESS_TOKEN }}
repository: revanced/revanced-documentation

View File

@ -113,9 +113,8 @@ flutter {
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22"
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22")
// ReVanced
implementation "app.revanced:revanced-patcher:19.3.1"
implementation "app.revanced:revanced-library:2.1.0"
implementation("app.revanced:revanced-patcher:19.3.1")
implementation("app.revanced:revanced-library:2.2.1")
}

View File

@ -11,6 +11,7 @@
-keep class com.google.auto.value.** { *; }
-keep class com.android.apksig.internal.** { *; }
-keepnames class com.google.common.collect.**
-keepnames class org.xmlpull.** { *; }
-dontwarn com.google.auto.value.**
-dontwarn com.google.j2objc.annotations.*

View File

@ -9,7 +9,6 @@ import android.os.Handler
import android.os.Looper
import app.revanced.library.ApkUtils
import app.revanced.library.ApkUtils.applyTo
import app.revanced.library.ApkUtils.sign
import app.revanced.manager.flutter.utils.Aapt
import app.revanced.manager.flutter.utils.packageInstaller.InstallerReceiver
import app.revanced.manager.flutter.utils.packageInstaller.UninstallerReceiver
@ -339,16 +338,15 @@ class MainActivity : FlutterActivity() {
patcher.get()
}
inFile.copyTo(outFile)
if (cancel(patcher::close)) return@Thread
patcherResult.applyTo(inFile)
if (cancel(patcher::close)) return@Thread
patcherResult.applyTo(outFile)
if (cancel(patcher::close)) return@Thread
updateProgress(0.8, "Signing...", "")
outFile.sign(
ApkUtils.sign(
inFile,
outFile,
ApkUtils.SigningOptions(
keyStoreFile,
keystorePassword,

View File

@ -9,32 +9,32 @@ Learn how to configure ReVanced Manager.
By default, you can not change the patch selection and the default selection is used. Enabling this will allow you to change the patch selection.
> ⚠️ Warning
> Changing the selection may cause cause unexpected issues. Unless you know what you are doing, it is recommended to keep this disabled.
> Changing the selection may cause unexpected issues. Unless you know what you are doing, it is recommended to keep this disabled.
- ### 📦 Require suggested app version
By default, ReVanced Manager allows you to patch an app if the suggested version to patch matches the app you selected. Disabling this will allow you to patch an app even if the suggested version does not match the app you selected.
By default, ReVanced Manager allows you to patch an app if the suggested version to patch matches the version of the app you selected. Disabling this will allow you to patch an app even if the suggested version does not match the version of the app you selected.
> ⚠️ Warning
> Patches are more likely to fail on versions that are not suggested by ReVanced Manager. Unless you know what you are doing, it is recommended to keep this enabled.
- ### ✅ Version compatibility check
By default, ReVanced Manager allows you to select patches that are not compatible with the version of the app you selected. Disabling this will allow you to select patches that are not compatible with the app version you selected.
By default, ReVanced Manager does not allow you to select patches that are not compatible with the version of the app you selected. Disabling this will allow you to select patches that are not compatible with the version of the app you selected.
> ⚠️ Warning
> Patches are more likely to fail on versions they are not compatible with. Unless you know what you are doing, it is recommended to keep this enabled.
- ### 🧑‍🔬 Show universal patches
By default, ReVanced Manager only shows patches that are compatible with specifc apps. Enabling this will show patches that are intended to work on all apps.
By default, ReVanced Manager only shows patches that are compatible with specific apps. Enabling this will show patches that are intended to work on all apps.
> ⚠️ Warning
> Patches that are intended to work on all apps may not work on all apps. Unless you know what you are doing, it is recommended to keep this disabled.
> Patches that are intended to may not work on all apps. Unless you know what you are doing, it is recommended to keep this disabled.
- ### 🔗 API URL
Configure the API URL to use. The API is used to download updates and patches.
Configure the API URL to use. The API is used to download patches and updates.
- ### 🧬 Use alternative source

View File

@ -171,7 +171,10 @@ class PatcherAPI {
if (integrationsFile != null) {
_dataDir.createSync();
_tmpDir.createSync();
final Directory workDir = _tmpDir.createTempSync('tmp-');
final Directory workDir = await _tmpDir.createTemp('tmp-');
final File inApkFile = File('${workDir.path}/in.apk');
await File(apkFilePath).copy(inApkFile.path);
outFile = File('${workDir.path}/out.apk');
@ -182,7 +185,7 @@ class PatcherAPI {
await patcherChannel.invokeMethod(
'runPatcher',
{
'inFilePath': apkFilePath,
'inFilePath': inApkFile.path,
'outFilePath': outFile!.path,
'integrationsPath': integrationsFile.path,
'selectedPatches': selectedPatches.map((p) => p.name).toList(),
@ -297,6 +300,18 @@ class PatcherAPI {
);
bool cleanInstall = false;
final bool isFixable = statusCode == 4 || statusCode == 5;
var description = t['installErrorDialog.${statusValue}_description'];
if (statusCode == 2) {
description = description(
packageName: statusCode == 2
? {
'packageName': status['otherPackageName'],
}
: null,
);
}
await showDialog(
context: _managerAPI.ctx!,
builder: (context) => AlertDialog(
@ -306,15 +321,7 @@ class PatcherAPI {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Text(
t['installErrorDialog.${statusValue}_description'](
packageName: statusCode == 2
? {
'packageName': status['otherPackageName'],
}
: null,
),
),
Text(description),
],
),
actions: (status == null)

View File

@ -78,7 +78,7 @@ class _AppSelectorViewState extends State<AppSelectorView> {
),
),
)
: model.allApps.isEmpty
: model.allApps.isEmpty && model.apps.isEmpty
? const AppSkeletonLoader()
: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12.0)

View File

@ -54,7 +54,7 @@ class AppSelectorViewModel extends BaseViewModel {
.toSet()
.where((name) => !apps.any((app) => app.packageName == name))
.toList();
noApps = allApps.isEmpty;
noApps = allApps.isEmpty && apps.isEmpty;
return allApps;
}

8
package-lock.json generated
View File

@ -5,7 +5,7 @@
"packages": {
"": {
"devDependencies": {
"@droidsolutions-oss/semantic-release-update-file": "^1.3.2",
"@droidsolutions-oss/semantic-release-update-file": "^1.4.0-beta.1",
"@saithodev/semantic-release-backmerge": "^4.0.1",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
@ -60,9 +60,9 @@
}
},
"node_modules/@droidsolutions-oss/semantic-release-update-file": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@droidsolutions-oss/semantic-release-update-file/-/semantic-release-update-file-1.3.2.tgz",
"integrity": "sha512-ahV0OWiEUf20e7lLH3gnBLF1SfRNPN99MeaLVaFX6jT3DegTLzkVPeY2CZWa+K4tAXBALc29Bq/kzjv8PAXFGw==",
"version": "1.4.0-beta.1",
"resolved": "https://registry.npmjs.org/@droidsolutions-oss/semantic-release-update-file/-/semantic-release-update-file-1.4.0-beta.1.tgz",
"integrity": "sha512-CdqG3vIceWFBmwz0qcY0NdqaE+TGNuhhbgFXHIj/M1fYAD1lQ4QyGEaoD3d4F4ZHYsBqR0HrHNMTG4bycBRKNw==",
"dev": true,
"dependencies": {
"aggregate-error": "^3.1.0",

View File

@ -1,6 +1,6 @@
{
"devDependencies": {
"@droidsolutions-oss/semantic-release-update-file": "^1.3.2",
"@droidsolutions-oss/semantic-release-update-file": "^1.4.0-beta.1",
"@saithodev/semantic-release-backmerge": "^4.0.1",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",

View File

@ -459,10 +459,10 @@ packages:
dependency: "direct main"
description:
name: google_fonts
sha256: "5b1726fee554d1cc9db1baef8061b126567ff0a1140a03ed7de936e62f2ab98b"
sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82
url: "https://pub.dev"
source: hosted
version: "6.2.0"
version: "6.2.1"
graphs:
dependency: transitive
description:
@ -1361,4 +1361,4 @@ packages:
version: "3.1.2"
sdks:
dart: ">=3.3.0 <4.0.0"
flutter: ">=3.19.0"
flutter: ">=3.19.2"

View File

@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager
publish_to: 'none'
version: 1.19.0+101800001
version: 1.19.3-dev.1+101800005
environment:
sdk: '>=3.0.0 <4.0.0'
@ -37,7 +37,7 @@ dependencies:
flutter_markdown: ^0.6.14
fluttertoast: ^8.2.4
font_awesome_flutter: ^10.4.0
google_fonts: ^6.1.0
google_fonts: ^6.2.1
injectable: ^2.1.1
intl: ^0.18.0
json_annotation: ^4.8.1