Przeglądaj źródła

1、新增自定义端口设置
2、修复nayax的优惠码问题
3、修复购物车商品对不上问题

ccc 16 godzin temu
rodzic
commit
9c88a691cf
58 zmienionych plików z 467 dodań i 50 usunięć
  1. 1 0
      BaseLibrary/src/main/java/com/hboxs/base_library/constant/Name.java
  2. BIN
      BaseLibrary/src/main/res/drawable/icon_icecream.png
  3. 2 1
      app/src/main/AndroidManifest.xml
  4. 4 1
      app/src/main/java/com/bgy/autosale/RemoteSupportService.java
  5. 24 14
      app/src/main/java/com/bgy/autosale/ui/consumer/IceCreamFragment.java
  6. 2 2
      app/src/main/java/com/bgy/autosale/ui/consumer/MainFragment.java
  7. 77 0
      app/src/main/java/com/bgy/autosale/ui/operator/GeneralSettingActivity.java
  8. 14 0
      app/src/main/java/com/bgy/autosale/ui/operator/fragments/OtherSettingFragment.java
  9. 1 1
      app/src/main/java/com/bgy/autosale/ui/widget/BatchingView.java
  10. 205 0
      app/src/main/res/layout/activity_system_general_setting.xml
  11. 1 0
      app/src/main/res/values-aa/strings.xml
  12. 1 0
      app/src/main/res/values-ab/strings.xml
  13. 1 0
      app/src/main/res/values-ak/strings.xml
  14. 1 0
      app/src/main/res/values-am/strings.xml
  15. 1 0
      app/src/main/res/values-ar/strings.xml
  16. 1 0
      app/src/main/res/values-ba/strings.xml
  17. 1 0
      app/src/main/res/values-bg/strings.xml
  18. 1 0
      app/src/main/res/values-cs/strings.xml
  19. 1 0
      app/src/main/res/values-da/strings.xml
  20. 1 0
      app/src/main/res/values-de/strings.xml
  21. 2 1
      app/src/main/res/values-en/strings.xml
  22. 1 0
      app/src/main/res/values-es/strings.xml
  23. 1 0
      app/src/main/res/values-et/strings.xml
  24. 1 0
      app/src/main/res/values-fi/strings.xml
  25. 1 0
      app/src/main/res/values-fr/strings.xml
  26. 1 0
      app/src/main/res/values-hu/strings.xml
  27. 1 0
      app/src/main/res/values-hy/strings.xml
  28. 2 0
      app/src/main/res/values-in/strings.xml
  29. 1 0
      app/src/main/res/values-it/strings.xml
  30. 1 0
      app/src/main/res/values-ja/strings.xml
  31. 1 0
      app/src/main/res/values-ka/strings.xml
  32. 1 0
      app/src/main/res/values-kk/strings.xml
  33. 1 0
      app/src/main/res/values-ko/strings.xml
  34. 1 0
      app/src/main/res/values-lt/strings.xml
  35. 1 0
      app/src/main/res/values-lv/strings.xml
  36. 1 0
      app/src/main/res/values-mn/strings.xml
  37. 1 0
      app/src/main/res/values-ms/strings.xml
  38. 1 0
      app/src/main/res/values-nl/strings.xml
  39. 1 0
      app/src/main/res/values-no/strings.xml
  40. 1 0
      app/src/main/res/values-pl/strings.xml
  41. 1 0
      app/src/main/res/values-pt/strings.xml
  42. 1 0
      app/src/main/res/values-ro/strings.xml
  43. 1 0
      app/src/main/res/values-ru/strings.xml
  44. 1 0
      app/src/main/res/values-sk/strings.xml
  45. 1 0
      app/src/main/res/values-sq/strings.xml
  46. 1 0
      app/src/main/res/values-sr/strings.xml
  47. 1 0
      app/src/main/res/values-sv/strings.xml
  48. 1 0
      app/src/main/res/values-th/strings.xml
  49. 1 0
      app/src/main/res/values-tr/strings.xml
  50. 1 0
      app/src/main/res/values-uk/strings.xml
  51. 4 1
      app/src/main/res/values-vi/strings.xml
  52. 1 1
      app/src/main/res/values-zh/strings.xml
  53. 1 0
      app/src/main/res/values/strings.xml
  54. 1 1
      config.gradle
  55. 23 23
      module_offpay/src/main/java/com/example/FaPiaoUtils.java
  56. 42 0
      module_offpay/src/main/java/com/example/offpay/event/IctMessageEvent.java
  57. 8 3
      module_offpay/src/main/java/com/example/offpay/ictrs232/IctSerialPortUtil.java
  58. 15 1
      module_offpay/src/main/java/com/example/offpay/service/OfflinePayService.java

+ 1 - 0
BaseLibrary/src/main/java/com/hboxs/base_library/constant/Name.java

@@ -362,6 +362,7 @@ public interface Name {
     String MATERIEL_PARAM = "materiel_param";//物料剩余
     String MATERIEL = "materiel";//物料功能
     String MEMBER_CODE = "materiel_code";//美国代理会员码输入
+    String YANLONG_PORT = "yanlong_port";//研龙MDB板的通讯地址
 
 }
 

BIN
BaseLibrary/src/main/res/drawable/icon_icecream.png


+ 2 - 1
app/src/main/AndroidManifest.xml

@@ -39,7 +39,7 @@
     <application
         android:allowBackup="true"
         android:fullBackupContent="@xml/backup_rules"
-        android:icon="@mipmap/ic_launcher"
+        android:icon="@drawable/icon_icecream"
         android:label="@string/app_name"
         android:networkSecurityConfig="@xml/network_security_config"
         android:roundIcon="@mipmap/ic_launcher_round"
@@ -72,6 +72,7 @@
         <activity android:name=".ui.operator.LanguageActivity" />
         <activity android:name=".ui.operator.OtherParamActivity" />
         <activity android:name=".ui.operator.OtherMaterielActivity" />
+        <activity android:name=".ui.operator.GeneralSettingActivity" />
 
         <activity
             android:name=".ui.operator.DeviceManagerActivity"

+ 4 - 1
app/src/main/java/com/bgy/autosale/RemoteSupportService.java

