From bb48dc99169d18467e00f3aa46f84faf85e82133 Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 28 Mar 2019 14:23:20 +0000 Subject: [PATCH] Close cursor in DownloadManager. Not closing the cursor crashes the demo app when in run in StrictMode. PiperOrigin-RevId: 240768493 --- .../google/android/exoplayer2/offline/DownloadManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java index bca328f5e1..cc124489ec 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java @@ -601,8 +601,9 @@ public final class DownloadManager { fileIOHandler.post( () -> { DownloadState[] loadedStates; + DownloadStateCursor cursor = null; try { - DownloadStateCursor cursor = + cursor = downloadIndex.getDownloadStates( STATE_QUEUED, STATE_STOPPED, @@ -618,6 +619,10 @@ public final class DownloadManager { } catch (Throwable e) { Log.e(TAG, "Download state loading failed.", e); loadedStates = new DownloadState[0]; + } finally { + if (cursor != null) { + cursor.close(); + } } final DownloadState[] states = loadedStates; handler.post(