diff --git a/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java b/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java index b470a844bd0a9..1d86595a40639 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java +++ b/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java @@ -21,7 +21,6 @@ import android.annotation.NonNull; import android.os.Bundle; import android.os.ParcelableException; import android.os.RemoteException; -import android.util.ArraySet; import java.util.ArrayList; import java.util.List; @@ -34,8 +33,6 @@ import java.util.function.Consumer; /** * Represents a connection to an AppSearch storage system where {@link GenericDocument}s can be * placed and queried. - * - * This class is thread safe. * @hide */ public final class AppSearchSession { @@ -81,7 +78,7 @@ public final class AppSearchSession { } /** - * Sets the schema that will be used by documents provided to the {@link #putDocuments} method. + * Sets the schema will be used by documents provided to the {@link #putDocuments} method. * *

The schema provided here is compared to the stored copy of the schema previously supplied * to {@link #setSchema}, if any, to determine how to treat existing documents. The following @@ -125,19 +122,11 @@ public final class AppSearchSession { *

It is a no-op to set the same schema as has been previously set; this is handled * efficiently. * - *

By default, documents are visible on platform surfaces. To opt out, call {@code - * SetSchemaRequest.Builder#setPlatformSurfaceable} with {@code surfaceable} as false. Any - * visibility settings apply only to the schemas that are included in the {@code request}. - * Visibility settings for a schema type do not apply or persist across - * {@link SetSchemaRequest}s. - * * @param request The schema update request. * @param executor Executor on which to invoke the callback. * @param callback Callback to receive errors resulting from setting the schema. If the * operation succeeds, the callback will be invoked with {@code null}. */ - // TODO(b/169883602): Change @code references to @link when setPlatformSurfaceable APIs are - // exposed. public void setSchema( @NonNull SetSchemaRequest request, @NonNull @CallbackExecutor Executor executor, @@ -165,39 +154,6 @@ public final class AppSearchSession { } } - /** - * Retrieves the schema most recently successfully provided to {@link #setSchema}. - * - * @param executor Executor on which to invoke the callback. - * @param callback Callback to receive the pending results of schema. If the operation succeeds, - * the callback will be invoked with a {@link Set}<{@link AppSearchSchema}> - */ - @NonNull - public void getSchema( - @NonNull @CallbackExecutor Executor executor, - @NonNull Consumer> callback) { - Objects.requireNonNull(executor); - Objects.requireNonNull(callback); - try { - mService.getSchema( - mDatabaseName, - new IAppSearchResultCallback.Stub() { - public void onResult(AppSearchResult result) { - executor.execute(() -> { - List schemaBundles = (List) result.getResultValue(); - Set schemas = new ArraySet<>(schemaBundles.size()); - for (int i = 0; i < schemaBundles.size(); i++) { - schemas.add(new AppSearchSchema(schemaBundles.get(i))); - } - callback.accept(schemas); - }); - } - }); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - /** * Indexes documents into AppSearch. * @@ -412,7 +368,7 @@ public final class AppSearchSession { /** * Removes {@link GenericDocument}s from the index by Query. Documents will be removed if they * match the {@code queryExpression} in given namespaces and schemaTypes which is set via - * {@link SearchSpec.Builder#addNamespace} and {@link SearchSpec.Builder#addSchemaType}. + * {@link SearchSpec.Builder#addNamespace} and {@link SearchSpec.Builder#addSchema}. * *

An empty {@code queryExpression} matches all documents. * @@ -420,13 +376,10 @@ public final class AppSearchSession { * the current database. * * @param queryExpression Query String to search. - * @param searchSpec Spec containing schemaTypes, namespaces and query expression indicates - * how document will be removed. All specific about how to scoring, - * ordering, snippeting and resulting will be ignored. - * @param executor Executor on which to invoke the callback. - * @param callback Callback to receive errors resulting from removing the documents. If - * the operation succeeds, the callback will be invoked with - * {@code null}. + * @param searchSpec Defines what and how to remove + * @param executor Executor on which to invoke the callback. + * @param callback Callback to receive errors resulting from removing the documents. If the + * operation succeeds, the callback will be invoked with {@code null}. */ public void removeByQuery(@NonNull String queryExpression, @NonNull SearchSpec searchSpec, diff --git a/apex/appsearch/framework/java/android/app/appsearch/GlobalSearchSession.java b/apex/appsearch/framework/java/android/app/appsearch/GlobalSearchSession.java index 07938b704f117..d2aa8eab4708d 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/GlobalSearchSession.java +++ b/apex/appsearch/framework/java/android/app/appsearch/GlobalSearchSession.java @@ -115,7 +115,7 @@ public class GlobalSearchSession { * @return The search result of performing this operation. */ @NonNull - public SearchResults query( + public SearchResults globalQuery( @NonNull String queryExpression, @NonNull SearchSpec searchSpec, @NonNull @CallbackExecutor Executor executor) { diff --git a/apex/appsearch/framework/java/android/app/appsearch/IAppSearchManager.aidl b/apex/appsearch/framework/java/android/app/appsearch/IAppSearchManager.aidl index 7883046f258ed..1d7cb87131c03 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/IAppSearchManager.aidl +++ b/apex/appsearch/framework/java/android/app/appsearch/IAppSearchManager.aidl @@ -28,10 +28,10 @@ parcelable SearchResults; /** {@hide} */ interface IAppSearchManager { /** - * Updates the AppSearch schema for this database. + * Sets the schema. * - * @param databaseName The name of the database where this schema lives. - * @param schemaBundles List of {@link AppSearchSchema} bundles. + * @param databaseName The databaseName this document resides in. + * @param schemaBundles List of AppSearchSchema bundles. * @param schemasNotPlatformSurfaceable Schema types that should not be surfaced on platform * surfaces. * @param forceOverride Whether to apply the new schema even if it is incompatible. All @@ -46,17 +46,6 @@ interface IAppSearchManager { boolean forceOverride, in IAppSearchResultCallback callback); - - /** - * Retrieves the AppSearch schema for this database. - * - * @param databaseName The name of the database to retrieve. - * @param callback {@link IAppSearchResultCallback#onResult} will be called with an - * {@link AppSearchResult}<{@link List}<{@link Bundle}>>, where the value are - * AppSearchSchema bundle. - */ - void getSchema(in String databaseName, in IAppSearchResultCallback callback); - /** * Inserts documents into the index. * diff --git a/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java b/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java index 7d3ea8bc132d1..8548d209c7871 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java +++ b/apex/appsearch/framework/java/android/app/appsearch/SearchResults.java @@ -77,7 +77,7 @@ public class SearchResults implements Closeable { *

Re-call this method to get next page of {@link SearchResult}, until it returns an * empty list. * - *

The page size is set by {@link SearchSpec.Builder#setResultCountPerPage}. + *

The page size is set by {@link SearchSpec.Builder#setNumPerPage}. * * @param callback Callback to receive the pending result of performing this operation. */ diff --git a/apex/appsearch/service/java/com/android/server/appsearch/AppSearchManagerService.java b/apex/appsearch/service/java/com/android/server/appsearch/AppSearchManagerService.java index 925806f118bfa..53d097e844c8f 100644 --- a/apex/appsearch/service/java/com/android/server/appsearch/AppSearchManagerService.java +++ b/apex/appsearch/service/java/com/android/server/appsearch/AppSearchManagerService.java @@ -89,32 +89,6 @@ public class AppSearchManagerService extends SystemService { } } - @Override - public void getSchema( - @NonNull String databaseName, - @NonNull IAppSearchResultCallback callback) { - Preconditions.checkNotNull(databaseName); - Preconditions.checkNotNull(callback); - int callingUid = Binder.getCallingUidOrThrow(); - int callingUserId = UserHandle.getUserId(callingUid); - final long callingIdentity = Binder.clearCallingIdentity(); - try { - AppSearchImpl impl = ImplInstanceManager.getInstance(getContext(), callingUserId); - databaseName = rewriteDatabaseNameWithUid(databaseName, callingUid); - List schemas = impl.getSchema(databaseName); - List schemaBundles = new ArrayList<>(schemas.size()); - for (int i = 0; i < schemas.size(); i++) { - schemaBundles.add(schemas.get(i).getBundle()); - } - invokeCallbackOnResult(callback, - AppSearchResult.newSuccessfulResult(schemaBundles)); - } catch (Throwable t) { - invokeCallbackOnError(callback, t); - } finally { - Binder.restoreCallingIdentity(callingIdentity); - } - } - @Override public void putDocuments( @NonNull String databaseName,