Loading apex/appsearch/framework/java/android/app/appsearch/AppSearchManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -205,7 +205,7 @@ public class AppSearchManager { AppSearchSession.createSearchSession( searchContext, mService, mContext.getUser().getIdentifier(), mContext.getUser(), getPackageName(), executor, callback); Loading @@ -228,7 +228,7 @@ public class AppSearchManager { Objects.requireNonNull(executor); Objects.requireNonNull(callback); GlobalSearchSession.createGlobalSearchSession( mService, mContext.getUser().getIdentifier(), getPackageName(), executor, callback); mService, mContext.getUser(), getPackageName(), executor, callback); } /** Returns the package name that should be used for uid verification. */ Loading apex/appsearch/framework/java/android/app/appsearch/AppSearchMigrationHelper.java +6 −6 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.os.ParcelFileDescriptor.MODE_READ_ONLY; 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; Loading @@ -31,6 +30,7 @@ import android.os.Bundle; import android.os.Parcel; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.UserHandle; import android.util.ArraySet; import java.io.Closeable; Loading @@ -57,20 +57,20 @@ public class AppSearchMigrationHelper implements Closeable { private final IAppSearchManager mService; private final String mPackageName; private final String mDatabaseName; private final int mUserId; private final UserHandle mUserHandle; private final File mMigratedFile; private final Set<String> mDestinationTypes; private boolean mAreDocumentsMigrated = false; AppSearchMigrationHelper(@NonNull IAppSearchManager service, @UserIdInt int userId, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull String databaseName, @NonNull Set<AppSearchSchema> newSchemas) throws IOException { mService = Objects.requireNonNull(service); mUserHandle = Objects.requireNonNull(userHandle); mPackageName = Objects.requireNonNull(packageName); mDatabaseName = Objects.requireNonNull(databaseName); mUserId = userId; mMigratedFile = File.createTempFile(/*prefix=*/"appsearch", /*suffix=*/null); mDestinationTypes = new ArraySet<>(newSchemas.size()); for (AppSearchSchema newSchema : newSchemas) { Loading Loading @@ -105,7 +105,7 @@ public class AppSearchMigrationHelper implements Closeable { .addFilterSchemas(schemaType) .setTermMatch(SearchSpec.TERM_MATCH_EXACT_ONLY) .build().getBundle(), mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -145,7 +145,7 @@ public class AppSearchMigrationHelper implements Closeable { try (ParcelFileDescriptor fileDescriptor = ParcelFileDescriptor.open(mMigratedFile, MODE_READ_ONLY)) { CompletableFuture<AppSearchResult<List<Bundle>>> future = new CompletableFuture<>(); mService.putDocumentsFromFile(mPackageName, mDatabaseName, fileDescriptor, mUserId, mService.putDocumentsFromFile(mPackageName, mDatabaseName, fileDescriptor, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java +34 −26 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ 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; Loading @@ -30,6 +29,7 @@ import android.compat.annotation.UnsupportedAppUsage; import android.os.Bundle; import android.os.RemoteException; import android.os.SystemClock; import android.os.UserHandle; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; Loading Loading @@ -61,26 +61,25 @@ public final class AppSearchSession implements Closeable { private final String mPackageName; private final String mDatabaseName; @UserIdInt private final int mUserId; private final UserHandle mUserHandle; private final IAppSearchManager mService; private boolean mIsMutated = false; private boolean mIsClosed = false; /** * Creates a search session for the client, defined by the {@code userId} and * Creates a search session for the client, defined by the {@code userHandle} and * {@code packageName}. */ static void createSearchSession( @NonNull AppSearchManager.SearchContext searchContext, @NonNull IAppSearchManager service, @UserIdInt int userId, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<AppSearchSession>> callback) { AppSearchSession searchSession = new AppSearchSession(service, userId, packageName, searchContext.mDatabaseName); new AppSearchSession(service, userHandle, packageName, searchContext.mDatabaseName); searchSession.initialize(executor, callback); } Loading @@ -90,7 +89,8 @@ public final class AppSearchSession implements Closeable { @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<AppSearchSession>> callback) { try { mService.initialize(mUserId, mService.initialize( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading @@ -112,10 +112,10 @@ public final class AppSearchSession implements Closeable { } } private AppSearchSession(@NonNull IAppSearchManager service, @UserIdInt int userId, private AppSearchSession(@NonNull IAppSearchManager service, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull String databaseName) { mService = service; mUserId = userId; mUserHandle = userHandle; mPackageName = packageName; mDatabaseName = databaseName; } Loading Loading @@ -199,7 +199,7 @@ public final class AppSearchSession implements Closeable { mService.getSchema( mPackageName, mDatabaseName, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -236,7 +236,7 @@ public final class AppSearchSession implements Closeable { mService.getNamespaces( mPackageName, mDatabaseName, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -289,7 +289,7 @@ public final class AppSearchSession implements Closeable { documentBundles.add(documents.get(i).getBundle()); } try { mService.putDocuments(mPackageName, mDatabaseName, documentBundles, mUserId, mService.putDocuments(mPackageName, mDatabaseName, documentBundles, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchBatchResultCallback.Stub() { @Override Loading Loading @@ -352,7 +352,7 @@ public final class AppSearchSession implements Closeable { request.getNamespace(), new ArrayList<>(request.getIds()), request.getProjectionsInternal(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchBatchResultCallback.Stub() { @Override Loading Loading @@ -472,7 +472,7 @@ public final class AppSearchSession implements Closeable { Objects.requireNonNull(searchSpec); Preconditions.checkState(!mIsClosed, "AppSearchSession has already been closed"); return new SearchResults(mService, mPackageName, mDatabaseName, queryExpression, searchSpec, mUserId); searchSpec, mUserHandle); } /** Loading Loading @@ -508,7 +508,7 @@ public final class AppSearchSession implements Closeable { request.getDocumentId(), request.getUsageTimestampMillis(), /*systemUsage=*/ false, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -565,8 +565,12 @@ public final class AppSearchSession implements Closeable { Objects.requireNonNull(callback); Preconditions.checkState(!mIsClosed, "AppSearchSession has already been closed"); try { mService.removeByDocumentId(mPackageName, mDatabaseName, request.getNamespace(), new ArrayList<>(request.getIds()), mUserId, mService.removeByDocumentId( mPackageName, mDatabaseName, request.getNamespace(), new ArrayList<>(request.getIds()), mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchBatchResultCallback.Stub() { @Override Loading Loading @@ -616,8 +620,12 @@ public final class AppSearchSession implements Closeable { Objects.requireNonNull(callback); Preconditions.checkState(!mIsClosed, "AppSearchSession has already been closed"); try { mService.removeByQuery(mPackageName, mDatabaseName, queryExpression, searchSpec.getBundle(), mUserId, mService.removeByQuery( mPackageName, mDatabaseName, queryExpression, searchSpec.getBundle(), mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading Loading @@ -650,7 +658,7 @@ public final class AppSearchSession implements Closeable { mService.getStorageInfo( mPackageName, mDatabaseName, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -678,8 +686,8 @@ public final class AppSearchSession implements Closeable { public void close() { if (mIsMutated && !mIsClosed) { try { mService.persistToDisk(mUserId, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mService.persistToDisk( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mIsClosed = true; } catch (RemoteException e) { Log.e(TAG, "Unable to close the AppSearchSession", e); Loading Loading @@ -708,7 +716,7 @@ public final class AppSearchSession implements Closeable { schemasPackageAccessibleBundles, request.isForceOverride(), request.getVersion(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading Loading @@ -796,7 +804,7 @@ public final class AppSearchSession implements Closeable { schemasPackageAccessibleBundles, /*forceOverride=*/ false, request.getVersion(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading @@ -822,7 +830,7 @@ public final class AppSearchSession implements Closeable { } try (AppSearchMigrationHelper migrationHelper = new AppSearchMigrationHelper( mService, mUserId, mPackageName, mDatabaseName, request.getSchemas())) { mService, mUserHandle, mPackageName, mDatabaseName, request.getSchemas())) { // 4. Trigger migration for all migrators. // TODO(b/177266929) trigger migration for all types together rather than Loading @@ -848,7 +856,7 @@ public final class AppSearchSession implements Closeable { schemasPackageAccessibleBundles, /*forceOverride=*/ true, request.getVersion(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading apex/appsearch/framework/java/android/app/appsearch/GlobalSearchSession.java +13 −13 Original line number Diff line number Diff line Loading @@ -18,12 +18,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.os.SystemClock; import android.os.UserHandle; import android.util.Log; import com.android.internal.util.Preconditions; Loading @@ -45,24 +45,23 @@ public class GlobalSearchSession implements Closeable { private static final String TAG = "AppSearchGlobalSearchSe"; private final String mPackageName; @UserIdInt private final int mUserId; private final UserHandle mUserHandle; private final IAppSearchManager mService; private boolean mIsMutated = false; private boolean mIsClosed = false; /** * Creates a search session for the client, defined by the {@code userId} and * Creates a search session for the client, defined by the {@code userHandle} and * {@code packageName}. */ static void createGlobalSearchSession( @NonNull IAppSearchManager service, @UserIdInt int userId, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<GlobalSearchSession>> callback) { GlobalSearchSession globalSearchSession = new GlobalSearchSession(service, userId, GlobalSearchSession globalSearchSession = new GlobalSearchSession(service, userHandle, packageName); globalSearchSession.initialize(executor, callback); } Loading @@ -73,7 +72,8 @@ public class GlobalSearchSession implements Closeable { @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<GlobalSearchSession>> callback) { try { mService.initialize(mUserId, mService.initialize( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading @@ -95,10 +95,10 @@ public class GlobalSearchSession implements Closeable { } } private GlobalSearchSession(@NonNull IAppSearchManager service, @UserIdInt int userId, private GlobalSearchSession(@NonNull IAppSearchManager service, @NonNull UserHandle userHandle, @NonNull String packageName) { mService = service; mUserId = userId; mUserHandle = userHandle; mPackageName = packageName; } Loading Loading @@ -127,7 +127,7 @@ public class GlobalSearchSession implements Closeable { Objects.requireNonNull(searchSpec); Preconditions.checkState(!mIsClosed, "GlobalSearchSession has already been closed"); return new SearchResults(mService, mPackageName, /*databaseName=*/null, queryExpression, searchSpec, mUserId); searchSpec, mUserHandle); } /** Loading Loading @@ -165,7 +165,7 @@ public class GlobalSearchSession implements Closeable { request.getDocumentId(), request.getUsageTimestampMillis(), /*systemUsage=*/ true, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading @@ -186,8 +186,8 @@ public class GlobalSearchSession implements Closeable { public void close() { if (mIsMutated && !mIsClosed) { try { mService.persistToDisk(mUserId, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mService.persistToDisk( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mIsClosed = true; } catch (RemoteException e) { Log.e(TAG, "Unable to close the GlobalSearchSession", e); Loading apex/appsearch/framework/java/android/app/appsearch/SearchResults.java +8 −9 Original line number Diff line number Diff line Loading @@ -19,13 +19,13 @@ package android.app.appsearch; import android.annotation.CallbackExecutor; import android.annotation.NonNull; import android.annotation.Nullable; 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.Bundle; import android.os.RemoteException; import android.os.SystemClock; import android.os.UserHandle; import android.util.Log; import com.android.internal.util.Preconditions; Loading Loading @@ -66,8 +66,7 @@ public class SearchResults implements Closeable { private final SearchSpec mSearchSpec; @UserIdInt private final int mUserId; private final UserHandle mUserHandle; private long mNextPageToken; Loading @@ -81,13 +80,13 @@ public class SearchResults implements Closeable { @Nullable String databaseName, @NonNull String queryExpression, @NonNull SearchSpec searchSpec, @UserIdInt int userId) { @NonNull UserHandle userHandle) { mService = Objects.requireNonNull(service); mPackageName = packageName; mDatabaseName = databaseName; mQueryExpression = Objects.requireNonNull(queryExpression); mSearchSpec = Objects.requireNonNull(searchSpec); mUserId = userId; mUserHandle = Objects.requireNonNull(userHandle); } /** Loading @@ -114,18 +113,18 @@ public class SearchResults implements Closeable { if (mDatabaseName == null) { // Global query, there's no one package-database combination to check. mService.globalQuery(mPackageName, mQueryExpression, mSearchSpec.getBundle(), mUserId, mSearchSpec.getBundle(), mUserHandle, binderCallStartTimeMillis, wrapCallback(executor, callback)); } else { // Normal local query, pass in specified database. mService.query(mPackageName, mDatabaseName, mQueryExpression, mSearchSpec.getBundle(), mUserId, mSearchSpec.getBundle(), mUserHandle, binderCallStartTimeMillis, wrapCallback(executor, callback)); } } else { mService.getNextPage(mNextPageToken, mUserId, wrapCallback(executor, callback)); mService.getNextPage(mNextPageToken, mUserHandle, wrapCallback(executor, callback)); } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); Loading @@ -136,7 +135,7 @@ public class SearchResults implements Closeable { public void close() { if (!mIsClosed) { try { mService.invalidateNextPageToken(mNextPageToken, mUserId); mService.invalidateNextPageToken(mNextPageToken, mUserHandle); mIsClosed = true; } catch (RemoteException e) { Log.e(TAG, "Unable to close the SearchResults", e); Loading Loading
apex/appsearch/framework/java/android/app/appsearch/AppSearchManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -205,7 +205,7 @@ public class AppSearchManager { AppSearchSession.createSearchSession( searchContext, mService, mContext.getUser().getIdentifier(), mContext.getUser(), getPackageName(), executor, callback); Loading @@ -228,7 +228,7 @@ public class AppSearchManager { Objects.requireNonNull(executor); Objects.requireNonNull(callback); GlobalSearchSession.createGlobalSearchSession( mService, mContext.getUser().getIdentifier(), getPackageName(), executor, callback); mService, mContext.getUser(), getPackageName(), executor, callback); } /** Returns the package name that should be used for uid verification. */ Loading
apex/appsearch/framework/java/android/app/appsearch/AppSearchMigrationHelper.java +6 −6 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.os.ParcelFileDescriptor.MODE_READ_ONLY; 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; Loading @@ -31,6 +30,7 @@ import android.os.Bundle; import android.os.Parcel; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.UserHandle; import android.util.ArraySet; import java.io.Closeable; Loading @@ -57,20 +57,20 @@ public class AppSearchMigrationHelper implements Closeable { private final IAppSearchManager mService; private final String mPackageName; private final String mDatabaseName; private final int mUserId; private final UserHandle mUserHandle; private final File mMigratedFile; private final Set<String> mDestinationTypes; private boolean mAreDocumentsMigrated = false; AppSearchMigrationHelper(@NonNull IAppSearchManager service, @UserIdInt int userId, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull String databaseName, @NonNull Set<AppSearchSchema> newSchemas) throws IOException { mService = Objects.requireNonNull(service); mUserHandle = Objects.requireNonNull(userHandle); mPackageName = Objects.requireNonNull(packageName); mDatabaseName = Objects.requireNonNull(databaseName); mUserId = userId; mMigratedFile = File.createTempFile(/*prefix=*/"appsearch", /*suffix=*/null); mDestinationTypes = new ArraySet<>(newSchemas.size()); for (AppSearchSchema newSchema : newSchemas) { Loading Loading @@ -105,7 +105,7 @@ public class AppSearchMigrationHelper implements Closeable { .addFilterSchemas(schemaType) .setTermMatch(SearchSpec.TERM_MATCH_EXACT_ONLY) .build().getBundle(), mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -145,7 +145,7 @@ public class AppSearchMigrationHelper implements Closeable { try (ParcelFileDescriptor fileDescriptor = ParcelFileDescriptor.open(mMigratedFile, MODE_READ_ONLY)) { CompletableFuture<AppSearchResult<List<Bundle>>> future = new CompletableFuture<>(); mService.putDocumentsFromFile(mPackageName, mDatabaseName, fileDescriptor, mUserId, mService.putDocumentsFromFile(mPackageName, mDatabaseName, fileDescriptor, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading
apex/appsearch/framework/java/android/app/appsearch/AppSearchSession.java +34 −26 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ 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; Loading @@ -30,6 +29,7 @@ import android.compat.annotation.UnsupportedAppUsage; import android.os.Bundle; import android.os.RemoteException; import android.os.SystemClock; import android.os.UserHandle; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; Loading Loading @@ -61,26 +61,25 @@ public final class AppSearchSession implements Closeable { private final String mPackageName; private final String mDatabaseName; @UserIdInt private final int mUserId; private final UserHandle mUserHandle; private final IAppSearchManager mService; private boolean mIsMutated = false; private boolean mIsClosed = false; /** * Creates a search session for the client, defined by the {@code userId} and * Creates a search session for the client, defined by the {@code userHandle} and * {@code packageName}. */ static void createSearchSession( @NonNull AppSearchManager.SearchContext searchContext, @NonNull IAppSearchManager service, @UserIdInt int userId, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<AppSearchSession>> callback) { AppSearchSession searchSession = new AppSearchSession(service, userId, packageName, searchContext.mDatabaseName); new AppSearchSession(service, userHandle, packageName, searchContext.mDatabaseName); searchSession.initialize(executor, callback); } Loading @@ -90,7 +89,8 @@ public final class AppSearchSession implements Closeable { @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<AppSearchSession>> callback) { try { mService.initialize(mUserId, mService.initialize( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading @@ -112,10 +112,10 @@ public final class AppSearchSession implements Closeable { } } private AppSearchSession(@NonNull IAppSearchManager service, @UserIdInt int userId, private AppSearchSession(@NonNull IAppSearchManager service, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull String databaseName) { mService = service; mUserId = userId; mUserHandle = userHandle; mPackageName = packageName; mDatabaseName = databaseName; } Loading Loading @@ -199,7 +199,7 @@ public final class AppSearchSession implements Closeable { mService.getSchema( mPackageName, mDatabaseName, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -236,7 +236,7 @@ public final class AppSearchSession implements Closeable { mService.getNamespaces( mPackageName, mDatabaseName, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -289,7 +289,7 @@ public final class AppSearchSession implements Closeable { documentBundles.add(documents.get(i).getBundle()); } try { mService.putDocuments(mPackageName, mDatabaseName, documentBundles, mUserId, mService.putDocuments(mPackageName, mDatabaseName, documentBundles, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchBatchResultCallback.Stub() { @Override Loading Loading @@ -352,7 +352,7 @@ public final class AppSearchSession implements Closeable { request.getNamespace(), new ArrayList<>(request.getIds()), request.getProjectionsInternal(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchBatchResultCallback.Stub() { @Override Loading Loading @@ -472,7 +472,7 @@ public final class AppSearchSession implements Closeable { Objects.requireNonNull(searchSpec); Preconditions.checkState(!mIsClosed, "AppSearchSession has already been closed"); return new SearchResults(mService, mPackageName, mDatabaseName, queryExpression, searchSpec, mUserId); searchSpec, mUserHandle); } /** Loading Loading @@ -508,7 +508,7 @@ public final class AppSearchSession implements Closeable { request.getDocumentId(), request.getUsageTimestampMillis(), /*systemUsage=*/ false, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -565,8 +565,12 @@ public final class AppSearchSession implements Closeable { Objects.requireNonNull(callback); Preconditions.checkState(!mIsClosed, "AppSearchSession has already been closed"); try { mService.removeByDocumentId(mPackageName, mDatabaseName, request.getNamespace(), new ArrayList<>(request.getIds()), mUserId, mService.removeByDocumentId( mPackageName, mDatabaseName, request.getNamespace(), new ArrayList<>(request.getIds()), mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchBatchResultCallback.Stub() { @Override Loading Loading @@ -616,8 +620,12 @@ public final class AppSearchSession implements Closeable { Objects.requireNonNull(callback); Preconditions.checkState(!mIsClosed, "AppSearchSession has already been closed"); try { mService.removeByQuery(mPackageName, mDatabaseName, queryExpression, searchSpec.getBundle(), mUserId, mService.removeByQuery( mPackageName, mDatabaseName, queryExpression, searchSpec.getBundle(), mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading Loading @@ -650,7 +658,7 @@ public final class AppSearchSession implements Closeable { mService.getStorageInfo( mPackageName, mDatabaseName, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading Loading @@ -678,8 +686,8 @@ public final class AppSearchSession implements Closeable { public void close() { if (mIsMutated && !mIsClosed) { try { mService.persistToDisk(mUserId, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mService.persistToDisk( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mIsClosed = true; } catch (RemoteException e) { Log.e(TAG, "Unable to close the AppSearchSession", e); Loading Loading @@ -708,7 +716,7 @@ public final class AppSearchSession implements Closeable { schemasPackageAccessibleBundles, request.isForceOverride(), request.getVersion(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading Loading @@ -796,7 +804,7 @@ public final class AppSearchSession implements Closeable { schemasPackageAccessibleBundles, /*forceOverride=*/ false, request.getVersion(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading @@ -822,7 +830,7 @@ public final class AppSearchSession implements Closeable { } try (AppSearchMigrationHelper migrationHelper = new AppSearchMigrationHelper( mService, mUserId, mPackageName, mDatabaseName, request.getSchemas())) { mService, mUserHandle, mPackageName, mDatabaseName, request.getSchemas())) { // 4. Trigger migration for all migrators. // TODO(b/177266929) trigger migration for all types together rather than Loading @@ -848,7 +856,7 @@ public final class AppSearchSession implements Closeable { schemasPackageAccessibleBundles, /*forceOverride=*/ true, request.getVersion(), mUserId, mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading
apex/appsearch/framework/java/android/app/appsearch/GlobalSearchSession.java +13 −13 Original line number Diff line number Diff line Loading @@ -18,12 +18,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.os.SystemClock; import android.os.UserHandle; import android.util.Log; import com.android.internal.util.Preconditions; Loading @@ -45,24 +45,23 @@ public class GlobalSearchSession implements Closeable { private static final String TAG = "AppSearchGlobalSearchSe"; private final String mPackageName; @UserIdInt private final int mUserId; private final UserHandle mUserHandle; private final IAppSearchManager mService; private boolean mIsMutated = false; private boolean mIsClosed = false; /** * Creates a search session for the client, defined by the {@code userId} and * Creates a search session for the client, defined by the {@code userHandle} and * {@code packageName}. */ static void createGlobalSearchSession( @NonNull IAppSearchManager service, @UserIdInt int userId, @NonNull UserHandle userHandle, @NonNull String packageName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<GlobalSearchSession>> callback) { GlobalSearchSession globalSearchSession = new GlobalSearchSession(service, userId, GlobalSearchSession globalSearchSession = new GlobalSearchSession(service, userHandle, packageName); globalSearchSession.initialize(executor, callback); } Loading @@ -73,7 +72,8 @@ public class GlobalSearchSession implements Closeable { @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<AppSearchResult<GlobalSearchSession>> callback) { try { mService.initialize(mUserId, mService.initialize( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime(), new IAppSearchResultCallback.Stub() { @Override Loading @@ -95,10 +95,10 @@ public class GlobalSearchSession implements Closeable { } } private GlobalSearchSession(@NonNull IAppSearchManager service, @UserIdInt int userId, private GlobalSearchSession(@NonNull IAppSearchManager service, @NonNull UserHandle userHandle, @NonNull String packageName) { mService = service; mUserId = userId; mUserHandle = userHandle; mPackageName = packageName; } Loading Loading @@ -127,7 +127,7 @@ public class GlobalSearchSession implements Closeable { Objects.requireNonNull(searchSpec); Preconditions.checkState(!mIsClosed, "GlobalSearchSession has already been closed"); return new SearchResults(mService, mPackageName, /*databaseName=*/null, queryExpression, searchSpec, mUserId); searchSpec, mUserHandle); } /** Loading Loading @@ -165,7 +165,7 @@ public class GlobalSearchSession implements Closeable { request.getDocumentId(), request.getUsageTimestampMillis(), /*systemUsage=*/ true, mUserId, mUserHandle, new IAppSearchResultCallback.Stub() { @Override public void onResult(AppSearchResultParcel resultParcel) { Loading @@ -186,8 +186,8 @@ public class GlobalSearchSession implements Closeable { public void close() { if (mIsMutated && !mIsClosed) { try { mService.persistToDisk(mUserId, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mService.persistToDisk( mUserHandle, /*binderCallStartTimeMillis=*/ SystemClock.elapsedRealtime()); mIsClosed = true; } catch (RemoteException e) { Log.e(TAG, "Unable to close the GlobalSearchSession", e); Loading
apex/appsearch/framework/java/android/app/appsearch/SearchResults.java +8 −9 Original line number Diff line number Diff line Loading @@ -19,13 +19,13 @@ package android.app.appsearch; import android.annotation.CallbackExecutor; import android.annotation.NonNull; import android.annotation.Nullable; 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.Bundle; import android.os.RemoteException; import android.os.SystemClock; import android.os.UserHandle; import android.util.Log; import com.android.internal.util.Preconditions; Loading Loading @@ -66,8 +66,7 @@ public class SearchResults implements Closeable { private final SearchSpec mSearchSpec; @UserIdInt private final int mUserId; private final UserHandle mUserHandle; private long mNextPageToken; Loading @@ -81,13 +80,13 @@ public class SearchResults implements Closeable { @Nullable String databaseName, @NonNull String queryExpression, @NonNull SearchSpec searchSpec, @UserIdInt int userId) { @NonNull UserHandle userHandle) { mService = Objects.requireNonNull(service); mPackageName = packageName; mDatabaseName = databaseName; mQueryExpression = Objects.requireNonNull(queryExpression); mSearchSpec = Objects.requireNonNull(searchSpec); mUserId = userId; mUserHandle = Objects.requireNonNull(userHandle); } /** Loading @@ -114,18 +113,18 @@ public class SearchResults implements Closeable { if (mDatabaseName == null) { // Global query, there's no one package-database combination to check. mService.globalQuery(mPackageName, mQueryExpression, mSearchSpec.getBundle(), mUserId, mSearchSpec.getBundle(), mUserHandle, binderCallStartTimeMillis, wrapCallback(executor, callback)); } else { // Normal local query, pass in specified database. mService.query(mPackageName, mDatabaseName, mQueryExpression, mSearchSpec.getBundle(), mUserId, mSearchSpec.getBundle(), mUserHandle, binderCallStartTimeMillis, wrapCallback(executor, callback)); } } else { mService.getNextPage(mNextPageToken, mUserId, wrapCallback(executor, callback)); mService.getNextPage(mNextPageToken, mUserHandle, wrapCallback(executor, callback)); } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); Loading @@ -136,7 +135,7 @@ public class SearchResults implements Closeable { public void close() { if (!mIsClosed) { try { mService.invalidateNextPageToken(mNextPageToken, mUserId); mService.invalidateNextPageToken(mNextPageToken, mUserHandle); mIsClosed = true; } catch (RemoteException e) { Log.e(TAG, "Unable to close the SearchResults", e); Loading