소스 검색

fix 日志优化+支付成功页面不能后退

RobinTan1024 4 년 전
부모
커밋
171f727360

+ 1 - 4
app/src/main/java/com/doverfuelingsolutions/issp/fusion/FusionManager.kt

@@ -258,13 +258,10 @@ object FusionManager : LifecycleObserver, OnFdcClientStateChangedListener,
     suspend fun lockOrder(pumpId: Int, transactionNo: String, token: Int, lock: Boolean) = suspendCoroutine<DFSResult<Boolean>> {
         ThreadUtil.io {
             val callback = OnFdcServiceResponseReceivedListener { _, response ->
-                val actionText = "${if (lock) "lock" else "unlock"} order[$pumpId-$transactionNo-$token]"
                 if (response != null && response.singleDeviceClass != null && response.overallResult.equals("Success", true)) {
-                    DFSLog.i("$actionText succeed")
                     it.resume(DFSResult.success(true))
                 } else {
-                    DFSLog.e("$actionText failed", response)
-                    it.resume(DFSResult.fail(response?.overallResult ?: actionText))
+                    it.resume(DFSResult.fail(response?.overallResult ?: StringUtil.get(R.string.fail_operate)))
                 }
             }
             if (lock) {

+ 6 - 4
app/src/main/java/com/doverfuelingsolutions/issp/view/MainActivity.kt

@@ -13,7 +13,6 @@ import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.lifecycleScope
 import com.doverfuelingsolutions.issp.R
-import com.doverfuelingsolutions.issp.api.SystemApi
 import com.doverfuelingsolutions.issp.data.GlobalData
 import com.doverfuelingsolutions.issp.databinding.ActivityMainBinding
 import com.doverfuelingsolutions.issp.fusion.FusionError
@@ -28,7 +27,6 @@ import com.doverfuelingsolutions.issp.view.fragment.FragmentSelect
 import com.wayne.www.waynelib.fdc.FdcClient
 import com.youth.banner.adapter.BannerImageAdapter
 import com.youth.banner.holder.BannerImageHolder
-import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
 import java.io.File
 
@@ -50,7 +48,7 @@ class MainActivity : AppCompatActivity(),
     }
     private val mainViewModel: MainViewModel by viewModels()
 
-    private var isFragmentHoldBack = true
+    private var isBlockBackPress = false
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -98,7 +96,7 @@ class MainActivity : AppCompatActivity(),
     }
 
     override fun onBackPressed() {
-        if (isFragmentHoldBack) super.onBackPressed()
+        if (!isBlockBackPress) super.onBackPressed()
     }
 
     override fun onLongClick(v: View?): Boolean {
@@ -199,6 +197,10 @@ class MainActivity : AppCompatActivity(),
         finish()
     }
 
+    fun blockBackPress(isBlock: Boolean) {
+        isBlockBackPress = isBlock
+    }
+
     class MainViewModel : ViewModel() {
         val stationName = MutableLiveData("")
     }

+ 7 - 0
app/src/main/java/com/doverfuelingsolutions/issp/view/fragment/FragmentPayResult.kt

@@ -39,8 +39,10 @@ class FragmentPayResult private constructor(
         super.onCreate(savedInstanceState)
 
         lifecycle.addObserver(printManager)
+        (activity as MainActivity).blockBackPress(true)
     }
 
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
@@ -56,6 +58,11 @@ class FragmentPayResult private constructor(
         return binding.root
     }
 
+    override fun onDestroy() {
+        super.onDestroy()
+        (activity as MainActivity).blockBackPress(false)
+    }
+
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 

+ 1 - 4
app/src/main/java/com/doverfuelingsolutions/issp/view/fragment/FragmentSelect.kt

@@ -1,6 +1,5 @@
 package com.doverfuelingsolutions.issp.view.fragment
 
-import android.content.Context
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
@@ -8,7 +7,6 @@ import android.view.ViewGroup
 import androidx.databinding.DataBindingUtil
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
-import androidx.lifecycle.LifecycleObserver
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.lifecycleScope
@@ -87,11 +85,10 @@ class FragmentSelect : Fragment(),
     // TODO 当本地未处理订单无法按预期处理时(如本地锁的单,但在服务器上被其他渠道解锁了,造成解锁失败;消单同理;)
     /* 未处理的订单 */
     private fun handleUnsolvedOrder() {
-        DFSLog.i("try handle all locked, uncleared orders created by this device")
         GlobalScope.launch(Dispatchers.IO) {
             val lockList = SPUtil.getLockOrderList()
             val unclearedList = SPUtil.getUnclearedOrderList()
-            DFSLog.d("size of locked orders: ${lockList.size}, uncleared orders: ${unclearedList.size}")
+            DFSLog.i("try handle orders triggered by this device: locked ${lockList.size}, uncleared ${unclearedList.size}")
             // 解锁订单
             lockList.let { list ->
                 if (list.isEmpty()) return@let

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -25,6 +25,7 @@
 
     <string name="fail_behave_reason">%1$s失败:%2$s</string>
 
+    <string name="fail_operate">操作失败</string>
     <string name="in_login">登录中&#8230;</string>
     <string name="in_loading">加载中&#8230;</string>
     <string name="login_fail_reason">登录失败:%1$s</string>