28 lines
1021 B
Kotlin
28 lines
1021 B
Kotlin
package co.electriccoin.zcash.crash.android.internal.local
|
|
|
|
import android.content.Context
|
|
import android.media.MediaScannerConnection
|
|
import co.electriccoin.zcash.crash.ExceptionPath
|
|
import co.electriccoin.zcash.crash.ReportableException
|
|
import co.electriccoin.zcash.crash.android.getExceptionPath
|
|
import co.electriccoin.zcash.crash.write
|
|
|
|
internal object AndroidExceptionReporter {
|
|
internal suspend fun reportException(context: Context, reportableException: ReportableException) {
|
|
val exceptionPath = ExceptionPath.getExceptionPath(context, reportableException)
|
|
?: return
|
|
|
|
reportableException.write(exceptionPath)
|
|
|
|
// Media Scan necessary for files to immediately show up as visible
|
|
// Note: must break out of BroadcastReceiver context in order to start media
|
|
// scanner service.
|
|
MediaScannerConnection.scanFile(
|
|
context.applicationContext,
|
|
arrayOf(exceptionPath.absolutePath),
|
|
null,
|
|
null
|
|
)
|
|
}
|
|
}
|