mirror of
https://github.com/ReVanced/revanced-manager.git
synced 2025-05-19 07:26:39 +08:00
Compare commits
13 Commits
v1.19.0-de
...
v1.19.0-de
Author | SHA1 | Date | |
---|---|---|---|
f2e7071f6d | |||
25d53ce9a8 | |||
3b58d229da | |||
f5ba84d81e | |||
933c71923e | |||
bfe59ea57a | |||
953209ca13 | |||
b2119ce60e | |||
e0c750d27e | |||
b754a045eb | |||
5a24911fad | |||
0ec6897fda | |||
f57898a471 |
29
.github/dependabot.yml
vendored
Normal file
29
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: github-actions
|
||||||
|
labels: []
|
||||||
|
directory: /
|
||||||
|
target-branch: dev
|
||||||
|
schedule:
|
||||||
|
interval: monthly
|
||||||
|
|
||||||
|
- package-ecosystem: npm
|
||||||
|
labels: []
|
||||||
|
directory: /
|
||||||
|
target-branch: dev
|
||||||
|
schedule:
|
||||||
|
interval: monthly
|
||||||
|
|
||||||
|
- package-ecosystem: pub
|
||||||
|
labels: []
|
||||||
|
directory: /
|
||||||
|
target-branch: dev
|
||||||
|
schedule:
|
||||||
|
interval: monthly
|
||||||
|
|
||||||
|
- package-ecosystem: gradle
|
||||||
|
labels: [ "ReVanced Manager Compose" ]
|
||||||
|
directory: /
|
||||||
|
target-branch: compose-dev
|
||||||
|
schedule:
|
||||||
|
interval: monthly
|
10
.github/workflows/release-build.yml
vendored
10
.github/workflows/release-build.yml
vendored
@ -26,6 +26,11 @@ jobs:
|
|||||||
java-version: "17"
|
java-version: "17"
|
||||||
distribution: "zulu"
|
distribution: "zulu"
|
||||||
|
|
||||||
|
- name: Set up Node.js 20
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
|
||||||
- uses: subosito/flutter-action@v2
|
- uses: subosito/flutter-action@v2
|
||||||
with:
|
with:
|
||||||
channel: "stable"
|
channel: "stable"
|
||||||
@ -57,3 +62,8 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 --decode > android/app/keystore.jks
|
echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 --decode > android/app/keystore.jks
|
||||||
npx semantic-release
|
npx semantic-release
|
||||||
|
- name: Upload a Build Artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Artifact
|
||||||
|
path: build/app/outputs/apk/release/revanced-manager*.apk
|
||||||
|
172
.gitignore
vendored
172
.gitignore
vendored
@ -1,14 +1,40 @@
|
|||||||
# Miscellaneous
|
# See https://www.dartlang.org/guides/libraries/private-files
|
||||||
*.class
|
|
||||||
*.lock
|
# Files and directories created by pub
|
||||||
*.log
|
.dart_tool/
|
||||||
*.pyc
|
.packages
|
||||||
*.swp
|
build/
|
||||||
.DS_Store
|
# If you're building an application, you may want to check-in your pubspec.lock
|
||||||
.atom/
|
# pubspec.lock
|
||||||
.buildlog/
|
|
||||||
.history
|
# Directory created by dartdoc
|
||||||
.svn/
|
# If you don't generate documentation locally you can remove this line.
|
||||||
|
doc/api/
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env*
|
||||||
|
|
||||||
|
# Avoid committing generated Javascript files:
|
||||||
|
*.dart.js
|
||||||
|
*.info.json # Produced by the --dump-info flag.
|
||||||
|
*.js # When generated by dart2js. Don't specify *.js if your
|
||||||
|
# project includes source files written in JavaScript.
|
||||||
|
*.js_
|
||||||
|
*.js.deps
|
||||||
|
*.js.map
|
||||||
|
|
||||||
|
.flutter-plugins
|
||||||
|
.flutter-plugins-dependencies
|
||||||
|
|
||||||
|
# Generated Builder file
|
||||||
|
**/*.g.dart
|
||||||
|
**/*.locator.dart
|
||||||
|
**/*.router.dart
|
||||||
|
|
||||||
|
flutter_*.png
|
||||||
|
|
||||||
|
#### Custom
|
||||||
|
|
||||||
local.properties
|
local.properties
|
||||||
|
|
||||||
# IntelliJ related
|
# IntelliJ related
|
||||||
@ -17,129 +43,7 @@ local.properties
|
|||||||
*.iws
|
*.iws
|
||||||
.idea/
|
.idea/
|
||||||
|
|
||||||
# Visual Studio Code related
|
# Node Dependency directories
|
||||||
.classpath
|
|
||||||
.project
|
|
||||||
.settings/
|
|
||||||
|
|
||||||
# Flutter repo-specific
|
|
||||||
/bin/cache/
|
|
||||||
/bin/mingit/
|
|
||||||
/dev/benchmarks/mega_gallery/
|
|
||||||
/dev/bots/.recipe_deps
|
|
||||||
/dev/bots/android_tools/
|
|
||||||
/dev/docs/doc/
|
|
||||||
/dev/docs/flutter.docs.zip
|
|
||||||
/dev/docs/lib/
|
|
||||||
/dev/docs/pubspec.yaml
|
|
||||||
/dev/integration_tests/**/xcuserdata
|
|
||||||
/dev/integration_tests/**/Pods
|
|
||||||
/packages/flutter/coverage/
|
|
||||||
version
|
|
||||||
|
|
||||||
# packages file containing multi-root paths
|
|
||||||
.packages.generated
|
|
||||||
|
|
||||||
# Flutter/Dart/Pub related
|
|
||||||
**/doc/api/
|
|
||||||
**/*.g.dart
|
|
||||||
**/*.locator.dart
|
|
||||||
**/*.router.dart
|
|
||||||
.dart_tool/
|
|
||||||
.flutter-plugins
|
|
||||||
.flutter-plugins-dependencies
|
|
||||||
**/generated_plugin_registrant.dart
|
|
||||||
.packages
|
|
||||||
.pub-cache/
|
|
||||||
.pub/
|
|
||||||
build/
|
|
||||||
flutter_*.png
|
|
||||||
linked_*.ds
|
|
||||||
unlinked.ds
|
|
||||||
unlinked_spec.ds
|
|
||||||
|
|
||||||
# Android related
|
|
||||||
.gradle/
|
|
||||||
**/android/**/gradle-wrapper.jar
|
|
||||||
**/android/.gradle
|
|
||||||
**/android/captures/
|
|
||||||
**/android/gradlew
|
|
||||||
**/android/gradlew.bat
|
|
||||||
**/android/local.properties
|
|
||||||
**/android/**/GeneratedPluginRegistrant.java
|
|
||||||
**/android/key.properties
|
|
||||||
*.jks
|
|
||||||
|
|
||||||
# iOS/XCode related
|
|
||||||
**/ios/**/*.mode1v3
|
|
||||||
**/ios/**/*.mode2v3
|
|
||||||
**/ios/**/*.moved-aside
|
|
||||||
**/ios/**/*.pbxuser
|
|
||||||
**/ios/**/*.perspectivev3
|
|
||||||
**/ios/**/*sync/
|
|
||||||
**/ios/**/.sconsign.dblite
|
|
||||||
**/ios/**/.tags*
|
|
||||||
**/ios/**/.vagrant/
|
|
||||||
**/ios/**/DerivedData/
|
|
||||||
**/ios/**/Icon?
|
|
||||||
**/ios/**/Pods/
|
|
||||||
**/ios/**/.symlinks/
|
|
||||||
**/ios/**/profile
|
|
||||||
**/ios/**/xcuserdata
|
|
||||||
**/ios/.generated/
|
|
||||||
**/ios/Flutter/.last_build_id
|
|
||||||
**/ios/Flutter/App.framework
|
|
||||||
**/ios/Flutter/Flutter.framework
|
|
||||||
**/ios/Flutter/Flutter.podspec
|
|
||||||
**/ios/Flutter/Generated.xcconfig
|
|
||||||
**/ios/Flutter/app.flx
|
|
||||||
**/ios/Flutter/app.zip
|
|
||||||
**/ios/Flutter/flutter_assets/
|
|
||||||
**/ios/Flutter/flutter_export_environment.sh
|
|
||||||
**/ios/ServiceDefinitions.json
|
|
||||||
**/ios/Runner/GeneratedPluginRegistrant.*
|
|
||||||
|
|
||||||
# macOS related
|
|
||||||
**/macos/Flutter/GeneratedPluginRegistrant.swift
|
|
||||||
**/macos/Flutter/Flutter-Debug.xcconfig
|
|
||||||
**/macos/Flutter/Flutter-Release.xcconfig
|
|
||||||
**/macos/Flutter/Flutter-Profile.xcconfig
|
|
||||||
|
|
||||||
# Windows related
|
|
||||||
**/windows/flutter/ephemeral/
|
|
||||||
**/windows/**/*.suo
|
|
||||||
**/windows/**/*.user
|
|
||||||
**/windows/**/*.userosscache
|
|
||||||
**/windows/**/*.sln.docstates
|
|
||||||
**/windows/x64/
|
|
||||||
**/windows/x86/
|
|
||||||
**/windows/**/*.[Cc]ache
|
|
||||||
**/windows/**/!*.[Cc]ache/
|
|
||||||
|
|
||||||
# Web related
|
|
||||||
lib/generated_plugin_registrant.dart
|
|
||||||
|
|
||||||
# Coverage
|
|
||||||
coverage/
|
|
||||||
|
|
||||||
# Symbolication related
|
|
||||||
app.*.symbols
|
|
||||||
|
|
||||||
# Obfuscation related
|
|
||||||
app.*.map.json
|
|
||||||
|
|
||||||
# Exceptions to above rules.
|
|
||||||
!**/ios/**/default.mode1v3
|
|
||||||
!**/ios/**/default.mode2v3
|
|
||||||
!**/ios/**/default.pbxuser
|
|
||||||
!**/ios/**/default.perspectivev3
|
|
||||||
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
|
||||||
!/dev/ci/**/Gemfile.lock
|
|
||||||
|
|
||||||
# Firebase related
|
|
||||||
.firebase
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
# FVM
|
# FVM
|
||||||
|
@ -9,8 +9,14 @@ module.exports = {
|
|||||||
"plugins": [
|
"plugins": [
|
||||||
[
|
[
|
||||||
"@semantic-release/commit-analyzer", {
|
"@semantic-release/commit-analyzer", {
|
||||||
|
"preset": "conventionalcommits",
|
||||||
"releaseRules": [
|
"releaseRules": [
|
||||||
{ "type": "build", "scope": "Needs bump", "release": "patch" }
|
{ type: "style", release: "patch" },
|
||||||
|
{ type: "refactor", release: "patch" },
|
||||||
|
{ type: "perf", release: "patch" },
|
||||||
|
{ type: "build", release: "patch" },
|
||||||
|
{ type: "chore", release: "patch" },
|
||||||
|
{ type: "revert", release: "patch" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -45,8 +45,6 @@ android {
|
|||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
shrinkResources false
|
|
||||||
minifyEnabled false
|
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
|
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
|
||||||
}
|
}
|
||||||
|
23
android/app/proguard-rules.pro
vendored
Normal file
23
android/app/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# You can control the set of applied configuration files using the
|
||||||
|
# proguardFiles setting in build.gradle.kts.kts.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# These packages are referenced by ReVanced Patches
|
||||||
|
-keep class app.revanced.patcher.** { *; }
|
||||||
|
-keep class com.android.tools.smali.** { *; }
|
||||||
|
-keep class kotlin.** { *; }
|
||||||
|
-keepnames class com.google.common.collect.**
|
||||||
|
|
||||||
|
# This package uses reflection internally, so do not remove and rename
|
||||||
|
-keep class com.android.apksig.internal.** { *; }
|
||||||
|
|
||||||
|
# Fix crash
|
||||||
|
-keepnames class org.xmlpull.** { *; }
|
||||||
|
|
||||||
|
# Fix build errors
|
||||||
|
-dontwarn java.awt.**
|
||||||
|
-dontwarn javax.**
|
||||||
|
-dontwarn com.google.j2objc.annotations.*
|
@ -3,7 +3,6 @@ org.gradle.parallel=true
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.caching=true
|
org.gradle.caching=true
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
android.enableJetifier=true
|
|
||||||
android.defaults.buildfeatures.buildconfig=true
|
android.defaults.buildfeatures.buildconfig=true
|
||||||
android.nonTransitiveRClass=false
|
android.nonTransitiveRClass=false
|
||||||
android.nonFinalResIds=false
|
android.nonFinalResIds=false
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionSha256Sum=9d926787066a081739e8200858338b4a69e837c3a821a33aca9db09dd4a41026
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
|
distributionSha256Sum=9631d53cf3e74bfa726893aee1f8994fee4e060c401335946dba2156f440f24c
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
@ -8,26 +8,33 @@ The following pages will guide you through using ReVanced Manager to patch apps.
|
|||||||
2. Tap on the **Select an app** card
|
2. Tap on the **Select an app** card
|
||||||
3. Choose an app to patch[^1]
|
3. Choose an app to patch[^1]
|
||||||
|
|
||||||
> [!NOTE]
|
> ℹ️ Note
|
||||||
> The suggested version is visible in each app's card.
|
> The suggested version is visible on each app's card.
|
||||||
|
> You can tap on it to open a search query to obtain an APK file for the selected app with the suggested version
|
||||||
|
|
||||||
|
> 💡 Tip
|
||||||
|
> If you are prompted to select an APK file from storage because the selected app is a split APK, tap on the "Suggested version" label to open a search query to obtain said APK file
|
||||||
|
|
||||||
4. Tap on the **Select patches** card and select the patches you want to apply[^2].
|
4. Tap on the **Select patches** card and select the patches you want to apply[^2].
|
||||||
|
|
||||||
> [!NOTE]
|
> ℹ️ Note
|
||||||
> Some patches have options that can or must be configured by tapping on ⚙️ icon next to the patch name.
|
> Some patches have options that can or must be configured by tapping on ⚙️ icon next to the patch name.
|
||||||
|
|
||||||
>[!WARNING]
|
> ⚠️ Warning
|
||||||
> If you see a warning you can click on it for more information.
|
> If you see a warning, you can click on it for more information.
|
||||||
|
|
||||||
5. Tap on the **Done** then **Patch** button
|
5. Tap on the **Done** then **Patch** button
|
||||||
|
|
||||||
> [!WARNING]
|
> ⚠️ Warning
|
||||||
> The patching process may take ~5 minutes. Exiting the app may cancel patching or increase the time it takes to patch.
|
> The patching process may take ~5 minutes. Exiting the app may cancel patching or increase the time it takes to patch significantly.
|
||||||
|
|
||||||
6. Tap on the **Install** button
|
6. Tap on the **Install** button
|
||||||
|
|
||||||
> [!NOTE]
|
> ℹ️ Note
|
||||||
> If you are rooted, you can mount the patched app on top of the original app.[^3]
|
> If you are rooted, you can mount the patched app on top of the original app.[^3]
|
||||||
> Optionally, you may export the patched app to storage using the option in the bottom left corner.
|
> Optionally, you may export the patched app to storage using the option in the bottom left corner.
|
||||||
|
|
||||||
[^1]: Non-root users may be prompted to select an APK from storage, in which case you must source the APK file yourself. ReVanced does not provide any APK files.
|
[^1]: You can select installed apps or select APK files from storage. ReVanced does not provide any APK files, which is why you have to source them yourself.
|
||||||
[^2]: It is suggested to use the default set of patches by tapping on the **Default** button above the list of patches.
|
[^2]: It is suggested to use the default set of patches by tapping on the **Default** button above the list of patches.
|
||||||
[^3]: Mounting the patched app on top of the original app will only work if the installed app version matches the version of the app selected in step 3. above.
|
[^3]: Mounting the patched app on top of the original app will only work if the installed app version matches the version of the app selected in step 3. above.
|
||||||
|
|
||||||
|
@ -619,8 +619,8 @@ class ManagerAPI {
|
|||||||
return showDialog(
|
return showDialog(
|
||||||
barrierDismissible: false,
|
barrierDismissible: false,
|
||||||
context: context,
|
context: context,
|
||||||
builder: (context) => WillPopScope(
|
builder: (context) => PopScope(
|
||||||
onWillPop: () async => false,
|
canPop: false,
|
||||||
child: AlertDialog(
|
child: AlertDialog(
|
||||||
title: Text(t.warning),
|
title: Text(t.warning),
|
||||||
content: ValueListenableBuilder(
|
content: ValueListenableBuilder(
|
||||||
|
@ -16,12 +16,15 @@ class InstallerView extends StatelessWidget {
|
|||||||
return ViewModelBuilder<InstallerViewModel>.reactive(
|
return ViewModelBuilder<InstallerViewModel>.reactive(
|
||||||
onViewModelReady: (model) => model.initialize(context),
|
onViewModelReady: (model) => model.initialize(context),
|
||||||
viewModelBuilder: () => InstallerViewModel(),
|
viewModelBuilder: () => InstallerViewModel(),
|
||||||
builder: (context, model, child) => WillPopScope(
|
builder: (context, model, child) => PopScope(
|
||||||
/*
|
canPop: !model.isPatching,
|
||||||
TODO(any): migrate to [PopScope],
|
onPopInvoked: (bool didPop) {
|
||||||
we've tried to migrate it two times but
|
if (didPop) {
|
||||||
reverted it because we couldn't exit out of the screen.
|
model.onPop();
|
||||||
*/
|
} else {
|
||||||
|
model.onPopAttempt(context);
|
||||||
|
}
|
||||||
|
},
|
||||||
child: SafeArea(
|
child: SafeArea(
|
||||||
top: false,
|
top: false,
|
||||||
bottom: model.isPatching,
|
bottom: model.isPatching,
|
||||||
@ -83,7 +86,7 @@ class InstallerView extends StatelessWidget {
|
|||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
onBackButtonPressed: () => model.onWillPop(context),
|
onBackButtonPressed: () => Navigator.maybePop(context),
|
||||||
bottom: PreferredSize(
|
bottom: PreferredSize(
|
||||||
preferredSize: const Size(double.infinity, 1.0),
|
preferredSize: const Size(double.infinity, 1.0),
|
||||||
child: GradientProgressIndicator(progress: model.progress),
|
child: GradientProgressIndicator(progress: model.progress),
|
||||||
@ -111,7 +114,6 @@ class InstallerView extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onWillPop: () => model.onWillPop(context),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -526,25 +526,23 @@ class InstallerViewModel extends BaseViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<bool> onWillPop(BuildContext context) async {
|
Future<void> onPopAttempt(BuildContext context) async {
|
||||||
if (isPatching) {
|
if (!cancel) {
|
||||||
if (!cancel) {
|
cancel = true;
|
||||||
cancel = true;
|
_toast.showBottom(t.installerView.pressBackAgain);
|
||||||
_toast.showBottom(t.installerView.pressBackAgain);
|
} else if (!isCanceled) {
|
||||||
} else if (!isCanceled) {
|
await stopPatcher();
|
||||||
await stopPatcher();
|
} else {
|
||||||
} else {
|
_toast.showBottom(t.installerView.noExit);
|
||||||
_toast.showBottom(t.installerView.noExit);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void onPop() {
|
||||||
if (!cancel) {
|
if (!cancel) {
|
||||||
cleanPatcher();
|
cleanPatcher();
|
||||||
} else {
|
} else {
|
||||||
_patcherAPI.cleanPatcher();
|
_patcherAPI.cleanPatcher();
|
||||||
}
|
}
|
||||||
screenshotCallback.dispose();
|
ScreenshotCallback().dispose();
|
||||||
Navigator.of(context).pop();
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,13 +13,11 @@ class NavigationView extends StatelessWidget {
|
|||||||
return ViewModelBuilder<NavigationViewModel>.reactive(
|
return ViewModelBuilder<NavigationViewModel>.reactive(
|
||||||
onViewModelReady: (model) => model.initialize(context),
|
onViewModelReady: (model) => model.initialize(context),
|
||||||
viewModelBuilder: () => locator<NavigationViewModel>(),
|
viewModelBuilder: () => locator<NavigationViewModel>(),
|
||||||
builder: (context, model, child) => WillPopScope(
|
builder: (context, model, child) => PopScope(
|
||||||
onWillPop: () async {
|
canPop: model.currentIndex == 0,
|
||||||
if (model.currentIndex == 0) {
|
onPopInvoked: (bool didPop) {
|
||||||
return true;
|
if (!didPop) {
|
||||||
} else {
|
|
||||||
model.setIndex(0);
|
model.setIndex(0);
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
|
@ -46,7 +46,6 @@ class SUpdateLanguage extends BaseViewModel {
|
|||||||
builder: (context) => AlertDialog(
|
builder: (context) => AlertDialog(
|
||||||
title: Text(t.settingsView.languageLabel),
|
title: Text(t.settingsView.languageLabel),
|
||||||
icon: const Icon(Icons.language),
|
icon: const Icon(Icons.language),
|
||||||
backgroundColor: Theme.of(context).colorScheme.secondaryContainer,
|
|
||||||
contentPadding: EdgeInsets.zero,
|
contentPadding: EdgeInsets.zero,
|
||||||
content: ValueListenableBuilder(
|
content: ValueListenableBuilder(
|
||||||
valueListenable: selectedLanguageCode,
|
valueListenable: selectedLanguageCode,
|
||||||
|
2000
package-lock.json
generated
2000
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -6,6 +6,6 @@
|
|||||||
"@semantic-release/exec": "^6.0.3",
|
"@semantic-release/exec": "^6.0.3",
|
||||||
"@semantic-release/git": "^10.0.1",
|
"@semantic-release/git": "^10.0.1",
|
||||||
"conventional-changelog-conventionalcommits": "^7.0.2",
|
"conventional-changelog-conventionalcommits": "^7.0.2",
|
||||||
"semantic-release": "^22.0.12"
|
"semantic-release": "^23.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1332
pubspec.lock
Normal file
1332
pubspec.lock
Normal file
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager
|
|||||||
|
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
|
|
||||||
version: 1.19.0-dev.10+101900010
|
version: 1.19.0-dev.12+101900012
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=3.0.0 <4.0.0'
|
sdk: '>=3.0.0 <4.0.0'
|
||||||
|
Reference in New Issue
Block a user