[share] Replace deprecated Environment.getExternalStorageDirectory() call on Android. (#3152)
* Android API 29 & 30
* Update Version
diff --git a/packages/share/CHANGELOG.md b/packages/share/CHANGELOG.md
index f13e819..3644547 100644
--- a/packages/share/CHANGELOG.md
+++ b/packages/share/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 0.6.5+3
+
+* Replace deprecated `Environment.getExternalStorageDirectory()` call on Android.
+* Upgrade to Android Gradle plugin 3.5.0 & target API level 29.
+
## 0.6.5+2
* Keep handling deprecated Android v1 classes for backward compatibility.
diff --git a/packages/share/android/build.gradle b/packages/share/android/build.gradle
index ffa1432..e5748ff 100644
--- a/packages/share/android/build.gradle
+++ b/packages/share/android/build.gradle
@@ -1,6 +1,5 @@
group 'io.flutter.plugins.share'
version '1.0-SNAPSHOT'
-def args = ["-Xlint:deprecation","-Xlint:unchecked","-Werror"]
buildscript {
repositories {
@@ -9,7 +8,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
@@ -20,14 +19,10 @@
}
}
-project.getTasks().withType(JavaCompile){
- options.compilerArgs.addAll(args)
-}
-
apply plugin: 'com.android.library'
android {
- compileSdkVersion 28
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 16
diff --git a/packages/share/android/src/main/java/io/flutter/plugins/share/Share.java b/packages/share/android/src/main/java/io/flutter/plugins/share/Share.java
index eb856bf..be7280e 100644
--- a/packages/share/android/src/main/java/io/flutter/plugins/share/Share.java
+++ b/packages/share/android/src/main/java/io/flutter/plugins/share/Share.java
@@ -10,7 +10,6 @@
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
-import android.os.Environment;
import androidx.annotation.NonNull;
import androidx.core.content.FileProvider;
import java.io.File;
@@ -166,7 +165,7 @@
private boolean fileIsOnExternal(File file) {
try {
String filePath = file.getCanonicalPath();
- File externalDir = Environment.getExternalStorageDirectory();
+ File externalDir = context.getExternalFilesDir(null);
return externalDir != null && filePath.startsWith(externalDir.getCanonicalPath());
} catch (IOException e) {
return false;
diff --git a/packages/share/example/android/app/build.gradle b/packages/share/example/android/app/build.gradle
index 5fca10f..5b7b30b 100644
--- a/packages/share/example/android/app/build.gradle
+++ b/packages/share/example/android/app/build.gradle
@@ -25,7 +25,7 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 28
+ compileSdkVersion 29
lintOptions {
disable 'InvalidPackage'
@@ -34,7 +34,7 @@
defaultConfig {
applicationId "io.flutter.plugins.shareexample"
minSdkVersion 16
- targetSdkVersion 28
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/packages/share/example/android/build.gradle b/packages/share/example/android/build.gradle
index 541636c..e0d7ae2 100644
--- a/packages/share/example/android/build.gradle
+++ b/packages/share/example/android/build.gradle
@@ -5,7 +5,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/packages/share/pubspec.yaml b/packages/share/pubspec.yaml
index dc55ed7..5a65901 100644
--- a/packages/share/pubspec.yaml
+++ b/packages/share/pubspec.yaml
@@ -5,7 +5,7 @@
# 0.6.y+z is compatible with 1.0.0, if you land a breaking change bump
# the version to 2.0.0.
# See more details: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0
-version: 0.6.5+2
+version: 0.6.5+3
flutter:
plugin: