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

Commit 847167fe authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

Limit number of recents entries for an app to maxRecents allowed.

Regression in the API caused by the fixes for b/28293748 and b/25460953
which prevented the task entries from been trimmed if the task don't
have the same intent filter (additional documents launched will normally
have different intent action/filter than the base activity) or it allows
multiple task entries.
We now trim when we go over the maxRecents allowed in both cases.

Bug: 30645949
Bug: 28293748
Bug: 25460953
Change-Id: I74c8ecc38f72a5d03c213dea8d3e62261d42f8f6
parent 0b26adbb
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -653,13 +653,18 @@ class RecentTasks extends ArrayList<TaskRecord> {
                            && task.realActivity.equals(tr.realActivity);
                    // If the document is open in another app or is not the same
                    // document, we don't need to trim it.
                    if (!sameActivity || !sameIntentFilter || multiTasksAllowed) {
                    if (!sameActivity) {
                        continue;
                    // Otherwise only trim if we are over our max recents for this task
                    } else if (maxRecents > 0 && !doTrim) {
                    } else if (maxRecents > 0) {
                        --maxRecents;
                        if (!doTrim || !sameIntentFilter || multiTasksAllowed) {
                            // We don't want to trim if we are not over the max allowed entries and
                            // the caller doesn't want us to trim, the tasks are not of the same
                            // intent filter, or multiple entries fot the task is allowed.
                            continue;
                        }
                    }
                    // Hit the maximum number of documents for this task. Fall through
                    // and remove this document from recents.
                } else if (document || trIsDocument) {