@@ -35,6 +35,7 @@ import com.bgy.autosale.ui.operator.fragments.PriceFragment;
 import com.bgy.autosale.utils.SPUtils;
 import com.bgy.autosale.utils.ShellUtils;
 import com.example.offpay.event.OfflineMessageEvent;
+import com.example.offpay.ictrs232.IctSerialPortUtil;
 import com.example.offpay.ictrs232.SerialPortUtil;
 import com.example.offpay.wmdb.WeaverUtil;
 import com.example.spunsugar.db.UpCoinOrderBeanDao;
@@ -797,9 +798,11 @@ public class RemoteSupportService extends Service implements SendCallback {
         } else {
             if (Name.WMDB.equals(Hawk.get(Name.NOTE_COMMUNICATION, Name.WMDB))) {
                 WeaverUtil.billValidatorSetUp();
+                if (Hawk.get(Name.ICTBILL_MDBCARD,false)){
+                    IctSerialPortUtil.getSerialPortUtil().sendSerialPort("3E");
+                }
             } else if (Name.ICT.equals(Hawk.get(Name.NOTE_COMMUNICATION, Name.WMDB))) {
                 SerialPortUtil.getSerialPortUtil().sendSerialPort("3E");
-
             }
             LogUtils.logWrite("开启:" + (Name.ICT.equals(Hawk.get(Name.NOTE_COMMUNICATION, Name.WMDB))));
             //唤醒

+ 24 - 14
app/src/main/java/com/bgy/autosale/ui/consumer/IceCreamFragment.java

@@ -522,6 +522,13 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
     }
 
     private void showNayaxCreditCard() {
+        double coin = pri;
+        Log.d(TAG, "showNayaxCreditCard: "+pri);
+        if (coin <= 0) {
+            LogUtils.logWrite("Nayax免费制作");
+            showDialogPaySuccess(R.string.pay_success, R.drawable.img_toubi_pay);
+            return;
+        }
         //用于做数据统计的。
         //是否通信成功,如果通信不成功,那麽就试着再通信一次。
         if (mCreditCardPresenter != null) {
@@ -564,15 +571,19 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
     private String str1 = "01030001000295CB";//
     private double readCoin = 0;
     private Handler mHandler = new Handler();
+    private Boolean isPayNow =true;
     private Runnable mRunnable = new Runnable() {
         @Override
         public void run() {
-            try {
-                MainActivity.openSerialPortA().addCommands(str1);
-                // 每隔500毫秒后再次执行
-                mHandler.postDelayed(this, 500);
-            } catch (Exception e) {
+            if (isPayNow) {
+                try {
+                    MainActivity.openSerialPortA().addCommands(str1);
+                    Log.d("ICT纸币器功能测试", "run:发送研龙mdb查询指令 ");
+                    // 每隔1秒后再次执行一次查询已投金额
+                    mHandler.postDelayed(this, 1000);
+                } catch (Exception e) {
 
+                }
             }
         }
     };
@@ -589,7 +600,6 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
                 @Override
                 public void onReceiveData(SphCmdEntity data) {
                     if (data.commandsHex != null) {
-                        LogUtils.logWrite("MDB_COIN2:" + data.commandsHex);
                         if (data.commandsHex.startsWith("010304") && data.commandsHex.length() >= 10) {
                             String result = data.commandsHex.substring(6, 10);
                             double coin = Integer.parseInt(result, 16) / 100.00;
@@ -637,6 +647,7 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
         closeAllDialog();
         removeFinish();
         mHandler.removeCallbacks(mRunnable);
+        isPayNow=false;
         UISoundHelper.getInstance().playSelectFlavor(false);
         EventBus.getDefault().unregister(this);
         InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(INPUT_METHOD_SERVICE);
@@ -705,7 +716,6 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
                 Log.d(TAG, "无购物车测试orderHelperonClick:1 " + orderHelper.getOrderList());
                 Log.d(TAG, "无购物车测试orderHelperonClick:2 " + currentDish);
             }
-
         } else if (id == R.id.dishes_sauce_1) {
             selectSauce(0);
         } else if (id == R.id.dishes_sauce_2) {
@@ -1072,13 +1082,13 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
             }
         }
 
-        // 添加果碎的动效和视觉图
-        int selectCount = 0;
-        for (View v : kernelViews) {
-            if (v.isSelected()) {
-                selectCount++;
-            }
-        }
+//        // 添加果碎的动效和视觉图
+//        int selectCount = 0;
+//        for (View v : kernelViews) {
+//            if (v.isSelected()) {
+//                selectCount++;
+//            }
+//        }
         // 添加果碎的动效和视觉图
         if (batchingView.isSelected()) {
             AppCompatImageView effectView = kernelEffectViews[position];

+ 2 - 2
app/src/main/java/com/bgy/autosale/ui/consumer/MainFragment.java

@@ -368,7 +368,7 @@ public class MainFragment extends BaseFragment implements RadarCallback {
         SpecCategoryBean kernelCategory = new SpecCategoryBean();
         kernelCategory.code = DishesBean.SPEC_CATEGORY_KERNEL;
         kernelCategory.name = getString(R.string.flavor_kernel);
-        kernelCategory.specBeans = new ArrayList<>(3);
+        kernelCategory.specBeans = new ArrayList<>(2);
         SpecBean peanut = new SpecBean();
         peanut.init("4", 1,
                 instance.getString(PriceFragment.SHARED_PREFERENCE_NAME_KERNEL_1, getString(R.string.peanut)),
@@ -443,7 +443,7 @@ public class MainFragment extends BaseFragment implements RadarCallback {
         SpecCategoryBean kernelCategory = new SpecCategoryBean();
         kernelCategory.code = DishesBean.SPEC_CATEGORY_KERNEL;
         kernelCategory.name = getString(R.string.flavor_kernel);
-        kernelCategory.specBeans = new ArrayList<>(3);
+        kernelCategory.specBeans = new ArrayList<>(2);
         SpecBean peanut = new SpecBean();
         peanut.init("4", 1,
                 instance.getString(PriceFragment.SHARED_PREFERENCE_NAME_KERNEL_1, getString(R.string.peanut)),

+ 77 - 0
app/src/main/java/com/bgy/autosale/ui/operator/GeneralSettingActivity.java

@@ -0,0 +1,77 @@
+package com.bgy.autosale.ui.operator;
+
+import android.os.Build;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.View;
+import android.widget.EditText;
+
+import com.bgy.autosale.App;
+import com.bgy.autosale.R;
+import com.bgy.autosale.ui.base.BaseScanGunActivity;
+import com.hboxs.base_library.constant.Name;
+import com.hboxs.base_library.util.UiUtil;
+import com.orhanobut.hawk.Hawk;
+
+/**
+ * Created by cjx on 2020-09-08
+ * 说明:
+ */
+public class GeneralSettingActivity extends BaseScanGunActivity implements View.OnClickListener {
+
+    private static final String TAG = "SnSettingActivity";
+    private EditText etNayaxPort;
+    private EditText etMdbPort;
+    private EditText etYanlongPort;
+    private EditText etIctPort;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
+            getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
+        }
+        setContentView(R.layout.activity_system_general_setting);
+        etNayaxPort = findViewById(R.id.et_nayax_port);
+        etMdbPort = findViewById(R.id.et_mdb_port);
+        etYanlongPort = findViewById(R.id.et_yanlong_port);
+        etIctPort = findViewById(R.id.et_ict_port);
+
+        etNayaxPort.setText(Hawk.get(Name.OXSERIALPORT, "ttyS1"));
+        etMdbPort.setText(Hawk.get(Name.MDBSERIALPORT, "ttyS3"));
+        etYanlongPort.setText(Hawk.get(Name.YANLONG_PORT, "ttyS2"));
+        etIctPort.setText(Hawk.get(Name.ICTSERIALPORT, "ttyS4"));
+
+        findViewById(R.id.setting_back).setOnClickListener(this);
+        findViewById(R.id.nayax_port_save).setOnClickListener(this);
+        findViewById(R.id.mdb_port_save).setOnClickListener(this);
+        findViewById(R.id.yanlong_port_save).setOnClickListener(this);
+        findViewById(R.id.ict_port_save).setOnClickListener(this);
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.setting_back) {
+            finish();
+        } else if (id == R.id.nayax_port_save) {
+            Hawk.put(Name.OXSERIALPORT, etNayaxPort.getText().toString());
+            showToast(getString(R.string.modified_success));
+        } else if (id == R.id.mdb_port_save) {
+            Hawk.put(Name.MDBSERIALPORT, etMdbPort.getText().toString());
+            showToast(getString(R.string.modified_success));
+        } else if (id == R.id.yanlong_port_save) {
+            Hawk.put(Name.YANLONG_PORT, etYanlongPort.getText().toString());
+            showToast(getString(R.string.modified_success));
+        } else if (id == R.id.ict_port_save) {
+            Hawk.put(Name.ICTSERIALPORT, etIctPort.getText().toString());
+            showToast(getString(R.string.modified_success));
+        }
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+    }
+}

+ 14 - 0
app/src/main/java/com/bgy/autosale/ui/operator/fragments/OtherSettingFragment.java

@@ -19,6 +19,7 @@ import com.bgy.autosale.App;
 import com.bgy.autosale.Constant;
 import com.bgy.autosale.R;
 import com.bgy.autosale.ui.base.BaseFragment;
+import com.bgy.autosale.ui.operator.GeneralSettingActivity;
 import com.bgy.autosale.ui.operator.LocalAlarmClockActivity;
 import com.bgy.autosale.ui.operator.OtherMaterielActivity;
 import com.bgy.autosale.ui.operator.OtherParamActivity;
@@ -45,6 +46,7 @@ public class OtherSettingFragment extends BaseFragment {
     private final int SWITCH_SET = 3;
     private final int OTHER_PARAM_SET = 4;
     private final int OTHER_MATERIEL_SET = 5;
+    private final int OTHER_GENERAL_SET = 6;
 
     @Override
     public int getViewId() {
@@ -63,6 +65,7 @@ public class OtherSettingFragment extends BaseFragment {
             getActivity().getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
         }
         ArrayList<OtherBean> list = new ArrayList<>();
+        list.add(initGeneralSet());
         list.add(initAlarmClock());
         list.add(initSetMsg());
         list.add(initTimeSet());
@@ -121,6 +124,13 @@ public class OtherSettingFragment extends BaseFragment {
         itemBean.buttonEnable = true;
         return itemBean;
     }
+    private OtherBean initGeneralSet() {
+        OtherBean itemBean = new OtherBean(OTHER_GENERAL_SET);
+        itemBean.title = getString(R.string.general_set);
+        itemBean.button = R.string.button_update;
+        itemBean.buttonEnable = true;
+        return itemBean;
+    }
 
     private static long lastClickTime = 0;
 
@@ -215,6 +225,10 @@ public class OtherSettingFragment extends BaseFragment {
                 case OTHER_MATERIEL_SET:
                     gotoActivity(OtherMaterielActivity.class);
                     break;
+                case OTHER_GENERAL_SET:
+                    gotoActivity(GeneralSettingActivity.class);
+                    break;
+
 
             }
         }

+ 1 - 1
app/src/main/java/com/bgy/autosale/ui/widget/BatchingView.java

@@ -170,8 +170,8 @@ public class BatchingView extends FrameLayout {
                         R.drawable.vector_kernel_6
                 };
             }else {
+                Log.d(TAG, "initDefaultIcon: "+specBean.name);
                 icon = R.drawable.vector_peanut;
-                specBean.name = App.app.getString(R.string.peanut);
                 specBean.effectImage = new int[]{
                         R.drawable.vector_kernel_1,
                         R.drawable.vector_kernel_2,

+ 205 - 0
app/src/main/res/layout/activity_system_general_setting.xml

@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:focusable="true"
+    android:focusableInTouchMode="true">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <android.support.v7.widget.AppCompatImageView
+            android:id="@+id/setting_back"
+            android:layout_width="@dimen/dp_35"
+            android:layout_height="@dimen/dp_35"
+            android:layout_marginStart="@dimen/dp_26"
+            android:layout_marginTop="@dimen/dp_26"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:srcCompat="@drawable/vector_btn_back" />
+    </RelativeLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        tools:ignore="MissingConstraints">
+
+        <LinearLayout
+            android:layout_width="1500dp"
+            android:layout_height="@dimen/dp_50"
+            android:layout_gravity="center"
+            android:layout_marginTop="@dimen/dp_10"
+            android:gravity="right"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/dp_50"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:maxWidth="400dp"
+                android:text="Nayax Port"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+            <android.support.v7.widget.AppCompatEditText
+                android:id="@+id/et_nayax_port"
+                android:layout_width="@dimen/dp_200"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:singleLine="true"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+            <TextView
+                android:id="@+id/nayax_port_save"
+                android:layout_width="@dimen/dp_150"
+                android:layout_height="@dimen/dp_40"
+                android:background="@drawable/bg_config_confirm"
+                android:gravity="center"
+                android:text="@string/confirm_revision"
+                android:textColor="#FE5DBB"
+                android:textSize="@dimen/sp_18" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="1500dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="@dimen/dp_10"
+            android:gravity="right"
+            android:orientation="horizontal">
+
+            <TextView
+                android:id="@+id/phone_tip"
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/dp_50"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:maxWidth="400dp"
+                android:text="MDB Port"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+            <android.support.v7.widget.AppCompatEditText
+                android:id="@+id/et_mdb_port"
+                android:layout_width="@dimen/dp_200"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:singleLine="true"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+
+            <TextView
+                android:id="@+id/mdb_port_save"
+                android:layout_width="@dimen/dp_150"
+                android:layout_height="@dimen/dp_40"
+                android:background="@drawable/bg_config_confirm"
+                android:gravity="center"
+                android:text="@string/confirm_revision"
+                android:textColor="#FE5DBB"
+                android:textSize="@dimen/sp_18" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="1500dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="@dimen/dp_10"
+            android:gravity="right"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/dp_50"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:maxWidth="400dp"
+                android:text="YanLong Port"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+            <android.support.v7.widget.AppCompatEditText
+                android:id="@+id/et_yanlong_port"
+                android:layout_width="@dimen/dp_200"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:singleLine="true"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+
+            <TextView
+                android:id="@+id/yanlong_port_save"
+                android:layout_width="@dimen/dp_150"
+                android:layout_height="@dimen/dp_40"
+                android:background="@drawable/bg_config_confirm"
+                android:gravity="center"
+                android:text="@string/confirm_revision"
+                android:textColor="#FE5DBB"
+                android:textSize="@dimen/sp_18" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="1500dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="@dimen/dp_10"
+            android:gravity="right"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/dp_50"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:maxWidth="400dp"
+                android:text="ICT Port"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+            <android.support.v7.widget.AppCompatEditText
+                android:id="@+id/et_ict_port"
+                android:layout_width="@dimen/dp_200"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:singleLine="true"
+                android:textColor="@color/colorPrimaryDark"
+                android:textSize="@dimen/sp_12"
+                android:textStyle="bold"
+                tools:ignore="MissingConstraints" />
+
+
+            <TextView
+                android:id="@+id/ict_port_save"
+                android:layout_width="@dimen/dp_150"
+                android:layout_height="@dimen/dp_40"
+                android:background="@drawable/bg_config_confirm"
+                android:gravity="center"
+                android:text="@string/confirm_revision"
+                android:textColor="#FE5DBB"
+                android:textSize="@dimen/sp_18" />
+        </LinearLayout>
+
+    </LinearLayout>
+
+</android.support.constraint.ConstraintLayout>

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

@@ -515,5 +515,6 @@
     <string name="member_code_length_error">წევრის კოდის სიგრძე არასწორია</string>
     <string name="material_tpis">Ps: ეს მონაცემები მხოლოდ საცნობაროა, გთხოვთ, იხილოთ ფაქტობრივი მონაცემები. </string>
     <string name="member_code_input_here">შეიყვანეთ წევრის კოდი აქ</string>
+    <string name="general_set">ზოგადი პარამეტრები</string>
 
 </resources><!--格鲁吉亚-->

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

@@ -517,6 +517,7 @@
     <string name="member_code_length_error">會員碼長度不正確</string>
     <string name="material_tpis">Ps:此資料僅供參考,請以實際為準。 </string>
     <string name="member_code_input_here">會員碼此處輸入</string>
+    <string name="general_set">通用設定</string>
 
 </resources>
    <!--繁体-->

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

@@ -516,6 +516,7 @@
     <string name="member_code_length_error">Comprimento do código de membro incorreto</string>
     <string name="material_tpis">Obs.: Estes dados são apenas para referência. Consulte a versão real. dados. </string>
     <string name="member_code_input_here">Digite o código do membro aqui</string>
+    <string name="general_set">Configurações gerais</string>
 
 </resources>
     <!--葡萄牙-->

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

@@ -516,6 +516,7 @@
     <string name="member_code_length_error">طول کد عضو نادرست است</string>
     <string name="material_tpis">پی‌نوشت: این داده‌ها فقط برای مرجع هستند، لطفا به داده‌های واقعی مراجعه کنید.</string>
     <string name="member_code_input_here">کد عضویت را اینجا وارد کنید</string>
+    <string name="general_set">تنظیمات عمومی</string>
 
 </resources>
 <!--波斯语-->

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

@@ -507,6 +507,7 @@
     <string name="member_code_length_error">طول رمز العضو غير صحيح</string>
     <string name="material_tpis">ملاحظة: هذه البيانات للإشارة فقط، يُرجى الرجوع إلى البيانات الفعلية. </string>
     <string name="member_code_input_here">أدخل رمز العضو هنا</string>
+    <string name="general_set">الإعدادات العامة</string>
 
 </resources>
 <!--阿拉伯语-->

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

@@ -516,6 +516,7 @@
     <string name="member_code_length_error">Comprimento do código de membro incorreto</string>
     <string name="material_tpis">Obs.: Estes dados são apenas para referência. Consulte a versão real. dados. </string>
     <string name="member_code_input_here">Digite o código do membro aqui</string>
+    <string name="general_set">Configurações gerais</string>
 
 </resources>
     <!--葡萄牙-->

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

@@ -416,5 +416,6 @@
     <string name="member_code_length_error">Дължината на кода на член е неправилна</string>
     <string name="material_tpis">П.С.: Тези данни са само за справка, моля, вижте действителните данни. </string>
     <string name="member_code_input_here">Въведете кода на члена тук</string>
+    <string name="general_set">Общи настройки</string>
 
 </resources><!--保加利亚-->

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

@@ -510,6 +510,7 @@
     <string name="member_code_length_error">Délka kódu člena je nesprávná</string>
     <string name="material_tpis">P.S.: Tato data jsou pouze orientační, řiďte se prosím skutečnými daty. </string>
     <string name="member_code_input_here">Zde zadejte kód člena</string>
+    <string name="general_set">Obecná nastavení</string>
 
 </resources>
 <!--捷克语-->

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

@@ -515,6 +515,7 @@
     <string name="member_code_length_error">Medlemskodens længde er forkert</string>
     <string name="material_tpis">Ps: Disse data er kun til reference, se venligst de faktiske data. </string>
     <string name="member_code_input_here">Indtast medlemskoden her</string>
+    <string name="general_set">Generelle indstillinger</string>
 
 </resources>
 <!--丹麦-->

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

@@ -512,6 +512,7 @@
     <string name="member_code_length_error">Die Länge des Mitgliedscodes ist falsch</string>
     <string name="material_tpis">Hinweis: Diese Daten dienen nur als Referenz. Bitte beziehen Sie sich auf die tatsächlichen Daten.</string>
     <string name="member_code_input_here">Geben Sie hier den Mitgliedscode ein</string>
+    <string name="general_set">Allgemeine Einstellungen</string>
 
 </resources>
 <!--德语-->

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

@@ -510,7 +510,8 @@
     <string name="member_code_input">Member code input box</string>
     <string name="member_code_length_error">Member code length is incorrect</string>
     <string name="material_tpis">Ps: This data is for reference only, please refer to the actual data. </string>
-    <string name="member_code_input_here">Enter the member code here</string>
+    <string name="member_code_input_here">Enter phone number</string>
+    <string name="general_set">General Settings</string>
 
 </resources>
 <!--英语-->

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

@@ -514,6 +514,7 @@
     <string name="member_code_length_error">Longitud del código de miembro incorrecta</string>
     <string name="material_tpis">P.D.: Estos datos son solo de referencia; consulte los datos reales.</string>
     <string name="member_code_input_here">Ingrese el código de miembro aquí</string>
+    <string name="general_set">Configuración general</string>
 
 </resources>
 <!--西班牙语-->

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

@@ -509,6 +509,7 @@
     <string name="member_code_length_error">Liikmekoodi pikkus on vale</string>
     <string name="material_tpis">Ps: Need andmed on ainult viitamiseks, palun vaadake tegelikke andmeid. </string>
     <string name="member_code_input_here">Sisesta siia liikmekood</string>
+    <string name="general_set">Üldised seaded</string>
 
 </resources>
 <!--爱沙尼亚语-->

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

@@ -514,6 +514,7 @@
     <string name="member_code_length_error">Jäsenkoodin pituus on virheellinen</string>
     <string name="material_tpis">Ps: Nämä tiedot ovat vain viitteellisiä, katso todellisia tietoja. </string>
     <string name="member_code_input_here">Syötä jäsenkoodi tähän</string>
+    <string name="general_set">Yleiset asetukset</string>
 
 </resources>
 <!--芬兰-->

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

@@ -515,6 +515,7 @@
     <string name="member_code_length_error">Longueur du code membre incorrecte</string>
     <string name="material_tpis">Remarque : Ces données sont données à titre indicatif uniquement. Veuillez vous référer aux données réelles. </string>
     <string name="member_code_input_here">Entrez le code membre ici</string>
+    <string name="general_set">Paramètres généraux</string>
 
 </resources>
     <!--法语-->

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

@@ -515,6 +515,7 @@
     <string name="member_code_length_error">A tagkód hossza helytelen</string>
     <string name="material_tpis">Ui.: Ez az adat csak tájékoztató jellegű, kérjük, tekintse meg a tényleges adatokat. </string>
     <string name="member_code_input_here">Írd be ide a tagsági kódot</string>
+    <string name="general_set">Általános beállítások</string>
 
 </resources>
 <!--匈牙利-->

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

@@ -511,6 +511,7 @@
     <string name="member_code_length_error">Անդամի կոդի երկարությունը սխալ է</string>
     <string name="material_tpis">Հ.Գ.: Այս տվյալները միայն հղման համար են, խնդրում ենք դիմել իրական տվյալներին։ </string>
     <string name="member_code_input_here">Մուտքագրեք անդամի կոդը այստեղ</string>
+    <string name="general_set">Ընդհանուր կարգավորումներ</string>
 
 </resources>
 <!--亚美尼亚语-->

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

@@ -514,4 +514,6 @@
     <string name="member_code_length_error">Panjang Kode Anggota Salah</string>
     <string name="material_tpis">Catatan: Data ini hanya untuk referensi, silakan merujuk ke data sebenarnya. </string>
     <string name="member_code_input_here">Masukkan kode anggota di sini</string>
+    <string name="general_set">Pengaturan Umum</string>
+
 </resources><!--印尼语-->

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

@@ -516,5 +516,6 @@
     <string name="member_code_length_error">La lunghezza del codice utente è errata</string>
     <string name="material_tpis">P.S.: Questi dati sono per solo riferimento, fare riferimento ai dati effettivi.</string>
     <string name="member_code_input_here">Inserisci qui il codice membro</string>
+    <string name="general_set">Impostazioni generali</string>
 
 </resources><!--意大利-->

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

@@ -515,6 +515,7 @@
     <string name="member_code_length_error">メンバーコードの長さが正しくありません</string>
     <string name="material_tpis">追記:このデータは参考値です。実際のデータをご参照ください。</string>
     <string name="member_code_input_here">ここにメンバーコードを入力してください</string>
+    <string name="general_set">一般設定</string>
 
 </resources>
 <!--日语-->

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

@@ -516,6 +516,7 @@
     <string name="member_code_length_error">Comprimento do código de membro incorreto</string>
     <string name="material_tpis">Obs.: Estes dados são apenas para referência. Consulte a versão real. dados. </string>
     <string name="member_code_input_here">Digite o código do membro aqui</string>
+    <string name="general_set">Configurações gerais</string>
 
 </resources>
     <!--葡萄牙-->

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

@@ -515,5 +515,6 @@
     <string name="member_code_length_error">Мүше кодының ұзындығы дұрыс емес</string>
     <string name="material_tpis">Ps: Бұл деректер тек анықтама үшін берілген, нақты деректерге жүгініңіз. </string>
     <string name="member_code_input_here">Мүше кодын осы жерге енгізіңіз</string>
+    <string name="general_set">Жалпы параметрлер</string>
 
 </resources><!--哈萨克语-->

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

@@ -515,6 +515,7 @@
     <string name="member_code_length_error">회원 코드 길이가 올바르지 않습니다</string>
     <string name="material_tpis">참고: 이 데이터는 참고용이며, 실제 데이터를 확인하세요. </string>
     <string name="member_code_input_here">여기에 회원 코드를 입력하세요</string>
+    <string name="general_set">일반 설정</string>
 
 </resources>
     <!--韩语-->

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

@@ -509,6 +509,7 @@
     <string name="member_code_length_error">Nario kodo ilgis neteisingas</string>
     <string name="material_tpis">P. S.: Šie duomenys skirti tik informaciniams tikslams, prašome remtis faktiniais duomenimis. </string>
     <string name="member_code_input_here">Įveskite nario kodą čia</string>
+    <string name="general_set">Bendrieji nustatymai</string>
 
 </resources>
 <!--立陶宛-->

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

@@ -505,6 +505,7 @@
     <string name="member_code_length_error">Dalībnieka koda garums ir nepareizs</string>
     <string name="material_tpis">P.S. Šie dati ir paredzēti tikai uzziņai, lūdzu, skatiet faktiskos datus. </string>
     <string name="member_code_input_here">Ievadiet dalībnieka kodu šeit</string>
+    <string name="general_set">Vispārīgie iestatījumi</string>
 
 </resources>
 <!--拉脱维亚-->

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

@@ -517,5 +517,6 @@
     <string name="member_code_length_error">Гишүүн кодын урт буруу байна</string>
     <string name="material_tpis">Ps: Энэ өгөгдөл нь зөвхөн лавлагааны зориулалттай тул бодит өгөгдөлтэй танилцана уу. </string>
     <string name="member_code_input_here">Гишүүн кодыг энд оруулна уу</string>
+    <string name="general_set">Ерөнхий тохиргоо</string>
 
 </resources><!--蒙古语-->

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

@@ -510,6 +510,7 @@
     <string name="member_code_length_error">Panjang kod ahli tidak betul</string>
     <string name="material_tpis">Ps: Data ini adalah untuk rujukan sahaja, sila rujuk data sebenar. </string>
     <string name="member_code_input_here">Masukkan kod ahli di sini</string>
+    <string name="general_set">Tetapan Umum</string>
 
 </resources>
 <!--马来语-->

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

@@ -515,5 +515,6 @@
     <string name="member_code_length_error">Lengte van lidcode is onjuist</string>
     <string name="material_tpis">Ps: Deze gegevens dienen slechts ter referentie. verwijzen naar de feitelijke gegevens. </string>
     <string name="member_code_input_here">Voer hier de lidmaatschapscode in</string>
+    <string name="general_set">Algemene instellingen</string>
 
 </resources><!--荷兰-->

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

@@ -515,6 +515,7 @@
     <string name="member_code_length_error">Feil lengde på medlemskode</string>
     <string name="material_tpis">Ps: Disse dataene er kun for referanse, vennligst referer til de faktiske dataene.</string>
     <string name="member_code_input_here">Skriv inn medlemskoden her</string>
+    <string name="general_set">Generelle innstillinger</string>
 
 </resources>
 <!--挪威-->

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

@@ -495,6 +495,7 @@
    <string name="member_code_length_error">Długość kodu członkowskiego jest nieprawidłowa</string>
    <string name="material_tpis">Ps: Te dane mają charakter wyłącznie poglądowy, prosimy o zapoznanie się z rzeczywistymi danymi.</string>
    <string name="member_code_input_here">Wprowadź tutaj kod członka</string>
+   <string name="general_set">Ustawienia ogólne</string>
 
 </resources>
     <!--波兰语-->

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

@@ -516,6 +516,7 @@
     <string name="member_code_length_error">Comprimento do código de membro incorreto</string>
     <string name="material_tpis">Obs.: Estes dados são apenas para referência. Consulte a versão real. dados. </string>
     <string name="member_code_input_here">Digite o código do membro aqui</string>
+    <string name="general_set">Configurações gerais</string>
 
 </resources>
 <!--葡萄牙-->

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

@@ -512,6 +512,7 @@
     <string name="member_code_length_error">Lungimea codului membru este incorectă</string>
     <string name="material_tpis">P.S.: Aceste date sunt doar pentru referință, vă rugăm să consultați datele reale. </string>
     <string name="member_code_input_here">Introduceți codul de membru aici</string>
+    <string name="general_set">Setări generale</string>
 
 </resources>
 <!--罗马尼亚语-->

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

@@ -508,6 +508,7 @@
     <string name="member_code_length_error">Длина кода участника Неверно</string>
     <string name="material_tpis">P.S. Эти данные приведены только для справки. Пожалуйста, сверяйтесь с фактическими данными.</string>
     <string name="member_code_input_here">Введите код участника здесь</string>
+    <string name="general_set">Общие настройки</string>
 
 </resources>
     <!--俄语-->

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

@@ -516,5 +516,6 @@
     <string name="member_code_length_error">Dĺžka kódu člena je nesprávna</string>
     <string name="material_tpis">P.S.: Tieto údaje slúžia len na referenčné účely, pozrite si, prosím, skutočné údaje. </string>
     <string name="member_code_input_here">Sem zadajte kód člena</string>
+    <string name="general_set">Všeobecné nastavenia</string>
 
 </resources><!--斯洛伐克语-->

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

@@ -471,5 +471,6 @@
     <string name="member_code_length_error">אורך קוד החבר שגוי</string>
     <string name="material_tpis">נ.ב.: נתונים אלה הם לעיון בלבד, אנא עיין בנתונים בפועל.</string>
     <string name="member_code_input_here">הזן את קוד החבר כאן</string>
+    <string name="general_set">הגדרות כלליות</string>
 
 </resources><!--希伯来语-->

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

@@ -510,5 +510,6 @@
     <string name="member_code_length_error">Дужина кода члана је нетачна</string>
     <string name="material_tpis">П.С.: Ови подаци су само за референцу, погледајте стварне податке. </string>
     <string name="member_code_input_here">Овде унесите код члана</string>
+    <string name="general_set">Општа подешавања</string>
 
 </resources><!--塞尔维亚语-->

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

@@ -515,6 +515,7 @@
     <string name="member_code_length_error">Medlemskodens längd är felaktig</string>
     <string name="material_tpis">Ps: Denna data är endast för referens, vänligen hänvisa till den faktiska informationen. </string>
     <string name="member_code_input_here">Ange medlemskoden här</string>
+    <string name="general_set">Allmänna inställningar</string>
 
 </resources>
 <!--瑞典语-->

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

@@ -503,6 +503,7 @@
     <string name="member_code_length_error">ความยาวรหัสสมาชิกไม่ถูกต้อง</string>
     <string name="material_tpis">หมายเหตุ: ข้อมูลนี้ใช้สำหรับการอ้างอิงเท่านั้น โปรดดูข้อมูลจริง ข้อมูล. </string>
     <string name="member_code_input_here">กรอกรหัสสมาชิกที่นี่</string>
+    <string name="general_set">การตั้งค่าทั่วไป</string>
 
 </resources>
 <!--泰语-->

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

@@ -510,6 +510,7 @@
     <string name="member_code_length_error">Üye kodu uzunluğu yanlış</string>
     <string name="material_tpis">Not: Bu veriler yalnızca referans amaçlıdır, lütfen gerçek verilere bakın.</string>
     <string name="member_code_input_here">Üye kodunu buraya girin</string>
+    <string name="general_set">Genel Ayarlar</string>
 
 </resources>
 <!--    土耳其-->

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

@@ -511,6 +511,7 @@
     <string name="member_code_length_error">Довжина коду учасника неправильна</string>
     <string name="material_tpis">P.S.: Ці дані наведено лише для довідки, будь ласка, зверніться до фактичних даних. </string>
     <string name="member_code_input_here">Введіть тут код учасника</string>
+    <string name="general_set">Загальні налаштування</string>
 
 </resources>
     <!--乌克兰语-->

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

@@ -513,4 +513,7 @@
     <string name="member_code_length_error">Độ dài mã thành viên không chính xác</string>
     <string name="material_tpis">Lưu ý: Dữ liệu này chỉ mang tính chất tham khảo, vui lòng tham khảo dữ liệu thực tế. </string>
     <string name="member_code_input_here">Nhập mã thành viên tại đây</string>
-</resources>
+    <string name="general_set">Cài đặt chung</string>
+
+</resources>
+<!--    越南语-->

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

@@ -508,6 +508,6 @@
     <string name="member_code_length_error">会员码长度不正确</string>
     <string name="material_tpis">Ps:此数据仅供参考,请以实际为准。</string>
     <string name="member_code_input_here">会员码此处输入</string>
-
+    <string name="general_set">通用设置</string>
 </resources>
 <!--中文-->

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

@@ -516,6 +516,7 @@
     <string name="member_code_length_error">会员码长度不正确</string>
     <string name="material_tpis">Ps:此数据仅供参考,请以实际为准。</string>
     <string name="member_code_input_here">会员码此处输入</string>
+    <string name="general_set">通用设置</string>
 
 </resources>
 <!--中文-->

+ 1 - 1
config.gradle

@@ -5,7 +5,7 @@ ext {
             "minSdkVersion"                : 21,
             "targetSdkVersion"             : 28,
             "versionCode"                  : 110,
-            "versionName"                  : "1.0.99-1",//版本号修改
+            "versionName"                  : "1.0.102",//版本号修改
 
             "androidSupport"               : "28.0.0",
             "constraint-layout"            : "1.1.3",

+ 23 - 23
module_offpay/src/main/java/com/example/FaPiaoUtils.java

@@ -38,28 +38,28 @@ public class FaPiaoUtils {
     }
 
     public void initFaPiao() {
-        if (Hawk.get(Name.RAYMEN_POS_PAY, false)) {
-            /**
-             * 串口参数
-             */
-            SerialPortConfig serialPortConfig = new SerialPortConfig();
-            serialPortConfig.mode = 0;
-            serialPortConfig.path = "/dev/" + Hawk.get(Name.OXSERIALPORT, "ttyS1");   //串口地址:      /dev/ttyS1
-            serialPortConfig.baudRate = 9600;       //波特率:       9600
-            serialPortConfig.dataBits = 7;          //数据位:       7
-            serialPortConfig.parity = 'E';        //校验位:       even
-            serialPortConfig.stopBits = 1;          //停止位:       1
-            if (Looper.myLooper() == null) {
-                Looper.prepare();
-            }
-            // 初始化串口
-            serialPortHelper = new SerialPortHelper(16);
-            // 设置串口参数
-            serialPortHelper.setConfigInfo(serialPortConfig);
-            // 开启串口
-            serialPortHelper.openDevice();
-            Looper.loop();
-        }
+//        if (Hawk.get(Name.RAYMEN_POS_PAY, false)) {
+//            /**
+//             * 串口参数
+//             */
+//            SerialPortConfig serialPortConfig = new SerialPortConfig();
+//            serialPortConfig.mode = 0;
+//            serialPortConfig.path = "/dev/" + Hawk.get(Name.OXSERIALPORT, "ttyS1");   //串口地址:      /dev/ttyS1
+//            serialPortConfig.baudRate = 9600;       //波特率:       9600
+//            serialPortConfig.dataBits = 7;          //数据位:       7
+//            serialPortConfig.parity = 'E';        //校验位:       even
+//            serialPortConfig.stopBits = 1;          //停止位:       1
+//            if (Looper.myLooper() == null) {
+//                Looper.prepare();
+//            }
+//            // 初始化串口
+//            serialPortHelper = new SerialPortHelper(16);
+//            // 设置串口参数
+//            serialPortHelper.setConfigInfo(serialPortConfig);
+//            // 开启串口
+//            serialPortHelper.openDevice();
+//            Looper.loop();
+//        }
         if (Hawk.get("MDB_COIN", false)) {
             /**
              * 串口参数
@@ -67,7 +67,7 @@ public class FaPiaoUtils {
             boolean a=false;
             SerialPortConfig serialPortConfig = new SerialPortConfig();
             serialPortConfig.mode = 0;
-            serialPortConfig.path = "/dev/" +"ttyS2";//串口地址:(品澳ttyS3com2冰淇淋ttyS2com2)
+            serialPortConfig.path = "/dev/" +Hawk.get(Name.YANLONG_PORT,"ttyS2");//串口地址:(品澳ttyS3com2冰淇淋ttyS2com2)
             serialPortConfig.baudRate = 9600;       //波特率:       9600
             serialPortConfig.dataBits = 8;          //数据位:       8
             serialPortConfig.parity = 'N';        //校验位:       none

+ 42 - 0
module_offpay/src/main/java/com/example/offpay/event/IctMessageEvent.java

@@ -0,0 +1,42 @@
+package com.example.offpay.event;
+
+/**
+ * @author whw
+ * @time 2019/4/11
+ * @Description 发送推送结果
+ */
+public class IctMessageEvent {
+
+    private String name;
+
+    private Object data;
+
+    public IctMessageEvent(String name, Object data){
+        this.name=name;
+        this.data=data;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setMessage(String name) {
+        this.name = name;
+    }
+
+    public Object getData() {
+        return data;
+    }
+
+    public void setData(Object data) {
+        this.data = data;
+    }
+
+    @Override
+    public String toString() {
+        return "IctMessageEvent {" +
+                "name='" + name + '\'' +
+                ", data=" + data +
+                '}';
+    }
+}

+ 8 - 3
module_offpay/src/main/java/com/example/offpay/ictrs232/IctSerialPortUtil.java

@@ -2,6 +2,7 @@ package com.example.offpay.ictrs232;
 
 import android.util.Log;
 
+import com.example.offpay.event.IctMessageEvent;
 import com.example.offpay.event.WmdbIctMessageEvent;
 import com.hboxs.base_library.constant.Global;
 import com.hboxs.base_library.constant.Name;
@@ -26,7 +27,7 @@ import android_serialport_api.SerialPort;
  */
 
 public class IctSerialPortUtil {
-    private static final String TAG = "SerialPortUtil";
+    private static final String TAG = "IctSerialPortUtil";
     private SerialPort serialPort = null;
     private InputStream inputStream = null;
     private OutputStream outputStream = null;
@@ -115,7 +116,8 @@ public class IctSerialPortUtil {
         Log.d(TAG, "sendSerialPort: " + data);
         Log.d(TAG, "sendSerialPort: " + data);
         Log.d(TAG, "creditCardVendCancel: 取消支付2start"+data);
-        LogUtils.logWrite("SWD:" + data);
+        Log.d(TAG, "sendSerialPort: 指令发送:"+data);
+        LogUtils.logWrite("Ict WD:" + data);
         try {
             if (outputStream != null) {
                 byte[] sendData = DataUtils.HexToByteArr(data);
@@ -190,11 +192,14 @@ public class IctSerialPortUtil {
 //                                }
 //                            } else if (Name.ICT.equals(communicAtion)) {
                                 String readString = DataUtils.ByteArrToHex(readData, 0, size);
-                                EventBus.getDefault().post(new WmdbIctMessageEvent(Name.ICT, readString));
+                            Log.d(TAG, "run: ");
+                                EventBus.getDefault().post(new IctMessageEvent(Name.ICT, readString));
+                            Log.d(TAG, "run: IctMessageEvent ict:"+readString);
 //                            }
                         }
                         Thread.sleep(30);
                     } catch (Exception e) {
+                        Log.d(TAG, "run: WmdbIctMessageEvent icte" +e.getMessage());
                         e.printStackTrace();
                         sber.delete(0, sber.length());
                     }

+ 15 - 1
module_offpay/src/main/java/com/example/offpay/service/OfflinePayService.java

@@ -18,6 +18,7 @@ import android.util.Log;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.example.FaPiaoUtils;
 import com.example.offpay.R;
+import com.example.offpay.event.IctMessageEvent;
 import com.example.offpay.event.OfflineMessageEvent;
 import com.example.offpay.event.WmdbIctMessageEvent;
 import com.example.offpay.ictrs232.AmountMoney;
@@ -125,7 +126,7 @@ public class OfflinePayService extends Service {
                         Log.d(TAG, "run: Name.ICT");
                     } else if (Name.WMDB.equals(Hawk.get(Name.NOTE_COMMUNICATION, Name.WMDB))) {
                         if (Hawk.get(Name.ICTBILL_MDBCARD,false)){
-                            IctSerialPortUtil.getSerialPortUtil().openSerialPort("/dev/" + Hawk.get(Name.ICTSERIALPORT, "ttyS4"), 9600, 0, 1);
+                            IctSerialPortUtil.getSerialPortUtil().openSerialPort("/dev/" + Hawk.get(Name.ICTSERIALPORT, "ttyS2"), 9600, 0, 1);
                             IctSerialPortUtil.getSerialPortUtil().sendSerialPort("3E");
                             Log.d(TAG, "run: ICTBILL_MDBCARD");
                         }
@@ -196,6 +197,7 @@ public class OfflinePayService extends Service {
         String asciiData = (String) messageEvent.getData();
         Log.d(TAG, messageEvent.getName()+"WmdbIctMessageEvent event: "+asciiData);
         Log.d(TAG, "event: WmdbIctMessageEvent RD:"+asciiData);
+        Log.d(TAG, "sendSerialPort: 纸币器返回数据接收:"+asciiData);
         LogUtils.logWrite("RD:" + asciiData);
         switch (messageEvent.getName()) {
             case Name.WMDB:
@@ -206,6 +208,18 @@ public class OfflinePayService extends Service {
                 break;
         }
     }
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    public void event(IctMessageEvent messageEvent) {
+        String asciiData = (String) messageEvent.getData();
+        Log.d(TAG, messageEvent.getName()+"IctMessageEvent event: "+asciiData);
+        LogUtils.logWrite("Ict RD:" + asciiData);
+        switch (messageEvent.getName()) {
+            case Name.ICT:
+                ictData(asciiData);
+                break;
+        }
+    }
+
     //纸币器
     private void ictData(String asciiData) {
         switch (asciiData) {