From f4a6d4f0996238f9c85e4986deffe69a1c8256e6 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 04 九月 2024 20:47:58 +0800
Subject: [PATCH] 员工流程

---
 app/src/main/java/com/lotaai/canguiayw/SettingFragment.java |  184 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 171 insertions(+), 13 deletions(-)

diff --git a/app/src/main/java/com/lotaai/canguiayw/SettingFragment.java b/app/src/main/java/com/lotaai/canguiayw/SettingFragment.java
index d485d06..770f438 100644
--- a/app/src/main/java/com/lotaai/canguiayw/SettingFragment.java
+++ b/app/src/main/java/com/lotaai/canguiayw/SettingFragment.java
@@ -1,6 +1,10 @@
 package com.lotaai.canguiayw;
 
+import android.app.AlarmManager;
+import android.app.PendingIntent;
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
@@ -16,18 +20,40 @@
 import android.view.inputmethod.InputMethodManager;
 import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.EditText;
 import android.widget.Spinner;
 
 import androidx.fragment.app.Fragment;
 
+import com.alibaba.fastjson.JSONObject;
 import com.bin.david.form.core.SmartTable;
+import com.blankj.utilcode.util.CacheDiskUtils;
+import com.blankj.utilcode.util.DeviceUtils;
+import com.blankj.utilcode.util.KeyboardUtils;
 import com.blankj.utilcode.util.LogUtils;
+import com.lotaai.canguiayw.common.HttpLoggerInterceptor;
+import com.lotaai.canguiayw.common.HttpUrlDefine;
+import com.lotaai.canguiayw.common.SettingConfig;
+import com.pranavpandey.android.dynamic.toasts.DynamicToast;
 
 import org.angmarch.views.NiceSpinner;
 import org.angmarch.views.SpinnerTextFormatter;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import android_serialport_api.SerialPortFinder;
+import okhttp3.Call;
+import okhttp3.Callback;
+import okhttp3.FormBody;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+import okhttp3.logging.HttpLoggingInterceptor;
 
 public class SettingFragment extends Fragment {
 
@@ -35,6 +61,11 @@
     private Context context;
     private SmartTable setTable;
     private NiceSpinner chuanKouSpinner;
+    private EditText deviceCode;
+    private EditText devicePwd;
+    private Button jihuoBtn;
+    private Button saveBtn;
+    List<String> list = new ArrayList<String>();
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -47,47 +78,174 @@
     }
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+    public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                              Bundle savedInstanceState) {
         if (root == null) {
             root = inflater.inflate(R.layout.framgment_setting, container, false);
         }
+        DynamicToast.Config.getInstance().setTextSize(30).apply();
         context = container.getContext();
         initSpinner();
-        /* Fragment中,注册
-                * 接收MainActivity的Touch回调的对象
-                * 重写其中的onTouchEvent函数,并进行该Fragment的逻辑处理
-                */
+
         ManageActivity.MyTouchListener myTouchListener = new ManageActivity.MyTouchListener() {
             @Override
             public void onTouchEvent(MotionEvent event) {
-                System.out.println("23333333333333333");
-
+                HideKeyboard(container.getChildAt(0));
             }
         };
 
         // 将myTouchListener注册到分发列表
-        ((ManageActivity)this.getActivity()).registerMyTouchListener(myTouchListener);
+        ((ManageActivity) this.getActivity()).registerMyTouchListener(myTouchListener);
+
+        //初始化
+        deviceCode = root.findViewById(R.id.deviceCode);
+        devicePwd = root.findViewById(R.id.devicePwd);
+        deviceCode.setText(CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code));
+        // devicePwd.setText(CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Pwd));
+        jihuoBtn = root.findViewById(R.id.jihuo);
+        saveBtn = root.findViewById(R.id.save);
+        jihuoBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+               /* String code = deviceCode.getText().toString().trim();
+                String pwd = devicePwd.getText().toString().trim();
+                if ("".equals(code) || "".equals(pwd)) {
+                    DynamicToast.makeError(context, "设备号和设备秘钥必填", 3).show();
+                    return;
+                }
+                active();*/
+            }
+        });
+        saveBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                DynamicToast.Config.getInstance().setTextSize(30).apply();
+               /* String code = deviceCode.getText().toString().trim();
+                String pwd = devicePwd.getText().toString().trim();*/
+                String tty = list.get(chuanKouSpinner.getSelectedIndex());
+                if ("".equals(tty)) {
+                    DynamicToast.makeError(context, "设备号必填", 3).show();
+                } else {
+                    //CacheDiskUtils.getInstance().put(SettingConfig.getInstance().Cache_Device_Code, code);
+//                    CacheDiskUtils.getInstance().put(SettingConfig.getInstance().Cache_Device_Pwd,pwd);
+                    CacheDiskUtils.getInstance().put(SettingConfig.getInstance().Cache_Device_Tty, tty);
+                    DynamicToast.makeSuccess(context, "保存成功", 3).show();
+                    restartApp();
+                }
+            }
+        });
         return root;
     }
