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

Commit a12e24c8 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix potential null error in clearEvents." into sc-dev am: 6ea5a55a am: ad696054

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15023990

Change-Id: I69914cb0024a163ec09d0c148e2bdc10ffebfc98
parents 37dea334 ad696054
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);
    }