[下载工具] 重构下载工具类;支持断点续传;网络状态监听

This commit is contained in:
renwj
2023-05-09 17:31:30 +08:00
parent 22cf999031
commit 6295fc3c57
27 changed files with 367 additions and 1359 deletions

View File

@@ -0,0 +1,50 @@
package com.mogo.functions.test
import android.util.*
import androidx.test.core.app.*
import androidx.test.ext.junit.runners.*
import androidx.test.filters.*
import androidx.test.platform.app.*
import com.mogo.core.download.*
import com.mogo.eagle.core.function.main.*
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
import org.junit.*
import org.junit.runner.*
import java.io.*
@RunWith(AndroidJUnit4::class)
@LargeTest
class DownloaderTest {
lateinit var launch: ActivityScenario<MainLauncherActivity>
@Before
fun before() {
launch = ActivityScenario.launch(MainLauncherActivity::class.java)
}
companion object {
const val TAG = "DownloaderTest"
}
@Test
fun testDownload() = runBlocking {
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
Downloader.init(appContext)
Downloader.download(
"https://scm-1255510688.cos.ap-beijing.myqcloud.com/test/com.mogo.launcher.f/2.9.0.1002/IntelligentPilot_v2.9.0.1002_20220725_[fPadLenovoOchBus-launcher-qa]_debug.apk",
File(appContext.getExternalFilesDir(null), "/apks/2.apk").absolutePath)
.flowOn(Dispatchers.IO)
.collect {
when(it) {
is DownloadStart -> Log.d(TAG, "下载开始: ${it.downloadUrl}")
is DownloadFailed -> Log.d(TAG, "---error: ${it.msg}: ${it.downloadUrl}")
is DownloadSuccess -> Log.d(TAG, "下载成功: ${it.path}, 文件存在?:${File(it.path).exists()}")
is Downloading -> Log.d(TAG, "下载进度: ${it.downloaded}/${it.total}")
}
}
}
}

File diff suppressed because one or more lines are too long