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

Commit 6ea5a55a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix potential null error in clearEvents." into sc-dev

parents 92a2c69b e33b1bf4
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -341,12 +341,8 @@ public abstract class ContentCaptureSession implements AutoCloseable {
            }
        }

        try {
            flush(FLUSH_REASON_SESSION_FINISHED);
        } finally {
        onDestroy();
    }
    }

    abstract void onDestroy();

+12 −4
Original line number Diff line number Diff line
@@ -263,7 +263,13 @@ public final class MainContentCaptureSession extends ContentCaptureSession {
    @Override
    void onDestroy() {
        mHandler.removeMessages(MSG_FLUSH);
        mHandler.post(() -> destroySession());
        mHandler.post(() -> {
            try {
                flush(FLUSH_REASON_SESSION_FINISHED);
            } finally {
                destroySession();
            }
        });
    }

    /**
@@ -571,9 +577,11 @@ public final class MainContentCaptureSession extends ContentCaptureSession {
    private ParceledListSlice<ContentCaptureEvent> clearEvents() {
        // NOTE: we must save a reference to the current mEvents and then set it to to null,
        // otherwise clearing it would clear it in the receiving side if the service is also local.
        final List<ContentCaptureEvent> events = mEvents == null
                ? Collections.EMPTY_LIST
                : new ArrayList<>(mEvents);
        if (mEvents == null) {
            return new ParceledListSlice<>(Collections.EMPTY_LIST);
        }

        final List<ContentCaptureEvent> events = new ArrayList<>(mEvents);
        mEvents.clear();
        return new ParceledListSlice<>(events);
    }