package ru.forbion.f7cloud.feature.files

import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
import android.widget.Toast
import androidx.core.content.FileProvider
import java.io.File

object LocalFileOpener {
    fun openExternal(context: Context, file: File, mimeType: String) {
        val uri = FileProvider.getUriForFile(
            context,
            "${context.packageName}.fileprovider",
            file,
        )
        val intent = Intent(Intent.ACTION_VIEW).apply {
            setDataAndType(uri, mimeType)
            addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_ACTIVITY_NEW_TASK)
        }
        try {
            context.startActivity(Intent.createChooser(intent, "Открыть с помощью"))
        } catch (_: ActivityNotFoundException) {
            Toast.makeText(context, "Нет приложения для открытия этого файла", Toast.LENGTH_LONG).show()
        }
    }
}
