diff options
-rw-r--r-- | apex/appsearch/framework/java/external/android/app/appsearch/GenericDocument.java | 12 | ||||
-rw-r--r-- | core/tests/coretests/src/android/app/appsearch/external/app/GenericDocumentTest.java | 14 |
2 files changed, 14 insertions, 12 deletions
diff --git a/apex/appsearch/framework/java/external/android/app/appsearch/GenericDocument.java b/apex/appsearch/framework/java/external/android/app/appsearch/GenericDocument.java index c905f95fe4c4..5801972fe81a 100644 --- a/apex/appsearch/framework/java/external/android/app/appsearch/GenericDocument.java +++ b/apex/appsearch/framework/java/external/android/app/appsearch/GenericDocument.java @@ -51,9 +51,6 @@ import java.util.Set; public class GenericDocument { private static final String TAG = "AppSearchGenericDocumen"; - /** The maximum {@link String#length} of a {@link String} field. */ - private static final int MAX_STRING_LENGTH = 20_000; - /** The maximum number of indexed properties a document can have. */ private static final int MAX_INDEXED_PROPERTIES = 16; @@ -1286,15 +1283,6 @@ public class GenericDocument { for (int i = 0; i < values.length; i++) { if (values[i] == null) { throw new IllegalArgumentException("The String at " + i + " is null."); - } else if (values[i].length() > MAX_STRING_LENGTH) { - throw new IllegalArgumentException( - "The String at " - + i - + " length is: " - + values[i].length() - + ", which exceeds length limit: " - + MAX_STRING_LENGTH - + "."); } } mProperties.putStringArray(name, values); diff --git a/core/tests/coretests/src/android/app/appsearch/external/app/GenericDocumentTest.java b/core/tests/coretests/src/android/app/appsearch/external/app/GenericDocumentTest.java index 6884f13d4cc9..3d820acf2d22 100644 --- a/core/tests/coretests/src/android/app/appsearch/external/app/GenericDocumentTest.java +++ b/core/tests/coretests/src/android/app/appsearch/external/app/GenericDocumentTest.java @@ -62,4 +62,18 @@ public class GenericDocumentTest { assertThat(outDoc.getPropertyDocument("propDocument").getPropertyBytesArray("propBytes")) .isEqualTo(new byte[][] {{3, 4}}); } + + @Test + public void testPutLargeDocument_exceedLimit() throws Exception { + // Create a String property that has a very large property. + char[] chars = new char[10_000_000]; + String property = new StringBuilder().append(chars).append("the end.").toString(); + + GenericDocument doc = + new GenericDocument.Builder<>("namespace", "id1", "schema1") + .setPropertyString("propString", property) + .build(); + + assertThat(doc.getPropertyString("propString")).isEqualTo(property); + } } |