private lateinit var logcatScrollView: ScrollView
private lateinit var logcatTextView: TextView
- // Define the save logcat activity result launcher.
+ // Define the save logcat activity result launcher. It must be defined before `onCreate()` is run or the app will crash.
private val saveLogcatActivityResultLauncher = registerForActivityResult(ActivityResultContracts.CreateDocument()) { fileNameUri: Uri? ->
// Only save the file if the URI is not null, which happens if the user exited the file picker by pressing back.
if (fileNameUri != null) {
contentResolverCursor.moveToFirst()
// Get the file name from the cursor.
- val fileNameString = contentResolverCursor.getString(contentResolverCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME))
+ val fileNameString = contentResolverCursor.getString(contentResolverCursor.getColumnIndexOrThrow(OpenableColumns.DISPLAY_NAME))
// Close the cursor.
contentResolverCursor.close()