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

Commit c50738d6 authored by Craig Mautner's avatar Craig Mautner Committed by Android Git Automerger
Browse files

am dd88879c: Merge "Evaluate task on top of home when task is brought to front." into klp-dev

* commit 'dd88879c':
  Evaluate task on top of home when task is brought to front.
parents 3cb25e91 dd88879c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -572,8 +572,8 @@ final class ActivityRecord {
    }

    boolean isRootActivity() {
        ArrayList<ActivityRecord> activities = task.mActivities;
        return activities.size() == 0 || this == task.mActivities.get(0);
        final ArrayList<ActivityRecord> activities = task.mActivities;
        return activities.size() == 0 || this == activities.get(0);
    }

    UriPermissionOwner getUriPermissionsLocked() {
+6 −0
Original line number Diff line number Diff line
@@ -1618,6 +1618,12 @@ final class ActivityStack {
    }

    private void insertTaskAtTop(TaskRecord task) {
        // If this is being moved to the top by another activity or being launched from the home
        // activity, set mOnTopOfHome accordingly.
        final boolean fromHome = mStackSupervisor.getLastStack().isHomeStack();
        if (!isHomeStack() && (fromHome || topTask() != task)) {
            task.mOnTopOfHome = fromHome;
        }
        mTaskHistory.remove(task);
        // Now put task at top.
        int stackNdx = mTaskHistory.size();
+0 −24
Original line number Diff line number Diff line
@@ -292,22 +292,6 @@ public final class ActivityStackSupervisor {
        return mService.startHomeActivityLocked(mCurrentUser);
    }

    final void setLaunchHomeTaskNextFlag(ActivityRecord sourceRecord, ActivityRecord r,
            ActivityStack stack) {
        if (stack == mHomeStack) {
            return;
        }
        if ((sourceRecord == null && getLastStack() == mHomeStack) ||
                (sourceRecord != null && sourceRecord.isHomeActivity())) {
            if (r == null) {
                r = stack.topRunningActivityLocked(null);
            }
            if (r != null && !r.isHomeActivity() && r.isRootActivity()) {
                r.task.mOnTopOfHome = true;
            }
        }
    }

    void setDismissKeyguard(boolean dismiss) {
        if (ActivityManagerService.DEBUG_LOCKSCREEN) mService.logLockScreen(" dismiss=" + dismiss);
        mDismissKeyguardOnNextActivity = dismiss;
@@ -1483,7 +1467,6 @@ public final class ActivityStackSupervisor {
                        // is the case, so this is it!  And for paranoia, make
                        // sure we have correctly resumed the top activity.
                        if (doResume) {
                            setLaunchHomeTaskNextFlag(sourceRecord, null, targetStack);
                            resumeTopActivitiesLocked(targetStack, null, options);
                        } else {
                            ActivityOptions.abort(options);
@@ -1579,9 +1562,6 @@ public final class ActivityStackSupervisor {
                        // don't use that intent!)  And for paranoia, make
                        // sure we have correctly resumed the top activity.
                        if (doResume) {
                            // Reset flag so it gets correctly reevaluated.
                            intentActivity.task.mOnTopOfHome = false;
                            setLaunchHomeTaskNextFlag(sourceRecord, intentActivity, targetStack);
                            targetStack.resumeTopActivityLocked(null, options);
                        } else {
                            ActivityOptions.abort(options);
@@ -1619,7 +1599,6 @@ public final class ActivityStackSupervisor {
                            // resumed the top activity.
                            topStack.mLastPausedActivity = null;
                            if (doResume) {
                                setLaunchHomeTaskNextFlag(sourceRecord, null, topStack);
                                resumeTopActivitiesLocked();
                            }
                            ActivityOptions.abort(options);
@@ -1698,7 +1677,6 @@ public final class ActivityStackSupervisor {
                    // resumed the top activity.
                    targetStack.mLastPausedActivity = null;
                    if (doResume) {
                        setLaunchHomeTaskNextFlag(sourceRecord, null, targetStack);
                        targetStack.resumeTopActivityLocked(null);
                    }
                    ActivityOptions.abort(options);
@@ -1721,7 +1699,6 @@ public final class ActivityStackSupervisor {
                    top.deliverNewIntentLocked(callingUid, r.intent);
                    targetStack.mLastPausedActivity = null;
                    if (doResume) {
                        setLaunchHomeTaskNextFlag(sourceRecord, null, targetStack);
                        targetStack.resumeTopActivityLocked(null);
                    }
                    return ActivityManager.START_DELIVERED_TO_TOP;
@@ -1755,7 +1732,6 @@ public final class ActivityStackSupervisor {
            EventLog.writeEvent(EventLogTags.AM_CREATE_TASK, r.userId, r.task.taskId);
        }
        ActivityStack.logStartActivity(EventLogTags.AM_CREATE_ACTIVITY, r, r.task);
        setLaunchHomeTaskNextFlag(sourceRecord, r, targetStack);
        targetStack.mLastPausedActivity = null;
        targetStack.startActivityLocked(r, newTask, doResume, keepCurTransition, options);
        mService.setFocusedActivityLocked(r);