feat: 添加新的回调以提醒用户已经加入队列.
This commit is contained in:
parent
98e256f4db
commit
ba5566b594
@ -25,7 +25,8 @@ import java.util.concurrent.*
|
||||
|
||||
object OneDriveTransferCenter {
|
||||
|
||||
private val executor = OneDriveTransferTaskExecutor(5, DefaultOneDriveTransferCallback, ArrayBlockingQueue<OneDriveTransferTask>(100))
|
||||
private val executor =
|
||||
OneDriveTransferTaskExecutor(2, DefaultOneDriveTransferCallback, ArrayBlockingQueue<OneDriveTransferTask>(100))
|
||||
|
||||
fun submitUploadTask(task: OneDriveTransferTask) {
|
||||
executor.submitTransferTask(task)
|
||||
@ -34,21 +35,37 @@ object OneDriveTransferCenter {
|
||||
}
|
||||
|
||||
object DefaultOneDriveTransferCallback : OneDriveTransferCallback {
|
||||
override fun onTransferStart(progress: OneDriveTransferWorkerProgress) {
|
||||
val message = progress.currentTask.bot.execute(
|
||||
override fun onTransferTaskCreated(task: OneDriveTransferTask) {
|
||||
val message = task.bot.execute(
|
||||
SendMessage.builder()
|
||||
.text(
|
||||
"""
|
||||
OneDrive 中转任务已创建
|
||||
正在排队中...
|
||||
文件名: ${task.document.fileName}
|
||||
""".trimIndent()
|
||||
)
|
||||
.chatId(task.extra["chatId"].toString().toLong())
|
||||
.replyToMessageId(task.extra["messageId"].toString().toInt())
|
||||
.build()
|
||||
)
|
||||
task.extra["messageId"] = message.messageId
|
||||
}
|
||||
|
||||
override fun onTransferStart(progress: OneDriveTransferWorkerProgress) {
|
||||
progress.currentTask.bot.execute(
|
||||
EditMessageText.builder()
|
||||
.chatId(progress.currentTask.extra["chatId"].toString().toLong())
|
||||
.messageId(progress.currentTask.extra["messageId"].toString().toInt())
|
||||
.text(
|
||||
"""
|
||||
OneDrive 中转任务开始执行
|
||||
正在获取文件信息...
|
||||
正在获取文件信息...(需要一些时间从 Telegram 服务器下载文件)
|
||||
文件名: ${progress.currentTask.document.fileName}
|
||||
""".trimIndent()
|
||||
)
|
||||
.chatId(progress.currentTask.extra["chatId"].toString().toLong())
|
||||
.replyToMessageId(progress.currentTask.extra["messageId"].toString().toInt())
|
||||
.build()
|
||||
)
|
||||
progress.currentTask.extra["messageId"] = message.messageId
|
||||
}
|
||||
|
||||
override fun onProgress(progress: OneDriveTransferWorkerProgress) {
|
||||
@ -90,6 +107,7 @@ object DefaultOneDriveTransferCallback : OneDriveTransferCallback {
|
||||
}
|
||||
|
||||
interface OneDriveTransferCallback {
|
||||
fun onTransferTaskCreated(task: OneDriveTransferTask)
|
||||
fun onTransferStart(progress: OneDriveTransferWorkerProgress)
|
||||
fun onProgress(progress: OneDriveTransferWorkerProgress)
|
||||
fun onTransferFailure(task: OneDriveTransferTask, progress: OneDriveTransferWorkerProgress)
|
||||
@ -120,6 +138,7 @@ class OneDriveTransferTaskExecutor(
|
||||
|
||||
fun submitTransferTask(task: OneDriveTransferTask) {
|
||||
taskQueue.offer(task)
|
||||
callback.onTransferTaskCreated(task)
|
||||
}
|
||||
|
||||
private fun createWorker(id: Int): Runnable = Runnable {
|
||||
|
Loading…
Reference in New Issue
Block a user