From c5bf501d8b507d1e3e79541e7ac9b45910860b4d Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Wed, 29 May 2019 16:17:07 +0800
Subject: [PATCH] 添加新功能

---
 app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java |   70 +++++++++++++++-------------------
 1 files changed, 31 insertions(+), 39 deletions(-)

diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
index 3e0cf72..a8459c9 100644
--- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
+++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
@@ -64,8 +64,6 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.HashMap;
-import java.util.Timer;
-import java.util.TimerTask;
 
 /**
  * ������������
@@ -139,11 +137,9 @@
             if (mBluetoothService == null) {
                 return;
             }
+
             String mac = MainApp.theApp.sharedPreferencesUtil.getBLE();
             if (!TextUtils.isEmpty(mac) && MainApp.theApp.bleManager.isBlueEnable()) {
-                if (MainApp.theApp.bleManager.isConnectingOrConnected()) {
-                    return;
-                }
                 mBluetoothService.scanAndConnect5(mac);
             }
         }
@@ -236,15 +232,16 @@
                         new BleCharacterCallback() {
                             @Override
                             public void onSuccess(final BluetoothGattCharacteristic characteristic) {
+                                final String result = StringUtils.byteArrayToHexStr(characteristic.getValue());
+                                stringResult.append(result);
                                 getActivity().runOnUiThread(new Runnable() {
+
                                     @Override
                                     public void run() {
-                                        String result = StringUtils.byteArrayToHexStr(characteristic.getValue());
-                                        stringResult.append(result);
                                         doHandleData(result);
-                                        stringResult = new StringBuilder();
                                     }
                                 });
+                                stringResult = new StringBuilder();
                                 HEARTTIMES = 30;
                             }
 
@@ -270,10 +267,7 @@
             isVirating = false;
             AudioUtils.virateCancle(getActivity());
         } else if (msg.getType() == AppConfig.CHANGE_SETTING) {
-            if (timer != null) {
-                timer.cancel();
-                timer = null;
-            }
+            handler.removeCallbacks(taskRunnable);
             submitTime = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency();
             isupLoad = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload();
             doTask();
@@ -334,7 +328,6 @@
             voiceBean.setName("������������");
             voiceList.add(voiceBean);
         }
-
     }
 
     @Override
@@ -353,7 +346,6 @@
     @Override
     public void onPause() {
         super.onPause();
-        System.out.println("chenqi onPause");
         isMySelfPage = false;
         stopReconnect();
     }
@@ -361,12 +353,7 @@
     @Override
     public void onDestroy() {
         super.onDestroy();
-        System.out.println("chenqi onDestroy");
         EventBus.getDefault().unregister(this);
-        if (timer != null) {
-            timer.cancel();
-            timer = null;
-        }
         handler.removeCallbacksAndMessages(null);
         stop();
         isVirating = false;
@@ -415,7 +402,6 @@
             }
         });
         showStatus(-1);
-
     }
 
     @Override
@@ -425,7 +411,7 @@
         iv_search.setOnClickListener(this);
     }
 
-    int submitTime;
+    int submitTime = 0;
     int isupLoad;
 
     @Override
@@ -494,19 +480,22 @@
 
     }
 
-    Timer timer;
+    Runnable taskRunnable = new Runnable() {
+        @Override
+        public void run() {
+            if (isupLoad == 1) {
+                //������������
+                submitData();
+            }
+            doTask();
+        }
+    };
 
     private void doTask() {
-        timer = new Timer();
-        timer.schedule(new TimerTask() {
-            @Override
-            public void run() {
-                if (isupLoad == 1) {
-                    //������������
-                    submitData();
-                }
-            }
-        }, 0, submitTime * 1000);
+        if (submitTime == 0) {
+            submitTime = 20;
+        }
+        handler.postDelayed(taskRunnable, submitTime * 1000);
     }
 
     private void heart() {
@@ -575,6 +564,7 @@
      * @param level
      */
     private void showStatus(int level) {
+        System.out.println("chenqi level " + level + " ������ " + type);
         int yanzhang = R.mipmap.icon_yanzhong;
         int danger = R.mipmap.icon_danger;
         iv_dianliang.setVisibility(View.VISIBLE);
@@ -595,6 +585,7 @@
         }
 
         if (level == 0) {
+            System.out.println("chenqi ������������");
             tv_tishi.setText("������������������");
             tv_tishi.setBackgroundResource(R.mipmap.bt_green);
             iv_bottom_status.setImageResource(R.mipmap.icon_good);
@@ -631,7 +622,6 @@
             tv_status.setTextColor(getResources().getColor(R.color.red_txt));
             ll_status.setBackgroundResource(R.mipmap.bg_conner_red);
         } else if (level == -1) {
-//            iv_dianliang.setVisibility(View.GONE);
             tv_tishi.setText("������������������");
             tv_tishi.setBackgroundResource(R.mipmap.bt_offline);
             iv_bottom_status.setImageResource(R.mipmap.icon_offline);
@@ -695,7 +685,7 @@
      */
     //todo ������������������
     private void parseCurrentData(String nowResult) {
-        System.out.println("chenqi nowResult parseCurrentData");
+        System.out.println("chenqi nowResult parseCurrentData" + nowResult);
         type = 1;
         if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 40 && nowResult.startsWith("5A") && nowResult.endsWith("5B")) {
             int real = Integer.parseInt(nowResult.substring(24, 26), 16) * 256 + Integer.parseInt(nowResult.substring(26, 28), 16);
@@ -770,6 +760,7 @@
     /**
      * 7A������������������
      * 7A0024010002D8B04CE90E6300000003000003EE0000000000000EC6000000000017347B0D0A
+     * <p>
      * ������������������
      */
     private void parseHoutData(String nowResult) {
@@ -806,8 +797,6 @@
             data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss"));
             data.setType(0);
 
-            showStatus(Integer.parseInt(strings[21], 16));
-
             if (baojing == 0) {
                 pv.setPercent((float) (0.125));
                 showStatus(0);
@@ -828,8 +817,8 @@
                 }
             } else if (baojing == 2) {
                 data.setIs_warn(1);
-                showStatus(2);
                 pv.setPercent((float) (0.625));
+                showStatus(2);
                 play(1);
                 if (!isVirating) {
                     isVirating = true;
@@ -837,8 +826,10 @@
                 }
             } else if (baojing == 3 || baojing == 4) {
                 data.setIs_warn(1);
+                if (baojing == 4) {
+                    pv.setPercent((float) (1));
+                } else pv.setPercent((float) (0.875));
                 showStatus(3);
-                pv.setPercent((float) (0.875));
                 play(2);
                 if (!isVirating) {
                     isVirating = true;
@@ -893,10 +884,11 @@
      */
     private void showPower(int b1, int b2) {
         if (b1 == 1) {
+            iv_dianliang.setVisibility(View.VISIBLE);
             ImageLoader.setGIFByUrl(getActivity(), R.mipmap.icon_chong, iv_dianliang);
             showStatus(-2);
         } else if (b1 == 2) {
-            ImageLoader.setImageViewById(getActivity(), R.mipmap.icon_full, iv_dianliang);
+            iv_dianliang.setVisibility(View.GONE);
         } else {
             if (b2 == 0) {
                 ImageLoader.setImageViewById(getActivity(), R.mipmap.icon_b00, iv_dianliang);

--
Gitblit v1.8.0