aboutsummaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorTim Barron <tjbarron@google.com>2021-01-14 22:53:02 +0000
committerTim Barron <tjbarron@google.com>2021-01-15 17:12:02 +0000
commitbef3c12e4486a2ebf5dcb305ce399085f0d1200a (patch)
treea109f230607d17edee61beac8e5b4139a5eb1b74 /java
parent7384fa7cc8b6b3a3d9c7512d7f296a4c8f7acfce (diff)
parenta34db390d80f862bfaaa49dea3605c5fec3bca3d (diff)
downloadicing-bef3c12e4486a2ebf5dcb305ce399085f0d1200a.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into androidx-mainandroidx-leanback-release
* aosp/upstream-master: Update Icing from upstream. Change-Id: Ia8a7f7f41f14ea9cf149d9ee58cdfca68439bd65
Diffstat (limited to 'java')
-rw-r--r--java/src/com/google/android/icing/IcingSearchEngine.java15
-rw-r--r--java/tests/instrumentation/src/com/google/android/icing/IcingSearchEngineTest.java19
2 files changed, 23 insertions, 11 deletions
diff --git a/java/src/com/google/android/icing/IcingSearchEngine.java b/java/src/com/google/android/icing/IcingSearchEngine.java
index f4d8312..88d0578 100644
--- a/java/src/com/google/android/icing/IcingSearchEngine.java
+++ b/java/src/com/google/android/icing/IcingSearchEngine.java
@@ -24,6 +24,7 @@ import com.google.android.icing.proto.DocumentProto;
import com.google.android.icing.proto.GetAllNamespacesResultProto;
import com.google.android.icing.proto.GetOptimizeInfoResultProto;
import com.google.android.icing.proto.GetResultProto;
+import com.google.android.icing.proto.GetResultSpecProto;
import com.google.android.icing.proto.GetSchemaResultProto;
import com.google.android.icing.proto.GetSchemaTypeResultProto;
import com.google.android.icing.proto.IcingSearchEngineOptions;
@@ -84,7 +85,9 @@ public final class IcingSearchEngine implements Closeable {
@Override
public void close() {
- throwIfClosed();
+ if (closed) {
+ return;
+ }
if (nativePointer != 0) {
nativeDestroy(this);
@@ -95,8 +98,8 @@ public final class IcingSearchEngine implements Closeable {
@Override
protected void finalize() throws Throwable {
- super.finalize();
close();
+ super.finalize();
}
@NonNull
@@ -217,10 +220,11 @@ public final class IcingSearchEngine implements Closeable {
}
@NonNull
- public GetResultProto get(@NonNull String namespace, @NonNull String uri) {
+ public GetResultProto get(
+ @NonNull String namespace, @NonNull String uri, @NonNull GetResultSpecProto getResultSpec) {
throwIfClosed();
- byte[] getResultBytes = nativeGet(this, namespace, uri);
+ byte[] getResultBytes = nativeGet(this, namespace, uri, getResultSpec.toByteArray());
if (getResultBytes == null) {
Log.e(TAG, "Received null GetResultProto from native.");
return GetResultProto.newBuilder()
@@ -533,7 +537,8 @@ public final class IcingSearchEngine implements Closeable {
private static native byte[] nativePut(IcingSearchEngine instance, byte[] documentBytes);
- private static native byte[] nativeGet(IcingSearchEngine instance, String namespace, String uri);
+ private static native byte[] nativeGet(
+ IcingSearchEngine instance, String namespace, String uri, byte[] getResultSpecBytes);
private static native byte[] nativeReportUsage(
IcingSearchEngine instance, byte[] usageReportBytes);
diff --git a/java/tests/instrumentation/src/com/google/android/icing/IcingSearchEngineTest.java b/java/tests/instrumentation/src/com/google/android/icing/IcingSearchEngineTest.java
index 6f07e1a..56edaf1 100644
--- a/java/tests/instrumentation/src/com/google/android/icing/IcingSearchEngineTest.java
+++ b/java/tests/instrumentation/src/com/google/android/icing/IcingSearchEngineTest.java
@@ -25,6 +25,7 @@ import com.google.android.icing.proto.DocumentProto;
import com.google.android.icing.proto.GetAllNamespacesResultProto;
import com.google.android.icing.proto.GetOptimizeInfoResultProto;
import com.google.android.icing.proto.GetResultProto;
+import com.google.android.icing.proto.GetResultSpecProto;
import com.google.android.icing.proto.GetSchemaResultProto;
import com.google.android.icing.proto.GetSchemaTypeResultProto;
import com.google.android.icing.proto.IcingSearchEngineOptions;
@@ -163,7 +164,8 @@ public final class IcingSearchEngineTest {
PutResultProto putResultProto = icingSearchEngine.put(emailDocument);
assertStatusOk(putResultProto.getStatus());
- GetResultProto getResultProto = icingSearchEngine.get("namespace", "uri");
+ GetResultProto getResultProto =
+ icingSearchEngine.get("namespace", "uri", GetResultSpecProto.getDefaultInstance());
assertStatusOk(getResultProto.getStatus());
assertThat(getResultProto.getDocument()).isEqualTo(emailDocument);
}
@@ -281,7 +283,8 @@ public final class IcingSearchEngineTest {
DeleteResultProto deleteResultProto = icingSearchEngine.delete("namespace", "uri");
assertStatusOk(deleteResultProto.getStatus());
- GetResultProto getResultProto = icingSearchEngine.get("namespace", "uri");
+ GetResultProto getResultProto =
+ icingSearchEngine.get("namespace", "uri", GetResultSpecProto.getDefaultInstance());
assertThat(getResultProto.getStatus().getCode()).isEqualTo(StatusProto.Code.NOT_FOUND);
}
@@ -305,7 +308,8 @@ public final class IcingSearchEngineTest {
icingSearchEngine.deleteByNamespace("namespace");
assertStatusOk(deleteByNamespaceResultProto.getStatus());
- GetResultProto getResultProto = icingSearchEngine.get("namespace", "uri");
+ GetResultProto getResultProto =
+ icingSearchEngine.get("namespace", "uri", GetResultSpecProto.getDefaultInstance());
assertThat(getResultProto.getStatus().getCode()).isEqualTo(StatusProto.Code.NOT_FOUND);
}
@@ -329,7 +333,8 @@ public final class IcingSearchEngineTest {
icingSearchEngine.deleteBySchemaType(EMAIL_TYPE);
assertStatusOk(deleteBySchemaTypeResultProto.getStatus());
- GetResultProto getResultProto = icingSearchEngine.get("namespace", "uri");
+ GetResultProto getResultProto =
+ icingSearchEngine.get("namespace", "uri", GetResultSpecProto.getDefaultInstance());
assertThat(getResultProto.getStatus().getCode()).isEqualTo(StatusProto.Code.NOT_FOUND);
}
@@ -377,9 +382,11 @@ public final class IcingSearchEngineTest {
DeleteByQueryResultProto deleteResultProto = icingSearchEngine.deleteByQuery(searchSpec);
assertStatusOk(deleteResultProto.getStatus());
- GetResultProto getResultProto = icingSearchEngine.get("namespace", "uri1");
+ GetResultProto getResultProto =
+ icingSearchEngine.get("namespace", "uri1", GetResultSpecProto.getDefaultInstance());
assertThat(getResultProto.getStatus().getCode()).isEqualTo(StatusProto.Code.NOT_FOUND);
- getResultProto = icingSearchEngine.get("namespace", "uri2");
+ getResultProto =
+ icingSearchEngine.get("namespace", "uri2", GetResultSpecProto.getDefaultInstance());
assertStatusOk(getResultProto.getStatus());
}