Sfoglia il codice sorgente

修改web端护理颜色与分机护理灯颜色不匹配问题

weizhengliang 3 anni fa
parent
commit
dec1f3b508

+ 1 - 1
app/build.gradle

@@ -40,7 +40,7 @@ android {
         minSdkVersion 15
         targetSdkVersion 26
         versionCode 1
-        versionName "1.65"
+        versionName "1.66"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
         buildConfigField "String", "BUILD_TIME", getDate()

+ 1 - 1
app/src/main/java/com/wdkl/callingbed/ui/CallingBedActivity.java

@@ -945,7 +945,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                                     Constants.BEDCALLVOICE = object.getString("BedSipVol");
                                     screenTimeOut = Integer.parseInt(Constants.SCREENEXTINGUISHTIME);
                                     handler.sendEmptyMessage(SYSTEM_DATA_RESPONSE);
-                                    setSYSParameter();
+                                    //setSYSParameter();
                                 }
                             } catch (Exception e) {
                                 e.printStackTrace();

+ 31 - 0
app/src/main/java/com/wdkl/callingbed/util/StringUtils.java

@@ -967,6 +967,37 @@ public class StringUtils {
     }
 
     /**
+     * 16进制字符串转成一个int类型的
+     *
+     * @param str
+     * @return
+     */
+    public static int parseHex2Int(String str) {
+        try {
+            return Integer.decode("0x"+str);
+        } catch (Exception e) {
+            //
+        }
+        return 0;
+    }
+
+    /**
+     * 16进制颜色值转成0-99颜色值
+     * x = v/255 * 99
+     * @param str
+     * @return
+     */
+    public static int parseHexColor(String str) {
+        try {
+            int hexColor = Integer.decode("0x"+str);
+            return (hexColor*99)/255;
+        } catch (Exception e) {
+            //
+        }
+        return 0;
+    }
+
+    /**
      * 字符串转成一个float类型的
      *
      * @param str

+ 16 - 16
app/src/main/java/com/wdkl/callingbed/util/sendcommand/CallingBedSendCommand.java

@@ -168,41 +168,41 @@ public class CallingBedSendCommand {
      * 快速写入串口时;串口反应不过来;所以必须将线程休眠
      */
     public static void setNurseBrightness(SerialPortUtil serialPortUtil, int brightnessPercent, String oneColor, String twoColor, String threeColor, String fourColor, String fiveColor) throws InterruptedException {
-        LogUtil.d("NURSELIGHT", "==" + oneColor + "==" + twoColor + "==" + threeColor + "==" + fourColor + "==" + fiveColor);
+        LogUtil.d("setNurseBrightness", "==" + oneColor + "==" + twoColor + "==" + threeColor + "==" + fourColor + "==" + fiveColor);
         if (null != serialPortUtil) {
             float p = (float) brightnessPercent / 100;
             if (StringUtils.notEmpty(oneColor)) {
-                int rr = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(oneColor, 0, 2))) * p);
-                int gg = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(oneColor, 2, 4))) * p);
-                int bb = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(oneColor, 4, 6))) * p);
+                int rr = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(oneColor, 0, 2))) * p);
+                int gg = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(oneColor, 2, 4))) * p);
+                int bb = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(oneColor, 4, 6))) * p);
                 serialPortUtil.sendCommand(SerialPortUtil.NURSELIGHT + "0", beComeDoubleStr(rr) + beComeDoubleStr(gg) + beComeDoubleStr(bb), "F");
             }
             Thread.sleep(300);
             if (StringUtils.notEmpty(twoColor)) {
-                int rr = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(twoColor, 0, 2))) * p);
-                int gg = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(twoColor, 2, 4))) * p);
-                int bb = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(twoColor, 4, 6))) * p);
+                int rr = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(twoColor, 0, 2))) * p);
+                int gg = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(twoColor, 2, 4))) * p);
+                int bb = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(twoColor, 4, 6))) * p);
                 serialPortUtil.sendCommand(SerialPortUtil.NURSELIGHT + "1", beComeDoubleStr(rr) + beComeDoubleStr(gg) + beComeDoubleStr(bb), "F");
             }
             Thread.sleep(300);
             if (StringUtils.notEmpty(threeColor)) {
-                int rr = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(threeColor, 0, 2))) * p);
-                int gg = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(threeColor, 2, 4))) * p);
-                int bb = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(threeColor, 4, 6))) * p);
+                int rr = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(threeColor, 0, 2))) * p);
+                int gg = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(threeColor, 2, 4))) * p);
+                int bb = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(threeColor, 4, 6))) * p);
                 serialPortUtil.sendCommand(SerialPortUtil.NURSELIGHT + "2", beComeDoubleStr(rr) + beComeDoubleStr(gg) + beComeDoubleStr(bb), "F");
             }
             Thread.sleep(300);
             if (StringUtils.notEmpty(fourColor)) {
-                int rr = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(fourColor, 0, 2))) * p);
-                int gg = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(fourColor, 2, 4))) * p);
-                int bb = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(fourColor, 4, 6))) * p);
+                int rr = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(fourColor, 0, 2))) * p);
+                int gg = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(fourColor, 2, 4))) * p);
+                int bb = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(fourColor, 4, 6))) * p);
                 serialPortUtil.sendCommand(SerialPortUtil.NURSELIGHT + "3", beComeDoubleStr(rr) + beComeDoubleStr(gg) + beComeDoubleStr(bb), "F");
             }
             Thread.sleep(300);
             if (StringUtils.notEmpty(fiveColor)) {
-                int rr = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(fiveColor, 0, 2))) * p);
-                int gg = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(fiveColor, 2, 4))) * p);
-                int bb = (int) ((StringUtils.parseFloat(StringUtils.substringByLengh(fiveColor, 4, 6))) * p);
+                int rr = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(fiveColor, 0, 2))) * p);
+                int gg = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(fiveColor, 2, 4))) * p);
+                int bb = (int) ((StringUtils.parseHexColor(StringUtils.substringByLengh(fiveColor, 4, 6))) * p);
                 serialPortUtil.sendCommand(SerialPortUtil.NURSELIGHT + "4", beComeDoubleStr(rr) + beComeDoubleStr(gg) + beComeDoubleStr(bb), "F");
             }
         }