[Share] Cleanup Sharing of bug report and backup

This commit is contained in:
Prathamesh More 2022-05-20 15:53:08 +05:30
parent f6a44672be
commit e9340b429a
5 changed files with 21 additions and 56 deletions

View file

@ -64,7 +64,7 @@ class ErrorActivity : AppCompatActivity() {
intent intent
), ".txt" ), ".txt"
) )
shareFile(this, bugReport) shareFile(this, bugReport, "text/*")
} }
.show() .show()
} }

View file

@ -22,7 +22,7 @@ import code.name.monkey.retromusic.extensions.materialDialog
import code.name.monkey.retromusic.extensions.showToast import code.name.monkey.retromusic.extensions.showToast
import code.name.monkey.retromusic.helper.BackupHelper import code.name.monkey.retromusic.helper.BackupHelper
import code.name.monkey.retromusic.helper.sanitize import code.name.monkey.retromusic.helper.sanitize
import code.name.monkey.retromusic.util.BackupUtil import code.name.monkey.retromusic.util.Share
import com.afollestad.materialdialogs.input.input import com.afollestad.materialdialogs.input.input
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -128,12 +128,7 @@ class BackupFragment : Fragment(R.layout.fragment_backup), BackupAdapter.BackupC
return true return true
} }
R.id.action_share -> { R.id.action_share -> {
activity?.startActivity( Share.shareFile(requireContext(), file, "*/*")
Intent.createChooser(
BackupUtil.createShareFileIntent(file, requireContext()),
null
)
)
return true return true
} }
R.id.action_rename -> { R.id.action_rename -> {

View file

@ -1,28 +0,0 @@
package code.name.monkey.retromusic.util
import android.content.Context
import android.content.Intent
import androidx.core.content.FileProvider
import code.name.monkey.retromusic.extensions.showToast
import java.io.File
object BackupUtil {
fun createShareFileIntent(file: File, context: Context): Intent? {
return try {
Intent().setAction(Intent.ACTION_SEND).putExtra(
Intent.EXTRA_STREAM,
FileProvider.getUriForFile(
context,
context.applicationContext.packageName,
file
)
).addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION).setType("*/*")
} catch (e: IllegalArgumentException) {
e.printStackTrace()
context.showToast(
"Could not share this file."
)
Intent()
}
}
}

View file

@ -26,7 +26,6 @@ import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.model.lyrics.AbsSynchronizedLyrics import code.name.monkey.retromusic.model.lyrics.AbsSynchronizedLyrics
import code.name.monkey.retromusic.repository.Repository import code.name.monkey.retromusic.repository.Repository
import code.name.monkey.retromusic.repository.SongRepository import code.name.monkey.retromusic.repository.SongRepository
import code.name.monkey.retromusic.service.MusicService
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@ -42,21 +41,20 @@ import java.util.regex.Pattern
object MusicUtil : KoinComponent { object MusicUtil : KoinComponent {
fun createShareSongFileIntent(song: Song, context: Context): Intent? { fun createShareSongFileIntent(song: Song, context: Context): Intent {
return try { return Intent().apply {
Intent().setAction(Intent.ACTION_SEND).putExtra( action = Intent.ACTION_SEND
Intent.EXTRA_STREAM, putExtra(Intent.EXTRA_STREAM, try {
FileProvider.getUriForFile( FileProvider.getUriForFile(
context, context,
context.applicationContext.packageName, context.applicationContext.packageName,
File(song.data) File(song.data)
) )
).addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION).setType("audio/*") } catch (e: IllegalArgumentException) {
} catch (e: IllegalArgumentException) {
Intent().setAction(Intent.ACTION_SEND).putExtra(
Intent.EXTRA_STREAM,
getSongFileUri(song.id) getSongFileUri(song.id)
).addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION).setType("audio/*") })
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
type = "audio/*"
} }
} }

View file

@ -32,15 +32,15 @@ object Share {
context.startActivity(feedIntent, null) context.startActivity(feedIntent, null)
} }
fun shareFile(context: Context, file: File) { fun shareFile(context: Context, file: File, mimeType: String) {
val attachmentUri = FileProvider.getUriForFile( Intent(Intent.ACTION_SEND).apply {
context, type = mimeType
context.applicationContext.packageName, putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(
file context,
) context.applicationContext.packageName,
val sharingIntent = Intent(Intent.ACTION_SEND) file
sharingIntent.type = "text/*" ))
sharingIntent.putExtra(Intent.EXTRA_STREAM, attachmentUri) context.startActivity(Intent.createChooser(this, null))
context.startActivity(Intent.createChooser(sharingIntent, "send bug report")) }
} }
} }