package com.suno.android.common_data.media.usecase import android.content.Context import android.net.Uri import com.suno.android.common_core_utils.SunoLogger import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import javax.inject.Inject class CleanupUriUseCase @Inject constructor( loggerFactory: SunoLogger.Factory, @ApplicationContext private val context: Context, ) { private val logger = loggerFactory.create(this@CleanupUriUseCase) suspend operator fun invoke( uri: Uri, ) = withContext(Dispatchers.IO) { try { context.contentResolver.delete(uri, null, null) } catch (e: SecurityException) { logger.e(e) } catch (e: IllegalArgumentException) { logger.e(e) } catch (e: UnsupportedOperationException) { logger.e(e) } } }