修复消费模式设置Bug
diff --git a/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt b/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
index eaf5482..b9be1e9 100644
--- a/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
@@ -11,7 +11,6 @@
import com.supwisdom.activities.BaseActivity
import com.supwisdom.activities.SPApplication
import com.supwisdom.activities.consume.PayMode
-import com.supwisdom.activities.menu.MenuActivity
import com.supwisdom.auxscreen.AuxScreenController
import com.supwisdom.entity.HotKeyPayRecord
import com.supwisdom.entity.PeriodFixPayRecord
@@ -31,7 +30,8 @@
private lateinit var vSpecialDesc: TextView
private lateinit var rbHotkeyMode: RadioButton
private lateinit var rbPeriodMode: RadioButton
- private lateinit var rgSpecialMode: RadioGroup
+ private lateinit var rbNormalMode: RadioButton
+ private lateinit var rbFixMode: RadioButton
private lateinit var llSpecialList: LinearLayout
private lateinit var llFixMode: LinearLayout
private lateinit var llSpecialMode: LinearLayout
@@ -41,6 +41,7 @@
private var specialMode = false
private var tmpPwd = ""
private var configMode = ConfigMode.NORMAL_FIX
+ private val MAX_CHILD_COUNT = 6
override fun onCreate(savedInstanceState: Bundle?) {
@@ -58,42 +59,61 @@
vPayamt = findViewById<TextView>(R.id.tv_consume_mode_payamt)
llSpecialList = findViewById<LinearLayout>(R.id.ll_special_list)
this.findViewById<TextView>(R.id.tv_hot_add).setOnClickListener {
- if (llSpecialList.childCount >= 9) {
+ if (llSpecialList.childCount >= MAX_CHILD_COUNT) {
+ SWToast.show(applicationContext, "最大支持${MAX_CHILD_COUNT}条规则", PublicDef.TOAST_SHOW_DOUBT)
return@setOnClickListener
}
if (configMode == ConfigMode.PERIOD_FIX) {
addPeriodFixRule()
- } else {
+ } else if (configMode == ConfigMode.HOT_KEY) {
addHotkeyRule()
}
}
- this.findViewById<TextView>(R.id.tv_hot_save).setOnClickListener {
- if (llSpecialList.childCount == 0) {
- SWToast.show(applicationContext, "请先添加规则", PublicDef.TOAST_SHOW_DOUBT)
- return@setOnClickListener
- }
- if (configMode == ConfigMode.PERIOD_FIX) {
- if (!savePeriodFixRule()) {
- return@setOnClickListener
+ this.findViewById<TextView>(R.id.tv_save).setOnClickListener {
+ when (configMode) {
+ ConfigMode.PERIOD_FIX -> {
+ if (llSpecialList.childCount == 0) {
+ SWToast.show(applicationContext, "请先添加波段规则", PublicDef.TOAST_SHOW_DOUBT)
+ return@setOnClickListener
+ }
+ if (!savePeriodFixRule()) {
+ return@setOnClickListener
+ }
}
- } else {
- if (!saveHotkeyRule()) {
- return@setOnClickListener
+ ConfigMode.HOT_KEY -> {
+ if (llSpecialList.childCount == 0) {
+ SWToast.show(applicationContext, "请先添加热键规则", PublicDef.TOAST_SHOW_DOUBT)
+ return@setOnClickListener
+ }
+ if (!saveHotkeyRule()) {
+ return@setOnClickListener
+ }
+ }
+ ConfigMode.NORMAL_FIX -> {
+ pos.replaceControlPara(PublicDef.CONTROL_FIXAMT, getFixAmount())
+ }
+ ConfigMode.NORMAL -> {
+ pos.replaceControlPara(PublicDef.CONTROL_FIXAMT, PayMode.NORMAL.desc)
}
}
finish()
}
this.findViewById<TextView>(R.id.tv_return).setOnClickListener {
- showCurrentMode(ConfigMode.NORMAL_FIX)
- refreshToSetAmount()
+ //showCurrentMode(ConfigMode.NORMAL_FIX)
+ //refreshToSetAmount()
+ finish()
}
- rgSpecialMode = this.findViewById<RadioGroup>(R.id.rg_special_mode)
- rgSpecialMode.setOnCheckedChangeListener { _, checkedId ->
- when (checkedId) {
- R.id.rb_hot_mode -> showCurrentMode(ConfigMode.HOT_KEY)
- R.id.rb_period_fix_mode -> showCurrentMode(ConfigMode.PERIOD_FIX)
+ this.findViewById<RadioGroup>(R.id.rg_special_mode)
+ .setOnCheckedChangeListener { _, checkedId ->
+ when (checkedId) {
+ R.id.rb_normal -> showCurrentMode(ConfigMode.NORMAL)
+ R.id.rb_normal_fix -> showCurrentMode(ConfigMode.NORMAL_FIX)
+ R.id.rb_hot_mode -> showCurrentMode(ConfigMode.HOT_KEY)
+ R.id.rb_period_fix_mode -> showCurrentMode(ConfigMode.PERIOD_FIX)
+ }
}
- }
+ rbNormalMode = this.findViewById<RadioButton>(R.id.rb_normal)
+ rbFixMode = this.findViewById<RadioButton>(R.id.rb_normal_fix)
rbPeriodMode = this.findViewById<RadioButton>(R.id.rb_period_fix_mode)
rbHotkeyMode = this.findViewById<RadioButton>(R.id.rb_hot_mode)
@@ -141,7 +161,8 @@
var temp = item.findViewById<TextView>(R.id.tv_hot_key)
record.key = Integer.parseInt(temp.text.toString())
temp = item.findViewById<EditText>(R.id.tv_hot_amount)
- record.amount = CommonUtil.YuanToFen(java.lang.Double.parseDouble(CommonUtil.getEditView(temp)))
+ record.amount =
+ CommonUtil.YuanToFen(java.lang.Double.parseDouble(CommonUtil.getEditView(temp)))
list.add(record)
}
pos.replaceControlPara(PublicDef.CONTROL_FIXAMT, PayMode.HOTKEY.desc)
@@ -157,10 +178,12 @@
for (loop in 0 until llSpecialList.childCount) {
val record = PeriodFixPayRecord()
val item = llSpecialList.getChildAt(loop)
- record.beginTime = CommonUtil.getEditView(item.findViewById<EditText>(R.id.tv_period_start))
+ record.beginTime =
+ CommonUtil.getEditView(item.findViewById<EditText>(R.id.tv_period_start))
record.endTime = CommonUtil.getEditView(item.findViewById<EditText>(R.id.tv_period_end))
val temp = item.findViewById<EditText>(R.id.tv_amount)
- record.amount = CommonUtil.YuanToFen(java.lang.Double.parseDouble(CommonUtil.getEditView(temp)))
+ record.amount =
+ CommonUtil.YuanToFen(java.lang.Double.parseDouble(CommonUtil.getEditView(temp)))
if (TextUtils.isEmpty(record.beginTime) || TextUtils.isEmpty(record.endTime)) {
SWToast.show(applicationContext, "时间段不为空", PublicDef.TOAST_SHOW_CRY)
return false
@@ -257,7 +280,6 @@
when (mode) {
ConfigMode.HOT_KEY -> {
specialMode = true
- rgSpecialMode.visibility = View.VISIBLE
rbHotkeyMode.isChecked = true
llFixMode.visibility = View.GONE
llSpecialMode.visibility = View.VISIBLE
@@ -267,14 +289,19 @@
ConfigMode.PERIOD_FIX -> {
specialMode = true
rbPeriodMode.isChecked = true
- rgSpecialMode.visibility = View.VISIBLE
llFixMode.visibility = View.GONE
llSpecialMode.visibility = View.VISIBLE
vSpecialDesc.text = "设置波段定额(单位:元)"
loadPeriodFixRule()
}
+ ConfigMode.NORMAL_FIX -> {
+ specialMode = false
+ rbFixMode.isChecked = true
+ llSpecialMode.visibility = View.GONE
+ llFixMode.visibility = View.VISIBLE
+ }
else -> {
- rgSpecialMode.visibility = View.GONE
+ rbNormalMode.isChecked = true
llSpecialMode.visibility = View.GONE
llFixMode.visibility = View.VISIBLE
specialMode = false
@@ -300,12 +327,18 @@
shoppwdPass = true
refreshToSetAmount()
} else {
- AuxScreenController.getInstance().refreshContent(Arrays.asList<String>("请输入商户密码:", "密码错误"))
+ AuxScreenController.getInstance()
+ .refreshContent(Arrays.asList<String>("请输入商户密码:", "密码错误"))
}
tmpPwd = ""
} else {
AuxScreenController.getInstance()
- .refreshContent(Arrays.asList("请输入商户密码:", CommonUtil.getPasswordStar(tmpPwd.length)))
+ .refreshContent(
+ Arrays.asList(
+ "请输入商户密码:",
+ CommonUtil.getPasswordStar(tmpPwd.length)
+ )
+ )
}
}
KeyEvent.KEYCODE_DEL -> {
@@ -315,12 +348,22 @@
len == 1 -> {
tmpPwd = ""
AuxScreenController.getInstance()
- .refreshContent(Arrays.asList("请输入商户密码:", CommonUtil.getPasswordStar(tmpPwd.length)))
+ .refreshContent(
+ Arrays.asList(
+ "请输入商户密码:",
+ CommonUtil.getPasswordStar(tmpPwd.length)
+ )
+ )
}
len > 1 -> {
tmpPwd = tmpPwd.substring(0, len - 1)
AuxScreenController.getInstance()
- .refreshContent(Arrays.asList("请输入商户密码:", CommonUtil.getPasswordStar(tmpPwd.length)))
+ .refreshContent(
+ Arrays.asList(
+ "请输入商户密码:",
+ CommonUtil.getPasswordStar(tmpPwd.length)
+ )
+ )
}
else -> finish()
}
@@ -353,7 +396,8 @@
KeyEvent.KEYCODE_PERIOD -> addDotToEdit()
KeyEvent.KEYCODE_ENTER -> {
pos.replaceControlPara(PublicDef.CONTROL_FIXAMT, getFixAmount())
- jumpActivity(MenuActivity::class.java)
+// jumpActivity(MenuActivity::class.java)
+ finish()
}
KeyEvent.KEYCODE_DPAD_LEFT -> {
//F1
@@ -379,14 +423,19 @@
}
PayMode.HOTKEY.desc == it.paraval -> {
showCurrentMode(ConfigMode.HOT_KEY)
- AuxScreenController.getInstance().refreshContent(Arrays.asList<String>("请到大屏设置"))
+ AuxScreenController.getInstance()
+ .refreshContent(Arrays.asList<String>("请到大屏设置"))
return
}
PayMode.PERIODFIX.desc == it.paraval -> {
showCurrentMode(ConfigMode.PERIOD_FIX)
- AuxScreenController.getInstance().refreshContent(Arrays.asList<String>("请到大屏设置"))
+ AuxScreenController.getInstance()
+ .refreshContent(Arrays.asList<String>("请到大屏设置"))
return
}
+ PayMode.NORMAL.desc == it.paraval -> {
+
+ }
}
} ?: screenShowAmt()
}
@@ -468,7 +517,10 @@
counter!!.start()
}
- private inner class ContinuePressTimer internal constructor(millisInFuture: Long, countDownInterval: Long) :
+ private inner class ContinuePressTimer internal constructor(
+ millisInFuture: Long,
+ countDownInterval: Long
+ ) :
CountDownTimer(millisInFuture, countDownInterval) {
override fun onTick(millisUntilFinished: Long) {
@@ -482,6 +534,7 @@
}
enum class ConfigMode {
+ NORMAL,
NORMAL_FIX,
HOT_KEY,
PERIOD_FIX,
diff --git a/app/src/main/res/layout/activity_consume_mode.xml b/app/src/main/res/layout/activity_consume_mode.xml
index befd0cf..84fae2b 100644
--- a/app/src/main/res/layout/activity_consume_mode.xml
+++ b/app/src/main/res/layout/activity_consume_mode.xml
@@ -1,47 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- style="@style/head_title_out_style">
+ style="@style/head_title_out_style">
<LinearLayout style="@style/head_title_inner_style">
<TextView
style="@style/head_title_text_style"
- android:text="消费模式"/>
+ android:text="消费模式" />
+
<RadioGroup
android:id="@+id/rg_special_mode"
- android:visibility="gone"
- android:layout_height="wrap_content"
- android:weightSum="2"
android:layout_width="match_parent"
- android:orientation="horizontal">
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="visible">
+
+ <RadioButton
+ android:id="@+id/rb_normal"
+ style="@style/consume_mode_rb_style"
+ android:text="普通消费" />
+
+ <RadioButton
+ android:id="@+id/rb_normal_fix"
+ style="@style/consume_mode_rb_style"
+ android:text="定额消费" />
+
<RadioButton
android:id="@+id/rb_hot_mode"
- android:text="按键便捷消费"
- style="@style/consume_mode_rb_style"/>
+ style="@style/consume_mode_rb_style"
+ android:text="按键便捷消费" />
+
<RadioButton
android:id="@+id/rb_period_fix_mode"
- android:text="波段定额消费"
- style="@style/consume_mode_rb_style"/>
+ style="@style/consume_mode_rb_style"
+ android:text="波段定额消费" />
</RadioGroup>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="horizontal"
+ android:padding="10dp">
+
+ <TextView
+ android:id="@+id/tv_return"
+ style="@style/consume_mode_save_style"
+ android:text="返回" />
+
+ <TextView
+ android:id="@+id/tv_save"
+ style="@style/consume_mode_save_style"
+ android:layout_marginStart="80dp"
+ android:text="保存" />
+
+ <TextView
+ android:id="@+id/tv_hot_add"
+ style="@style/consume_mode_save_style"
+ android:layout_marginStart="80dp"
+ android:text="添加" />
+ </LinearLayout>
+
<LinearLayout
android:id="@+id/ll_fix_mode"
- android:visibility="gone"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:visibility="gone">
+
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="普通消费(none)"
android:textColor="@color/light_blue2"
- android:textSize="20sp"/>
+ android:textSize="20sp" />
+
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="定额消费(单位:元)"
android:textColor="@color/light_blue2"
- android:textSize="20sp"/>
+ android:textSize="20sp" />
<LinearLayout
android:layout_width="match_parent"
@@ -53,7 +93,7 @@
android:layout_height="wrap_content"
android:text="金额: "
android:textColor="@color/light_blue2"
- android:textSize="30sp"/>
+ android:textSize="30sp" />
<TextView
android:id="@+id/tv_consume_mode_payamt"
@@ -62,63 +102,31 @@
android:maxLength="8"
android:text="0"
android:textColor="@color/light_blue2"
- android:textSize="30sp"/>
+ android:textSize="30sp" />
</LinearLayout>
</LinearLayout>
+
<LinearLayout
android:id="@+id/ll_hot_mode"
- android:orientation="vertical"
- android:padding="10dp"
android:layout_width="match_parent"
- android:layout_height="match_parent">
- <LinearLayout
- android:orientation="horizontal"
- android:gravity="center"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <TextView
- android:id="@+id/tv_return"
- android:textSize="25sp"
- android:text="返回"
- android:background="@drawable/corner_bg_blue"
- android:padding="10dp"
- android:textColor="@color/white"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
- <TextView
- android:id="@+id/tv_hot_save"
- android:textSize="25sp"
- android:layout_marginStart="50dp"
- android:text="保存"
- android:background="@drawable/corner_bg_blue"
- android:padding="10dp"
- android:textColor="@color/white"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
- <TextView
- android:id="@+id/tv_hot_add"
- android:textSize="25sp"
- android:text="添加"
- android:layout_marginStart="50dp"
- android:background="@drawable/corner_bg_blue"
- android:padding="10dp"
- android:textColor="@color/white"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
- </LinearLayout>
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="10dp">
+
<TextView
android:id="@+id/tv_special_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="快捷消费(单位:元)"
android:layout_marginTop="10dp"
+ android:text="快捷消费(单位:元)"
android:textColor="@color/light_blue2"
- android:textSize="20sp"/>
+ android:textSize="20sp" />
+
<LinearLayout
android:id="@+id/ll_special_list"
android:layout_width="match_parent"
- android:orientation="vertical"
- android:layout_height="match_parent"/>
+ android:layout_height="match_parent"
+ android:orientation="vertical" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index a1088c5..1133656 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -428,11 +428,20 @@
</style>
<style name="consume_mode_rb_style">
<item name="android:layout_height">wrap_content</item>
- <item name="android:layout_width">0dp</item>
- <item name="android:layout_weight">1</item>
+ <item name="android:layout_width">match_parent</item>
<item name="android:textSize">25sp</item>
+ <item name="android:textStyle">bold</item>
<item name="android:textColor">@color/light_blue2</item>
</style>
+ <style name="consume_mode_save_style">
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:background">@drawable/corner_bg_blue</item>
+ <item name="android:padding">10dp</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:textSize">30sp</item>
+ <item name="android:textColor">@color/white</item>
+ </style>
<style name="consume_pay_way_text_style">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>