Compare commits

..

6 Commits

Author SHA1 Message Date
f2e7071f6d chore(release): 1.19.0-dev.12 [skip ci]
## Documentation
* Add a tip for the prompt to select an APK from storage ([oSumAtrIX](bfe59ea57a))
* Adjust footnote regarding obtaining APK files ([oSumAtrIX](f5ba84d81e))
* Use consistent wording ([oSumAtrIX](933c71923e))
## Code Refactoring
* PopScope Migration (#1674) ([Pun Butrach](3b58d229da))
## Continuous Integration
* Dependabot (#1692) ([Benjamin](25d53ce9a8))
2024-02-18 22:05:57 +00:00
25d53ce9a8 ci: Dependabot (#1692)
And accept more commit.

Co-authored-by: Pun Butrach <pun.butrach@gmail.com>
2024-02-19 04:58:29 +07:00
3b58d229da refactor: PopScope Migration (#1674)
Co-authored-by: Benjamin Halko <benjaminhalko@hotmail.com>
2024-02-18 08:32:32 +07:00
f5ba84d81e docs: Adjust footnote regarding obtaining APK files 2024-02-15 19:03:35 +01:00
933c71923e docs: Use consistent wording 2024-02-15 18:55:54 +01:00
bfe59ea57a docs: Add a tip for the prompt to select an APK from storage 2024-02-15 18:54:32 +01:00
11 changed files with 1180 additions and 949 deletions

29
.github/dependabot.yml vendored Normal file
View 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

View File

@ -26,6 +26,11 @@ jobs:
java-version: "17"
distribution: "zulu"
- name: Set up Node.js 20
uses: actions/setup-node@v4
with:
node-version: '20'
- uses: subosito/flutter-action@v2
with:
channel: "stable"

View File

@ -9,8 +9,14 @@ module.exports = {
"plugins": [
[
"@semantic-release/commit-analyzer", {
"preset": "conventionalcommits",
"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" }
]
}
],

View File

@ -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
3. Choose an app to patch[^1]
> [!NOTE]
> The suggested version is visible in each app's card.
> Note
> 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].
> [!NOTE]
> Note
> Some patches have options that can or must be configured by tapping on ⚙️ icon next to the patch name.
>[!WARNING]
> If you see a warning you can click on it for more information.
> ⚠️ Warning
> If you see a warning, you can click on it for more information.
5. Tap on the **Done** then **Patch** button
> [!WARNING]
> The patching process may take ~5 minutes. Exiting the app may cancel patching or increase the time it takes to patch.
> ⚠️ Warning
> 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
> [!NOTE]
> Note
> 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.
[^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.
[^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.

View File

@ -619,8 +619,8 @@ class ManagerAPI {
return showDialog(
barrierDismissible: false,
context: context,
builder: (context) => WillPopScope(
onWillPop: () async => false,
builder: (context) => PopScope(
canPop: false,
child: AlertDialog(
title: Text(t.warning),
content: ValueListenableBuilder(

View File

@ -16,12 +16,15 @@ class InstallerView extends StatelessWidget {
return ViewModelBuilder<InstallerViewModel>.reactive(
onViewModelReady: (model) => model.initialize(context),
viewModelBuilder: () => InstallerViewModel(),
builder: (context, model, child) => WillPopScope(
/*
TODO(any): migrate to [PopScope],
we've tried to migrate it two times but
reverted it because we couldn't exit out of the screen.
*/
builder: (context, model, child) => PopScope(
canPop: !model.isPatching,
onPopInvoked: (bool didPop) {
if (didPop) {
model.onPop();
} else {
model.onPopAttempt(context);
}
},
child: SafeArea(
top: false,
bottom: model.isPatching,
@ -83,7 +86,7 @@ class InstallerView extends StatelessWidget {
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
onBackButtonPressed: () => model.onWillPop(context),
onBackButtonPressed: () => Navigator.maybePop(context),
bottom: PreferredSize(
preferredSize: const Size(double.infinity, 1.0),
child: GradientProgressIndicator(progress: model.progress),
@ -111,7 +114,6 @@ class InstallerView extends StatelessWidget {
),
),
),
onWillPop: () => model.onWillPop(context),
),
);
}

View File

@ -526,25 +526,23 @@ class InstallerViewModel extends BaseViewModel {
}
}
Future<bool> onWillPop(BuildContext context) async {
if (isPatching) {
if (!cancel) {
cancel = true;
_toast.showBottom(t.installerView.pressBackAgain);
} else if (!isCanceled) {
await stopPatcher();
} else {
_toast.showBottom(t.installerView.noExit);
}
return false;
Future<void> onPopAttempt(BuildContext context) async {
if (!cancel) {
cancel = true;
_toast.showBottom(t.installerView.pressBackAgain);
} else if (!isCanceled) {
await stopPatcher();
} else {
_toast.showBottom(t.installerView.noExit);
}
}
void onPop() {
if (!cancel) {
cleanPatcher();
} else {
_patcherAPI.cleanPatcher();
}
screenshotCallback.dispose();
Navigator.of(context).pop();
return true;
ScreenshotCallback().dispose();
}
}

View File

@ -13,13 +13,11 @@ class NavigationView extends StatelessWidget {
return ViewModelBuilder<NavigationViewModel>.reactive(
onViewModelReady: (model) => model.initialize(context),
viewModelBuilder: () => locator<NavigationViewModel>(),
builder: (context, model, child) => WillPopScope(
onWillPop: () async {
if (model.currentIndex == 0) {
return true;
} else {
builder: (context, model, child) => PopScope(
canPop: model.currentIndex == 0,
onPopInvoked: (bool didPop) {
if (!didPop) {
model.setIndex(0);
return false;
}
},
child: Scaffold(

2000
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,6 @@
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"conventional-changelog-conventionalcommits": "^7.0.2",
"semantic-release": "^22.0.12"
"semantic-release": "^23.0.2"
}
}

View File

@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager
publish_to: 'none'
version: 1.19.0-dev.11+101900011
version: 1.19.0-dev.12+101900012
environment:
sdk: '>=3.0.0 <4.0.0'