diff --git a/app/src/main/java/sushi/hardcore/aira/ChatActivity.kt b/app/src/main/java/sushi/hardcore/aira/ChatActivity.kt
index 9819d09..61f51fb 100644
--- a/app/src/main/java/sushi/hardcore/aira/ChatActivity.kt
+++ b/app/src/main/java/sushi/hardcore/aira/ChatActivity.kt
@@ -365,10 +365,11 @@ class ChatActivity : ServiceBoundActivity() {
if (buffer == null) {
Toast.makeText(this, R.string.loadFile_failed, Toast.LENGTH_SHORT).show()
} else {
- FileUtils.openFileForDownload(this, fileName)?.apply {
+ val file = FileUtils.openFileForDownload(this, fileName)
+ file.outputStream?.apply {
write(buffer)
close()
- Toast.makeText(this@ChatActivity, R.string.file_saved, Toast.LENGTH_SHORT).show()
+ Toast.makeText(this@ChatActivity, getString(R.string.file_saved, file.fileName), Toast.LENGTH_SHORT).show()
}
}
}
diff --git a/app/src/main/java/sushi/hardcore/aira/background_service/AIRAService.kt b/app/src/main/java/sushi/hardcore/aira/background_service/AIRAService.kt
index 966e757..d720023 100644
--- a/app/src/main/java/sushi/hardcore/aira/background_service/AIRAService.kt
+++ b/app/src/main/java/sushi/hardcore/aira/background_service/AIRAService.kt
@@ -633,7 +633,7 @@ class AIRAService : Service() {
receiveFileTransfers[sessionId]?.let { filesReceiver ->
val file = filesReceiver.files[filesReceiver.index]
if (file.outputStream == null) {
- val outputStream = FileUtils.openFileForDownload(this, file.fileName)
+ val outputStream = FileUtils.openFileForDownload(this, file.fileName).outputStream
if (outputStream == null) {
cancelFileTransfer(sessionId)
} else {
diff --git a/app/src/main/java/sushi/hardcore/aira/utils/FileUtils.kt b/app/src/main/java/sushi/hardcore/aira/utils/FileUtils.kt
index 37291e7..cffca60 100644
--- a/app/src/main/java/sushi/hardcore/aira/utils/FileUtils.kt
+++ b/app/src/main/java/sushi/hardcore/aira/utils/FileUtils.kt
@@ -1,6 +1,5 @@
package sushi.hardcore.aira.utils
-import android.content.ContentResolver
import android.content.ContentValues
import android.content.Context
import android.net.Uri
@@ -9,7 +8,6 @@ import android.provider.MediaStore
import android.provider.OpenableColumns
import android.webkit.MimeTypeMap
import android.widget.Toast
-import sushi.hardcore.aira.background_service.ReceiveFile
import sushi.hardcore.aira.background_service.SendFile
import java.io.File
import java.io.FileNotFoundException
@@ -51,7 +49,9 @@ object FileUtils {
return sendFile
}
- fun openFileForDownload(context: Context, fileName: String): OutputStream? {
+ class DownloadFile(val fileName: String, val outputStream: OutputStream?)
+
+ fun openFileForDownload(context: Context, fileName: String): DownloadFile {
val fileExtension = fileName.substringAfterLast(".")
val dateExtension = SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()).format(Date())
val datedFilename = if (fileName.contains(".")) {
@@ -60,7 +60,7 @@ object FileUtils {
} else {
fileName + "_" + dateExtension
}
- return if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
+ val outputStream = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
context.contentResolver.insert(
MediaStore.Downloads.EXTERNAL_CONTENT_URI,
ContentValues().apply {
@@ -75,5 +75,6 @@ object FileUtils {
@Suppress("Deprecation")
File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), File(datedFilename).name).outputStream()
}
+ return DownloadFile(datedFilename, outputStream)
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml
index 5a1b6c3..93bbf89 100644
--- a/app/src/main/res/layout/activity_chat.xml
+++ b/app/src/main/res/layout/activity_chat.xml
@@ -54,7 +54,7 @@
android:hint="@string/message_hint"
android:autofillHints="message"
style="@style/EditText"
- android:inputType="textShortMessage|textAutoCorrect|textCapSentences"
+ android:inputType="textMultiLine|textShortMessage|textAutoCorrect|textCapSentences"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/bottom_image_trust_level"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 41da341..9da6e54 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -14,7 +14,7 @@
Login
Add peer by IP
Unknown
- File saved !
+ File saved to %s !
Enter your password:
Yes
No