Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 966057a8 authored by Terry Wang's avatar Terry Wang
Browse files

Sync Framework from Jetpack

Included changes:
* 01f349b: unhide AppSearchSession.close() by extends Closeable
* 7cb0c4e: Add Closeable to GlobalSearchSession.

Bug: 175637134, 176852483
Test: presubmit
Relnote: Added Closeable to AppSearchSession and GlobalSearchSession.
Change-Id: Ia0929f70942ba6d57712cfc97b332efb8628c416
parent 805b216f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -80,7 +80,8 @@ package android.app.appsearch {
    method @NonNull public android.app.appsearch.AppSearchSchema.PropertyConfig.Builder setTokenizerType(int);
  }

  public final class AppSearchSession {
  public final class AppSearchSession implements java.io.Closeable {
    method public void close();
    method public void getByUri(@NonNull android.app.appsearch.GetByUriRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,android.app.appsearch.GenericDocument>);
    method public void getSchema(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.Set<android.app.appsearch.AppSearchSchema>>>);
    method public void putDocuments(@NonNull android.app.appsearch.PutDocumentsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>);
+2 −1
Original line number Diff line number Diff line
@@ -9,7 +9,8 @@ package android.app.appsearch {
    method public static void initialize();
  }

  public class GlobalSearchSession {
  public class GlobalSearchSession implements java.io.Closeable {
    method public void close();
    method @NonNull public android.app.appsearch.SearchResults query(@NonNull String, @NonNull android.app.appsearch.SearchSpec, @NonNull java.util.concurrent.Executor);
  }

+5 −5
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.util.Log;

import com.android.internal.util.Preconditions;

import java.io.Closeable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -42,7 +43,7 @@ import java.util.function.Consumer;
 *
 * This class is thread safe.
 */
public final class AppSearchSession {
public final class AppSearchSession implements Closeable {
    private static final String TAG = "AppSearchSession";
    private final String mDatabaseName;
    @UserIdInt
@@ -490,11 +491,10 @@ public final class AppSearchSession {
    }

    /**
     * Closes the SearchSessionImpl to persists all update/delete requests to the disk.
     *
     * @hide
     * Closes the {@link AppSearchSession} to persist all schema and document updates, additions,
     * and deletes to disk.
     */
    // TODO(b/175637134) when unhide it, implement Closeable and remove this method.
    @Override
    public void close() {
        if (mIsMutated && !mIsClosed) {
            try {
+12 −1
Original line number Diff line number Diff line
@@ -23,6 +23,9 @@ import android.annotation.SystemApi;
import android.annotation.UserIdInt;
import android.os.RemoteException;

import com.android.internal.util.Preconditions;

import java.io.Closeable;
import java.util.Objects;
import java.util.concurrent.Executor;
import java.util.function.Consumer;
@@ -34,11 +37,12 @@ import java.util.function.Consumer;
 * @hide
 */
@SystemApi
public class GlobalSearchSession {
public class GlobalSearchSession implements Closeable {

    private final IAppSearchManager mService;
    @UserIdInt
    private final int mUserId;
    private boolean mIsClosed = false;

    static void createGlobalSearchSession(
            @NonNull IAppSearchManager service,
@@ -129,7 +133,14 @@ public class GlobalSearchSession {
        Objects.requireNonNull(queryExpression);
        Objects.requireNonNull(searchSpec);
        Objects.requireNonNull(executor);
        Preconditions.checkState(!mIsClosed, "GlobalSearchSession has already been closed");
        return new SearchResults(mService, /*databaseName=*/null, queryExpression,
                searchSpec, mUserId, executor);
    }

    /** Closes the {@link GlobalSearchSession}. */
    @Override
    public void close() {
        mIsClosed = true;
    }
}