@@ -156,6 +156,16 @@ object SaveAttachmentUtil {
156156 MediaStore .MediaColumns .DATE_MODIFIED to TimeUnit .MILLISECONDS .toSeconds(System .currentTimeMillis())
157157 )
158158
159+ if (Build .VERSION .SDK_INT > 28 ) {
160+ val relativePath = when {
161+ contentType.startsWith(" image/" ) -> Environment .DIRECTORY_PICTURES + " /Signal"
162+ contentType.startsWith(" video/" ) -> Environment .DIRECTORY_MOVIES + " /Signal"
163+ contentType.startsWith(" audio/" ) -> Environment .DIRECTORY_MUSIC + " /Signal"
164+ else -> Environment .DIRECTORY_DOWNLOADS + " /Signal"
165+ }
166+ contentValues.put(MediaStore .MediaColumns .RELATIVE_PATH , relativePath)
167+ }
168+
159169 if (Build .VERSION .SDK_INT > 28 ) {
160170 var i = 0
161171 var displayName = fileName
@@ -213,10 +223,10 @@ object SaveAttachmentUtil {
213223
214224 private fun getExternalPathForType (contentType : String ): String? {
215225 val storage: File ? = when {
216- contentType.startsWith(" video/" ) -> Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_MOVIES )
217- contentType.startsWith(" audio/" ) -> Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_MUSIC )
218- contentType.startsWith(" image/" ) -> Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_PICTURES )
219- else -> Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_DOCUMENTS )
226+ contentType.startsWith(" video/" ) -> File ( Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_MOVIES ), " Signal " )
227+ contentType.startsWith(" audio/" ) -> File ( Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_MUSIC ), " Signal " )
228+ contentType.startsWith(" image/" ) -> File ( Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_PICTURES ), " Signal " )
229+ else -> File ( Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_DOCUMENTS ), " Signal " )
220230 }
221231
222232 return storage?.let { ensureExternalPath(storage) }?.absolutePath
0 commit comments