+    public void restartApp() {
+        Intent intent =getActivity().getPackageManager().getLaunchIntentForPackage(getActivity().getPackageName());
+        ComponentName componentName = intent.getComponent();
+        Intent mainIntent = Intent.makeRestartActivityTask(componentName);
+        startActivity(mainIntent);
+        Runtime.getRuntime().exit(0);
+    }
 
+    public void active() {
+        HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true);
+        OkHttpClient client = new OkHttpClient.Builder()
+                .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间
+                .readTimeout(20, TimeUnit.SECONDS)
+                .callTimeout(20, TimeUnit.SECONDS)
+                .addInterceptor(loggingInterceptor)//添加日志拦截器
+                .build();
 
-    public void initSpinner(){
+        RequestBody body = new FormBody.Builder()
+                .add("equipmentCode", CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code))
+                .add("equipmentSecret", devicePwd.getText().toString())
+                .add("equipmentUid", DeviceUtils.getUniqueDeviceId()).build();
+        final Request request = new Request.Builder()
+                .url(HttpUrlDefine.equipmentBind)
+                .addHeader("language", "zh-CN")
+                .post(body)
+                .build();
+        client.newCall(request).enqueue(new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+                Message msg = new Message();
+                msg.what = 0;
+                msg.obj = "激活失败";
+                showHandler.sendMessage(msg);
+                LogUtils.e(e);
+            }
+
+            @Override
+            public void onResponse(Call call, Response response) throws IOException {
+                String result = response.body().string();
+                LogUtils.i("获取到的数据:"+result);
+                JSONObject obj = JSONObject.parseObject(result);
+                if ("0".equals(obj.getString("code"))) {
+                    JSONObject dataObj = obj.getJSONObject("data");
+                    String name = dataObj.getString("name");
+                    Message msg = new Message();
+                    msg.what = 1;
+                    msg.obj = "激活成功!" + name;
+                    showHandler.sendMessage(msg);
+                } else {
+                    Message msg = new Message();
+                    msg.what = 0;
+                    msg.obj = "激活失败:" + obj.getString("msg");
+                    showHandler.sendMessage(msg);
+                }
+            }
+        });
+    }
+
+    private Handler showHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            if (msg.what == 0) {
+                DynamicToast.makeError(context, msg.obj.toString(), 3).show();
+            } else if (msg.what == 1) {
+                DynamicToast.makeSuccess(context, msg.obj.toString(), 3).show();
+            } else {
+                DynamicToast.makeWarning(context, msg.obj.toString(), 3).show();
+            }
+        }
+    };
+
+    public void initSpinner() {
         chuanKouSpinner = root.findViewById(R.id.chuankouhao);
         chuanKouSpinner.setBackgroundResource(R.drawable.round_editstyle);
         chuanKouSpinner.setTextSize(30);
+        String ty = CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Tty);
+        int select = 0;
+//        SerialPortFinder finder = new SerialPortFinder();
+//        String[] ttysPath = finder.getAllDevicesPath();
+//        int p = 0;
+//        for (String sp : ttysPath){
+//            if (sp.equals(ty)){
+//                select = p;
+//            }
+//            list.add(sp);
+//            p++;
+//        }
 
-        final List<String> list = new ArrayList<String>();
-        for (int i = 1; i<10 ;i++){
-            list.add("ttyS" + i);
+        list.clear();
+        for (int pp = 0; pp < 6; pp++) {
+            list.add("/dev/ttyS" + pp);
+            if (ty!=null && ty.equals("/dev/ttyS" + pp)) {
+                select = pp;
+            }
         }
         chuanKouSpinner.attachDataSource(list);
         chuanKouSpinner.addOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-               LogUtils.i(list.get(position));
+                LogUtils.i(list.get(position) + "position:" + position);
             }
         });
+        chuanKouSpinner.setSelectedIndex(select);
+    }
+
+    public static void HideKeyboard(View v) {
+        InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+        if (imm.isActive()) {
+            imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
+        }
     }
 
 }

--
Gitblit v1.7.1