diff --git a/packages/path_provider/path_provider_android/CHANGELOG.md b/packages/path_provider/path_provider_android/CHANGELOG.md index 816457564de8..2d53566fb0d3 100644 --- a/packages/path_provider/path_provider_android/CHANGELOG.md +++ b/packages/path_provider/path_provider_android/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 2.0.28 * Updates minimum supported SDK version to Flutter 3.3/Dart 2.18. +* Adds support for getDownloadsDirectory in Android ## 2.0.27 diff --git a/packages/path_provider/path_provider_android/lib/path_provider_android.dart b/packages/path_provider/path_provider_android/lib/path_provider_android.dart index f5c74f540253..f130ba623107 100644 --- a/packages/path_provider/path_provider_android/lib/path_provider_android.dart +++ b/packages/path_provider/path_provider_android/lib/path_provider_android.dart @@ -81,7 +81,9 @@ class PathProviderAndroid extends PathProviderPlatform { } @override - Future getDownloadsPath() { - throw UnsupportedError('getDownloadsPath is not supported on Android'); + Future getDownloadsPath() async { + final List? paths = + await getExternalStoragePaths(type: StorageDirectory.downloads); + return paths?.first; } } diff --git a/packages/path_provider/path_provider_android/pubspec.yaml b/packages/path_provider/path_provider_android/pubspec.yaml index 2bd685bb6406..999e8700b1f1 100644 --- a/packages/path_provider/path_provider_android/pubspec.yaml +++ b/packages/path_provider/path_provider_android/pubspec.yaml @@ -2,7 +2,7 @@ name: path_provider_android description: Android implementation of the path_provider plugin. repository: https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22 -version: 2.0.27 +version: 2.0.28 environment: sdk: ">=2.18.0 <4.0.0" diff --git a/packages/path_provider/path_provider_android/test/path_provider_android_test.dart b/packages/path_provider/path_provider_android/test/path_provider_android_test.dart index e3011474a2a3..358702678657 100644 --- a/packages/path_provider/path_provider_android/test/path_provider_android_test.dart +++ b/packages/path_provider/path_provider_android/test/path_provider_android_test.dart @@ -89,13 +89,9 @@ void main() { }); } // end of for-loop - test('getDownloadsPath fails', () async { - try { - await pathProvider.getDownloadsPath(); - fail('should throw UnsupportedError'); - } catch (e) { - expect(e, isUnsupportedError); - } + test('getDownloadsPath succeeds', () async { + final String? path = await pathProvider.getDownloadsPath(); + expect(path, kExternalStoragePaths); }); }); }