浏览代码

无修改

wangjk 4 年之前
父节点
当前提交
2f2119f6fa

+ 5 - 1
app/build.gradle

@@ -31,7 +31,11 @@ android {
         minSdkVersion 15
         targetSdkVersion 26
         versionCode 1
+<<<<<<< HEAD
         versionName "1.45"
+=======
+        versionName "1.46"
+>>>>>>> c7fa4d87eae36f5045acc0af939c0acfbc019628
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
         buildConfigField "String", "BUILD_TIME", getDate()
@@ -91,7 +95,7 @@ dependencies {
     compile 'net.frakbot:jumpingbeans:1.3.0'
     compile files('libs/core-3.2.1.jar')
     compile project(':AmDemo_R')
-    compile 'com.android.support:cardview-v7:23.2.0'
+    compile 'com.android.support:cardview-v7:26+'
     compile 'com.github.anrwatchdog:anrwatchdog:1.3.+'
 //    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
 //    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'

+ 4 - 2
app/src/main/java/com/wdkl/callingbed/service/SoundPoolManager.java

@@ -28,7 +28,7 @@ public class SoundPoolManager {
         if(Build.VERSION.SDK_INT > 21){
             SoundPool.Builder builder = new SoundPool.Builder();
             //传入音频数量
-            builder.setMaxStreams(2);
+            builder.setMaxStreams(3);
             //AudioAttributes是一个封装音频各种属性的方法
             AudioAttributes.Builder attrBuilder = new AudioAttributes.Builder();
             //设置音频流的合适的属性
@@ -37,13 +37,15 @@ public class SoundPoolManager {
             builder.setAudioAttributes(attrBuilder.build());
             soundPool = builder.build();
         }else{
-            soundPool = new SoundPool(2, AudioManager.STREAM_SYSTEM, 0);
+            soundPool = new SoundPool(3, AudioManager.STREAM_SYSTEM, 0);
         }
 
         //来电
         soundID.put(1, soundPool.load(MyApplication.getAppContext(), R.raw.incoming_call, 1));
         //去电
         soundID.put(2, soundPool.load(MyApplication.getAppContext(), R.raw.outgoing_call, 1));
+        //测试音频
+        soundID.put(3, soundPool.load(MyApplication.getAppContext(), R.raw.speaker_test, 1));
         soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
             @Override
             public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {

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

@@ -429,6 +429,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
     private final int UPDATE_BROADCAST = 2005;
     private final int NEW_INCOMING_CALL = 2006;
     private final int TURN_OFF_SCREEN = 2007;
+    private final int RESET_UPDATE_FLAG = 2008;
     private MyHandler handler = new MyHandler(this);
 
     private String SCREEN_OFF_LIGHT = "1";
@@ -498,6 +499,9 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                     case TURN_OFF_SCREEN:
                         showBlackView();
                         break;
+                    case RESET_UPDATE_FLAG:
+                        Constants.UPDATE_PATIENTUPDATE_FLAG = false;
+                        break;
                 }
             } else {
                 // 没有实例不进行操作
@@ -582,8 +586,6 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
         //20190415 waderson  测试
         ScreenManagerUtil.setScreenBrightness(context, 210);
 
-        SoundPoolManager.getInstance().init();
-
         String model = SystemProperties.get("ro.product.model");
         if ("WDFJ-I".equals(model)) {
             SCREEN_OFF_LIGHT = "30";
@@ -945,6 +947,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
      * 获得主信息
      */
     private void getMainData(final int tag) {
+        handler.sendEmptyMessageDelayed(RESET_UPDATE_FLAG, 3000);
         if (null == initDataEntity.getDeviceHumanId() || "".equals(initDataEntity.getDeviceHumanId())) {
             initDataEntity.setDeviceHumanId("0"); //HumanID 为空 则为0
         }
@@ -1069,6 +1072,8 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                             } catch (Exception e) {
                                 e.printStackTrace();
                                 Constants.UPDATE_APP_FLAG = false;
+                            } finally {
+                                Constants.UPDATE_APP_FLAG = false;
                             }
                         }
                     });

+ 38 - 6
app/src/main/java/com/wdkl/callingbed/ui/InitActivity.java

@@ -20,6 +20,7 @@ import com.wdkl.callingbed.base.BaseActivity;
 import com.wdkl.callingbed.common.Constants;
 import com.wdkl.callingbed.entity.InitDataEntity;
 import com.wdkl.callingbed.entity.MessageEvent;
+import com.wdkl.callingbed.service.SoundPoolManager;
 import com.wdkl.callingbed.util.AutoRebootUtil;
 import com.wdkl.callingbed.util.CutSerialPortUtil;
 import com.wdkl.callingbed.util.DateUtil;
@@ -86,6 +87,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
         ivLoading.setVisibility(View.VISIBLE);
         animationDrawable = (AnimationDrawable) ivLoading.getBackground();
         animationDrawable.start();
+        SoundPoolManager.getInstance().init();
     }
 
     @Override
@@ -159,6 +161,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
     public void isNewWork() {
         if (cm != null) {
             //ethreboot();//wuyq add
+            String ipStr = NetUtil.getLocalIP();
             NetworkInfo networkInfo = cm.getActiveNetworkInfo();
             if (networkInfo != null && networkInfo.isConnected()) { //wuyq modify
                 if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI || networkInfo.getType() == ConnectivityManager.TYPE_ETHERNET) {
@@ -167,7 +170,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
                     countsReboot = 0; //wuyq add
                 } else {
                     updateHandler.sendEmptyMessageDelayed(404, DATEREFRESH_DELAYMILLIS);
-                    showNetErrorView("MAC地址: " + macAddress + "\nError:本地网络或wifi连接错误");
+                    showNetErrorView("MAC地址: " + macAddress + " IP地址: " + ipStr + "\nError:本地网络或wifi连接错误");
                     ToastUtil.showToast("本地网络或wifi连接错误");
                     CallingBedSendCommand.setSipStatus(serialPortUtil, "0");
                 }
@@ -175,7 +178,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
                 //updateHandler.sendEmptyMessageDelayed(404, DATEREFRESH_DELAYMILLIS);//wuyq remove
                 updateHandler.sendEmptyMessageDelayed(4444, DATEREFRESH_DELAYMILLIS);//wuyq add
                 CallingBedSendCommand.setSipStatus(serialPortUtil, "0");
-                showNetErrorView("MAC地址: " + macAddress + "\nError:无网络连接;以太网是否连接正常?");//网络信息初始化错误
+                showNetErrorView("MAC地址: " + macAddress + " IP地址: " + ipStr + "\nError:无网络连接;以太网是否连接正常?");//网络信息初始化错误
                 ToastUtil.showToast("无网络连接;以太网是否连接正常?");//网络信息初始化错误
                 //autoReboot();//wuyq remove
 
@@ -255,6 +258,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
      */
     private void getInitData() {
         LogUtil.d("getInitData", "URL==" + Constants.URL + Constants.URL_END + Constants.CALLINGBED_INIT);
+        final String ipStr = NetUtil.getLocalIP();
         if (Constants.URL.length() > 7) {
             OkHttpUtils
                     .post()
@@ -266,7 +270,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
                         public void onError(Call call, Exception e, int id) {
                             ivLoading.setVisibility(View.INVISIBLE);
                             dismissNurseBrightness();
-                            showNetErrorView("MAC地址: " + macAddress + "\nError:" + "初始化数据请求错误[MAC地址是否注册?]");
+                            showNetErrorView("MAC地址: " + macAddress + " IP地址: " + ipStr + "\nError:" + "初始化数据请求错误[MAC地址是否注册?]");
                             //updateHandler.sendEmptyMessageDelayed(404, DATEREFRESH_DELAYMILLIS);//wuyq remove
                             updateHandler.sendEmptyMessageDelayed(4444, DATEREFRESH_DELAYMILLIS);//wuyq add
                             ToastUtil.showToast("初始化数据请求错误");
@@ -282,7 +286,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
                                 JSONObject object = new JSONObject(data);
                                 if (object.getString("Code").equals("ERROR!")) {
                                     dismissNurseBrightness();
-                                    showNetErrorView("MAC地址: " + macAddress + "\nError:" + "数据错误异常[ERROR!]");
+                                    showNetErrorView("MAC地址: " + macAddress + " IP地址: " + ipStr + "\nError:" + "数据错误异常[ERROR!]");
                                     updateHandler.sendEmptyMessageDelayed(404, DATEREFRESH_DELAYMILLIS);
                                     ToastUtil.showToast("数据请求失败");
                                 } else {
@@ -297,7 +301,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
                                         InitActivity.this.finish();
                                     } else {
                                         dismissNurseBrightness();
-                                        showNetErrorView("MAC地址: " + macAddress + "\nError: " + "设备未启用");
+                                        showNetErrorView("MAC地址: " + macAddress + " IP地址: " + ipStr + "\nError: " + "设备未启用");
                                         updateHandler.sendEmptyMessageDelayed(404, DATEREFRESH_DELAYMILLIS);
                                         ToastUtil.showToast("设备未启用");
                                     }
@@ -401,6 +405,8 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
         }).start();
     }
 
+    private long clickTime = 0;
+
     /**
      * 监听呼叫按钮 buffer[5]   如果按下则 放松注册信息给后台
      */
@@ -409,6 +415,32 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
 
         // mScreenExtinguishUtil.touchScreen();//===============================息屏
 
+        //双击测试喇叭及网络
+        if (buffer[5] == 1) {
+            long curTime = System.currentTimeMillis();
+            if (curTime - clickTime < 2000) {
+                Log.d("wzlll", "double click");
+                SoundPoolManager.getInstance().playSound(3);
+                new Thread(new Runnable() {
+                    @Override
+                    public void run() {
+                        final boolean pingStatus = NetUtil.ping("192.168.101.1", 2, null);
+                        runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                if (pingStatus) {
+                                    ToastUtil.showToast("连接192.168.101.1成功!");
+                                } else {
+                                    ToastUtil.showToast("连接192.168.101.1失败, 请检查设备!");
+                                }
+                            }
+                        });
+                    }
+                }).start();
+            }
+            clickTime = curTime;
+        }
+
         //呼叫护士键短按/长按松开
         if (buffer[5] == 1 || buffer[5] == 2) {
             if (null != Constants.MAC_ADDRESS) {
@@ -458,7 +490,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.ISerial
         }
     };
 
