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

Commit 9023f78a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Refactor how AppSearchResult and AppSearchBatchResult are parcelled."...

Merge "Refactor how AppSearchResult and AppSearchBatchResult are parcelled." into sc-dev am: 111df382

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14359616

Change-Id: I0504dd3ca31a1d4c923ec1ada4e5f3f9786d04fd
parents 7956418c 111df382
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.app.appsearch;
import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.annotation.SystemService;
import android.app.appsearch.aidl.IAppSearchManager;
import android.content.Context;

import com.android.internal.util.Preconditions;
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package android.app.appsearch;

import android.annotation.SystemApi;
import android.app.SystemServiceRegistry;
import android.app.appsearch.aidl.IAppSearchManager;
import android.content.Context;

/**
+7 −4
Original line number Diff line number Diff line
@@ -23,6 +23,9 @@ import static android.os.ParcelFileDescriptor.MODE_WRITE_ONLY;
import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.annotation.WorkerThread;
import android.app.appsearch.aidl.AppSearchResultParcel;
import android.app.appsearch.aidl.IAppSearchManager;
import android.app.appsearch.aidl.IAppSearchResultCallback;
import android.app.appsearch.exceptions.AppSearchException;
import android.os.Bundle;
import android.os.Parcel;
@@ -105,8 +108,8 @@ public class AppSearchMigrationHelper implements Closeable {
                    mUserId,
                    new IAppSearchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchResult result) {
                            future.complete(result);
                        public void onResult(AppSearchResultParcel resultParcel) {
                            future.complete(resultParcel.getResult());
                        }
                    });
            AppSearchResult<Void> result = future.get();
@@ -145,8 +148,8 @@ public class AppSearchMigrationHelper implements Closeable {
            mService.putDocumentsFromFile(mPackageName, mDatabaseName, fileDescriptor, mUserId,
                    new IAppSearchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchResult result) {
                            future.complete(result);
                        public void onResult(AppSearchResultParcel resultParcel) {
                            future.complete(resultParcel.getResult());
                        }
                    });
            AppSearchResult<List<Bundle>> result = future.get();
+57 −38
Original line number Diff line number Diff line
@@ -19,6 +19,11 @@ package android.app.appsearch;
import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.app.appsearch.aidl.AppSearchBatchResultParcel;
import android.app.appsearch.aidl.AppSearchResultParcel;
import android.app.appsearch.aidl.IAppSearchBatchResultCallback;
import android.app.appsearch.aidl.IAppSearchManager;
import android.app.appsearch.aidl.IAppSearchResultCallback;
import android.app.appsearch.exceptions.AppSearchException;
import android.app.appsearch.util.SchemaMigrationUtil;
import android.compat.annotation.UnsupportedAppUsage;
@@ -86,13 +91,15 @@ public final class AppSearchSession implements Closeable {
            @NonNull Consumer<AppSearchResult<AppSearchSession>> callback) {
        try {
            mService.initialize(mUserId, new IAppSearchResultCallback.Stub() {
                public void onResult(AppSearchResult result) {
                @Override
                public void onResult(AppSearchResultParcel resultParcel) {
                    executor.execute(() -> {
                        AppSearchResult<Void> result = resultParcel.getResult();
                        if (result.isSuccess()) {
                            callback.accept(
                                    AppSearchResult.newSuccessfulResult(AppSearchSession.this));
                        } else {
                            callback.accept(result);
                            callback.accept(AppSearchResult.newFailedResult(result));
                        }
                    });
                }
@@ -191,15 +198,16 @@ public final class AppSearchSession implements Closeable {
                    mDatabaseName,
                    mUserId,
                    new IAppSearchResultCallback.Stub() {
                        public void onResult(AppSearchResult result) {
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> {
                                AppSearchResult<Bundle> result = resultParcel.getResult();
                                if (result.isSuccess()) {
                                    Bundle responseBundle = (Bundle) result.getResultValue();
                                    GetSchemaResponse response =
                                            new GetSchemaResponse(responseBundle);
                                            new GetSchemaResponse(result.getResultValue());
                                    callback.accept(AppSearchResult.newSuccessfulResult(response));
                                } else {
                                    callback.accept(result);
                                    callback.accept(AppSearchResult.newFailedResult(result));
                                }
                            });
                        }
@@ -227,15 +235,17 @@ public final class AppSearchSession implements Closeable {
                    mDatabaseName,
                    mUserId,
                    new IAppSearchResultCallback.Stub() {
                        public void onResult(AppSearchResult result) {
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> {
                                AppSearchResult<List<String>> result = resultParcel.getResult();
                                if (result.isSuccess()) {
                                    Set<String> namespaces =
                                            new ArraySet<>((List<String>) result.getResultValue());
                                            new ArraySet<>(result.getResultValue());
                                    callback.accept(
                                            AppSearchResult.newSuccessfulResult(namespaces));
                                } else {
                                    callback.accept(result);
                                    callback.accept(AppSearchResult.newFailedResult(result));
                                }
                            });
                        }
@@ -280,13 +290,14 @@ public final class AppSearchSession implements Closeable {
                    /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(),
                    new IAppSearchBatchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchBatchResult result) {
                            executor.execute(() -> callback.onResult(result));
                        public void onResult(AppSearchBatchResultParcel resultParcel) {
                            executor.execute(() -> callback.onResult(resultParcel.getResult()));
                        }

                        @Override
                        public void onSystemError(AppSearchResult result) {
                            executor.execute(() -> sendSystemErrorToCallback(result, callback));
                        public void onSystemError(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> sendSystemErrorToCallback(
                                    resultParcel.getResult(), callback));
                        }
                    });
            mIsMutated = true;
@@ -341,15 +352,17 @@ public final class AppSearchSession implements Closeable {
                    mUserId,
                    new IAppSearchBatchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchBatchResult result) {
                        public void onResult(AppSearchBatchResultParcel resultParcel) {
                            executor.execute(() -> {
                                AppSearchBatchResult<String, Bundle> result =
                                        resultParcel.getResult();
                                AppSearchBatchResult.Builder<String, GenericDocument>
                                        documentResultBuilder =
                                        new AppSearchBatchResult.Builder<>();

                                // Translate successful results
                                for (Map.Entry<String, Bundle> bundleEntry :
                                        ((Map<String, Bundle>) result.getSuccesses()).entrySet()) {
                                        result.getSuccesses().entrySet()) {
                                    GenericDocument document;
                                    try {
                                        document = new GenericDocument(bundleEntry.getValue());
@@ -380,8 +393,9 @@ public final class AppSearchSession implements Closeable {
                        }

                        @Override
                        public void onSystemError(AppSearchResult result) {
                            executor.execute(() -> sendSystemErrorToCallback(result, callback));
                        public void onSystemError(AppSearchResultParcel result) {
                            executor.execute(
                                    () -> sendSystemErrorToCallback(result.getResult(), callback));
                        }
                    });
        } catch (RemoteException e) {
@@ -492,8 +506,9 @@ public final class AppSearchSession implements Closeable {
                    /*systemUsage=*/ false,
                    mUserId,
                    new IAppSearchResultCallback.Stub() {
                        public void onResult(AppSearchResult result) {
                            executor.execute(() -> callback.accept(result));
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> callback.accept(resultParcel.getResult()));
                        }
                    });
            mIsMutated = true;
