fix: share file name display #122
1 changed files with 9 additions and 3 deletions
|
@ -1,5 +1,6 @@
|
||||||
package im.angry.openeuicc.util
|
package im.angry.openeuicc.util
|
||||||
|
|
||||||
|
import android.content.ClipData
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
|
@ -81,6 +82,8 @@ fun <T : ActivityResultCaller> T.setupLogSaving(
|
||||||
getLogFileName: () -> String,
|
getLogFileName: () -> String,
|
||||||
getLogText: () -> String
|
getLogText: () -> String
|
||||||
): () -> Unit {
|
): () -> Unit {
|
||||||
|
var lastFileName = "untitled"
|
||||||
|
|
||||||
val launchSaveIntent =
|
val launchSaveIntent =
|
||||||
registerForActivityResult(ActivityResultContracts.CreateDocument("text/plain")) { uri ->
|
registerForActivityResult(ActivityResultContracts.CreateDocument("text/plain")) { uri ->
|
||||||
if (uri == null) return@registerForActivityResult
|
if (uri == null) return@registerForActivityResult
|
||||||
|
@ -101,10 +104,12 @@ fun <T : ActivityResultCaller> T.setupLogSaving(
|
||||||
setMessage(R.string.logs_saved_message)
|
setMessage(R.string.logs_saved_message)
|
||||||
setNegativeButton(R.string.no) { _, _ -> }
|
setNegativeButton(R.string.no) { _, _ -> }
|
||||||
septs marked this conversation as resolved
Outdated
|
|||||||
setPositiveButton(R.string.yes) { _, _ ->
|
setPositiveButton(R.string.yes) { _, _ ->
|
||||||
val intent = Intent().apply {
|
val intent = Intent(Intent.ACTION_SEND).apply {
|
||||||
action = Intent.ACTION_SEND
|
|
||||||
type = "text/plain"
|
type = "text/plain"
|
||||||
|
clipData = ClipData.newUri(context.contentResolver, lastFileName, uri)
|
||||||
|
putExtra(Intent.EXTRA_TITLE, lastFileName)
|
||||||
putExtra(Intent.EXTRA_STREAM, uri)
|
putExtra(Intent.EXTRA_STREAM, uri)
|
||||||
|
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||||
}
|
}
|
||||||
|
|
||||||
context.startActivity(Intent.createChooser(intent, null))
|
context.startActivity(Intent.createChooser(intent, null))
|
||||||
|
@ -113,6 +118,7 @@ fun <T : ActivityResultCaller> T.setupLogSaving(
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
launchSaveIntent.launch(getLogFileName())
|
lastFileName = getLogFileName()
|
||||||
|
launchSaveIntent.launch(lastFileName)
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue
getLogFileName()
's return value depends on the current timestamp, so it's probably different from the one we saved.