Skip to content

Commit 06bea9d

Browse files
authored
fix: use content resolver for sending audio messages (WPB-17546) (#4017)
1 parent 4ba8d17 commit 06bea9d

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
@@ -57,6 +57,7 @@ import kotlinx.coroutines.Dispatchers
5757
import kotlinx.coroutines.withContext
5858
import kotlinx.serialization.json.Json
5959
import okio.Path
60+
import okio.Path.Companion.toOkioPath
6061
import java.io.File
6162
import java.io.FileNotFoundException
6263
import java.io.IOException
@@ -180,6 +181,8 @@ private fun Context.saveFileDataToMediaFolder(assetName: String, downloadedDataP
180181
return insertedUri
181182
}
182183

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

0 commit comments

Comments
 (0)