@@ -550,13 +565,14 @@ public final class AppSearchSession implements Closeable {
                    new ArrayList<>(request.getIds()), mUserId,
                    new IAppSearchBatchResultCallback.Stub() {
                        @Override
                        public void onResult(AppSearchBatchResult result) {
                            executor.execute(() -> callback.onResult(result));
                        public void onResult(AppSearchBatchResultParcel resultParcel) {
                            executor.execute(() -> callback.onResult(resultParcel.getResult()));
                        }

                        @Override
                        public void onSystemError(AppSearchResult result) {
                            executor.execute(() -> sendSystemErrorToCallback(result, callback));
                        public void onSystemError(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> sendSystemErrorToCallback(
                                    resultParcel.getResult(), callback));
                        }
                    });
            mIsMutated = true;
@@ -598,8 +614,9 @@ public final class AppSearchSession implements Closeable {
            mService.removeByQuery(mPackageName, mDatabaseName, queryExpression,
                    searchSpec.getBundle(), mUserId,
                    new IAppSearchResultCallback.Stub() {
                        public void onResult(AppSearchResult result) {
                            executor.execute(() -> callback.accept(result));
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> callback.accept(resultParcel.getResult()));
                        }
                    });
            mIsMutated = true;
@@ -629,15 +646,15 @@ public final class AppSearchSession implements Closeable {
                    mDatabaseName,
                    mUserId,
                    new IAppSearchResultCallback.Stub() {
                        public void onResult(AppSearchResult result) {
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> {
                                AppSearchResult<Bundle> result = resultParcel.getResult();
                                if (result.isSuccess()) {
                                    Bundle responseBundle = (Bundle) result.getResultValue();
                                    StorageInfo response =
                                            new StorageInfo(responseBundle);
                                    StorageInfo response = new StorageInfo(result.getResultValue());
                                    callback.accept(AppSearchResult.newSuccessfulResult(response));
                                } else {
                                    callback.accept(result);
                                    callback.accept(AppSearchResult.newFailedResult(result));
                                }
                            });
                        }
@@ -686,13 +703,14 @@ public final class AppSearchSession implements Closeable {
                    request.getVersion(),
                    mUserId,
                    new IAppSearchResultCallback.Stub() {
                        public void onResult(AppSearchResult result) {
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> {
                                AppSearchResult<Bundle> result = resultParcel.getResult();
                                if (result.isSuccess()) {
                                    try {
                                        SetSchemaResponse setSchemaResponse =
                                                new SetSchemaResponse(
                                                        (Bundle) result.getResultValue());
                                                new SetSchemaResponse(result.getResultValue());
                                        if (!request.isForceOverride()) {
                                            // Throw exception if there is any deleted types or
                                            // incompatible types. That's the only case we swallowed
@@ -707,7 +725,7 @@ public final class AppSearchSession implements Closeable {
                                        callback.accept(AppSearchResult.throwableToFailedResult(t));
                                    }
                                } else {
                                    callback.accept(result);
                                    callback.accept(AppSearchResult.newFailedResult(result));
                                }
                            });
                        }
@@ -772,8 +790,9 @@ public final class AppSearchSession implements Closeable {
                        request.getVersion(),
                        mUserId,
                        new IAppSearchResultCallback.Stub() {
                            public void onResult(AppSearchResult result) {
                                setSchemaFuture.complete(result);
                            @Override
                            public void onResult(AppSearchResultParcel resultParcel) {
                                setSchemaFuture.complete(resultParcel.getResult());
                            }
                        });
                AppSearchResult<Bundle> setSchemaResult = setSchemaFuture.get();
@@ -823,8 +842,8 @@ public final class AppSearchSession implements Closeable {
                                mUserId,
                                new IAppSearchResultCallback.Stub() {
                                    @Override
                                    public void onResult(AppSearchResult result) {
                                        setSchema2Future.complete(result);
                                    public void onResult(AppSearchResultParcel resultParcel) {
                                        setSchema2Future.complete(resultParcel.getResult());
                                    }
                                });
                        AppSearchResult<Bundle> setSchema2Result = setSchema2Future.get();
+10 −5
Original line number Diff line number Diff line
@@ -16,10 +16,12 @@

package android.app.appsearch;


import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.app.appsearch.aidl.AppSearchResultParcel;
import android.app.appsearch.aidl.IAppSearchManager;
import android.app.appsearch.aidl.IAppSearchResultCallback;
import android.os.RemoteException;
import android.util.Log;

@@ -71,13 +73,15 @@ public class GlobalSearchSession implements Closeable {
            @NonNull Consumer<AppSearchResult<GlobalSearchSession>> callback) {
        try {
            mService.initialize(mUserId, new IAppSearchResultCallback.Stub() {
                public void onResult(AppSearchResult result) {
                @Override
                public void onResult(AppSearchResultParcel resultParcel) {
                    executor.execute(() -> {
                        AppSearchResult<Void> result = resultParcel.getResult();
                        if (result.isSuccess()) {
                            callback.accept(
                                    AppSearchResult.newSuccessfulResult(GlobalSearchSession.this));
                        } else {
                            callback.accept(result);
                            callback.accept(AppSearchResult.newFailedResult(result));
                        }
                    });
                }
@@ -159,8 +163,9 @@ public class GlobalSearchSession implements Closeable {
                    /*systemUsage=*/ true,
                    mUserId,
                    new IAppSearchResultCallback.Stub() {
                        public void onResult(AppSearchResult result) {
                            executor.execute(() -> callback.accept(result));
                        @Override
                        public void onResult(AppSearchResultParcel resultParcel) {
                            executor.execute(() -> callback.accept(resultParcel.getResult()));
                        }
                    });
            mIsMutated = true;
Loading