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

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

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

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

Change-Id: I31bcc9d8ce1545af683bd6c3fc6c450c8a667e0a
parents e6267152 aa029a25
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 -> {