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)