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

Commit aa029a25 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Abandon in-flight app-search session when user stops" into sc-dev

parents 55a5d061 1d99392d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2407,6 +2407,8 @@ class ShortcutPackage extends ShortcutPackageItem {
            mAppSearchSession = session;
            return cb.apply(mAppSearchSession);
        } catch (Exception e) {
            Slog.e(TAG, "Failed to initiate app search for shortcut package "
                    + getPackageName() + " user " + mShortcutUser.getUserId(), e);
            return AndroidFuture.completedFuture(null);
        } finally {
            Binder.restoreCallingIdentity(callingIdentity);
+1 −1
Original line number Diff line number Diff line
@@ -342,7 +342,7 @@ public class ShortcutService extends IShortcutService.Stub {

    private final IPackageManager mIPackageManager;
    private final PackageManagerInternal mPackageManagerInternal;
    private final UserManagerInternal mUserManagerInternal;
    final UserManagerInternal mUserManagerInternal;
    private final UsageStatsManagerInternal mUsageStatsManagerInternal;
    private final ActivityManagerInternal mActivityManagerInternal;
    private final IUriGrantsManager mUriGrantsManager;
+6 −0
Original line number Diff line number Diff line
@@ -722,6 +722,12 @@ class ShortcutUser {
            future.completeExceptionally(new RuntimeException("app search manager is null"));
            return future;
        }
        if (!mService.mUserManagerInternal.isUserUnlockingOrUnlocked(getUserId())) {
            // In rare cases the user might be stopped immediate after it started, in these cases
            // any on-going session will need to be abandoned.
            future.completeExceptionally(new RuntimeException("User " + getUserId() + " is "));
            return future;
        }
        final long callingIdentity = Binder.clearCallingIdentity();
        try {
            mAppSearchManager.createSearchSession(searchContext, mExecutor, result -> {