|
@@ -22,7 +22,9 @@ import com.doverfuelingsolutions.issp.fusion.callback.OnFusionStatus
|
|
|
import com.doverfuelingsolutions.issp.utils.DFSToastUtil
|
|
|
import com.doverfuelingsolutions.issp.utils.WindowUtil
|
|
|
import com.doverfuelingsolutions.issp.utils.log.DFSLog
|
|
|
+import com.doverfuelingsolutions.issp.utils.sp.SPKeys
|
|
|
import com.doverfuelingsolutions.issp.utils.sp.SPUtil
|
|
|
+import com.doverfuelingsolutions.issp.view.fragment.FragmentNozzle
|
|
|
import com.doverfuelingsolutions.issp.view.fragment.FragmentReconnect
|
|
|
import com.doverfuelingsolutions.issp.view.fragment.router.FragmentRouter
|
|
|
import com.doverfuelingsolutions.issp.view.fragment.FragmentSelect
|
|
@@ -104,15 +106,14 @@ class MainActivity : AppCompatActivity(),
|
|
|
when (requestCode) {
|
|
|
PreferenceActivity.codeRequestResult -> {
|
|
|
data?.let {
|
|
|
- val isMiddleModified =
|
|
|
- it.getBooleanExtra(PreferenceActivity.isMiddleModified, false)
|
|
|
- val isFuelModified =
|
|
|
- it.getBooleanExtra(PreferenceActivity.isFuelModified, false)
|
|
|
- if (!isFuelModified && !isMiddleModified) return@let
|
|
|
+ val isMiddleModified = it.getBooleanExtra(PreferenceActivity.isMiddleModified, false)
|
|
|
+ val isFuelModified = it.getBooleanExtra(PreferenceActivity.isFuelModified, false)
|
|
|
+ val isChooseOrderTypeModified = it.getBooleanExtra(PreferenceActivity.isChooseOrderTypeModified, false)
|
|
|
|
|
|
if (isMiddleModified || FusionManager.stateFusion != FdcClient.FdcClientState.Connected) {
|
|
|
setFusionLinkingLoading()
|
|
|
FusionManager.restart(true)
|
|
|
+ return@let
|
|
|
} else if (isFuelModified && FusionManager.stateFusion == FdcClient.FdcClientState.Connected) {
|
|
|
val dialog = LoadingDialogBuilder(this@MainActivity)
|
|
|
.setLoadingText(R.string.in_get_fuel)
|
|
@@ -123,8 +124,14 @@ class MainActivity : AppCompatActivity(),
|
|
|
DFSToastUtil.success(R.string.get_fuel_success)
|
|
|
} else {
|
|
|
DFSToastUtil.fail(R.string.get_fuel_failed)
|
|
|
+ onFusionStatus(FusionStatus.ConnectedWithoutInfo)
|
|
|
+ return@let
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (isChooseOrderTypeModified) {
|
|
|
+ initFragmentEntry()
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -178,15 +185,14 @@ class MainActivity : AppCompatActivity(),
|
|
|
setFusionLinkingLoading()
|
|
|
}
|
|
|
FusionStatus.Connected -> {
|
|
|
- // TODO 直接油枪模式
|
|
|
DFSToastUtil.success(R.string.connect_fusion_success)
|
|
|
- fragmentRouter.push(FragmentSelect())
|
|
|
+ initFragmentEntry()
|
|
|
}
|
|
|
FusionStatus.ConnectedWithoutInfo -> {
|
|
|
DFSToastUtil.fail(R.string.get_fuel_failed)
|
|
|
fragmentRouter.push(FragmentReconnect.build {
|
|
|
DFSToastUtil.success(R.string.get_fuel_success)
|
|
|
- fragmentRouter.push(FragmentSelect())
|
|
|
+ initFragmentEntry()
|
|
|
})
|
|
|
}
|
|
|
FusionStatus.Disconnected -> {
|
|
@@ -256,6 +262,16 @@ class MainActivity : AppCompatActivity(),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private fun initFragmentEntry() {
|
|
|
+ fragmentRouter.setHomeFragment(
|
|
|
+ if (SPUtil.getString(SPKeys.ORDER_CHOOSE) == "nozzle") {
|
|
|
+ FragmentNozzle.build(FusionManager.pumpList)
|
|
|
+ } else {
|
|
|
+ FragmentSelect()
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
// TODO 当本地未处理订单无法按预期处理时(如本地锁的单,但在服务器上被其他渠道解锁了,造成解锁失败;消单同理;)
|
|
|
private fun handleUnsolvedOrder() {
|
|
|
GlobalScope.launch(Dispatchers.IO) {
|