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:
Smarshal21 2023-11-14 14:07:50 +05:30 committed by Andy Scherzinger
parent 725bd00ac4
commit 73185da71f
5 changed files with 56 additions and 4 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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()
}
}

View File

@ -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"

View File

@ -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>