Skip to content
This repository was archived by the owner on Mar 10, 2026. It is now read-only.

Commit 44e9e03

Browse files
committed
Merge branch 'dev' into revanced-extended
2 parents 9811b1e + 2dfa6ef commit 44e9e03

180 files changed

Lines changed: 14819 additions & 2319 deletions

File tree

Some content is hidden

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

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## 🧩 ReVanced Patches
1+
## 🧩 ReVanced Extended Patches
22

33
ReVanced Extended Patches.
44

extensions/shared/build.gradle.kts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ dependencies {
3838
compileOnly(libs.preference)
3939

4040
implementation(libs.collections4)
41+
implementation(libs.disklrucache)
4142
implementation(libs.gson)
4243
implementation(libs.kotlinx.coroutines.core)
4344
implementation(libs.lang3)
@@ -47,8 +48,9 @@ dependencies {
4748

4849
implementation(libs.regex)
4950
implementation(libs.retrofit)
50-
//noinspection UseTomlInstead
51-
implementation("com.eclipsesource.j2v8:j2v8:6.2.1@aar")
51+
implementation(libs.rxjava2)
52+
implementation(libs.rxjava2.android)
53+
implementation(project(":extensions:shared:j2v8"))
5254

5355
coreLibraryDesugaring(libs.desugar.jdk.libs)
5456
compileOnly(project(":extensions:shared:stub"))

extensions/shared/j2v8/.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
### https://raw.github.com/github/gitignore/14b7566ce157ce95b07006466bacee160f242284/maven.gitignore
2+
3+
target/
4+
pom.xml.tag
5+
pom.xml.releaseBackup
6+
pom.xml.versionsBackup
7+
pom.xml.next
8+
release.properties
9+
10+
11+
site-content
12+
/.classpath
13+
/.project
14+
/.settings/
15+
16+
### Ignore IntelliJ files
17+
/.idea/
18+
*.iml
19+
/bin/
20+
/build
21+
22+
### Ignore Visual Studio code files
23+
/.vscode/

extensions/shared/j2v8/LICENSE.txt

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
Eclipse Public License - v 1.0
2+
3+
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
4+
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
5+
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
6+
7+
1. DEFINITIONS
8+
9+
"Contribution" means:
10+
11+
a) in the case of the initial Contributor, the initial code and documentation
12+
distributed under this Agreement, and
13+
14+
b) in the case of each subsequent Contributor:
15+
16+
i) changes to the Program, and
17+
18+
ii) additions to the Program;
19+
20+
where such changes and/or additions to the Program originate from and are
21+
distributed by that particular Contributor. A Contribution 'originates' from
22+
a Contributor if it was added to the Program by such Contributor itself or
23+
anyone acting on such Contributor's behalf. Contributions do not include additions
24+
to the Program which: (i) are separate modules of software distributed in
25+
conjunction with the Program under their own license agreement, and (ii) are
26+
not derivative works of the Program.
27+
28+
"Contributor" means any person or entity that distributes the Program.
29+
30+
"Licensed Patents" mean patent claims licensable by a Contributor which are
31+
necessarily infringed by the use or sale of its Contribution alone or when
32+
combined with the Program.
33+
34+
"Program" means the Contributions distributed in accordance with this Agreement.
35+
36+
"Recipient" means anyone who receives the Program under this Agreement, including
37+
all Contributors.
38+
39+
2. GRANT OF RIGHTS
40+
41+
a) Subject to the terms of this Agreement, each Contributor hereby grants
42+
Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce,
43+
prepare derivative works of, publicly display, publicly perform, distribute
44+
and sublicense the Contribution of such Contributor, if any, and such derivative
45+
works, in source code and object code form.
46+
47+
b) Subject to the terms of this Agreement, each Contributor hereby grants
48+
Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
49+
Patents to make, use, sell, offer to sell, import and otherwise transfer the
50+
Contribution of such Contributor, if any, in source code and object code form.
51+
This patent license shall apply to the combination of the Contribution and
52+
the Program if, at the time the Contribution is added by the Contributor,
53+
such addition of the Contribution causes such combination to be covered by
54+
the Licensed Patents. The patent license shall not apply to any other combinations
55+
which include the Contribution. No hardware per se is licensed hereunder.
56+
57+
c) Recipient understands that although each Contributor grants the licenses
58+
to its Contributions set forth herein, no assurances are provided by any Contributor
59+
that the Program does not infringe the patent or other intellectual property
60+
rights of any other entity. Each Contributor disclaims any liability to Recipient
61+
for claims brought by any other entity based on infringement of intellectual
62+
property rights or otherwise. As a condition to exercising the rights and
63+
licenses granted hereunder, each Recipient hereby assumes sole responsibility
64+
to secure any other intellectual property rights needed, if any. For example,
65+
if a third party patent license is required to allow Recipient to distribute
66+
the Program, it is Recipient's responsibility to acquire that license before
67+
distributing the Program.
68+
69+
d) Each Contributor represents that to its knowledge it has sufficient copyright
70+
rights in its Contribution, if any, to grant the copyright license set forth
71+
in this Agreement.
72+
73+
3. REQUIREMENTS
74+
75+
A Contributor may choose to distribute the Program in object code form under
76+
its own license agreement, provided that:
77+
78+
a) it complies with the terms and conditions of this Agreement; and
79+
80+
b) its license agreement:
81+
82+
i) effectively disclaims on behalf of all Contributors all warranties and
83+
conditions, express and implied, including warranties or conditions of title
84+
and non-infringement, and implied warranties or conditions of merchantability
85+
and fitness for a particular purpose;
86+
87+
ii) effectively excludes on behalf of all Contributors all liability for damages,
88+
including direct, indirect, special, incidental and consequential damages,
89+
such as lost profits;
90+
91+
iii) states that any provisions which differ from this Agreement are offered
92+
by that Contributor alone and not by any other party; and
93+
94+
iv) states that source code for the Program is available from such Contributor,
95+
and informs licensees how to obtain it in a reasonable manner on or through
96+
a medium customarily used for software exchange.
97+
98+
When the Program is made available in source code form:
99+
100+
a) it must be made available under this Agreement; and
101+
102+
b) a copy of this Agreement must be included with each copy of the Program.
103+
104+
Contributors may not remove or alter any copyright notices contained within
105+
the Program.
106+
107+
Each Contributor must identify itself as the originator of its Contribution,
108+
if any, in a manner that reasonably allows subsequent Recipients to identify
109+
the originator of the Contribution.
110+
111+
4. COMMERCIAL DISTRIBUTION
112+
113+
Commercial distributors of software may accept certain responsibilities with
114+
respect to end users, business partners and the like. While this license is
115+
intended to facilitate the commercial use of the Program, the Contributor
116+
who includes the Program in a commercial product offering should do so in
117+
a manner which does not create potential liability for other Contributors.
118+
Therefore, if a Contributor includes the Program in a commercial product offering,
119+
such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
120+
every other Contributor ("Indemnified Contributor") against any losses, damages
121+
and costs (collectively "Losses") arising from claims, lawsuits and other
122+
legal actions brought by a third party against the Indemnified Contributor
123+
to the extent caused by the acts or omissions of such Commercial Contributor
124+
in connection with its distribution of the Program in a commercial product
125+
offering. The obligations in this section do not apply to any claims or Losses
126+
relating to any actual or alleged intellectual property infringement. In order
127+
to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
128+
Contributor in writing of such claim, and b) allow the Commercial Contributor
129+
to control, and cooperate with the Commercial Contributor in, the defense
130+
and any related settlement negotiations. The Indemnified Contributor may participate
131+
in any such claim at its own expense.
132+
133+
For example, a Contributor might include the Program in a commercial product
134+
offering, Product X. That Contributor is then a Commercial Contributor. If
135+
that Commercial Contributor then makes performance claims, or offers warranties
136+
related to Product X, those performance claims and warranties are such Commercial
137+
Contributor's responsibility alone. Under this section, the Commercial Contributor
138+
would have to defend claims against the other Contributors related to those
139+
performance claims and warranties, and if a court requires any other Contributor
140+
to pay any damages as a result, the Commercial Contributor must pay those
141+
damages.
142+
143+
5. NO WARRANTY
144+
145+
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
146+
AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS
147+
OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
148+
TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
149+
Each Recipient is solely responsible for determining the appropriateness of
150+
using and distributing the Program and assumes all risks associated with its
151+
exercise of rights under this Agreement, including but not limited to the
152+
risks and costs of program errors, compliance with applicable laws, damage
153+
to or loss of data, programs or equipment, and unavailability or interruption
154+
of operations.
155+
156+
6. DISCLAIMER OF LIABILITY
157+
158+
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
159+
CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
160+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
161+
LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
162+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
163+
WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
164+
GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
165+
166+
7. GENERAL
167+
168+
If any provision of this Agreement is invalid or unenforceable under applicable
169+
law, it shall not affect the validity or enforceability of the remainder of
170+
the terms of this Agreement, and without further action by the parties hereto,
171+
such provision shall be reformed to the minimum extent necessary to make such
172+
provision valid and enforceable.
173+
174+
If Recipient institutes patent litigation against any entity (including a
175+
cross-claim or counterclaim in a lawsuit) alleging that the Program itself
176+
(excluding combinations of the Program with other software or hardware) infringes
177+
such Recipient's patent(s), then such Recipient's rights granted under Section
178+
2(b) shall terminate as of the date such litigation is filed.
179+
180+
All Recipient's rights under this Agreement shall terminate if it fails to
181+
comply with any of the material terms or conditions of this Agreement and
182+
does not cure such failure in a reasonable period of time after becoming aware
183+
of such noncompliance. If all Recipient's rights under this Agreement terminate,
184+
Recipient agrees to cease use and distribution of the Program as soon as reasonably
185+
practicable. However, Recipient's obligations under this Agreement and any
186+
licenses granted by Recipient relating to the Program shall continue and survive.
187+
188+
Everyone is permitted to copy and distribute copies of this Agreement, but
189+
in order to avoid inconsistency the Agreement is copyrighted and may only
190+
be modified in the following manner. The Agreement Steward reserves the right
191+
to publish new versions (including revisions) of this Agreement from time
192+
to time. No one other than the Agreement Steward has the right to modify this
193+
Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse
194+
Foundation may assign the responsibility to serve as the Agreement Steward
195+
to a suitable separate entity. Each new version of the Agreement will be given
196+
a distinguishing version number. The Program (including Contributions) may
197+
always be distributed subject to the version of the Agreement under which
198+
it was received. In addition, after a new version of the Agreement is published,
199+
Contributor may elect to distribute the Program (including its Contributions)
200+
under the new version. Except as expressly stated in Sections 2(a) and 2(b)
201+
above, Recipient receives no rights or licenses to the intellectual property
202+
of any Contributor under this Agreement, whether expressly, by implication,
203+
estoppel or otherwise. All rights in the Program not expressly granted under
204+
this Agreement are reserved.
205+
206+
This Agreement is governed by the laws of the State of New York and the intellectual
207+
property laws of the United States of America. No party to this Agreement
208+
will bring a legal action under this Agreement more than one year after the
209+
cause of action arose. Each party waives its rights to a jury trial in any
210+
resulting litigation.

