From d773ab0295feba24ae4fc14f61e8aa310e40f4ba Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期五, 06 六月 2025 16:55:57 +0800
Subject: [PATCH] refactor(nfc): 优化写卡流程和状态更新
---
generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt | 43 +++++++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt
index e589145..87af8d5 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt
@@ -1,7 +1,10 @@
package com.dayu.general.activity
+import android.content.Intent
import android.os.Bundle
+import android.view.KeyEvent
import android.view.LayoutInflater
+import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import com.dayu.baselibrary.net.subscribers.SubscriberListener
@@ -9,16 +12,17 @@
import com.dayu.general.BaseApplication
import com.dayu.general.R
import com.dayu.general.adapter.TabAdapter
-import com.dayu.general.bean.net.LoginResult
import com.dayu.general.bean.net.UserInfoResult
import com.dayu.general.databinding.ActivityMainBinding
import com.dayu.general.net.ApiManager
import com.dayu.general.net.BaseResponse
-class MainActivity : BaseActivity() {
+class MainActivity : BaseNfcActivity() {
var binding: ActivityMainBinding? = null
private val fragments: ArrayList<Fragment> = ArrayList()
+ var mExitTime: Long = 0
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(LayoutInflater.from(this))
@@ -26,7 +30,19 @@
setupFragments()
initView()
initTab()
- getUserInfo();
+ getUserInfo()
+ }
+
+ override fun onNfcBack(intent: Intent) {
+ intent.let { nfcIntent ->
+ // 鑾峰彇褰撳墠鏄剧ず鐨凢ragment
+ val currentFragment = fragments[binding?.viewPager?.currentItem ?: 0]
+
+ // 濡傛灉褰撳墠鏄剧ず鐨勬槸鍏呭�糉ragment锛屽垯灏哊FC淇℃伅浼犻�掔粰瀹冨鐞�
+ if (currentFragment is RechargeFragment) {
+ currentFragment.handleNfcIntent(nfcIntent)
+ }
+ }
}
@@ -59,9 +75,9 @@
private fun initView() {
- binding!!.BSCardLL.setOnClickListener { v -> changeBottomState(Tab.BSC) }
- binding!!.rechargeLL.setOnClickListener { v -> changeBottomState(Tab.RECHARGE) }
- binding!!.myLL.setOnClickListener { v -> changeBottomState(Tab.MY) }
+ binding!!.BSCardLL.setOnClickListener { changeBottomState(Tab.BSC) }
+ binding!!.myLL.setOnClickListener { changeBottomState(Tab.MY) }
+ binding!!.rechargeLL.setOnClickListener { changeBottomState(Tab.RECHARGE) }
}
@@ -149,4 +165,19 @@
}
}
}
+
+ //鐐瑰嚮涓ゆ閫�鍑虹▼搴� 鏈夋椂闂撮棿闅� 闂撮殧鍐呯偣鍑诲垯閫�鍑虹▼搴� 鍚﹀垯 鍒欐彁绀�
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if ((System.currentTimeMillis() - mExitTime) > 2000) {
+ Toast.makeText(this@MainActivity, "鍐嶆寜涓�娆¢��鍑虹▼搴�", Toast.LENGTH_SHORT)
+ .show()
+ mExitTime = System.currentTimeMillis()
+ } else {
+ this@MainActivity.finish()
+ }
+ return true
+ }
+ return super.onKeyDown(keyCode, event)
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0