Added share option, saveApp -> saveApps

This commit is contained in:
Imran Remtulla
2022-09-25 01:41:50 -04:00
parent 9a4b0301be
commit 428c208de4
8 changed files with 98 additions and 26 deletions

View File

@@ -113,7 +113,8 @@ class _AddAppPageState extends State<AddAppPage> {
settingsProvider
.getInstallPermission()
.then((_) {
appsProvider.saveApp(app).then((_) {
appsProvider
.saveApps([app]).then((_) {
Navigator.push(
context,
MaterialPageRoute(

View File

@@ -126,8 +126,8 @@ class _AppPageState extends State<AppPage> {
.installedVersion =
updatedApp
.latestVersion;
appsProvider.saveApp(
updatedApp);
appsProvider.saveApps(
[updatedApp]);
}
Navigator.of(context)
.pop();
@@ -167,8 +167,8 @@ class _AppPageState extends State<AppPage> {
updatedApp
.installedVersion =
null;
appsProvider.saveApp(
updatedApp);
appsProvider.saveApps(
[updatedApp]);
}
Navigator.of(context)
.pop();
@@ -202,7 +202,7 @@ class _AppPageState extends State<AppPage> {
if (app != null && values != null) {
var changedApp = app.app;
changedApp.additionalData = values;
appsProvider.saveApp(changedApp);
appsProvider.saveApps([changedApp]);
}
});
},

View File

@@ -7,6 +7,7 @@ import 'package:obtainium/pages/app.dart';
import 'package:obtainium/providers/apps_provider.dart';
import 'package:obtainium/providers/settings_provider.dart';
import 'package:provider/provider.dart';
import 'package:share_plus/share_plus.dart';
class AppsPage extends StatefulWidget {
const AppsPage({super.key});
@@ -194,6 +195,7 @@ class AppsPageState extends State<AppsPage> {
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
IconButton(
visualDensity: VisualDensity.compact,
onPressed: () {
showDialog<List<String>?>(
context: context,
@@ -215,6 +217,7 @@ class AppsPageState extends State<AppsPage> {
icon: const Icon(Icons.delete_outline_outlined),
),
IconButton(
visualDensity: VisualDensity.compact,
onPressed: appsProvider.areDownloadsRunning() ||
selectedIds
.where((id) =>
@@ -301,6 +304,19 @@ class AppsPageState extends State<AppsPage> {
icon: const Icon(
Icons.file_download_outlined,
)),
IconButton(
visualDensity: VisualDensity.compact,
onPressed: () {
String urls = '';
for (var id in selectedIds) {
urls += '${appsProvider.apps[id]!.app.url}\n';
}
urls = urls.substring(0, urls.length - 1);
Share.share(urls,
subject: 'Selected App URLs from Obtainium');
},
icon: const Icon(Icons.share),
),
],
)),
const VerticalDivider(),

View File

@@ -47,7 +47,7 @@ class _ImportExportPageState extends State<ImportExportPage> {
if (appsProvider.apps.containsKey(app.id)) {
errorsMap.addAll({app.id: 'App already added'});
} else {
await appsProvider.saveApp(app);
await appsProvider.saveApps([app]);
}
}
List<List<String>> errors =