From 6af4350e474acbe037780b5519651fa9fa68b8cf Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Wed, 3 Jul 2024 22:51:35 +0200 Subject: [PATCH] Catch potentiall IllegalArgumentException in LocalFileProvider Fix #912 --- .../mm20/launcher2/files/providers/LocalFileProvider.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/data/files/src/main/java/de/mm20/launcher2/files/providers/LocalFileProvider.kt b/data/files/src/main/java/de/mm20/launcher2/files/providers/LocalFileProvider.kt index f40e0603..aa66122b 100644 --- a/data/files/src/main/java/de/mm20/launcher2/files/providers/LocalFileProvider.kt +++ b/data/files/src/main/java/de/mm20/launcher2/files/providers/LocalFileProvider.kt @@ -3,6 +3,7 @@ package de.mm20.launcher2.files.providers import android.content.Context import android.provider.MediaStore import androidx.core.database.getStringOrNull +import de.mm20.launcher2.crashreporter.CrashReporter import de.mm20.launcher2.permissions.PermissionGroup import de.mm20.launcher2.permissions.PermissionsManager import de.mm20.launcher2.search.File @@ -33,8 +34,12 @@ internal class LocalFileProvider( val sort = "${MediaStore.Files.FileColumns.DISPLAY_NAME} COLLATE NOCASE ASC" - val cursor = context.contentResolver.query(uri, projection, selection, selArgs, sort) - ?: return@withContext results + val cursor = try { + context.contentResolver.query(uri, projection, selection, selArgs, sort) + } catch (e: IllegalArgumentException) { + CrashReporter.logException(e) + null + } ?: return@withContext results while (cursor.moveToNext()) { if (results.size >= 10) { break