From b000576dffbb7b3876f0bda74404a23d998c4c6f Mon Sep 17 00:00:00 2001 From: Terry Wang Date: Fri, 11 Dec 2020 08:59:37 +0000 Subject: [PATCH] Revert "Porting AppSearch jetpack upstream changes to platform" This reverts commit 93e2122828af7297666c846c1ed0a3128b17ef2e. Reason for revert: Change-Id: I240ebae5eccc81c3c7e6fad7f755f2de0f4ba54b --- .../app/appsearch/AppSearchSession.java | 59 ++----------------- .../app/appsearch/GlobalSearchSession.java | 2 +- .../app/appsearch/IAppSearchManager.aidl | 17 +----- .../android/app/appsearch/SearchResults.java | 2 +- .../appsearch/AppSearchManagerService.java | 26 -------- 5 files changed, 11 insertions(+), 95 deletions(-) diff --git a/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java b/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java index 60e3bf6a25503..b7cd4f5f8bce2 100644 --- a/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java +++ b/apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java @@ -22,7 +22,6 @@ import android.app.appsearch.exceptions.AppSearchException; import android.os.Bundle; import android.os.ParcelableException; import android.os.RemoteException; -import android.util.ArraySet; import java.util.ArrayList; import java.util.List; @@ -35,8 +34,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 { @@ -82,7 +79,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 @@ -126,19 +123,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, @@ -166,39 +155,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. * @@ -413,7 +369,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. * @@ -421,13 +377,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 15128253b7651..551347c5c202e 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,