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

Commit 2094bf7b authored by Olawale Ogunwale's avatar Olawale Ogunwale Committed by Android Git Automerger
Browse files

am 4e88ecf4: am 086071e7: Merge "[ActivityManager] Reduce report wrong anr activity"

* commit '4e88ecf4':
  [ActivityManager] Reduce report wrong anr activity
parents 1c329e85 4e88ecf4
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -988,24 +988,21 @@ final class ActivityRecord {
    }

    private ActivityRecord getWaitingHistoryRecordLocked() {
        // First find the real culprit...  if we are waiting
        // for another app to start, then we have paused dispatching
        // for this activity.
        ActivityRecord r = this;
        if (r.waitingVisible) {
        // First find the real culprit...  if this activity is waiting for
        // another activity to start or has stopped, then the key dispatching
        // timeout should not be caused by this.
        if (waitingVisible || stopped) {
            final ActivityStack stack = mStackSupervisor.getFocusedStack();
            // Hmmm, who might we be waiting for?
            r = stack.mResumedActivity;
            // Try to use the one which is closest to top.
            ActivityRecord r = stack.mResumedActivity;
            if (r == null) {
                r = stack.mPausingActivity;
            }
            // Both of those null?  Fall back to 'this' again
            if (r == null) {
                r = this;
            if (r != null) {
                return r;
            }
        }

        return r;
        return this;
    }

    public boolean keyDispatchingTimedOut(String reason) {
+7 −3
Original line number Diff line number Diff line
@@ -608,17 +608,21 @@ public final class ActivityStackSupervisor implements DisplayListener {
    }

    boolean allResumedActivitiesVisible() {
        boolean foundResumed = false;
        for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) {
            ArrayList<ActivityStack> stacks = mActivityDisplays.valueAt(displayNdx).mStacks;
            for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
                final ActivityStack stack = stacks.get(stackNdx);
                final ActivityRecord r = stack.mResumedActivity;
                if (r != null && (!r.nowVisible || r.waitingVisible)) {
                if (r != null) {
                    if (!r.nowVisible || r.waitingVisible) {
                        return false;
                    }
                    foundResumed = true;
                }
            }
        return true;
        }
        return foundResumed;
    }

    /**