aboutsummaryrefslogtreecommitdiff
path: root/lib/pages
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pages')
-rw-r--r--lib/pages/Apps.dart47
-rw-r--r--lib/pages/Home.dart12
2 files changed, 13 insertions, 46 deletions
diff --git a/lib/pages/Apps.dart b/lib/pages/Apps.dart
index 7049799..8c61814 100644
--- a/lib/pages/Apps.dart
+++ b/lib/pages/Apps.dart
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:device_apps/device_apps.dart';
-import 'package:android_intent/android_intent.dart';
import '../components/FixedContainer.dart';
import '../components/SearchableAppList.dart';
@@ -32,52 +31,16 @@ class Option extends StatelessWidget {
}
class AppsView extends StatelessWidget {
+ void Function(Application) openApp;
+ void Function(BuildContext, Application) openOptionsMenu;
+
+ AppsView({ this.openApp, this.openOptionsMenu }): super();
+
Future<List<Application>> appListF = DeviceApps.getInstalledApplications(
includeSystemApps: true,
onlyAppsWithLaunchIntent: true,
);
- void openApp(Application app) {
- DeviceApps.openApp(app.packageName);
- }
-
- void openOptionsMenu(BuildContext ctx, Application app) {
- showDialog(context: ctx, builder: (BuildContext ctx) => buildOptionsMenu(ctx, app));
- }
-
- Widget buildOptionsMenu(BuildContext ctx, Application app) {
- ThemeData theme = Theme.of(ctx);
-
- return Dialog(
- child: Container(
- decoration: BoxDecoration(
- color: theme.backgroundColor,
- ),
- height: 170.0,
- child: ListView(
- children: [
- Option(child: Text('Add to favorites'), onTap: () async {
- await addToFavorites(app);
- }),
- Option(child: Text('App Settings'), onTap: () async {
- await AndroidIntent(
- action: 'action_application_details_settings',
- data: 'package:${app.packageName}',
- ).launch();
- }),
- Option(child: Text('Uninstall'), onTap: () async {
- // FIXME: Doesn't work
- await AndroidIntent(
- action: 'action_delete',
- data: 'package:${app.packageName}',
- ).launch();
- }),
- ],
- ),
- ),
- );
- }
-
@override
Widget build(BuildContext ctx) {
return FixedContainer(
diff --git a/lib/pages/Home.dart b/lib/pages/Home.dart
index 2930bf8..3e22f93 100644
--- a/lib/pages/Home.dart
+++ b/lib/pages/Home.dart
@@ -77,10 +77,10 @@ class StatusInfoCard extends StatelessWidget {
class HomeView extends StatelessWidget {
DateTime dateTime;
List<Application> favoriteApps;
+ void Function(Application) openApp;
+ void Function(BuildContext, Application) openOptionsMenu;
- HomeView({ this.dateTime, this.favoriteApps }): super();
-
- void noop(Application app) {}
+ HomeView({ this.dateTime, this.favoriteApps, this.openApp, this.openOptionsMenu }): super();
@override
Widget build(BuildContext ctx) {
@@ -90,7 +90,11 @@ class HomeView extends StatelessWidget {
children: [
StatusInfoCard(dateTime: dateTime),
Expanded(child: Container(
- child: AppList(appList: favoriteApps, openApp: noop, openOptionsMenu: noop),
+ child: AppList(
+ appList: favoriteApps,
+ openApp: openApp,
+ openOptionsMenu: (app) => openOptionsMenu(ctx, app),
+ ),
)),
],
)