From df0870025709f84bf5c0e48d736505dbcb6012f1 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 6 Jan 2023 14:16:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=8A=E4=BC=A0=E5=90=8E=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/fragments/message/ObtainMessageFragment.kt | 11 +++++++++-- .../ui/fragments/message/ObtainMessageViewModel.kt | 12 +++++++++--- .../java/com/navinfo/volvo/utils/EasyMediaFile.kt | 2 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt index b564afc..90dfee1 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageFragment.kt @@ -20,6 +20,7 @@ import androidx.fragment.app.viewModels import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import androidx.navigation.Navigation +import androidx.navigation.fragment.findNavController import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy import com.easytools.tools.DateUtils @@ -509,9 +510,9 @@ class ObtainMessageFragment: Fragment() { // 开始网络提交数据 if (obtainMessageViewModel.getMessageLiveData().value?.id==0L) { // 如果网络id为空,则调用更新操作 - obtainMessageViewModel.insertCardByApp() + obtainMessageViewModel.insertCardByApp(confirmCallback) } else { - obtainMessageViewModel.updateCardByApp() + obtainMessageViewModel.updateCardByApp(confirmCallback) } } } @@ -532,6 +533,12 @@ class ObtainMessageFragment: Fragment() { } } + val confirmCallback = object: ObtainMessageViewModel.MyConfirmCallback { + override fun onSucess() { + findNavController().navigate(R.id.navi) + } + } + override fun onDestroyView() { super.onDestroyView() _binding = null diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt index 3f4eb0c..2f20fe9 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/message/ObtainMessageViewModel.kt @@ -1,5 +1,6 @@ package com.navinfo.volvo.ui.fragments.message +import android.security.ConfirmationCallback import androidx.lifecycle.* import com.easytools.tools.FileIOUtils import com.easytools.tools.FileUtils @@ -219,7 +220,7 @@ class ObtainMessageViewModel: ViewModel() { } } - fun insertCardByApp() { + fun insertCardByApp(confirmCallback: MyConfirmCallback) { viewModelScope.launch { try { // TODO 首先保存数据到本地 @@ -240,7 +241,7 @@ class ObtainMessageViewModel: ViewModel() { message?.id = netId!!.toLong() ToastUtils.showToast("保存成功") // TODO 尝试更新本地数据 - + confirmCallback.onSucess() } else { ToastUtils.showToast(result.msg) } @@ -251,7 +252,7 @@ class ObtainMessageViewModel: ViewModel() { } } - fun updateCardByApp() { + fun updateCardByApp(confirmCallback: MyConfirmCallback) { viewModelScope.launch { try { val message = msgLiveData.value @@ -270,6 +271,7 @@ class ObtainMessageViewModel: ViewModel() { // 数据更新成功 ToastUtils.showToast("更新成功") // 尝试保存数据到本地 + confirmCallback.onSucess() } else { ToastUtils.showToast(result.msg) } @@ -299,4 +301,8 @@ class ObtainMessageViewModel: ViewModel() { return File(url) } } + + interface MyConfirmCallback { + fun onSucess() + } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/volvo/utils/EasyMediaFile.kt b/app/src/main/java/com/navinfo/volvo/utils/EasyMediaFile.kt index b159971..eebd1cf 100644 --- a/app/src/main/java/com/navinfo/volvo/utils/EasyMediaFile.kt +++ b/app/src/main/java/com/navinfo/volvo/utils/EasyMediaFile.kt @@ -103,7 +103,7 @@ class EasyMediaFile { fun selectAudio(activity: Activity) { isCrop = false val intent = Intent(Intent.ACTION_PICK, null).apply { - setDataAndType(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, "*/*") + setDataAndType(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, "audio/*") } if (Looper.myLooper() == Looper.getMainLooper()) { selectFileInternal(intent, activity, 1)