From d974ad35af0aa4585091303256dbe221fe04a1fb Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Sat, 30 Aug 2025 17:43:48 +0000
Subject: [PATCH] 超出父容器

---
 libmvi/src/main/java/com/runt/open/mvi/base/model/BaseViewModel.kt |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/libmvi/src/main/java/com/runt/open/mvi/base/model/BaseViewModel.kt b/libmvi/src/main/java/com/runt/open/mvi/base/model/BaseViewModel.kt
index 12fedd1..f8a1e09 100644
--- a/libmvi/src/main/java/com/runt/open/mvi/base/model/BaseViewModel.kt
+++ b/libmvi/src/main/java/com/runt/open/mvi/base/model/BaseViewModel.kt
@@ -5,9 +5,9 @@
 import android.os.Build
 import android.provider.MediaStore
 import android.util.Log
-import androidx.activity.ComponentActivity
 import androidx.core.content.FileProvider
 import androidx.lifecycle.ViewModel
+import com.google.gson.Gson
 import com.runt.open.mvi.base.BaseActivity
 import com.runt.open.mvi.base.LayoutView
 import com.runt.open.mvi.data.LoadingState
@@ -20,8 +20,11 @@
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.asStateFlow
 import okhttp3.Callback
+import okhttp3.MediaType.Companion.toMediaType
 import okhttp3.OkHttpClient
 import okhttp3.Request
+import okhttp3.RequestBody
+import okhttp3.RequestBody.Companion.toRequestBody
 import okhttp3.Response
 import java.io.File
 import java.io.FileInputStream
@@ -57,7 +60,7 @@
         TAG = javaClass.simpleName;
     }
 
-    fun getActivity(): ComponentActivity {
+    fun getActivity(): BaseActivity<LayoutView<BaseViewModel> , BaseViewModel> {
         return mActivity!!;
     }
 
@@ -69,16 +72,18 @@
         _isLoading.value = _isLoading.value.copy(isVisible = false);
     }
 
-    fun showDialog( title:String = "", message: String = "", confirmText:String = "确定", cancelText:String = "",
-        touchOutside:Boolean = true,//空白和系统返回 是否关闭
-        showClose:Boolean = false,//显示关闭图标(默认不显示)
-        confirmDissmiss:Boolean = true,//点击确定是否关闭
-        cancelDissmiss:Boolean = true,//点击取消是否关闭
-        onDismissRequest : () -> Unit = {},
-        onConfirmRequest : () -> Unit = {}, ){
-
+    fun showDialog(
+        title : String = "" , message : String = "" , confirmText : String = "确定" , cancelText : String = "" ,
+        touchOutside : Boolean = true , //空白和系统返回 是否关闭
+        showClose : Boolean = false , //显示关闭图标(默认不显示)
+        confirmDissmiss : Boolean = true , //点击确定是否关闭
+        cancelDissmiss : Boolean = true , //点击取消是否关闭
+        onDismissRequest : () -> Unit = {} ,
+        onCancelRequest : () -> Unit = {} ,
+        onConfirmRequest : () -> Unit = {} ,
+    ){
         _messageState.value = MessageState(title = title, message = message, touchOutside = touchOutside, showClose = showClose, confirmText = confirmText,
-            cancelText = cancelText, confirmDissmiss = confirmDissmiss, cancelDissmiss = cancelDissmiss, onDismissRequest = onDismissRequest,
+            cancelText = cancelText, confirmDissmiss = confirmDissmiss, cancelDissmiss = cancelDissmiss, onCancelRequest = onCancelRequest, onDismissRequest = onDismissRequest,
             onConfirmRequest = onConfirmRequest, setDismiss = messageSetDismiss);
     }
 
@@ -250,6 +255,13 @@
             }.subscribe(observer)
     }
 
+    fun createJsonBody(obj : Any) : RequestBody {
+        val mediaType = "application/json; charset=utf-8".toMediaType()
+        val json = if (obj is String) obj else Gson().toJson(obj)
+        val requestBody = json.toString().toRequestBody(mediaType)
+        return requestBody;
+    }
+
     fun getFilePathFromUri(uri:Uri):String?{
         var filePath = "";
         var filePathColumn = arrayOf(MediaStore.Video.Media.DATA)

--
Gitblit v1.9.1