mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-08 05:20:31 +01:00
Added ProgressBar
Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in> Added ProgressBar Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in> Added ProgressBar Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in> added progress bar Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in>
This commit is contained in:
parent
725bd00ac4
commit
73185da71f
@ -143,6 +143,7 @@ import com.nextcloud.talk.extensions.loadAvatarOrImagePreview
|
||||
import com.nextcloud.talk.jobs.DownloadFileToCacheWorker
|
||||
import com.nextcloud.talk.jobs.ShareOperationWorker
|
||||
import com.nextcloud.talk.jobs.UploadAndShareFilesWorker
|
||||
import com.nextcloud.talk.jobs.UploadAndShareFilesWorker.Companion.upload
|
||||
import com.nextcloud.talk.location.LocationPickerActivity
|
||||
import com.nextcloud.talk.messagesearch.MessageSearchActivity
|
||||
import com.nextcloud.talk.models.domain.ConversationModel
|
||||
@ -3254,12 +3255,15 @@ class ChatActivity :
|
||||
|
||||
try {
|
||||
require(fileUri.isNotEmpty())
|
||||
UploadAndShareFilesWorker.upload(
|
||||
upload(
|
||||
context,
|
||||
fileUri,
|
||||
room,
|
||||
currentConversation?.displayName!!,
|
||||
metaData
|
||||
)
|
||||
) { showProgressBar: Boolean ->
|
||||
binding.idprogressbar.visibility = if (showProgressBar) View.VISIBLE else View.GONE
|
||||
}
|
||||
} catch (e: IllegalArgumentException) {
|
||||
context.resources?.getString(R.string.nc_upload_failed)?.let {
|
||||
Snackbar.make(binding.root, it, Snackbar.LENGTH_LONG)
|
||||
|
@ -131,6 +131,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import io.reactivex.subjects.BehaviorSubject
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import org.apache.commons.lang3.builder.CompareToBuilder
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
@ -1343,11 +1344,26 @@ class ConversationsListActivity :
|
||||
try {
|
||||
filesToShare?.forEach {
|
||||
UploadAndShareFilesWorker.upload(
|
||||
context,
|
||||
it,
|
||||
selectedConversation!!.token!!,
|
||||
selectedConversation!!.displayName!!,
|
||||
null
|
||||
)
|
||||
) { success ->
|
||||
if (success) {
|
||||
Snackbar.make(
|
||||
binding.root,
|
||||
context.resources.getString(R.string.nc_upload_success),
|
||||
Snackbar.LENGTH_LONG
|
||||
).show()
|
||||
} else {
|
||||
Snackbar.make(
|
||||
binding.root,
|
||||
context.resources.getString(R.string.nc_upload_failed),
|
||||
Snackbar.LENGTH_LONG
|
||||
).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e: IllegalArgumentException) {
|
||||
Snackbar.make(binding.root, context.resources.getString(R.string.nc_upload_failed), Snackbar.LENGTH_LONG)
|
||||
|
@ -18,10 +18,13 @@ import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import android.widget.Toast
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.work.Data
|
||||
import androidx.work.ExistingWorkPolicy
|
||||
import androidx.work.OneTimeWorkRequest
|
||||
import androidx.work.WorkInfo
|
||||
import androidx.work.WorkManager
|
||||
import androidx.work.Worker
|
||||
import androidx.work.WorkerParameters
|
||||
@ -382,7 +385,15 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
||||
}
|
||||
}
|
||||
|
||||
fun upload(fileUri: String, roomToken: String, conversationName: String, metaData: String?) {
|
||||
fun upload(
|
||||
fileUri: String,
|
||||
roomToken: String,
|
||||
conversationName: String,
|
||||
metaData: String?,
|
||||
progressBarCallback: (Boolean) -> Unit
|
||||
) {
|
||||
progressBarCallback(true)
|
||||
|
||||
val data: Data = Data.Builder()
|
||||
.putString(DEVICE_SOURCE_FILE, fileUri)
|
||||
.putString(ROOM_TOKEN, roomToken)
|
||||
@ -395,4 +406,8 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
||||
WorkManager.getInstance().enqueueUniqueWork(fileUri, ExistingWorkPolicy.KEEP, uploadWorker)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showToast(context: Context, message: String) {
|
||||
Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
@ -157,6 +157,22 @@
|
||||
app:textAutoLink="all"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/idprogressbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.nextcloud.ui.popupbubble.PopupBubble
|
||||
android:id="@+id/popupBubbleView"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -506,6 +506,7 @@ How to translate with transifex:
|
||||
<string name="nc_upload_video_from_cam">Take video</string>
|
||||
<string name="nc_create_poll">Create poll</string>
|
||||
<string name="nc_upload_from_cloud">Share from %1$s</string>
|
||||
<string name="nc_upload_success">Upload Succeeded</string>
|
||||
<string name="nc_upload_failed">Sorry, upload failed</string>
|
||||
<string name="nc_upload_choose_local_files">Choose files</string>
|
||||
<string name="nc_upload_confirm_send_multiple">Send these files to %1$s?</string>
|
||||
|
Loading…
Reference in New Issue
Block a user