extensions/shared/j2v8/README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
J2V8
2+
====
3+
4+
![Build Status](https://github.com/eclipsesource/J2V8/workflows/Build%20J2V8/badge.svg)
5+
[![Maven Central](https://img.shields.io/maven-central/v/com.eclipsesource.j2v8/j2v8.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.eclipsesource.j2v8%22)
6+
7+
J2V8 is a set of Java bindings for V8. J2V8 focuses on performance and tight integration with V8. It also takes a 'primitive first' approach, meaning that if a value can be accessed as a primitive, then it should be. This forces a more static type system between the JS and Java code, but it also improves the performance since intermediate Objects are not created.
8+
9+
We developed J2V8 as a high performance engine for our multi-platform mobile toolkit [tabris.js](https://tabrisjs.com) and it is a great choice for executing JavaScript on Android devices.
10+
11+
Building J2V8
12+
=============
13+
Building J2V8 requires building both the native parts and the Java library (.jar/.aar file). To build the native parts we first build V8 as a monolithic library and then statically link J2V8 to that. The Java parts are built with maven/gradle.
14+
15+
J2V8 uses a cross-platform, cross-compiling build-system written in Python.
16+
17+
For any further build instructions & details please read [BUILDING.md](BUILDING.md)
18+
19+
Tutorials
20+
==========
21+
* [Getting Started With J2V8](https://eclipsesource.com/blogs/tutorials/getting-started-with-j2v8/)
22+
* [Registering Java Callbacks with J2V8](http://eclipsesource.com/blogs/2015/06/06/registering-java-callbacks-with-j2v8/)
23+
* [Implementing WebWorkers with J2V8](http://eclipsesource.com/blogs/2015/05/28/implementing-webworkers-with-j2v8/)
24+
* [Multithreaded JavaScript with J2V8](http://eclipsesource.com/blogs/2015/05/12/multithreaded-javascript-with-j2v8/)
25+
* [Using J2V8 with Heroku](http://eclipsesource.com/blogs/2015/06/04/using-j2v8-with-heroku/)
26+
27+
Articles
28+
========
29+
* [Announcing J2V8 4](http://eclipsesource.com/blogs/2016/07/20/announcing-j2v8-4/)
30+
* [Running Node.js on the JVM](http://eclipsesource.com/blogs/2016/07/20/running-node-js-on-the-jvm/)
31+
* [Shipping J2V8 as an AAR](http://eclipsesource.com/blogs/2015/11/04/shipping-j2v8-as-an-aar/)
32+
* [Announcing J2V8 3.0](http://eclipsesource.com/blogs/2015/07/08/j2v8-3-0-released/)
33+
* [J2V8 2.2 New and Noteworthy](http://eclipsesource.com/blogs/2015/04/23/j2v8-2-2-new-and-noteworthy/)
34+
* [Announcing J2V8 2.0](http://eclipsesource.com/blogs/2015/02/25/announcing-j2v8-2-0/)
35+
* [Highly Efficient Java & JavaScript Integration](http://eclipsesource.com/blogs/2014/11/17/highly-efficient-java-javascript-integration/)
36+
* [React.js SSR with J2V8](https://ebaytech.berlin/react-js-server-side-rendering-with-j2v8-b9ced07888fb)
37+
38+
Presentations
39+
=============
40+
* [J2V8 A Highly Efficient JS Runtime For Java](https://www.eclipsecon.org/na2015/session/j2v8-highly-efficient-js-runtime-java)
41+
* [Running JavaScript Efficiently in a Java World](http://www.slideshare.net/irbull/enter-js)
42+
43+
Other Resources
44+
===============
45+
Here is a list of articles I've written on J2V8 [http://eclipsesource.com/blogs/tag/j2v8/](http://eclipsesource.com/blogs/tag/j2v8/).
46+
47+
Who is using J2V8?
48+
========
49+
50+
Here are some projects that use J2V8:
51+
* [tabris.js](https://tabrisjs.com)
52+
* [tern.java](https://github.com/angelozerr/tern.java)
53+
* [PlantUML](http://plantuml.com/)
54+
* [jooby](http://jooby.org/doc/assets)
55+
* [Alicorn](http://alicorn.io)
56+
57+
License
58+
=====
59+
The code is published under the terms of the [Eclipse Public License, version 1.0](http://www.eclipse.org/legal/epl-v10.html).
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import java.lang.Boolean.FALSE
2+
3+
plugins {
4+
id(libs.plugins.android.library.get().pluginId)
5+
}
6+
7+
android {
8+
namespace = "com.eclipsesource.v8"
9+
compileSdk = 34
10+
11+
defaultConfig {
12+
minSdk = 24
13+
}
14+
15+
buildTypes {
16+
release {
17+
isMinifyEnabled = FALSE
18+
19+
// 'libj2v8.so' is already included in the patch.
20+
ndk {
21+
abiFilters.add("")
22+
}
23+
}
24+
}
25+
26+
compileOptions {
27+
sourceCompatibility = JavaVersion.VERSION_17
28+
targetCompatibility = JavaVersion.VERSION_17
29+
}
30+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Add project specific ProGuard rules here.
2+
# You can control the set of applied configuration files using the
3+
# proguardFiles setting in build.gradle.
4+
#
5+
# For more details, see
6+
# http://developer.android.com/guide/developing/tools/proguard.html
7+
8+
# If your project uses WebView with JS, uncomment the following
9+
# and specify the fully qualified class name to the JavaScript interface
10+
# class:
11+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12+
# public *;
13+
#}
14+
15+
# Uncomment this to preserve the line number information for
16+
# debugging stack traces.
17+
#-keepattributes SourceFile,LineNumberTable
18+
19+
# If you keep the line number information, uncomment this to
20+
# hide the original source file name.
21+
#-renamesourcefileattribute SourceFile
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest package="com.eclipsesource.v8">
3+
4+
<application />
5+
6+
</manifest>

0 commit comments

Comments
 (0)