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

Commit dd88879c authored by Craig Mautner's avatar Craig Mautner Committed by Android (Google) Code Review
Browse files

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

parents 1703fd87 9c85c201
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);