From b0bb379e10e10eb4afc62473472d4bda19ec541e Mon Sep 17 00:00:00 2001 From: Alexander Dorokhine Date: Mon, 14 Dec 2020 23:42:48 -0800 Subject: [PATCH] Unhide AppSearchSession APIs. Bug: 172180369 CTS-Coverage-Bug: 175661706 Test: AppSearchCtsTests Change-Id: Ia00206ec4bbe78cc0c970fb2f0c708740a3078af --- apex/appsearch/framework/api/current.txt | 20 +++++++++++++++++++ .../app/appsearch/AppSearchSession.java | 1 - .../app/appsearch/BatchResultCallback.java | 9 +++++---- .../android/app/appsearch/SearchResults.java | 1 - 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/apex/appsearch/framework/api/current.txt b/apex/appsearch/framework/api/current.txt index 380c64679fab2..8713499984a69 100644 --- a/apex/appsearch/framework/api/current.txt +++ b/apex/appsearch/framework/api/current.txt @@ -66,6 +66,21 @@ package android.app.appsearch { method @NonNull public android.app.appsearch.AppSearchSchema.PropertyConfig.Builder setTokenizerType(int); } + public final class AppSearchSession { + method public void getByUri(@NonNull android.app.appsearch.GetByUriRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback); + method public void getSchema(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer>>); + method public void putDocuments(@NonNull android.app.appsearch.PutDocumentsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback); + method @NonNull public android.app.appsearch.SearchResults query(@NonNull String, @NonNull android.app.appsearch.SearchSpec, @NonNull java.util.concurrent.Executor); + method public void removeByQuery(@NonNull String, @NonNull android.app.appsearch.SearchSpec, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer>); + method public void removeByUri(@NonNull android.app.appsearch.RemoveByUriRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback); + method public void setSchema(@NonNull android.app.appsearch.SetSchemaRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer>); + } + + public interface BatchResultCallback { + method public void onResult(@NonNull android.app.appsearch.AppSearchBatchResult); + method public default void onSystemError(@Nullable Throwable); + } + public class GenericDocument { ctor protected GenericDocument(@NonNull android.app.appsearch.GenericDocument); method public long getCreationTimestampMillis(); @@ -162,6 +177,11 @@ package android.app.appsearch { method public int getStart(); } + public class SearchResults implements java.io.Closeable { + method public void close(); + method public void getNextPage(@NonNull java.util.function.Consumer>>); + } + public final class SearchSpec { method public int getMaxSnippetSize(); method @NonNull public java.util.List getNamespaces(); diff --git a/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java b/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java index 59e7807deeef2..3e813eab6f04b 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java +++ b/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java @@ -36,7 +36,6 @@ import java.util.function.Consumer; * placed and queried. * * This class is thread safe. - * @hide */ public final class AppSearchSession { private final String mDatabaseName; diff --git a/apex/appsearch/framework/java/android/app/appsearch/BatchResultCallback.java b/apex/appsearch/framework/java/android/app/appsearch/BatchResultCallback.java index 1689e02c7ce43..49049b641839d 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/BatchResultCallback.java +++ b/apex/appsearch/framework/java/android/app/appsearch/BatchResultCallback.java @@ -16,13 +16,15 @@ package android.app.appsearch; +import android.annotation.NonNull; +import android.annotation.Nullable; + /** * The callback interface to return {@link AppSearchBatchResult}. * * @param The type of the keys for {@link AppSearchBatchResult#getSuccesses} and * {@link AppSearchBatchResult#getFailures}. * @param The type of result objects associated with the keys. - * @hide */ public interface BatchResultCallback { @@ -31,15 +33,14 @@ public interface BatchResultCallback { * * @param result The result of the executed request. */ - void onResult(AppSearchBatchResult result); - + void onResult(@NonNull AppSearchBatchResult result); /** * Called when a system error occurred. * * @param throwable The cause throwable. */ - default void onSystemError(Throwable throwable) { + default void onSystemError(@Nullable Throwable throwable) { if (throwable != null) { throw new RuntimeException(throwable); } diff --git a/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java b/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java index 7d3ea8bc132d1..7dc13b4102263 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java +++ b/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java @@ -39,7 +39,6 @@ import java.util.function.Consumer; *

Should close this object after finish fetching results. * *

This class is not thread safe. - * @hide */ public class SearchResults implements Closeable { private static final String TAG = "SearchResults";