Update FilledNewArray test expectations

Bug: b/293501981
Change-Id: Ic9e62aa64cf8fef177d558bad745a6d474fb0fda
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java b/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java
index 03da617..6eface6 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java
@@ -395,14 +395,16 @@
       if (!elementType.isClassType()) {
         return null;
       }
-      DexProgramClass clazz = null;
-      if (appView.enableWholeProgramOptimizations()) {
-        clazz = asProgramClassOrNull(appView.definitionFor(elementType, code.context()));
-      } else if (elementType == code.context().getHolderType()) {
-        clazz = code.context().getHolder();
-      }
-      if (clazz == null || !clazz.isFinal()) {
-        return null;
+      if (elementType != dexItemFactory.stringType) {
+        DexProgramClass clazz = null;
+        if (appView.enableWholeProgramOptimizations()) {
+          clazz = asProgramClassOrNull(appView.definitionFor(elementType, code.context()));
+        } else if (elementType == code.context().getHolderType()) {
+          clazz = code.context().getHolder();
+        }
+        if (clazz == null || !clazz.isFinal()) {
+          return null;
+        }
       }
     }
     return new FilledArrayCandidate(newArrayEmpty, size, encodeAsFilledNewArray);
diff --git a/src/test/java/com/android/tools/r8/TestParameters.java b/src/test/java/com/android/tools/r8/TestParameters.java
index 76f237b..7ca196a 100644
--- a/src/test/java/com/android/tools/r8/TestParameters.java
+++ b/src/test/java/com/android/tools/r8/TestParameters.java
@@ -117,7 +117,7 @@
   }
 
   public boolean canUseSubTypesInFilledNewArray() {
-    return isDexRuntime() && getApiLevel().isGreaterThanOrEqualTo(AndroidApiLevel.U);
+    return isDexRuntime() && getApiLevel().isGreaterThan(AndroidApiLevel.U);
   }
 
   public boolean isAccessModificationEnabled(boolean allowAccessModification) {
diff --git a/src/test/java/com/android/tools/r8/rewrite/arrays/FilledArrayDataRemoveCheckCastTest.java b/src/test/java/com/android/tools/r8/rewrite/arrays/FilledArrayDataRemoveCheckCastTest.java
index 71639f7..fe36c6d 100644
--- a/src/test/java/com/android/tools/r8/rewrite/arrays/FilledArrayDataRemoveCheckCastTest.java
+++ b/src/test/java/com/android/tools/r8/rewrite/arrays/FilledArrayDataRemoveCheckCastTest.java
@@ -6,7 +6,7 @@
 
 import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
@@ -65,13 +65,8 @@
                       .streamInstructions()
                       .filter(InstructionSubject::isFilledNewArray)
                       .findFirst();
-              assertEquals(
-                  parameters.canUseFilledNewArrayOnNonStringObjects(),
-                  filledNewArrayInIterateBaseClasses.isPresent());
-              assertEquals(
-                  parameters.canUseFilledNewArrayOnNonStringObjects()
-                      && parameters.canUseSubTypesInFilledNewArray(),
-                  filledNewArrayInIterateSubClasses.isPresent());
+              assertFalse(filledNewArrayInIterateBaseClasses.isPresent());
+              assertFalse(filledNewArrayInIterateSubClasses.isPresent());
             });
   }
 
diff --git a/src/test/java/com/android/tools/r8/rewrite/arrays/SimplifyArrayConstructionTest.java b/src/test/java/com/android/tools/r8/rewrite/arrays/SimplifyArrayConstructionTest.java
index 9f67d23..89cb1a6 100644
--- a/src/test/java/com/android/tools/r8/rewrite/arrays/SimplifyArrayConstructionTest.java
+++ b/src/test/java/com/android/tools/r8/rewrite/arrays/SimplifyArrayConstructionTest.java
@@ -248,7 +248,7 @@
           objectArraysFilledNewArrayRange, DexFilledNewArrayRange.class, DexNewArray.class);
 
       if (parameters.getApiLevel().isGreaterThanOrEqualTo(AndroidApiLevel.L)) {
-        assertArrayTypes(twoDimensionalArrays, DexFilledNewArray.class);
+        assertArrayPuts(twoDimensionalArrays);
       } else {
         // No need to assert this case. If it's wrong, Dalvik verify errors cause test failures.
       }
@@ -301,6 +301,15 @@
     assertEquals(numNewArray, numFillArray);
   }
 
+  public static void assertArrayPuts(MethodSubject method) {
+    assertTrue(method.isPresent());
+    List<Class<?>> disallowedClasses = Lists.newArrayList(DEX_ARRAY_INSTRUCTIONS);
+    disallowedClasses.remove(DexNewArray.class);
+    assertTrue(method.streamInstructions().noneMatch(isInstruction(disallowedClasses)));
+    assertTrue(method.streamInstructions().anyMatch(InstructionSubject::isNewArray));
+    assertTrue(method.streamInstructions().anyMatch(InstructionSubject::isArrayPut));
+  }
+
   public static final class Main {
     static final String assumedNonNullField = null;
     static final String assumedNullField = null;