From 2ba9fb3fbd5b30b9db8184b81a108c027e036af1 Mon Sep 17 00:00:00 2001 From: lukas-heiligenbrunner Date: Wed, 28 Sep 2022 11:56:51 +0200 Subject: [PATCH] use correct folder on android platform --- lib/home_page.dart | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/home_page.dart b/lib/home_page.dart index 6afa4f9..df0d881 100644 --- a/lib/home_page.dart +++ b/lib/home_page.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:gallery/data_provider/data_provider.dart'; import 'package:gallery/image_grid.dart'; @@ -20,23 +22,28 @@ enum Page { local, remote } class _MyHomePageState extends State { Page page = Page.local; - final DataProvider localProvider = LocalDataProvider(getApplicationDocumentsDirectory()); + Future _getLocalDir() async { + Directory dir; + if (Theme.of(context).platform == TargetPlatform.android) { + dir = Directory("/storage/emulated/0/DCIM/"); + } else { + dir = (await getDownloadsDirectory())?.parent ?? + await getApplicationDocumentsDirectory(); + } + return dir; + } Widget _buildPage() { DataProvider provider; switch (page) { case Page.local: - provider = localProvider; + provider = LocalDataProvider(_getLocalDir()); break; case Page.remote: // todo do not generate a new provider on each tab switch provider = SSHDataProvider( - initialPath: "/", - host: "", - password: "", - port: 0, - username: ""); + initialPath: "/", host: "", password: "", port: 0, username: ""); break; } return ImageGrid(dProvider: provider);