[Espresso] Android Code Inspection and Clean up (#3111)

* Remove unchecked  && deprecated Warnings

* Remove settings_aar.gradle

* Update CHANGELOG.md

* Fix Format

* Fix Format

* espresso

* Format

* SuppressWarnings
diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md
index a9d61f1..0ab0680 100644
--- a/packages/espresso/CHANGELOG.md
+++ b/packages/espresso/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.1+8
+
+* Android: Handle deprecation & unchecked warning as error.
+
 ## 0.0.1+7
 
 * Update android compileSdkVersion to 29.
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java
index 106436f..6730a66 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java
@@ -130,6 +130,7 @@
       return this;
     }
 
+    @SuppressWarnings("unchecked")
     private <T> T performInternal(FlutterAction<T> flutterAction) {
       checkNotNull(
           flutterAction,
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java
index 7864b43..fc554d7 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java
@@ -32,7 +32,7 @@
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
 import io.flutter.embedding.android.FlutterView;
-import io.flutter.view.FlutterNativeView;
+import io.flutter.embedding.engine.FlutterJNI;
 import java.net.URI;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
@@ -105,7 +105,7 @@
     // The url {@code FlutterNativeView} returns is the http url that the Dart VM Observatory http
     // server serves at. Need to convert to the one that the WebSocket uses.
     URI dartVmServiceProtocolUrl =
-        DartVmServiceUtil.getServiceProtocolUri(FlutterNativeView.getObservatoryUri());
+        DartVmServiceUtil.getServiceProtocolUri(FlutterJNI.getObservatoryUri());
     String isolateId = DartVmServiceUtil.getDartIsolateId(flutterView);
     final FlutterTestingProtocol flutterTestingProtocol =
         new DartVmService(
@@ -199,6 +199,7 @@
       return FlutterViewRenderedIdlingResource.class.getSimpleName();
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     public boolean isIdleNow() {
       boolean isIdle = false;
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmService.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmService.java
index da11fcc..c6ec0e0 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmService.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmService.java
@@ -30,7 +30,6 @@
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ExecutionException;
@@ -360,10 +359,9 @@
                 isolateId, isolateInfoResp.getError()));
         return false;
       }
-      Iterator<JsonElement> extensions =
-          isolateInfoResp.getResult().get(EXTENSION_RPCS_TAG).getAsJsonArray().iterator();
-      while (extensions.hasNext()) {
-        String extensionApi = extensions.next().getAsString();
+      for (JsonElement jsonElement :
+          isolateInfoResp.getResult().get(EXTENSION_RPCS_TAG).getAsJsonArray()) {
+        String extensionApi = jsonElement.getAsString();
         if (TESTING_EXTENSION_METHOD.equals(extensionApi)) {
           Log.d(
               TAG,
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java
index 2cf41f1..a943194 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java
@@ -71,6 +71,7 @@
   }
 
   /** Gets the Dart executor for the given {@code flutterView}. */
+  @SuppressWarnings("deprecation")
   public static DartExecutor getDartExecutor(View flutterView) {
     checkNotNull(flutterView, "The Flutter View instance cannot be null.");
     // Flutter's embedding is in the phase of rewriting/refactoring. Let's be compatible with both
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java
index 5a272f2..f867b7d 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java
@@ -96,6 +96,7 @@
       description.appendText("is a FlutterView");
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     public boolean matchesSafely(View flutterView) {
       return flutterView instanceof FlutterView
diff --git a/packages/espresso/example/android/app/build.gradle b/packages/espresso/example/android/app/build.gradle
index 45fe0e1..6def13f 100644
--- a/packages/espresso/example/android/app/build.gradle
+++ b/packages/espresso/example/android/app/build.gradle
@@ -35,7 +35,7 @@
         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
         applicationId "com.example.espresso_example"
         minSdkVersion 16
-        targetSdkVersion 28
+        targetSdkVersion 29
         versionCode flutterVersionCode.toInteger()
         versionName flutterVersionName
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/packages/espresso/pubspec.yaml b/packages/espresso/pubspec.yaml
index fe28426..39b88cb 100644
--- a/packages/espresso/pubspec.yaml
+++ b/packages/espresso/pubspec.yaml
@@ -1,6 +1,6 @@
 name: espresso
 description: Java classes for testing Flutter apps using Espresso.
-version: 0.0.1+7
+version: 0.0.1+8
 homepage: https://github.com/flutter/plugins/espresso
 
 environment: