Skip to content

Commit 2a3cb0d

Browse files
committed
Merge branch 'compose-dev' into feat/haptic-compose-fix-changes
2 parents 59bc515 + 697386c commit 2a3cb0d

File tree

147 files changed

+6298
-2874
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+6298
-2874
lines changed

.github/workflows/pr-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ jobs:
2323
java-version: '17'
2424
distribution: 'temurin'
2525

26-
- name: Setup Gradle
27-
uses: gradle/gradle-build-action@v2
26+
- name: Set up Gradle
27+
uses: gradle/actions/setup-gradle@v4
2828

2929
- name: Build with Gradle
3030
env:
@@ -38,7 +38,7 @@ jobs:
3838
run: mv app/build/outputs/apk/release/app-release.apk revanced-manager-${{ env.COMMIT_HASH }}.apk
3939

4040
- name: Upload build
41-
uses: actions/upload-artifact@v3
41+
uses: actions/upload-artifact@v4
4242
with:
4343
name: revanced-manager
4444
path: revanced-manager-${{ env.COMMIT_HASH }}.apk

.github/workflows/release-build.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@ jobs:
2020
java-version: '17'
2121
distribution: 'temurin'
2222

23-
- name: Setup Gradle
24-
uses: gradle/gradle-build-action@v2
25-
with:
26-
cache-disabled: true
23+
- name: Set up Gradle
24+
uses: gradle/actions/setup-gradle@v4
2725

2826
- name: Build with Gradle
2927
env:

.github/workflows/update-documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
name: Dispatch event to documentation repository
1212
if: github.ref == 'refs/heads/main'
1313
steps:
14-
- uses: peter-evans/repository-dispatch@v2
14+
- uses: peter-evans/repository-dispatch@v3
1515
with:
1616
token: ${{ secrets.DOCUMENTATION_REPO_ACCESS_TOKEN }}
1717
repository: revanced/revanced-documentation

