浏览代码

<优先级高的呼叫放到前面>

weizhengliang 4 年之前
父节点
当前提交
36c6e3cc5d

+ 1 - 1
app/build.gradle

@@ -21,7 +21,7 @@ android {
     buildToolsVersion "26.0.1"
     defaultConfig {
         applicationId "com.wdkl.callingmainnurse"
-        minSdkVersion 15
+        minSdkVersion 21
         targetSdkVersion 26
         versionCode 1
         versionName "1.6"

+ 16 - 2
app/src/main/java/com/wdkl/callingmainnurse/ui/fragment/CallingBedFragment.java

@@ -1879,7 +1879,14 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
         if (!TextUtils.isEmpty(speechText)) {
             loopingUdpentity = entity;
             showUrgentWindow(entity);
-            SpeechUtil.getInstance().newSpeech(speechText);
+            //紧急呼叫和请求增援及特级护理呼叫优先
+            if (entity.getType().equals(Constants.WSHROOM_CALL)
+                    || entity.getType().equals(Constants.ROOMHELP_CALL)
+                    || entity.getLevel().equals("255")) {
+                SpeechUtil.getInstance().newSpeech(speechText, true);
+            } else {
+                SpeechUtil.getInstance().newSpeech(speechText, false);
+            }
         }
     }
 
@@ -2313,7 +2320,14 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
 
     public void addPhonetics(UdpEntity udpEntity) {
         startPalyPhonetics();
-        PalyPhonetics.speakEntityList.add(udpEntity);
+        //紧急呼叫和请求增援及特级护理呼叫优先
+        if (udpEntity.getType().equals(Constants.WSHROOM_CALL)
+                || udpEntity.getType().equals(Constants.ROOMHELP_CALL)
+                || udpEntity.getLevel().equals("255")) {
+            PalyPhonetics.speakEntityList.add(0, udpEntity);
+        } else {
+            PalyPhonetics.speakEntityList.add(udpEntity);
+        }
         showUrgentWindow(udpEntity);
     }
 

+ 12 - 8
app/src/main/java/com/wdkl/callingmainnurse/util/SpeechUtil.java

@@ -62,10 +62,14 @@ public class SpeechUtil {
         textToSpeech.setSpeechRate(0.5f);
     }
 
-    public void newSpeech(String text) {
+    public void newSpeech(String text, boolean emergency) {
         synchronized (lockObject) {
             LogUtil.d(TAG, "add text speech: " + text);
-            speechTextList.add(text);
+            if (emergency) {
+                speechTextList.add(0, text);
+            } else {
+                speechTextList.add(text);
+            }
             startSpeechThread();
         }
     }
@@ -168,14 +172,14 @@ public class SpeechUtil {
                         //if (speechTextList.contains(speakSpeech)) {
                             speechTextList.remove(speakSpeech);
                         //}
-
-                        try {
-                            Thread.sleep(50);
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
                     }
                 }
+
+                try {
+                    Thread.sleep(50);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
         }
     }