Skip to content

Commit d99d9d7

Browse files
committed
fix: use content resolver for sending audio messages (WPB-17546) (#4017)
1 parent 143ab6d commit d99d9d7

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

app/src/main/kotlin/com/wire/android/ui/home/messagecomposer/recordaudio/RecordAudioViewModel.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import android.content.Context
2121
import androidx.compose.runtime.getValue
2222
import androidx.compose.runtime.mutableStateOf
2323
import androidx.compose.runtime.setValue
24-
import androidx.core.net.toUri
2524
import androidx.lifecycle.ViewModel
2625
import androidx.lifecycle.viewModelScope
2726
import com.wire.android.appLogger
@@ -37,6 +36,7 @@ import com.wire.android.util.CurrentScreenManager
3736
import com.wire.android.util.SUPPORTED_AUDIO_MIME_TYPE
3837
import com.wire.android.util.dispatchers.DispatcherProvider
3938
import com.wire.android.util.fileDateTime
39+
import com.wire.android.util.fromNioPathToContentUri
4040
import com.wire.android.util.getAudioLengthInMs
4141
import com.wire.android.util.ui.UIText
4242
import com.wire.kalium.logic.data.asset.KaliumFileSystem
@@ -321,12 +321,12 @@ class RecordAudioViewModel @Inject constructor(
321321
onAudioRecorded(
322322
UriAsset(
323323
uri = if (didSucceed) {
324-
audioMediaRecorder.mp4OutputPath!!.toFile().toUri()
324+
context.fromNioPathToContentUri(nioPath = audioMediaRecorder.mp4OutputPath!!.toNioPath())
325325
} else {
326326
if (state.shouldApplyEffects) {
327-
state.effectsOutputFile!!.toUri()
327+
context.fromNioPathToContentUri(nioPath = state.effectsOutputFile!!.toPath())
328328
} else {
329-
state.originalOutputFile!!.toUri()
329+
context.fromNioPathToContentUri(nioPath = state.originalOutputFile!!.toPath())
330330
}
331331
},
332332
mimeType = if (didSucceed) {

app/src/main/kotlin/com/wire/android/util/FileUtil.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ import kotlinx.coroutines.Dispatchers
5656
import kotlinx.coroutines.withContext
5757
import kotlinx.serialization.json.Json
5858
import okio.Path
59+
import okio.Path.Companion.toOkioPath
5960
import java.io.File
6061
import java.io.FileNotFoundException
6162
import java.io.IOException
@@ -179,6 +180,8 @@ private fun Context.saveFileDataToMediaFolder(assetName: String, downloadedDataP
179180
return insertedUri
180181
}
181182

183+
fun Context.fromNioPathToContentUri(nioPath: java.nio.file.Path): Uri = this.pathToUri(nioPath.toOkioPath(), null)
184+
182185
fun Context.pathToUri(assetDataPath: Path, assetName: String?): Uri =
183186
FileProvider.getUriForFile(this, getProviderAuthority(), assetDataPath.toFile(), assetName ?: assetDataPath.name)
184187

0 commit comments

Comments
 (0)