diff options
Diffstat (limited to 'lib/main.dart')
| -rw-r--r-- | lib/main.dart | 42 |
1 files changed, 5 insertions, 37 deletions
diff --git a/lib/main.dart b/lib/main.dart index 2f5c415..c3bf787 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,11 +2,12 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:device_apps/device_apps.dart'; import 'package:android_intent/android_intent.dart'; -import 'package:shared_preferences/shared_preferences.dart'; import 'pages/Home.dart'; import 'pages/Apps.dart'; +import 'components/AppContextMenu.dart'; + import 'data/config.dart'; import 'data/favorites.dart'; import 'helpers/StreamState.dart'; @@ -38,47 +39,14 @@ class MyAppState extends StreamState<MyApp> { initStateValue(dateTime); } - Widget buildOptionsMenu(BuildContext ctx, Application app) { - ThemeData theme = Theme.of(ctx); - - var isFavorite = -1 != favoriteApps.value.indexWhere((a) => a.packageName == app.packageName); - - return Dialog( - child: Container( - decoration: BoxDecoration( - color: theme.backgroundColor, - ), - height: 170.0, - child: ListView( - children: [ - Option(child: Text(isFavorite ? 'Remove from favorites' : 'Add to favorites'), onTap: () async { - await isFavorite ? removeFromFavorites(app) : 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(); - }), - ], - ), - ), - ); - } - void openApp(Application app) { DeviceApps.openApp(app.packageName); } void openOptionsMenu(BuildContext ctx, Application app) { - showDialog(context: ctx, builder: (BuildContext ctx) => buildOptionsMenu(ctx, app)); + var isFavorite = -1 != favoriteApps.value.indexWhere((a) => a.packageName == app.packageName); + + showDialog(context: ctx, builder: (BuildContext ctx) => AppContextMenu(app: app, isFavorite: isFavorite)); } ThemeData getLightTheme() { |