-    public static final long DATEREFRESH_DELAYMILLIS = 3000;
+    public static final long DATEREFRESH_DELAYMILLIS = 8000;
 
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void onMoonEvent(MessageEvent messageEvent) {

+ 7 - 1
app/src/main/java/com/wdkl/callingbed/util/AnalysisUdpUtil.java

@@ -338,14 +338,20 @@ public class AnalysisUdpUtil {
                         break;
                     case "MGR_PATIENTUPDATE": //后台数据改变刷新UI
                         LogUtil.d("MGR_PATIENTUPDATE", "bed--11");
+<<<<<<< HEAD
                         LogUtil.d("MGR_PATIENTUPDATE","data[2] "+data[2]+" ddd "+Constants.MYSELF_ID);
                         if (data[2].equals(Constants.MYSELF_ID)) { //ID匹配;刷新本机
                             LogUtil.d("MGR_PATIENTUPDATE","Constants.UPDATE_PATIENTUPDATE_FLAG "+Constants.UPDATE_PATIENTUPDATE_FLAG);
                             if (!Constants.UPDATE_PATIENTUPDATE_FLAG) {
                                 LogUtil.d("MGR_PATIENTUPDATE", "bed--22");
+=======
+                        if (data[2].equals(Constants.MYSELF_ID) || data[2].equals(Constants.MAC_ADDRESS)) {
+                            if (!Constants.UPDATE_PATIENTUPDATE_FLAG) {
+                                Constants.UPDATE_PATIENTUPDATE_FLAG = true;
+                                LogUtil.d("MGR_PATIENTUPDATE", "MGR_PATIENTUPDATE");
+>>>>>>> c7fa4d87eae36f5045acc0af939c0acfbc019628
                                 EventBus.getDefault().post(new MessageEvent(null, Constants.EVENT_MGR_PATIENTUPDATE));
                             }
-                            Constants.UPDATE_PATIENTUPDATE_FLAG = true;
                         }
                         break;
                     case "MGR_APPUPDATE": //APP更新

+ 17 - 0
app/src/main/java/com/wdkl/callingbed/util/NetUtil.java

@@ -121,6 +121,23 @@ public class NetUtil {
         return null;
     }
 
+    public static String getLocalIP() {
+        try {
+            for (Enumeration<NetworkInterface> enNetI = NetworkInterface.getNetworkInterfaces(); enNetI.hasMoreElements(); ) {
+                NetworkInterface netI = enNetI.nextElement();
+                for (Enumeration<InetAddress> enumIpAddr = netI.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
+                    InetAddress inetAddress = enumIpAddr.nextElement();
+                    if (inetAddress instanceof Inet4Address && !inetAddress.isLoopbackAddress()) {
+                        return inetAddress.getHostAddress();
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
     /**
      * wifi的网关
      *

二进制
app/src/main/res/raw/speaker_test.mp3


+ 32 - 6
build.gradle

@@ -2,11 +2,22 @@
 
 buildscript {
     repositories {
-        jcenter()
         maven {
-            url 'https://maven.google.com/'
-            name 'Google'
+            url 'https://maven.aliyun.com/repository/jcenter'
         }
+        maven {
+            url 'https://maven.aliyun.com/repository/central'
+        }
+        maven {
+            url 'https://maven.aliyun.com/repository/google'
+        }
+        maven { url "https://jitpack.io" }
+
+//        jcenter()
+//        maven {
+//            url 'https://maven.google.com/'
+//            name 'Google'
+//        }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:2.3.3'
@@ -19,11 +30,26 @@ buildscript {
 //wuyq add for compile error begin
 allprojects {
     repositories {
-        jcenter()
         maven {
-            url 'https://maven.google.com/'
-            name 'Google'
+            url 'https://maven.aliyun.com/repository/jcenter'
+        }
+        maven {
+            url 'https://maven.aliyun.com/repository/central'
+        }
+        maven {
+            url 'https://maven.aliyun.com/repository/google'
         }
+        maven {
+            url 'http://www.idescout.com/maven/repo/'
+            name 'IDEScout, Inc.'
+        }
+        maven { url "https://jitpack.io" }
+
+//        jcenter()
+//        maven {
+//            url 'https://maven.google.com/'
+//            name 'Google'
+//        }
     }
     gradle.taskGraph.whenReady {
         tasks.each { task ->