From 5e08b889c143f73c2ed1a9dae6c0d1c725b493d0 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Mon, 13 Dec 2021 10:53:40 +0530 Subject: [PATCH] Fixed some crashes - Import playlist crash - Create new backup crash --- .../monkey/retromusic/dialogs/ImportPlaylistDialog.kt | 7 ++++++- .../name/monkey/retromusic/extensions/CursorExtensions.kt | 8 ++++---- .../retromusic/fragments/settings/MainSettingsFragment.kt | 1 + 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/ImportPlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/ImportPlaylistDialog.kt index 1429aa5a1..058bdfe74 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/ImportPlaylistDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/ImportPlaylistDialog.kt @@ -22,6 +22,7 @@ import code.name.monkey.retromusic.extensions.colorButtons import code.name.monkey.retromusic.extensions.materialDialog import code.name.monkey.retromusic.fragments.LibraryViewModel import org.koin.androidx.viewmodel.ext.android.sharedViewModel +import java.lang.Exception class ImportPlaylistDialog : DialogFragment() { private val libraryViewModel by sharedViewModel() @@ -30,7 +31,11 @@ class ImportPlaylistDialog : DialogFragment() { return materialDialog(R.string.import_playlist) .setMessage(R.string.import_playlist_message) .setPositiveButton(R.string.import_label) { _, _ -> - libraryViewModel.importPlaylists() + try { + libraryViewModel.importPlaylists() + } catch (e: Exception) { + e.printStackTrace() + } } .create() .colorButtons() diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/CursorExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/CursorExtensions.kt index a72eb155c..531c2e0bb 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/CursorExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/CursorExtensions.kt @@ -20,7 +20,7 @@ import android.database.Cursor internal fun Cursor.getInt(columnName: String): Int { try { - return this.getInt(this.getColumnIndex(columnName)) + return getInt(getColumnIndexOrThrow(columnName)) } catch (ex: Throwable) { throw IllegalStateException("invalid column $columnName", ex) } @@ -28,7 +28,7 @@ internal fun Cursor.getInt(columnName: String): Int { internal fun Cursor.getLong(columnName: String): Long { try { - return this.getLong(this.getColumnIndex(columnName)) + return getLong(getColumnIndexOrThrow(columnName)) } catch (ex: Throwable) { throw IllegalStateException("invalid column $columnName", ex) } @@ -36,7 +36,7 @@ internal fun Cursor.getLong(columnName: String): Long { internal fun Cursor.getString(columnName: String): String { try { - return this.getString(this.getColumnIndex(columnName)) + return getString(getColumnIndexOrThrow(columnName)) } catch (ex: Throwable) { throw IllegalStateException("invalid column $columnName", ex) } @@ -44,7 +44,7 @@ internal fun Cursor.getString(columnName: String): String { internal fun Cursor.getStringOrNull(columnName: String): String? { try { - return this.getString(this.getColumnIndex(columnName)) + return getString(getColumnIndexOrThrow(columnName)) } catch (ex: Throwable) { throw IllegalStateException("invalid column $columnName", ex) } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt index 2a1d5fd22..5742d2950 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt @@ -99,5 +99,6 @@ class MainSettingsFragment : Fragment(), View.OnClickListener { override fun onDestroyView() { super.onDestroyView() _binding = null + ViewCompat.setOnApplyWindowInsetsListener(requireActivity().window.decorView, null) } }