From b83a442fe330ac8fe520f52e2081f790831ce86c Mon Sep 17 00:00:00 2001
From: zxj <275873859@qq.com>
Date: Fri, 8 Aug 2025 17:26:09 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E9=85=8D=E8=89=B2?=
=?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E4=BA=86=E8=A7=A3=E9=99=A4=E7=BB=91?=
=?UTF-8?q?=E5=AE=9A=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 32 ++-----
.../java/com/sw/platecabinet/GlobalData.kt | 1 +
.../sw/platecabinet/activity/BaseActivity.kt | 23 +++--
.../activity/UnBindDialogActivity.kt | 54 ++++++++++++
.../sw/platecabinet/fragment/BaseFragment.kt | 7 +-
.../fragment/BindPlateFragment.kt | 16 +++-
.../fragment/PlateOpenFragment.kt | 2 +-
.../fragment/SettingListFragment.kt | 7 +-
.../fragment/UnBindPlateFragment.kt | 33 +++++--
.../model/response/EquipmentUserInfo.kt | 5 ++
...omDialog.java => CustomLoadingDialog.java} | 8 +-
.../viewmodel/SettingViewModel.kt | 2 +
.../platecabinet/viewmodel/UserViewModel.kt | 1 +
app/src/main/res/drawable/bg_dialog.xml | 8 ++
...btn_outline_887872.xml => btn_outline.xml} | 2 +-
.../main/res/drawable/grid_button_unbind.xml | 2 +-
app/src/main/res/drawable/ic_search.png | Bin 0 -> 1246 bytes
.../main/res/drawable/ic_tip_warn_unbind.png | Bin 0 -> 2874 bytes
app/src/main/res/drawable/shape_btn_bg.xml | 5 +-
app/src/main/res/drawable/shape_pwd_bg.xml | 2 +-
.../main/res/layout/activity_login_by_pwd.xml | 6 +-
.../main/res/layout/activity_login_face.xml | 8 +-
.../res/layout/activity_unbind_dialog.xml | 81 ++++++++++++++++++
.../main/res/layout/fragment_bind_plate.xml | 36 +++++---
.../layout/fragment_plate_cabinet_full.xml | 4 +-
.../main/res/layout/fragment_plate_open.xml | 4 +-
.../main/res/layout/fragment_unbind_plate.xml | 24 +++---
app/src/main/res/layout/item_bind_view.xml | 4 +-
.../main/res/layout/item_search_user_info.xml | 4 +-
app/src/main/res/layout/item_title_time.xml | 4 +-
app/src/main/res/values/colors.xml | 8 +-
app/src/main/res/values/themes.xml | 10 +++
.../com/sw/plate/utils/comn/SerialApi.java | 4 +
33 files changed, 297 insertions(+), 110 deletions(-)
create mode 100644 app/src/main/java/com/sw/platecabinet/activity/UnBindDialogActivity.kt
rename app/src/main/java/com/sw/platecabinet/view/{CustomDialog.java => CustomLoadingDialog.java} (90%)
create mode 100644 app/src/main/res/drawable/bg_dialog.xml
rename app/src/main/res/drawable/{btn_outline_887872.xml => btn_outline.xml} (86%)
create mode 100644 app/src/main/res/drawable/ic_search.png
create mode 100644 app/src/main/res/drawable/ic_tip_warn_unbind.png
create mode 100644 app/src/main/res/layout/activity_unbind_dialog.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7ab7d9f..ca1728b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -26,6 +26,10 @@
android:supportsRtl="true"
android:theme="@style/Theme.SmartPlateCabinet"
tools:targetApi="31">
+
@@ -35,41 +39,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:exported="false">
diff --git a/app/src/main/java/com/sw/platecabinet/GlobalData.kt b/app/src/main/java/com/sw/platecabinet/GlobalData.kt
index 90033d6..f26018b 100644
--- a/app/src/main/java/com/sw/platecabinet/GlobalData.kt
+++ b/app/src/main/java/com/sw/platecabinet/GlobalData.kt
@@ -48,4 +48,5 @@ object GlobalKey {
const val KEY_TOKEN = "tokenKey"
const val KEY_FIRST_RUN = "firstRun"
const val KEY_USER_INFO = "userInfoKey"
+ const val PARAM_EQUIPMENT_INFO = "equipmentUserInfo"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt b/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt
index 755b94f..6d22945 100644
--- a/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt
+++ b/app/src/main/java/com/sw/platecabinet/activity/BaseActivity.kt
@@ -26,13 +26,12 @@ import com.sw.platecabinet.databinding.ItemTitleTimeBinding
import com.sw.platecabinet.ext.setClickListeners
import com.sw.platecabinet.model.response.EquipmentUserInfo
import com.sw.platecabinet.utils.PermissionHelper
-import com.sw.platecabinet.view.CustomDialog
+import com.sw.platecabinet.view.CustomLoadingDialog
import com.sw.platecabinet.viewmodel.SettingViewModel
import com.sw.platecabinet.viewmodel.UserViewModel
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
-import kotlinx.coroutines.flow.drop
import kotlinx.coroutines.launch
import timber.log.Timber
@@ -44,7 +43,7 @@ abstract class BaseActivity : AppCompatActivity() {
private var headerBinding: ItemTitleTimeBinding? = null
protected lateinit var context: Context
private var timeJob: Job? = null
- private var mDialogWaiting: CustomDialog? = null
+ private var mDialogWaiting: CustomLoadingDialog? = null
private val permissionHelpers = mutableMapOf()
protected var keyEventHelper: ScanGunKeyEventHelper? = null
@@ -181,7 +180,15 @@ abstract class BaseActivity : AppCompatActivity() {
enforceImmersiveMode()
}
+ override fun onWindowFocusChanged(hasFocus: Boolean) {
+ super.onWindowFocusChanged(hasFocus)
+ if (hasFocus) {
+ disableSystemUICompletely()
+ }
+ }
+
private fun disableSystemUICompletely() {
+ Timber.d("disableSystemUICompletely")
// 禁用系统手势(Android 10+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
window.insetsController?.systemBarsBehavior =
@@ -206,6 +213,7 @@ abstract class BaseActivity : AppCompatActivity() {
private fun enforceImmersiveMode() {
+ Timber.d("enforceImmersiveMode")
// 持续强制隐藏系统栏(防止手势触发)
window.decorView.postDelayed({
window.decorView.systemUiVisibility = (
@@ -223,7 +231,7 @@ abstract class BaseActivity : AppCompatActivity() {
hideWaitingDialog()
val view = View.inflate(this, R.layout.dialog_waiting, null)
if (!TextUtils.isEmpty(tip)) (view.findViewById(R.id.tvTip) as TextView).setText(tip)
- mDialogWaiting = CustomDialog(this, view, R.style.MyDialog)
+ mDialogWaiting = CustomLoadingDialog(this, view, R.style.MyDialog)
mDialogWaiting!!.show()
mDialogWaiting!!.setCancelable(true)
return mDialogWaiting
@@ -259,7 +267,7 @@ abstract class BaseActivity : AppCompatActivity() {
}
}
lifecycleScope.launch {
- viewModel.currentUserInfo.drop(1).collect {
+ viewModel.currentUserInfo.collect {
if (it == null) return@collect
handleLoginSuccess(it, false)
}
@@ -275,14 +283,14 @@ abstract class BaseActivity : AppCompatActivity() {
}
}
lifecycleScope.launch {
- settingViewModel.searchUserInfo.drop(1).collect {
+ settingViewModel.searchUserInfo.collect {
Timber.d("registerDataChange 管理员 currentUserInfo = $it")
if (it == null) return@collect
handleLoginSuccess(it, true)
}
}
lifecycleScope.launch {
- settingViewModel.equipmentList.drop(1).collect {
+ settingViewModel.equipmentList.collect {
if (it.isEmpty()) return@collect
val unbindList = it.filter { !it.isBound() }
if (unbindList.isEmpty()) {
@@ -343,7 +351,6 @@ abstract class BaseActivity : AppCompatActivity() {
}
override fun onDestroy() {
- SerialApi.close()
timeJob?.cancel()
keyEventHelper?.onDestroy()
super.onDestroy()
diff --git a/app/src/main/java/com/sw/platecabinet/activity/UnBindDialogActivity.kt b/app/src/main/java/com/sw/platecabinet/activity/UnBindDialogActivity.kt
new file mode 100644
index 0000000..99e94be
--- /dev/null
+++ b/app/src/main/java/com/sw/platecabinet/activity/UnBindDialogActivity.kt
@@ -0,0 +1,54 @@
+package com.sw.platecabinet.activity
+
+import android.graphics.Color
+import android.view.Gravity
+import android.view.ViewGroup
+import androidx.core.graphics.drawable.toDrawable
+import androidx.core.view.WindowCompat
+import com.sw.platecabinet.GlobalKey
+import com.sw.platecabinet.databinding.ActivityUnbindDialogBinding
+import com.sw.platecabinet.databinding.ItemTitleTimeBinding
+import com.sw.platecabinet.ext.dp
+import com.sw.platecabinet.model.response.EquipmentUserInfo
+
+class UnBindDialogActivity : BaseActivity() {
+ private var equipmentUserInfo: EquipmentUserInfo? = null
+
+ override fun inflateViewBinding(): ActivityUnbindDialogBinding {
+ return ActivityUnbindDialogBinding.inflate(layoutInflater)
+ }
+
+ override fun inflateTitleBinding(): ItemTitleTimeBinding? {
+ return null
+ }
+
+ override fun initialize() {
+ window?.apply {
+ WindowCompat.setDecorFitsSystemWindows(this, false)
+ setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
+
+ attributes = attributes.apply {
+ y = 314.dp
+ width = (context.resources.displayMetrics.widthPixels * 0.8).toInt()
+ height = ViewGroup.LayoutParams.MATCH_PARENT
+ gravity = Gravity.CENTER
+ }
+ }
+ equipmentUserInfo =
+ intent.getParcelableExtra(GlobalKey.PARAM_EQUIPMENT_INFO)
+ if (equipmentUserInfo == null) return
+ binding.tvTipInfo.text = "即将解除【${equipmentUserInfo!!.name}】的餐盘"
+ binding.tvCancel.setOnClickListener {
+ finish()
+ }
+ binding.tvConfirm.setOnClickListener {
+ setResult(RESULT_OK)
+ finish()
+ }
+ }
+
+ override fun finish() {
+ super.finish()
+ overridePendingTransition(0, 0) // 确保退出也无动画
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/sw/platecabinet/fragment/BaseFragment.kt b/app/src/main/java/com/sw/platecabinet/fragment/BaseFragment.kt
index 4f54730..b72aa2c 100644
--- a/app/src/main/java/com/sw/platecabinet/fragment/BaseFragment.kt
+++ b/app/src/main/java/com/sw/platecabinet/fragment/BaseFragment.kt
@@ -12,7 +12,7 @@ import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
import androidx.viewbinding.ViewBinding
import com.sw.platecabinet.R
-import com.sw.platecabinet.view.CustomDialog
+import com.sw.platecabinet.view.CustomLoadingDialog
import com.sw.platecabinet.viewmodel.SettingViewModel
import kotlinx.coroutines.launch
@@ -21,7 +21,7 @@ abstract class BaseFragment(
) : Fragment() {
private var _binding: VB? = null
protected val binding get() = _binding!!
- private var mDialogWaiting: CustomDialog? = null
+ private var mDialogWaiting: CustomLoadingDialog? = null
protected val viewModel by viewModels()
override fun onCreateView(
@@ -59,13 +59,12 @@ abstract class BaseFragment(
hideWaitingDialog()
val view = View.inflate(requireContext(), R.layout.dialog_waiting, null)
if (!TextUtils.isEmpty(tip)) (view.findViewById(R.id.tvTip) as TextView).text = tip
- mDialogWaiting = CustomDialog(requireContext(), view, R.style.MyDialog)
+ mDialogWaiting = CustomLoadingDialog(requireContext(), view, R.style.MyDialog)
mDialogWaiting!!.show()
mDialogWaiting!!.setCancelable(true)
return mDialogWaiting
}
-
/**
* 隐藏等待提示框
*/
diff --git a/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt b/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt
index b47fd62..37035a4 100644
--- a/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt
+++ b/app/src/main/java/com/sw/platecabinet/fragment/BindPlateFragment.kt
@@ -26,7 +26,6 @@ import com.sw.platecabinet.model.response.EquipmentUserInfo
import com.sw.platecabinet.model.response.SearchResult
import com.sw.platecabinet.utils.Debouncer
import com.sw.platecabinet.utils.KeyboardUtils
-import kotlinx.coroutines.flow.drop
import kotlinx.coroutines.launch
import timber.log.Timber
@@ -150,6 +149,17 @@ class BindPlateFragment : BaseFragment(
false // 未处理其他动作
}
}
+ binding.ivSearch.setOnClickListener {
+ debouncer.debounce {
+ // 执行搜索操作
+ viewModel.getSearchMemberList(
+ param = binding.etUserInfo.text.toString(),
+ pageNum = 1
+ )
+ // 隐藏键盘
+ KeyboardUtils.hideKeyboard(requireActivity())
+ }
+ }
binding.llBind.setOnClickListener {
if (info == null || info!!.equipmentCode?.isEmpty() == true || info!!.equipmentBoxCode?.isEmpty() == true) {
ToastUtils.showToast("传入的设备信息异常")
@@ -186,12 +196,12 @@ class BindPlateFragment : BaseFragment(
override fun registerDataChange() {
super.registerDataChange()
lifecycleScope.launch {
- viewModel.searchMemberList.drop(1).collect {
+ viewModel.searchMemberList.collect {
adapter.updateData(it)
}
}
lifecycleScope.launch {
- viewModel.bindStateChange.drop(1).collect {
+ viewModel.bindStateChange.collect {
if (it.first == null) return@collect // 解绑状态过滤
val errorInfo = it.second
if (errorInfo.isSuccess()) {
diff --git a/app/src/main/java/com/sw/platecabinet/fragment/PlateOpenFragment.kt b/app/src/main/java/com/sw/platecabinet/fragment/PlateOpenFragment.kt
index 37dfd54..3e1df6b 100644
--- a/app/src/main/java/com/sw/platecabinet/fragment/PlateOpenFragment.kt
+++ b/app/src/main/java/com/sw/platecabinet/fragment/PlateOpenFragment.kt
@@ -30,7 +30,7 @@ class PlateOpenFragment :
arguments?.let {
info = it.getParcelable(KEY_ACTION_TYPE)
info?.let {
- if (!it.isBound()) {
+ if (!it.hasEquipmentBox()) {
binding.ivType.setImageResource(R.drawable.ic_tip_warn)
binding.tvTitle.text = "暂无餐盘信息"
binding.tvSubTitle.text = "请联系管理员"
diff --git a/app/src/main/java/com/sw/platecabinet/fragment/SettingListFragment.kt b/app/src/main/java/com/sw/platecabinet/fragment/SettingListFragment.kt
index 5c61643..b6a3e69 100644
--- a/app/src/main/java/com/sw/platecabinet/fragment/SettingListFragment.kt
+++ b/app/src/main/java/com/sw/platecabinet/fragment/SettingListFragment.kt
@@ -25,7 +25,6 @@ import com.sw.platecabinet.ext.maskName
import com.sw.platecabinet.model.response.EquipmentUserInfo
import com.sw.platecabinet.utils.ListArrangementUtil
import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.drop
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import timber.log.Timber
@@ -49,7 +48,7 @@ class SettingListFragment :
override fun registerDataChange() {
super.registerDataChange()
lifecycleScope.launch {
- viewModel.equipmentList.drop(1).collect { it ->
+ viewModel.equipmentList.collect { it ->
Timber.d("registerDateChange updateAdapter it = $it")
updateAdapter(it)
}
@@ -128,7 +127,7 @@ class SettingListFragment :
)
)
this.llOpen.setBackgroundResource(R.drawable.grid_button_bind)
- this.tvOpen.setTextColor(resources.getColor(R.color.bind_F0C8B4))
+ this.tvOpen.setTextColor(resources.getColor(R.color.bind_FFCC99))
this.llBindInfo.visibility = View.VISIBLE
this.tvUnbind.visibility = View.GONE
@@ -136,7 +135,7 @@ class SettingListFragment :
this.tvLastTime.text = DateTimeUtils.getTimeAgo(date)
} else {
this.llRoot.setBackgroundResource(R.drawable.grid_item_unbind)
- this.tvNum.setTextColor(resources.getColor(R.color.bind_F0C8B4))
+ this.tvNum.setTextColor(resources.getColor(R.color.bind_FFCC99))
this.llOpen.setBackgroundResource(R.drawable.grid_button_unbind)
this.tvOpen.setTextColor(resources.getColor(R.color.unbind_32283C))
this.llBindInfo.visibility = View.GONE
diff --git a/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt b/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt
index cdc3f81..b48bbb7 100644
--- a/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt
+++ b/app/src/main/java/com/sw/platecabinet/fragment/UnBindPlateFragment.kt
@@ -1,14 +1,18 @@
package com.sw.platecabinet.fragment
+import android.app.Activity
+import android.content.Intent
import android.os.Bundle
+import androidx.activity.result.contract.ActivityResultContracts
import androidx.lifecycle.lifecycleScope
import com.sw.inbound.utils.DateTimeUtils
import com.sw.plate.utils.ToastUtils
+import com.sw.platecabinet.GlobalKey
+import com.sw.platecabinet.activity.UnBindDialogActivity
import com.sw.platecabinet.databinding.FragmentUnbindPlateBinding
import com.sw.platecabinet.ext.maskName
import com.sw.platecabinet.ext.maskPhone
import com.sw.platecabinet.model.response.EquipmentUserInfo
-import kotlinx.coroutines.flow.drop
import kotlinx.coroutines.launch
/**
@@ -30,6 +34,17 @@ class UnBindPlateFragment private constructor() : BaseFragment
+ if (result.resultCode == Activity.RESULT_OK) {
+ viewModel.unbindPlate(
+ equipmentBoxCode = info!!.equipmentBoxCode!!,
+ equipmentCode = info!!.equipmentCode!!
+ )
+ }
+ }
+
override fun initialize() {
arguments?.let {
info = it.getParcelable(ARG_PARAM1)
@@ -45,10 +60,11 @@ class UnBindPlateFragment private constructor() : BaseFragment
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_outline_887872.xml b/app/src/main/res/drawable/btn_outline.xml
similarity index 86%
rename from app/src/main/res/drawable/btn_outline_887872.xml
rename to app/src/main/res/drawable/btn_outline.xml
index c3590b6..7aab849 100644
--- a/app/src/main/res/drawable/btn_outline_887872.xml
+++ b/app/src/main/res/drawable/btn_outline.xml
@@ -4,5 +4,5 @@
+ android:color="#FFCC99" />
\ No newline at end of file
diff --git a/app/src/main/res/drawable/grid_button_unbind.xml b/app/src/main/res/drawable/grid_button_unbind.xml
index 3d93674..eeffb02 100644
--- a/app/src/main/res/drawable/grid_button_unbind.xml
+++ b/app/src/main/res/drawable/grid_button_unbind.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_search.png b/app/src/main/res/drawable/ic_search.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa4a14e072652d54de86c0832ba40b54715be23f
GIT binary patch
literal 1246
zcmV<41R?v0P)Px(m`OxIR9Hv7mwRj!RTPK6Gg~WF1c^!%i3+iQ5Q|1SyHSHN2xyR^1|uW}VuOZR
z9z~6yF{HIbq6j`vsNL}qgYlL6NDPqR13^KQ?rceoQH&8yGy=v}Eh$h+=g92LKHF|f
z*?9lkx##iiIcMhnt}uwDj(s7@T!a}w1h^>AtsT__!Zwa~zblh#{uo5qq=^(V)aHhZ
zkaeUl2I}stAs~31NP&
zv3`WObyB(b+k!3I7c0k=T9kQt?cK_egLlf5`jh$oxd2YA4rEovNIOtnAmK$HoK73G
zB{mgT-Udde{Ztzy99`NkfW{jmi18Ir5*W3k?lcK6+IKq1Q?{CT^-A2H9SCECXWksl
z64Tn69WPmdWa(S%W)w5n>;`TY)7m|hO{)M2iV(K
zMabBkmFx*It-3Qwo~eYr1Z87ZEAE$Y^tD_7C$<@+%7^4I!gw*QqeTH|Y6>y_?;n8j
zAbwoJmiIABF46BAhSOE@7s}Z|nO2J#tu03KOe^fA2piI~;GVo(B1?Yr0sM*mEK?$P
z(ohGlKWJ^)Fb22u_w=jj>U@br-}C{T*aINm7tdRrY&keW>g(NNRv_8gg#8Q36+zrJ
zVp@;+0CD?ighzsn@5QvPDt7WDfMb6SObOcjhM3WNg9_L$0L%P|ATE`e0VyVkI`$S|
zW&qG6W^`_<1#3Va4U+8_)0$As#OXmy*gH{f3Vv@A)2dDZ)PTGgY#isnsNphaPEWBR
z)UmxGyfmovlTvA|^Z~wUm_kX3*B^hm5|PNlcrgLgu`dIDO}_=I_eePUjt{WsxiU)6
zX#*(>=+;W5m1;>*IMlHp2A&CmDaMJhGRap>{--!@zmITNV9>_NuJLl+vW{Y8SI0gJ
z2!S~sR*2LLZmL-f?Bhf@ALjCI=hd
z5Z)%H^~sq)XiLn*6)$c|PwuC3RE0=p$kT#E_r|UvB+WpnpHw?=jTsVIxMwI3>K(-*
z+d+I$BDnPEEfR@t&yJU?h!XaLD9@)2RF45Q*~jN#U^Ee%jf!{Vo}Xp^GjMhODcf6=
z#_bIVxzb5>$0=P~FOle%g#dJK%*2q|Q}X8aKJ8R@(te~$Ze7vYYX-6%)UlreyjL+F
z@F$dy5n4~F=0m8brF1l|Ohj}#NX5Vv(w($rAo{--G{yIvYaS;#vny*om7KMSE8MfG*GXSGC@9MbxFgISln(hEZQg3^we1p!i7
zv~}INbdR_rIL$mc<(=y(_3UYVPu(~evJL6{P_BLGpPZH!fEW}&{@+zk=aqM!N9dT)
z_UDnlE*!ml`hge{!0C-b#=5U|{I3AX&zo0?sxj+8@AHJ(fB2fepCg~vEC2ui07*qo
IM6N<$f*3|fUH||9
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable/ic_tip_warn_unbind.png b/app/src/main/res/drawable/ic_tip_warn_unbind.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb3f39eff90def8ae52a318f8a610c6f59505a9f
GIT binary patch
literal 2874
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
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable/shape_btn_bg.xml b/app/src/main/res/drawable/shape_btn_bg.xml
index 191bd6f..c05f10d 100644
--- a/app/src/main/res/drawable/shape_btn_bg.xml
+++ b/app/src/main/res/drawable/shape_btn_bg.xml
@@ -1,8 +1,5 @@
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_pwd_bg.xml b/app/src/main/res/drawable/shape_pwd_bg.xml
index c8301e0..53c1433 100644
--- a/app/src/main/res/drawable/shape_pwd_bg.xml
+++ b/app/src/main/res/drawable/shape_pwd_bg.xml
@@ -3,5 +3,5 @@
+ android:color="#FFCC99" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login_by_pwd.xml b/app/src/main/res/layout/activity_login_by_pwd.xml
index 3dbd034..7633776 100644
--- a/app/src/main/res/layout/activity_login_by_pwd.xml
+++ b/app/src/main/res/layout/activity_login_by_pwd.xml
@@ -21,7 +21,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="手机后四位"
- android:textColor="#F0C8B4"
+ android:textColor="#FFCC99"
android:textSize="26sp"
android:textStyle="bold" />
@@ -62,7 +62,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:text="校验码"
- android:textColor="#F0C8B4"
+ android:textColor="#FFCC99"
android:textSize="26sp"
android:textStyle="bold" />
@@ -115,7 +115,7 @@
android:layout_marginTop="40dp"
android:padding="8dp"
android:text="人脸识别"
- android:textColor="#887872"
+ android:textColor="#FFCC99"
android:textSize="26sp"
android:textStyle="bold" />
diff --git a/app/src/main/res/layout/activity_login_face.xml b/app/src/main/res/layout/activity_login_face.xml
index d82642e..f38396a 100644
--- a/app/src/main/res/layout/activity_login_face.xml
+++ b/app/src/main/res/layout/activity_login_face.xml
@@ -60,7 +60,7 @@
android:layout_marginTop="129dp"
android:text="请正视屏幕"
android:textStyle="bold"
- android:textColor="#fff0c8b4"
+ android:textColor="#FFCC99"
android:textSize="36sp" />
@@ -78,7 +78,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密码登录"
- android:textColor="#ff887872"
+ android:textColor="#FFCC99"
android:textSize="24sp" />
@@ -90,7 +90,7 @@
android:padding="12dp"
android:gravity="center"
android:layout_marginTop="185dp"
- android:textColor="#F0C8B4"
+ android:textColor="#FFCC99"
android:textSize="36sp" />
diff --git a/app/src/main/res/layout/activity_unbind_dialog.xml b/app/src/main/res/layout/activity_unbind_dialog.xml
new file mode 100644
index 0000000..122196d
--- /dev/null
+++ b/app/src/main/res/layout/activity_unbind_dialog.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_bind_plate.xml b/app/src/main/res/layout/fragment_bind_plate.xml
index 6046e71..4a783a3 100644
--- a/app/src/main/res/layout/fragment_bind_plate.xml
+++ b/app/src/main/res/layout/fragment_bind_plate.xml
@@ -14,7 +14,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:text="柜体编号"
- android:textColor="#ff7c6d6a"
+ android:textColor="#999999"
android:textSize="20sp" />
@@ -43,7 +43,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="餐盘码"
- android:textColor="#fff0c8b4"
+ android:textColor="#FFCC99"
android:textSize="26sp" />
@@ -72,11 +72,11 @@
android:layout_height="match_parent"
android:background="@color/transparent"
android:gravity="center"
- android:maxLines="1"
android:hint="请录入餐盘码"
android:inputType="number"
- android:textColor="#fff0c8b4"
- android:textColorHint="#ff7c6d6a"
+ android:maxLines="1"
+ android:textColor="#FFCC99"
+ android:textColorHint="#999999"
android:textSize="26sp"
android:textStyle="bold"
tools:text="" />
@@ -92,7 +92,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="会员"
- android:textColor="#fff0c8b4"
+ android:textColor="#FFCC99"
android:textSize="26sp" />
@@ -117,17 +117,25 @@
+
+
@@ -162,6 +170,6 @@
android:layout_marginTop="46dp"
android:paddingHorizontal="20dp"
android:text="返回"
- android:textColor="#ff887872"
+ android:textColor="#FFCC99"
android:textSize="26sp" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_plate_cabinet_full.xml b/app/src/main/res/layout/fragment_plate_cabinet_full.xml
index 83793a5..e061bc9 100644
--- a/app/src/main/res/layout/fragment_plate_cabinet_full.xml
+++ b/app/src/main/res/layout/fragment_plate_cabinet_full.xml
@@ -18,7 +18,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:text="餐盘柜已满"
- android:textColor="#fff0c8b4"
+ android:textColor="#FFCC99"
android:textSize="36sp" />
diff --git a/app/src/main/res/layout/fragment_plate_open.xml b/app/src/main/res/layout/fragment_plate_open.xml
index 1739332..1f64a6d 100644
--- a/app/src/main/res/layout/fragment_plate_open.xml
+++ b/app/src/main/res/layout/fragment_plate_open.xml
@@ -51,7 +51,7 @@
android:layout_marginHorizontal="20dp"
android:maxLines="1"
android:ellipsize="end"
- android:textColor="#ff887872"
+ android:textColor="#FFCC99"
android:textSize="24sp" />
diff --git a/app/src/main/res/layout/fragment_unbind_plate.xml b/app/src/main/res/layout/fragment_unbind_plate.xml
index 4905c55..2451a68 100644
--- a/app/src/main/res/layout/fragment_unbind_plate.xml
+++ b/app/src/main/res/layout/fragment_unbind_plate.xml
@@ -20,7 +20,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:text="柜体编号"
- android:textColor="#ff7c6d6a"
+ android:textColor="#999999"
android:textSize="20sp" />
@@ -53,7 +53,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="餐盘码"
- android:textColor="#ff7c6d6a"
+ android:textColor="#999999"
android:textSize="24sp" />
@@ -88,7 +88,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名"
- android:textColor="#ff7c6d6a"
+ android:textColor="#999999"
android:textSize="24sp" />
@@ -123,7 +123,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机号"
- android:textColor="#ff7c6d6a"
+ android:textColor="#999999"
android:textSize="24sp" />
@@ -157,7 +157,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近使用"
- android:textColor="#ff7c6d6a"
+ android:textColor="#999999"
android:textSize="24sp" />
@@ -188,7 +188,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="解除绑定"
- android:textColor="#ff11111c"
+ android:textColor="#11111C"
android:textSize="30sp"
android:textStyle="bold" />
@@ -200,6 +200,6 @@
android:layout_marginTop="48dp"
android:paddingHorizontal="20dp"
android:text="返回"
- android:textColor="#ff887872"
+ android:textColor="#FFCC99"
android:textSize="26sp" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_bind_view.xml b/app/src/main/res/layout/item_bind_view.xml
index 96979a1..e31f9a1 100644
--- a/app/src/main/res/layout/item_bind_view.xml
+++ b/app/src/main/res/layout/item_bind_view.xml
@@ -16,7 +16,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:text="02"
- android:textColor="#fff0c8b4"
+ android:textColor="#FFCC99"
android:textSize="24sp"
android:textStyle="bold" />
@@ -27,7 +27,7 @@
android:layout_marginStart="24dp"
android:layout_weight="1"
android:text="未绑定"
- android:textColor="#fff0c8b4"
+ android:textColor="#FFCC99"
android:textSize="18sp"
android:textStyle="bold"
android:visibility="gone" />
diff --git a/app/src/main/res/layout/item_search_user_info.xml b/app/src/main/res/layout/item_search_user_info.xml
index 18140d3..b1067a5 100644
--- a/app/src/main/res/layout/item_search_user_info.xml
+++ b/app/src/main/res/layout/item_search_user_info.xml
@@ -12,7 +12,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="马*飞(8000)"
- android:textColor="#fff0c8b4"
+ android:textColor="#FFCC99"
android:textSize="26sp"
android:textStyle="bold" />
@@ -22,7 +22,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="138****8000"
- android:textColor="#ff7c6d6a"
+ android:textColor="#999999"
android:textSize="20sp"
android:textStyle="bold" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_title_time.xml b/app/src/main/res/layout/item_title_time.xml
index 5a8a1dc..f77b81c 100644
--- a/app/src/main/res/layout/item_title_time.xml
+++ b/app/src/main/res/layout/item_title_time.xml
@@ -12,7 +12,7 @@
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="20dp"
- android:textColor="#F0C8B4"
+ android:textColor="#FFCC99"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -24,7 +24,7 @@
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="20dp"
- android:textColor="#F0C8B4"
+ android:textColor="#FFCC99"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tvLeftDate"
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index df74aac..1f5285e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -7,12 +7,12 @@
#4E535D
#585868
#FF9632
- #F0C8B4
- #F0C8B4
+ #FFCC99
+ #FFCC99
#32283C
#4c91ceff
#ff02f1be
- #FF9933
- #887872
+ #FFCC99
+ #FFCC99
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 54b043e..47c1731 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -22,4 +22,14 @@
- false
+
\ No newline at end of file
diff --git a/lib_face/src/main/java/com/sw/plate/utils/comn/SerialApi.java b/lib_face/src/main/java/com/sw/plate/utils/comn/SerialApi.java
index 0c28597..d5b7801 100644
--- a/lib_face/src/main/java/com/sw/plate/utils/comn/SerialApi.java
+++ b/lib_face/src/main/java/com/sw/plate/utils/comn/SerialApi.java
@@ -36,6 +36,10 @@ public class SerialApi {
}
public static void close() {
+ if (serialPort != null) {
+ serialPort.close();
+ serialPort = null;
+ }
if (serialPortManager != null) {
serialPortManager.close();
}