mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-22 01:51:47 +00:00
27 lines
873 B
Kotlin
27 lines
873 B
Kotlin
package org.kde.kdeconnect.Helpers
|
|
|
|
import android.app.Activity
|
|
import android.content.Context
|
|
import android.content.Intent
|
|
import android.net.Uri
|
|
import androidx.activity.result.contract.ActivityResultContract
|
|
|
|
data class CreateFileParams(
|
|
val fileMimeType: String,
|
|
val suggestedFileName: String,
|
|
)
|
|
|
|
class CreateFileResultContract : ActivityResultContract<CreateFileParams, Uri?>() {
|
|
|
|
override fun createIntent(context: Context, input: CreateFileParams): Intent =
|
|
Intent(Intent.ACTION_CREATE_DOCUMENT).apply {
|
|
addCategory(Intent.CATEGORY_OPENABLE)
|
|
setTypeAndNormalize(input.fileMimeType)
|
|
putExtra(Intent.EXTRA_TITLE, input.suggestedFileName)
|
|
}
|
|
|
|
override fun parseResult(resultCode: Int, intent: Intent?): Uri? = when (resultCode) {
|
|
Activity.RESULT_OK -> intent?.data
|
|
else -> null
|
|
}
|
|
} |