From c96a3660d8257820c55bc3f1429c07adc364fe7d Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Tue, 05 Aug 2025 12:57:13 +0000
Subject: [PATCH] 加解密优化

---
 libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt |   62 ++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt b/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt
index b673631..6cf1b26 100644
--- a/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt
+++ b/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt
@@ -1,5 +1,6 @@
 package com.runt.open.mvi.views
 
+import android.util.Log
 import androidx.compose.foundation.BorderStroke
 import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Arrangement
@@ -13,9 +14,14 @@
 import androidx.compose.foundation.layout.wrapContentHeight
 import androidx.compose.foundation.layout.wrapContentSize
 import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.ArrowBack
 import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
 import androidx.compose.material3.Card
 import androidx.compose.material3.CircularProgressIndicator
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
 import androidx.compose.material3.Surface
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
@@ -24,6 +30,7 @@
 import androidx.compose.ui.draw.clip
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
 import androidx.compose.ui.window.Dialog
@@ -66,10 +73,13 @@
 fun MessageDialog(message : MessageState){
     if(message.isVisible){
         Dialog(onDismissRequest = {
-            if(message.cancelDissmiss){
+            //系统响应
+            Log.i("PublicViews" , "MessageDialog: onDismiss")
+            if(message.touchOutside){
                 message.setDismiss.invoke()
+                message.onCancelRequest.invoke()
+                message.onDismissRequest.invoke()
             }
-            message.onDismissRequest.invoke()
         }) {
             Card(
                 modifier = Modifier
@@ -80,7 +90,8 @@
             ) {
                 Column(modifier = Modifier.wrapContentHeight()){
                     Text(text = message.title, fontSize = 16.sp,
-                        modifier = Modifier.fillMaxWidth()
+                        modifier = Modifier
+                            .fillMaxWidth()
                             .padding(top = 20.dp , start = 20.dp)
                             .wrapContentSize(Alignment.Center),
                         textAlign = TextAlign.Center)
@@ -89,7 +100,7 @@
                         modifier = Modifier
                             .fillMaxWidth()
                             .wrapContentSize()
-                            .padding(top = 30.dp , bottom = 20.dp, start = 14.dp, end = 15.dp)
+                            .padding(top = 30.dp , bottom = 20.dp , start = 14.dp , end = 15.dp)
                             .wrapContentSize(Alignment.Center),
                         textAlign = TextAlign.Center,
                     )
@@ -97,20 +108,27 @@
                         if(!message.cancelText.equals("")){
                             Spacer(modifier = Modifier.weight(1f))
                             Button(onClick = {
+                                message.onCancelRequest.invoke()
                                 if(message.cancelDissmiss){
                                     message.setDismiss.invoke()
+                                    message.onDismissRequest.invoke()
                                 }
-                                message.onDismissRequest.invoke()
-                            }) {
+                            },
+                                colors = ButtonDefaults.buttonColors(
+                                    containerColor = Color.Gray,      // 背景色
+                                    contentColor = Color.White,              // 文字/图标颜色
+                                    disabledContainerColor = Color.Gray      // 禁用时背景色
+                                ),) {
                                 Text(text = message.cancelText)
                             }
                         }
                         Spacer(modifier = Modifier.weight(1f))
                         Button(onClick = {
+                            message.onConfirmRequest.invoke()
                             if(message.confirmDissmiss){
                                 message.setDismiss.invoke()
+                                message.onDismissRequest.invoke()
                             }
-                            message.onConfirmRequest.invoke()
                         }) {
                             Text(text = message.confirmText)
                         }
@@ -128,8 +146,10 @@
             alignment = Alignment.TopCenter,
         ) {
             Surface(
-                modifier = Modifier.fillMaxWidth()
-                    .wrapContentHeight().padding(10.dp),
+                modifier = Modifier
+                    .fillMaxWidth()
+                    .wrapContentHeight()
+                    .padding(10.dp),
                 shadowElevation = 2.dp,
                 border = BorderStroke(1.dp, Color.Gray) ,
                 shape = RoundedCornerShape(8.dp)
@@ -146,4 +166,28 @@
             }
         }
     }
+}
+
+@Composable
+fun TitleBarView(title:String,onBackClick:()->Unit){
+    Row(modifier = Modifier
+        .wrapContentSize(Alignment.Center)
+        .height(50.dp), verticalAlignment = Alignment.CenterVertically) {
+        Spacer(modifier = Modifier.size(15.dp))
+        IconButton(onClick = onBackClick, modifier = Modifier.size(30.dp,30.dp)) {
+            Icon(Icons.Default.ArrowBack, contentDescription = null, tint = Color.Black)
+        }
+
+        Text(text = "${title}", modifier = Modifier
+            .weight(1f)
+            .fillMaxWidth()
+            .wrapContentSize(Alignment.Center))
+        Spacer(modifier = Modifier.size(30.dp))
+        Spacer(modifier = Modifier.size(15.dp))
+    }
+}
+@Preview
+@Composable
+fun previewLayout(){
+    MessageDialog(message = MessageState(cancelText = "lll"))
 }
\ No newline at end of file

--
Gitblit v1.9.1