SECURITY.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<p align="center">
2+
<picture>
3+
<source
4+
width="256px"
5+
media="(prefers-color-scheme: dark)"
6+
srcset="assets/revanced-headline/revanced-headline-vertical-dark.svg"
7+
>
8+
<img
9+
width="256px"
10+
src="assets/revanced-headline/revanced-headline-vertical-light.svg"
11+
>
12+
</picture>
13+
<br>
14+
<a href="https://revanced.app/">
15+
<picture>
16+
<source height="24px" media="(prefers-color-scheme: dark)" srcset="assets/revanced-logo/revanced-logo-round.svg" />
17+
<img height="24px" src="assets/revanced-logo/revanced-logo-round.svg" />
18+
</picture>
19+
</a>&nbsp;&nbsp;&nbsp;
20+
<a href="https://github.com/ReVanced">
21+
<picture>
22+
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://i.ibb.co/dMMmCrW/Git-Hub-Mark.png" />
23+
<img height="24px" src="https://i.ibb.co/9wV3HGF/Git-Hub-Mark-Light.png" />
24+
</picture>
25+
</a>&nbsp;&nbsp;&nbsp;
26+
<a href="http://revanced.app/discord">
27+
<picture>
28+
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png" />
29+
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png" />
30+
</picture>
31+
</a>&nbsp;&nbsp;&nbsp;
32+
<a href="https://reddit.com/r/revancedapp">
33+
<picture>
34+
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png" />
35+
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png" />
36+
</picture>
37+
</a>&nbsp;&nbsp;&nbsp;
38+
<a href="https://t.me/app_revanced">
39+
<picture>
40+
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png" />
41+
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png" />
42+
</picture>
43+
</a>&nbsp;&nbsp;&nbsp;
44+
<a href="https://x.com/revancedapp">
45+
<picture>
46+
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/93124920/270180600-7c1b38bf-889b-4d68-bd5e-b9d86f91421a.png">
47+
<img height="24px" src="https://user-images.githubusercontent.com/93124920/270108715-d80743fa-b330-4809-b1e6-79fbdc60d09c.png" />
48+
</picture>
49+
</a>&nbsp;&nbsp;&nbsp;
50+
<a href="https://www.youtube.com/@ReVanced">
51+
<picture>
52+
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png" />
53+
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png" />
54+
</picture>
55+
</a>
56+
<br>
57+
<br>
58+
Continuing the legacy of Vanced
59+
</p>
60+
61+
# 🔒 Security Policy
62+
63+
This document describes how to report security vulnerabilities for ReVanced Manager.
64+
65+
## 🚨 Reporting a Vulnerability
66+
67+
Please open an issue in our [advisory tracker](https://github.com/ReVanced/revanced-manager/security/advisories/new) or reach out privately to us on [Discord](https://discord.gg/revanced).
68+
69+
If a vulnerability is confirmed and accepted, you can join our [Discord](https://discord.gg/revanced) server to receive a special contributor role.
70+
71+
### ⏳ Supported Versions
72+
73+
| Version | Branch | Supported |
74+
| ------- | ------------|------------------- |
75+
| v1.18.0 | main | :white_check_mark: |
76+
| latest | dev | :white_check_mark: |
77+
| latest | compose-dev | :white_check_mark: |
78+

app/build.gradle.kts

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
import kotlin.random.Random
2+
13
plugins {
24
alias(libs.plugins.android.application)
35
alias(libs.plugins.kotlin.android)
46
alias(libs.plugins.devtools)
57
alias(libs.plugins.about.libraries)
68
id("kotlin-parcelize")
7-
kotlin("plugin.serialization") version "1.9.10"
9+
kotlin("plugin.serialization") version "1.9.23"
810
}
911

1012
android {
@@ -18,16 +20,15 @@ android {
1820
targetSdk = 34
1921
versionCode = 1
2022
versionName = "0.0.1"
21-
resourceConfigurations.addAll(listOf(
22-
"en",
23-
))
2423
vectorDrawables.useSupportLibrary = true
2524
}
2625

2726
buildTypes {
2827
debug {
2928
applicationIdSuffix = ".debug"
30-
resValue("string", "app_name", "ReVanced Manager Debug")
29+
resValue("string", "app_name", "ReVanced Manager (dev)")
30+
31+
buildConfigField("long", "BUILD_ID", "${Random.nextLong()}L")
3132
}
3233

3334
release {
@@ -42,6 +43,8 @@ android {
4243
resValue("string", "app_name", "ReVanced Manager Debug")
4344
signingConfig = signingConfigs.getByName("debug")
4445
}
46+
47+
buildConfigField("long", "BUILD_ID", "0L")
4548
}
4649
}
4750

@@ -54,7 +57,7 @@ android {
5457
includeInApk = false
5558
includeInBundle = false
5659
}
57-
60+
5861
packaging {
5962
resources.excludes.addAll(listOf(
6063
"/prebuilt/**",
@@ -80,8 +83,21 @@ android {
8083

8184
buildFeatures.compose = true
8285
buildFeatures.aidl = true
86+
buildFeatures.buildConfig=true
87+
88+
android {
89+
androidResources {
90+
generateLocaleConfig = true
91+
}
92+
}
8393

84-
composeOptions.kotlinCompilerExtensionVersion = "1.5.3"
94+
composeOptions.kotlinCompilerExtensionVersion = "1.5.10"
95+
externalNativeBuild {
96+
cmake {
97+
path = file("src/main/cpp/CMakeLists.txt")
98+
version = "3.22.1"
99+
}
100+
}
85101
}
86102

87103
kotlin {
@@ -104,14 +120,16 @@ dependencies {
104120
implementation(platform(libs.compose.bom))
105121
implementation(libs.compose.ui)
106122
implementation(libs.compose.ui.preview)
123+
implementation(libs.compose.ui.tooling)
107124
implementation(libs.compose.livedata)
108125
implementation(libs.compose.material.icons.extended)
109126
implementation(libs.compose.material3)
110127

111128
// Accompanist
112129
implementation(libs.accompanist.drawablepainter)
113-
implementation(libs.accompanist.webview)
114-
implementation(libs.accompanist.placeholder)
130+
131+
// Placeholder
132+
implementation(libs.placeholder.material3)
115133

116134
// HTML Scraper
117135
implementation(libs.skrapeit.dsl)
@@ -135,6 +153,13 @@ dependencies {
135153
implementation(libs.revanced.patcher)
136154
implementation(libs.revanced.library)
137155

156+
// Native processes
157+
implementation(libs.kotlin.process)
158+
159+
// HiddenAPI
160+
compileOnly(libs.hidden.api.stub)
161+
162+
// LibSU
138163
implementation(libs.libsu.core)
139164
implementation(libs.libsu.service)
140165
implementation(libs.libsu.nio)
@@ -162,4 +187,17 @@ dependencies {
162187

163188
// Fading Edges
164189
implementation(libs.fading.edges)
190+
191+
// Scrollbars
192+
implementation(libs.scrollbars)
193+
194+
// EnumUtil
195+
implementation(libs.enumutil)
196+
ksp(libs.enumutil.ksp)
197+
198+
// Reorderable lists
199+
implementation(libs.reorderable)
200+
201+
// Compose Icons
202+
implementation(libs.compose.icons.fontawesome)
165203
}

app/proguard-rules.pro

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
kotlinx.serialization.KSerializer serializer(...);
2727
}
2828

29+
# This required for the process runtime.
30+
-keep class app.revanced.manager.patcher.runtime.process.* {
31+
*;
32+
}
2933
# Required for the patcher to function correctly
3034
-keep class app.revanced.patcher.** {
3135
*;
@@ -45,6 +49,7 @@
4549
-keep class com.android.** {
4650
*;
4751
}
52+
-dontwarn com.google.auto.value.**
4853
-dontwarn java.awt.**
4954
-dontwarn javax.**
5055
-dontwarn org.slf4j.**

app/schemas/app.revanced.manager.data.room.AppDatabase/1.json

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"formatVersion": 1,
33
"database": {
44
"version": 1,
5-
"identityHash": "802fa2fda94b930bf0ebb85d195f1022",
5+
"identityHash": "1dd9d5c0201fdf3cfef3ae669fd65e46",
66
"entities": [
77
{
88
"tableName": "patch_bundles",
@@ -51,17 +51,7 @@
5151
"uid"
5252
]
5353
},
54-
"indices": [
55-
{
56-
"name": "index_patch_bundles_name",
57-
"unique": true,
58-
"columnNames": [
59-
"name"
60-
],
61-
"orders": [],
62-
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_patch_bundles_name` ON `${TABLE_NAME}` (`name`)"
63-
}
64-
],
54+
"indices": [],
6555
"foreignKeys": []
6656
},
6757
{
@@ -231,7 +221,7 @@
231221
},
232222
{
233223
"tableName": "applied_patch",
234-
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`package_name` TEXT NOT NULL, `bundle` INTEGER NOT NULL, `patch_name` TEXT NOT NULL, PRIMARY KEY(`package_name`, `bundle`, `patch_name`), FOREIGN KEY(`package_name`) REFERENCES `installed_app`(`current_package_name`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`bundle`) REFERENCES `patch_bundles`(`uid`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
224+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`package_name` TEXT NOT NULL, `bundle` INTEGER NOT NULL, `patch_name` TEXT NOT NULL, PRIMARY KEY(`package_name`, `bundle`, `patch_name`), FOREIGN KEY(`package_name`) REFERENCES `installed_app`(`current_package_name`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`bundle`) REFERENCES `patch_bundles`(`uid`) ON UPDATE NO ACTION ON DELETE CASCADE )",
235225
"fields": [
236226
{
237227
"fieldPath": "packageName",
@@ -285,7 +275,7 @@
285275
},
286276
{
287277
"table": "patch_bundles",
288-
"onDelete": "NO ACTION",
278+
"onDelete": "CASCADE",
289279
"onUpdate": "NO ACTION",
290280
"columns": [
291281
"bundle"
@@ -407,7 +397,7 @@
407397
"views": [],
408398
"setupQueries": [
409399
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
410-
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '802fa2fda94b930bf0ebb85d195f1022')"
400+
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '1dd9d5c0201fdf3cfef3ae669fd65e46')"
411401
]
412402
}
413403
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// IPatcherEvents.aidl
2+
package app.revanced.manager.patcher.runtime.process;
3+
4+
// Interface for sending events back to the main app process.
5+
oneway interface IPatcherEvents {
6+
void log(String level, String msg);
7+
void patchSucceeded();
8+
void progress(String name, String state, String msg);
9+
// The patching process has ended. The exceptionStackTrace is null if it finished successfully.
10+
void finished(String exceptionStackTrace);
11+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// IPatcherProcess.aidl
2+
package app.revanced.manager.patcher.runtime.process;
3+
4+
import app.revanced.manager.patcher.runtime.process.Parameters;
5+
import app.revanced.manager.patcher.runtime.process.IPatcherEvents;
6+
7+
interface IPatcherProcess {
8+
// Returns BuildConfig.BUILD_ID, which is used to ensure the main app and runner process are running the same code.
9+
long buildId();
10+
// Makes the patcher process exit with code 0
11+
oneway void exit();
12+
// Starts patching.
13+
oneway void start(in Parameters parameters, IPatcherEvents events);
14+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// Parameters.aidl
2+
package app.revanced.manager.patcher.runtime.process;
3+
4+
parcelable Parameters;

0 commit comments

Comments
 (0)