chore: merge dev branch to main branch (#1032)

This commit is contained in:
Aunali321 2023-07-23 13:53:25 +05:30 committed by GitHub
commit fd43ac7581
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 84 additions and 60 deletions

View File

@ -1,14 +1,25 @@
name: Analyze Code name: Analyze Code
on: on:
push:
branches: [ "dev" ]
paths:
- "**.dart"
- ".github/workflows/analyze.yml"
pull_request: pull_request:
branches: [ "main", "dev" ] branches: [ "main", "dev" ]
types:
- opened
- reopened
- synchronize
- ready_for_review
paths: paths:
- "**.dart" - "**.dart"
- ".github/workflows/analyze.yml" - ".github/workflows/analyze.yml"
jobs: jobs:
build: build:
name: "Static analysis & format check"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3

View File

@ -2,23 +2,29 @@
package="app.revanced.manager.flutter"> package="app.revanced.manager.flutter">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" /> <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<application <application
android:label="ReVanced Manager" android:label="ReVanced Manager"
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:largeHeap="true" android:largeHeap="true"
android:requestLegacyExternalStorage="true"
android:extractNativeLibs="true" android:extractNativeLibs="true"
android:enableOnBackInvokedCallback="true"> android:enableOnBackInvokedCallback="true">
<activity <activity

View File

@ -1,3 +1,6 @@
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M -XX:+UseParallelGC
org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.caching=true
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true

View File

@ -1 +1 @@
Patch your favourite apps, right on your device. Patch your favorite apps, right on your device.

View File

@ -93,7 +93,9 @@ class SManageApiUrl extends BaseViewModel {
onPressed: () { onPressed: () {
_managerAPI.setApiUrl(''); _managerAPI.setApiUrl('');
_toast.showBottom('settingsView.restartAppForChanges'); _toast.showBottom('settingsView.restartAppForChanges');
Navigator.of(context).pop(); Navigator.of(context)
..pop()
..pop();
}, },
) )
], ],

View File

@ -8,24 +8,14 @@ import 'package:revanced_manager/ui/views/home/home_viewmodel.dart';
import 'package:revanced_manager/ui/widgets/shared/application_item.dart'; import 'package:revanced_manager/ui/widgets/shared/application_item.dart';
import 'package:revanced_manager/ui/widgets/shared/custom_card.dart'; import 'package:revanced_manager/ui/widgets/shared/custom_card.dart';
class InstalledAppsCard extends StatefulWidget { //ignore: must_be_immutable
const InstalledAppsCard({Key? key}) : super(key: key); class InstalledAppsCard extends StatelessWidget {
InstalledAppsCard({Key? key}) : super(key: key);
@override
State<InstalledAppsCard> createState() => _InstalledAppsCardState();
}
class _InstalledAppsCardState extends State<InstalledAppsCard> {
List<PatchedApplication> apps = locator<HomeViewModel>().patchedInstalledApps; List<PatchedApplication> apps = locator<HomeViewModel>().patchedInstalledApps;
final ManagerAPI _managerAPI = locator<ManagerAPI>(); final ManagerAPI _managerAPI = locator<ManagerAPI>();
List<PatchedApplication> patchedApps = []; List<PatchedApplication> patchedApps = [];
@override
void initState() {
super.initState();
_getApps();
}
Future _getApps() async { Future _getApps() async {
if (apps.isNotEmpty) { if (apps.isNotEmpty) {
patchedApps = [...apps]; patchedApps = [...apps];
@ -41,54 +31,66 @@ class _InstalledAppsCardState extends State<InstalledAppsCard> {
apps.clear(); apps.clear();
apps = [...patchedApps]; apps = [...patchedApps];
} }
setState(() {});
} }
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return apps.isEmpty return FutureBuilder(
? CustomCard( future: _getApps(),
child: Center( builder: (context, snapshot) {
child: Column( if (snapshot.connectionState == ConnectionState.done) {
children: <Widget>[ return apps.isEmpty
Icon( ? CustomCard(
size: 40, child: Center(
Icons.file_download_off, child: Column(
color: Theme.of(context).colorScheme.secondary, children: <Widget>[
), Icon(
const SizedBox(height: 16), size: 40,
I18nText( Icons.file_download_off,
'homeView.noInstallations', color: Theme.of(context).colorScheme.secondary,
child: Text( ),
'', const SizedBox(height: 16),
textAlign: TextAlign.center, I18nText(
style: Theme.of(context).textTheme.titleMedium!.copyWith( 'homeView.noInstallations',
color: Theme.of(context).colorScheme.secondary, child: Text(
'',
textAlign: TextAlign.center,
style: Theme.of(context)
.textTheme
.titleMedium!
.copyWith(
color:
Theme.of(context).colorScheme.secondary,
),
), ),
)
],
), ),
)
],
),
),
)
: ListView(
shrinkWrap: true,
padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(),
children: apps
.map(
(app) => ApplicationItem(
icon: app.icon,
name: app.name,
patchDate: app.patchDate,
changelog: app.changelog,
isUpdatableApp: false,
onPressed: () =>
locator<HomeViewModel>().navigateToAppInfo(app),
), ),
) )
.toList(), : ListView(
); shrinkWrap: true,
padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(),
children: apps
.map(
(app) => ApplicationItem(
icon: app.icon,
name: app.name,
patchDate: app.patchDate,
changelog: app.changelog,
isUpdatableApp: false,
onPressed: () =>
locator<HomeViewModel>().navigateToAppInfo(app),
),
)
.toList(),
);
} else {
return const Center(child: CircularProgressIndicator());
}
},
);
} }
} }

View File

@ -59,7 +59,7 @@ dependencies:
root: root:
git: git:
url: https://github.com/EvadeMaster/root url: https://github.com/EvadeMaster/root
ref: 9bcf0dc06b8e2e3ccd5fbd16bc849938e817b36b ref: 82803aa40f63cddff81c3e4d27ce8ce3e7c83f60
share_extend: ^2.0.0 share_extend: ^2.0.0
shared_preferences: ^2.1.0 shared_preferences: ^2.1.0
skeletons: ^0.0.3 skeletons: ^0.0.3