Move robolectric tests to sdk 28 (#18525)

diff --git a/DEPS b/DEPS
index 667e7c9..8d6d7fe 100644
--- a/DEPS
+++ b/DEPS
@@ -502,7 +502,7 @@
      'packages': [
        {
         'package': 'flutter/android/embedding_bundle',
-        'version': 'last_updated:2020-03-13T15:42:26-0700'
+        'version': 'last_updated:2020-05-20T01:36:16-0700'
        }
      ],
      'condition': 'download_android_deps',
diff --git a/shell/platform/android/embedding_bundle/build.gradle b/shell/platform/android/embedding_bundle/build.gradle
index a760822..c210e89 100644
--- a/shell/platform/android/embedding_bundle/build.gradle
+++ b/shell/platform/android/embedding_bundle/build.gradle
@@ -37,7 +37,7 @@
 }
 
 android {
-  compileSdkVersion 28
+  compileSdkVersion 29
 
   dependencies {
     embedding "androidx.annotation:annotation:1.1.0"
@@ -52,7 +52,7 @@
     // TODO(xster): remove these android-all compile time dependencies.
     // Use https://github.com/robolectric/robolectric/blob/master/robolectric/src/main/java/org/robolectric/plugins/LegacyDependencyResolver.java#L24
     // and specify them as runtime dependencies.
-    embeddingTesting "org.robolectric:android-all:8.1.0-robolectric-4611349"
+    embeddingTesting "org.robolectric:android-all:9-robolectric-4913185-2"
     // Get robolectric shadows for SDK=16 used by PlatformPluginTest.
     embeddingTesting_v16 "org.robolectric:android-all:4.1.2_r1-robolectric-r1"
     embeddingTesting "androidx.fragment:fragment-testing:1.1.0"
diff --git a/shell/platform/android/robolectric.properties b/shell/platform/android/robolectric.properties
index 7378b4e..a1bebb3 100644
--- a/shell/platform/android/robolectric.properties
+++ b/shell/platform/android/robolectric.properties
@@ -1,2 +1,4 @@
 # Match the value at shell/platform/android/embedding_bundle/build.gradle.
-sdk=29
+# TODO(https://github.com/flutter/flutter/issues/57655): figure out
+# what's wrong with sdk=29.
+sdk=28
diff --git a/shell/platform/android/test/io/flutter/embedding/android/FlutterViewTest.java b/shell/platform/android/test/io/flutter/embedding/android/FlutterViewTest.java
index 5b65673..cf0fdcc 100644
--- a/shell/platform/android/test/io/flutter/embedding/android/FlutterViewTest.java
+++ b/shell/platform/android/test/io/flutter/embedding/android/FlutterViewTest.java
@@ -42,7 +42,7 @@
 
 @Config(manifest = Config.NONE)
 @RunWith(RobolectricTestRunner.class)
-@TargetApi(29)
+@TargetApi(28)
 public class FlutterViewTest {
   @Mock FlutterJNI mockFlutterJni;
   @Mock FlutterLoader mockFlutterLoader;
diff --git a/shell/platform/android/test/io/flutter/plugin/editing/InputConnectionAdaptorTest.java b/shell/platform/android/test/io/flutter/plugin/editing/InputConnectionAdaptorTest.java
index 37ae918..bdf2d6b 100644
--- a/shell/platform/android/test/io/flutter/plugin/editing/InputConnectionAdaptorTest.java
+++ b/shell/platform/android/test/io/flutter/plugin/editing/InputConnectionAdaptorTest.java
@@ -34,7 +34,7 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowClipboardManager;
 
-@Config(manifest = Config.NONE, sdk = 27, shadows = ShadowClipboardManager.class)
+@Config(manifest = Config.NONE, shadows = ShadowClipboardManager.class)
 @RunWith(RobolectricTestRunner.class)
 public class InputConnectionAdaptorTest {
   @Test
diff --git a/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java b/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java
index 3719613..f12daf4 100644
--- a/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java
+++ b/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java
@@ -52,7 +52,7 @@
 import org.robolectric.shadows.ShadowBuild;
 import org.robolectric.shadows.ShadowInputMethodManager;
 
-@Config(manifest = Config.NONE, shadows = TextInputPluginTest.TestImm.class, sdk = 27)
+@Config(manifest = Config.NONE, shadows = TextInputPluginTest.TestImm.class)
 @RunWith(RobolectricTestRunner.class)
 public class TextInputPluginTest {
   // Verifies the method and arguments for a captured method call.
diff --git a/shell/platform/android/test/io/flutter/plugin/platform/SingleViewPresentationTest.java b/shell/platform/android/test/io/flutter/plugin/platform/SingleViewPresentationTest.java
index f38d916..3ef50b9 100644
--- a/shell/platform/android/test/io/flutter/plugin/platform/SingleViewPresentationTest.java
+++ b/shell/platform/android/test/io/flutter/plugin/platform/SingleViewPresentationTest.java
@@ -21,10 +21,9 @@
 
 @Config(
     manifest = Config.NONE,
-    shadows = {ShadowInputMethodManager.class, ShadowDisplayManager.class, ShadowDisplay.class},
-    sdk = 27)
+    shadows = {ShadowInputMethodManager.class, ShadowDisplayManager.class, ShadowDisplay.class})
 @RunWith(RobolectricTestRunner.class)
-@TargetApi(27)
+@TargetApi(28)
 public class SingleViewPresentationTest {
   @Test
   public void returnsOuterContextInputMethodManager() {