论坛发帖添加使用移动网络上传视频的弹窗

This commit is contained in:
leafwai
2021-09-27 16:10:58 +08:00
parent 1c739a6269
commit 62ffefb92f

View File

@ -14,6 +14,7 @@ import com.gh.common.view.GridSpacingItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.FragmentLocalMediaBinding
import com.gh.gamecenter.entity.LocalVideoEntity
import com.lightgame.utils.Utils
import com.zhihu.matisse.internal.entity.Album
import com.zhihu.matisse.internal.model.AlbumMediaCollection
import com.zhihu.matisse.internal.utils.PathUtils
@ -66,25 +67,38 @@ class LocalMediaFragment : BaseFragment<Any>(), AlbumMediaCollection.AlbumMediaC
}
mBinding.confirmTv.setOnClickListener {
NewLogUtils.logChooseMedia("click_confirm", publishContentType, publishMediaType)
val intent = Intent()
if (mChooseType == LocalMediaActivity.ChooseType.VIDEO.value) {
val localVideoList = arrayListOf<LocalVideoEntity>()
mAdapter.getSelectedMediaList().forEach {
val path = PathUtils.getPath(requireContext(), it.contentUri)
val id = MD5Utils.getUrlMD5(path) + System.currentTimeMillis()
val format = getFileFormat(it.mimeType)
localVideoList.add(LocalVideoEntity(id, path, contentUri = it.contentUri, duration = it.duration, format = format, size = it.size))
}
intent.putExtra(LocalVideoEntity::class.java.name, localVideoList)
if (!NetworkUtils.isNetworkConnected(context)) {
Utils.toast(context, "网络异常,请检查手机网络状态")
} else if (!NetworkUtils.isWifiConnected(context)) {
DialogHelper.showDialog(requireContext(), "提示",
"您当前正在使用移动网络上传视频,确定继续上传吗?",
"继续上传", "暂时不了",
{ uploadVideo() })
} else {
val data = mAdapter.getSelectedMediaList().map { it.contentUri }.toList()
intent.putParcelableArrayListExtra(MatisseActivity.EXTRA_RESULT_SELECTION, ArrayList<Uri>(data))
uploadVideo()
}
requireActivity().setResult(Activity.RESULT_OK, intent)
requireActivity().finish()
}
}
private fun uploadVideo() {
val intent = Intent()
if (mChooseType == LocalMediaActivity.ChooseType.VIDEO.value) {
val localVideoList = arrayListOf<LocalVideoEntity>()
mAdapter.getSelectedMediaList().forEach {
val path = PathUtils.getPath(requireContext(), it.contentUri)
val id = MD5Utils.getUrlMD5(path) + System.currentTimeMillis()
val format = getFileFormat(it.mimeType)
localVideoList.add(LocalVideoEntity(id, path, contentUri = it.contentUri, duration = it.duration, format = format, size = it.size))
}
intent.putExtra(LocalVideoEntity::class.java.name, localVideoList)
} else {
val data = mAdapter.getSelectedMediaList().map { it.contentUri }.toList()
intent.putParcelableArrayListExtra(MatisseActivity.EXTRA_RESULT_SELECTION, ArrayList<Uri>(data))
}
requireActivity().setResult(Activity.RESULT_OK, intent)
requireActivity().finish()
}
private fun getFileFormat(mimeType: String?): String {
var format = ""
tryWithDefaultCatch {