mirror of
https://github.com/ReVanced/revanced-manager.git
synced 2024-11-10 01:01:56 +01:00
fix: patched applications not showing at launch (#1031)
This commit is contained in:
parent
768ad0c9bc
commit
d161d55aaf
1 changed files with 55 additions and 53 deletions
|
@ -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());
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue