diff --git a/app/build.gradle b/app/build.gradle index b003293..5eb5783 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,8 +20,8 @@ android { applicationId "com.koalatea.sedaily" minSdkVersion 21 targetSdkVersion 29 - versionCode 17 - versionName "1.0.1" + versionCode 18 + versionName "1.0.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -55,8 +55,8 @@ android { } compileOptions { - sourceCompatibility = '1.8' - targetCompatibility = '1.8' + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } diff --git a/app/src/main/java/com/koalatea/sedaily/downloader/DownloadManager.kt b/app/src/main/java/com/koalatea/sedaily/downloader/DownloadManager.kt index 757f44b..166caba 100644 --- a/app/src/main/java/com/koalatea/sedaily/downloader/DownloadManager.kt +++ b/app/src/main/java/com/koalatea/sedaily/downloader/DownloadManager.kt @@ -36,26 +36,25 @@ class DownloadManager( downloadManager?.let { val query = DownloadManager.Query().setFilterById(downloadId) - val cursor = downloadManager.query(query).apply { - moveToFirst() - } - - val status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) - val uri = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)) - val reason = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_REASON)) - val bytesDownloaded = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)) - val bytesTotal = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)) - val progress = bytesDownloaded * 100f / bytesTotal + val cursor = downloadManager.query(query) + if (cursor.moveToFirst()) { + val status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) + val uri = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)) + val reason = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_REASON)) + val bytesDownloaded = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)) + val bytesTotal = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)) + val progress = bytesDownloaded * 100f / bytesTotal - cursor.close() + cursor.close() - return when(status) { - DownloadManager.STATUS_SUCCESSFUL -> DownloadStatus.Downloaded(uri) - DownloadManager.STATUS_FAILED -> DownloadStatus.Error(reason) - DownloadManager.STATUS_RUNNING -> DownloadStatus.Downloading(progress) - DownloadManager.STATUS_PAUSED -> DownloadStatus.Downloading(progress) - DownloadManager.STATUS_PENDING -> DownloadStatus.Downloading(progress) - else -> DownloadStatus.Unknown + return when (status) { + DownloadManager.STATUS_SUCCESSFUL -> DownloadStatus.Downloaded(uri) + DownloadManager.STATUS_FAILED -> DownloadStatus.Error(reason) + DownloadManager.STATUS_RUNNING -> DownloadStatus.Downloading(progress) + DownloadManager.STATUS_PAUSED -> DownloadStatus.Downloading(progress) + DownloadManager.STATUS_PENDING -> DownloadStatus.Downloading(progress) + else -> DownloadStatus.Unknown + } } }