[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: