From 2128e925a944961720fca48b4ef82568894635b9 Mon Sep 17 00:00:00 2001 From: Ideotec Date: Wed, 15 Dec 2021 12:19:36 +0100 Subject: [PATCH 1/9] Begin switch to internal method channel by copying MacOS PR#4547 --- .../path_provider_android/CHANGELOG.md | 4 + .../pathprovider/PathProviderPlugin.java | 2 +- .../lib/path_provider_android.dart | 65 ++++++++++ .../path_provider_android/pubspec.yaml | 6 +- .../test/path_provider_android_test.dart | 111 ++++++++++++++++++ 5 files changed, 185 insertions(+), 3 deletions(-) create mode 100644 packages/path_provider/path_provider_android/lib/path_provider_android.dart create mode 100644 packages/path_provider/path_provider_android/test/path_provider_android_test.dart diff --git a/packages/path_provider/path_provider_android/CHANGELOG.md b/packages/path_provider/path_provider_android/CHANGELOG.md index 628bd442c42f..f9d3543a92d4 100644 --- a/packages/path_provider/path_provider_android/CHANGELOG.md +++ b/packages/path_provider/path_provider_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.10 + +* Switches to a package-internal implementation of the platform interface. + ## 2.0.9 * Updates Android compileSdkVersion to 31. diff --git a/packages/path_provider/path_provider_android/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java b/packages/path_provider/path_provider_android/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java index 3ff2416527d0..278ff58b59dc 100644 --- a/packages/path_provider/path_provider_android/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java +++ b/packages/path_provider/path_provider_android/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java @@ -153,7 +153,7 @@ public void getApplicationSupportDirectory(@NonNull Result result) { public PathProviderPlugin() {} private void setup(BinaryMessenger messenger, Context context) { - String channelName = "plugins.flutter.io/path_provider"; + String channelName = "plugins.flutter.io/path_provider_android"; // TODO(gaaclarke): Remove reflection guard when https://github.com/flutter/engine/pull/29147 // becomes available on the stable branch. try { 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 new file mode 100644 index 000000000000..63101665f51f --- /dev/null +++ b/packages/path_provider/path_provider_android/lib/path_provider_android.dart @@ -0,0 +1,65 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/services.dart'; +import 'package:meta/meta.dart'; +import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; + +/// The Android implementation of [PathProviderPlatform]. +class PathProviderAndroid extends PathProviderPlatform { + /// The method channel used to interact with the native platform. + @visibleForTesting + MethodChannel methodChannel = + const MethodChannel('plugins.flutter.io/path_provider_android'); + + /// Registers this class as the default instance of [PathProviderPlatform] + static void registerWith() { + PathProviderPlatform.instance = PathProviderAndroid(); + } + + @override + Future getTemporaryPath() { + return methodChannel.invokeMethod('getTemporaryDirectory'); + } + + @override + Future getApplicationSupportPath() { + return methodChannel.invokeMethod('getApplicationSupportDirectory'); + } + + @override + Future getLibraryPath() { + return methodChannel.invokeMethod('getLibraryDirectory'); + } + + @override + Future getApplicationDocumentsPath() { + return methodChannel + .invokeMethod('getApplicationDocumentsDirectory'); + } + + @override + Future getExternalStoragePath() async { + throw UnsupportedError( + 'getExternalStoragePath is not supported on Android'); + } + + @override + Future?> getExternalCachePaths() async { + throw UnsupportedError('getExternalCachePaths is not supported on Android'); + } + + @override + Future?> getExternalStoragePaths({ + StorageDirectory? type, + }) async { + throw UnsupportedError( + 'getExternalStoragePaths is not supported on Android'); + } + + @override + Future getDownloadsPath() { + return methodChannel.invokeMethod('getDownloadsDirectory'); + } +} diff --git a/packages/path_provider/path_provider_android/pubspec.yaml b/packages/path_provider/path_provider_android/pubspec.yaml index 09b26a5efedb..86bebd293dcb 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/plugins/tree/master/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.9 +version: 2.0.10 environment: sdk: ">=2.14.0 <3.0.0" @@ -15,11 +15,13 @@ flutter: android: package: io.flutter.plugins.pathprovider pluginClass: PathProviderPlugin + dartPluginClass: PathProviderAndroid dependencies: flutter: sdk: flutter - path_provider_platform_interface: ^2.0.0 + meta: ^1.3.0 + path_provider_platform_interface: ^2.0.1 dev_dependencies: flutter_driver: 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 new file mode 100644 index 000000000000..103e2d7de643 --- /dev/null +++ b/packages/path_provider/path_provider_android/test/path_provider_android_test.dart @@ -0,0 +1,111 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/services.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:path_provider_android/path_provider_android.dart'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + const String kTemporaryPath = 'temporaryPath'; + const String kApplicationSupportPath = 'applicationSupportPath'; + const String kLibraryPath = 'libraryPath'; + const String kApplicationDocumentsPath = 'applicationDocumentsPath'; + const String kDownloadsPath = 'downloadsPath'; + + group('PathProviderAndroid', () { + late PathProviderAndroid pathProvider; + final List log = []; + + setUp(() async { + pathProvider = PathProviderAndroid(); + TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger + .setMockMethodCallHandler(pathProvider.methodChannel, + (MethodCall methodCall) async { + log.add(methodCall); + switch (methodCall.method) { + case 'getTemporaryDirectory': + return kTemporaryPath; + case 'getApplicationSupportDirectory': + return kApplicationSupportPath; + case 'getLibraryDirectory': + return kLibraryPath; + case 'getApplicationDocumentsDirectory': + return kApplicationDocumentsPath; + case 'getDownloadsDirectory': + return kDownloadsPath; + default: + return null; + } + }); + }); + + tearDown(() { + log.clear(); + }); + + test('getTemporaryPath', () async { + final String? path = await pathProvider.getTemporaryPath(); + expect( + log, + [isMethodCall('getTemporaryDirectory', arguments: null)], + ); + expect(path, kTemporaryPath); + }); + + test('getApplicationSupportPath', () async { + final String? path = await pathProvider.getApplicationSupportPath(); + expect( + log, + [ + isMethodCall('getApplicationSupportDirectory', arguments: null) + ], + ); + expect(path, kApplicationSupportPath); + }); + + test('getLibraryPath', () async { + final String? path = await pathProvider.getLibraryPath(); + expect( + log, + [isMethodCall('getLibraryDirectory', arguments: null)], + ); + expect(path, kLibraryPath); + }); + + test('getApplicationDocumentsPath', () async { + final String? path = await pathProvider.getApplicationDocumentsPath(); + expect( + log, + [ + isMethodCall('getApplicationDocumentsDirectory', arguments: null) + ], + ); + expect(path, kApplicationDocumentsPath); + }); + + test('getDownloadsPath', () async { + final String? result = await pathProvider.getDownloadsPath(); + expect( + log, + [isMethodCall('getDownloadsDirectory', arguments: null)], + ); + expect(result, kDownloadsPath); + }); + + test('getExternalCachePaths throws', () async { + expect(pathProvider.getExternalCachePaths(), throwsA(isUnsupportedError)); + }); + + test('getExternalStoragePath throws', () async { + expect( + pathProvider.getExternalStoragePath(), throwsA(isUnsupportedError)); + }); + + test('getExternalStoragePaths throws', () async { + expect( + pathProvider.getExternalStoragePaths(), throwsA(isUnsupportedError)); + }); + }); +} From ada9fa5ff935f47171ba315c1df6256166e7b144 Mon Sep 17 00:00:00 2001 From: Ideotec Date: Wed, 15 Dec 2021 13:34:12 +0100 Subject: [PATCH 2/9] Actual implemented and unsupported methods for Android --- .../lib/path_provider_android.dart | 14 ++--- .../test/path_provider_android_test.dart | 60 +++++++++++-------- 2 files changed, 41 insertions(+), 33 deletions(-) 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 63101665f51f..f4821105db52 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 @@ -30,7 +30,7 @@ class PathProviderAndroid extends PathProviderPlatform { @override Future getLibraryPath() { - return methodChannel.invokeMethod('getLibraryDirectory'); + throw UnsupportedError('getLibraryPath is not supported on Android'); } @override @@ -41,25 +41,25 @@ class PathProviderAndroid extends PathProviderPlatform { @override Future getExternalStoragePath() async { - throw UnsupportedError( - 'getExternalStoragePath is not supported on Android'); + return methodChannel.invokeMethod('getStorageDirectory'); } @override Future?> getExternalCachePaths() async { - throw UnsupportedError('getExternalCachePaths is not supported on Android'); + return methodChannel + .invokeMethod>('getExternalCacheDirectories'); } @override Future?> getExternalStoragePaths({ StorageDirectory? type, }) async { - throw UnsupportedError( - 'getExternalStoragePaths is not supported on Android'); + return methodChannel + .invokeMethod>('getExternalStorageDirectories'); } @override Future getDownloadsPath() { - return methodChannel.invokeMethod('getDownloadsDirectory'); + throw UnsupportedError('getDownloadsPath is not supported on Android'); } } 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 103e2d7de643..0a6866639793 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 @@ -10,9 +10,10 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); const String kTemporaryPath = 'temporaryPath'; const String kApplicationSupportPath = 'applicationSupportPath'; - const String kLibraryPath = 'libraryPath'; const String kApplicationDocumentsPath = 'applicationDocumentsPath'; - const String kDownloadsPath = 'downloadsPath'; + const String kStoragePath = 'storagePath'; + const List kExternalCachePaths = ['externalCachePath']; + const List kExternalStoragePaths = ['externalStoragePath']; group('PathProviderAndroid', () { late PathProviderAndroid pathProvider; @@ -29,12 +30,14 @@ void main() { return kTemporaryPath; case 'getApplicationSupportDirectory': return kApplicationSupportPath; - case 'getLibraryDirectory': - return kLibraryPath; case 'getApplicationDocumentsDirectory': return kApplicationDocumentsPath; - case 'getDownloadsDirectory': - return kDownloadsPath; + case 'getStorageDirectory': + return kStoragePath; + case 'getExternalCacheDirectories': + return kExternalCachePaths; + case 'getExternalStorageDirectories': + return kExternalStoragePaths; default: return null; } @@ -65,15 +68,6 @@ void main() { expect(path, kApplicationSupportPath); }); - test('getLibraryPath', () async { - final String? path = await pathProvider.getLibraryPath(); - expect( - log, - [isMethodCall('getLibraryDirectory', arguments: null)], - ); - expect(path, kLibraryPath); - }); - test('getApplicationDocumentsPath', () async { final String? path = await pathProvider.getApplicationDocumentsPath(); expect( @@ -85,27 +79,41 @@ void main() { expect(path, kApplicationDocumentsPath); }); - test('getDownloadsPath', () async { - final String? result = await pathProvider.getDownloadsPath(); + test('getExternalStoragePath', () async { + final String? result = await pathProvider.getExternalStoragePath(); expect( log, - [isMethodCall('getDownloadsDirectory', arguments: null)], + [isMethodCall('getStorageDirectory', arguments: null)], ); - expect(result, kDownloadsPath); + expect(result, kStoragePath); }); - test('getExternalCachePaths throws', () async { - expect(pathProvider.getExternalCachePaths(), throwsA(isUnsupportedError)); + test('getExternalCachePaths', () async { + final List? result = await pathProvider.getExternalCachePaths(); + expect( + log, + [isMethodCall('getExternalCacheDirectories', arguments: null)], + ); + expect(result, kExternalCachePaths); }); - test('getExternalStoragePath throws', () async { + test('getExternalStoragePaths', () async { + final List? result = await pathProvider.getExternalStoragePaths(); expect( - pathProvider.getExternalStoragePath(), throwsA(isUnsupportedError)); + log, + [ + isMethodCall('getExternalStorageDirectories', arguments: null) + ], + ); + expect(result, kExternalStoragePaths); }); - test('getExternalStoragePaths throws', () async { - expect( - pathProvider.getExternalStoragePaths(), throwsA(isUnsupportedError)); + test('getLibraryPath throws', () async { + expect(pathProvider.getLibraryPath(), throwsA(isUnsupportedError)); + }); + + test('getDownloadsPath throws', () async { + expect(pathProvider.getDownloadsPath(), throwsA(isUnsupportedError)); }); }); } From 701ad91f0f831869a392e8b38a9278371ea0de2e Mon Sep 17 00:00:00 2001 From: Ideotec Date: Thu, 16 Dec 2021 00:57:40 +0100 Subject: [PATCH 3/9] Copied from original method channed instead of MacOS port --- .../lib/path_provider_android.dart | 14 ++++++++------ .../test/path_provider_android_test.dart | 18 ++++++++++++++---- 2 files changed, 22 insertions(+), 10 deletions(-) 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 f4821105db52..53e7fa65a54c 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 @@ -13,7 +13,7 @@ class PathProviderAndroid extends PathProviderPlatform { MethodChannel methodChannel = const MethodChannel('plugins.flutter.io/path_provider_android'); - /// Registers this class as the default instance of [PathProviderPlatform] + /// Registers this class as the default instance of [PathProviderPlatform]. static void registerWith() { PathProviderPlatform.instance = PathProviderAndroid(); } @@ -40,22 +40,24 @@ class PathProviderAndroid extends PathProviderPlatform { } @override - Future getExternalStoragePath() async { + Future getExternalStoragePath() { return methodChannel.invokeMethod('getStorageDirectory'); } @override - Future?> getExternalCachePaths() async { + Future?> getExternalCachePaths() { return methodChannel - .invokeMethod>('getExternalCacheDirectories'); + .invokeListMethod('getExternalCacheDirectories'); } @override Future?> getExternalStoragePaths({ StorageDirectory? type, }) async { - return methodChannel - .invokeMethod>('getExternalStorageDirectories'); + return methodChannel.invokeListMethod( + 'getExternalStorageDirectories', + {'type': type?.index}, + ); } @override 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 0a6866639793..74b395b1d788 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 @@ -108,12 +108,22 @@ void main() { expect(result, kExternalStoragePaths); }); - test('getLibraryPath throws', () async { - expect(pathProvider.getLibraryPath(), throwsA(isUnsupportedError)); + test('getLibraryPath fails', () async { + try { + await pathProvider.getLibraryPath(); + fail('should throw UnsupportedError'); + } catch (e) { + expect(e, isUnsupportedError); + } }); - test('getDownloadsPath throws', () async { - expect(pathProvider.getDownloadsPath(), throwsA(isUnsupportedError)); + test('getDownloadsPath fails', () async { + try { + await pathProvider.getDownloadsPath(); + fail('should throw UnsupportedError'); + } catch (e) { + expect(e, isUnsupportedError); + } }); }); } From 18edec992a3627f3498fb865e72915a72506e063 Mon Sep 17 00:00:00 2001 From: Ideotec Date: Thu, 16 Dec 2021 01:17:05 +0100 Subject: [PATCH 4/9] Fixed failing unit test --- .../test/path_provider_android_test.dart | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) 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 74b395b1d788..5e3391acd341 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 @@ -5,15 +5,17 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:path_provider_android/path_provider_android.dart'; +import 'package:path_provider_platform_interface/src/enums.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); const String kTemporaryPath = 'temporaryPath'; const String kApplicationSupportPath = 'applicationSupportPath'; + const String kLibraryPath = 'libraryPath'; const String kApplicationDocumentsPath = 'applicationDocumentsPath'; - const String kStoragePath = 'storagePath'; - const List kExternalCachePaths = ['externalCachePath']; - const List kExternalStoragePaths = ['externalStoragePath']; + const String kExternalCachePaths = 'externalCachePaths'; + const String kExternalStoragePaths = 'externalStoragePaths'; + const String kDownloadsPath = 'downloadsPath'; group('PathProviderAndroid', () { late PathProviderAndroid pathProvider; @@ -30,14 +32,16 @@ void main() { return kTemporaryPath; case 'getApplicationSupportDirectory': return kApplicationSupportPath; + case 'getLibraryDirectory': + return kLibraryPath; case 'getApplicationDocumentsDirectory': return kApplicationDocumentsPath; - case 'getStorageDirectory': - return kStoragePath; - case 'getExternalCacheDirectories': - return kExternalCachePaths; case 'getExternalStorageDirectories': - return kExternalStoragePaths; + return [kExternalStoragePaths]; + case 'getExternalCacheDirectories': + return [kExternalCachePaths]; + case 'getDownloadsDirectory': + return kDownloadsPath; default: return null; } @@ -79,14 +83,27 @@ void main() { expect(path, kApplicationDocumentsPath); }); - test('getExternalStoragePath', () async { - final String? result = await pathProvider.getExternalStoragePath(); - expect( - log, - [isMethodCall('getStorageDirectory', arguments: null)], - ); - expect(result, kStoragePath); - }); + for (final StorageDirectory? type in [ + null, + ...StorageDirectory.values + ]) { + test('getExternalStoragePaths (type: $type) android succeeds', () async { + final List? result = + await pathProvider.getExternalStoragePaths(type: type); + expect( + log, + [ + isMethodCall( + 'getExternalStorageDirectories', + arguments: {'type': type?.index}, + ) + ], + ); + + expect(result!.length, 1); + expect(result.first, kExternalStoragePaths); + }); + } // end of for-loop test('getExternalCachePaths', () async { final List? result = await pathProvider.getExternalCachePaths(); From 548a549c78eda328acd376db5e682cb3976864d2 Mon Sep 17 00:00:00 2001 From: Ideotec Date: Thu, 16 Dec 2021 01:24:02 +0100 Subject: [PATCH 5/9] Fix other failing unit test --- .../test/path_provider_android_test.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 5e3391acd341..cd2a572cceb3 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 @@ -105,13 +105,14 @@ void main() { }); } // end of for-loop - test('getExternalCachePaths', () async { + test('getExternalCachePaths succeeds', () async { final List? result = await pathProvider.getExternalCachePaths(); expect( log, [isMethodCall('getExternalCacheDirectories', arguments: null)], ); - expect(result, kExternalCachePaths); + expect(result!.length, 1); + expect(result.first, kExternalCachePaths); }); test('getExternalStoragePaths', () async { From 972457555c7da1513110077b09729b42aefbe0fd Mon Sep 17 00:00:00 2001 From: Ideotec Date: Thu, 16 Dec 2021 01:32:00 +0100 Subject: [PATCH 6/9] Removed incorrect test --- .../test/path_provider_android_test.dart | 49 +++++++------------ 1 file changed, 19 insertions(+), 30 deletions(-) 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 cd2a572cceb3..4ae0139a7623 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 @@ -72,6 +72,15 @@ void main() { expect(path, kApplicationSupportPath); }); + test('getLibraryPath fails', () async { + try { + await pathProvider.getLibraryPath(); + fail('should throw UnsupportedError'); + } catch (e) { + expect(e, isUnsupportedError); + } + }); + test('getApplicationDocumentsPath', () async { final String? path = await pathProvider.getApplicationDocumentsPath(); expect( @@ -83,6 +92,16 @@ void main() { expect(path, kApplicationDocumentsPath); }); + test('getExternalCachePaths succeeds', () async { + final List? result = await pathProvider.getExternalCachePaths(); + expect( + log, + [isMethodCall('getExternalCacheDirectories', arguments: null)], + ); + expect(result!.length, 1); + expect(result.first, kExternalCachePaths); + }); + for (final StorageDirectory? type in [ null, ...StorageDirectory.values @@ -105,36 +124,6 @@ void main() { }); } // end of for-loop - test('getExternalCachePaths succeeds', () async { - final List? result = await pathProvider.getExternalCachePaths(); - expect( - log, - [isMethodCall('getExternalCacheDirectories', arguments: null)], - ); - expect(result!.length, 1); - expect(result.first, kExternalCachePaths); - }); - - test('getExternalStoragePaths', () async { - final List? result = await pathProvider.getExternalStoragePaths(); - expect( - log, - [ - isMethodCall('getExternalStorageDirectories', arguments: null) - ], - ); - expect(result, kExternalStoragePaths); - }); - - test('getLibraryPath fails', () async { - try { - await pathProvider.getLibraryPath(); - fail('should throw UnsupportedError'); - } catch (e) { - expect(e, isUnsupportedError); - } - }); - test('getDownloadsPath fails', () async { try { await pathProvider.getDownloadsPath(); From d83d022ff8a3021e043c2881fb878ec156ed5821 Mon Sep 17 00:00:00 2001 From: Ideotec Date: Thu, 16 Dec 2021 23:29:59 +0100 Subject: [PATCH 7/9] Import platform interface instead of enum directly --- .../path_provider_android/test/path_provider_android_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4ae0139a7623..d2f9682bf6d7 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 @@ -5,7 +5,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:path_provider_android/path_provider_android.dart'; -import 'package:path_provider_platform_interface/src/enums.dart'; +import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); From 3aab432cc3b36451eb691f24d97ca0ec50c8a1de Mon Sep 17 00:00:00 2001 From: Ideotec Date: Tue, 21 Dec 2021 20:52:40 +0100 Subject: [PATCH 8/9] Removed unnecessary meta dependency --- packages/path_provider/path_provider_android/pubspec.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/path_provider/path_provider_android/pubspec.yaml b/packages/path_provider/path_provider_android/pubspec.yaml index 86bebd293dcb..5664ebf7944c 100644 --- a/packages/path_provider/path_provider_android/pubspec.yaml +++ b/packages/path_provider/path_provider_android/pubspec.yaml @@ -20,7 +20,6 @@ flutter: dependencies: flutter: sdk: flutter - meta: ^1.3.0 path_provider_platform_interface: ^2.0.1 dev_dependencies: From e4e868af30d9d6f9766f871da0ff237aafa67f09 Mon Sep 17 00:00:00 2001 From: Ideotec Date: Tue, 21 Dec 2021 21:02:37 +0100 Subject: [PATCH 9/9] Substituted meta dependency for flutter/foundation --- .../path_provider_android/lib/path_provider_android.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 53e7fa65a54c..b0f3808d2859 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 @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; -import 'package:meta/meta.dart'; import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; /// The Android implementation of [PathProviderPlatform].