Explorar o código

<修改udp广播地址192.168.255.255,修改app无响应时重启设备,优化sip>

weizhengliang %!s(int64=4) %!d(string=hai) anos
pai
achega
7918adaeba

+ 1 - 0
AmDemo_R/src/com/vvsip/ansip/IVvsipService.java

@@ -19,6 +19,7 @@ public interface IVvsipService {
 	public void initiateOutgoingCall(String target,String macStr);
     public void addListener(IVvsipServiceListener listener); 
     public void removeListener(IVvsipServiceListener listener);
+    public void clearListener();
     public void setAudioNormalMode();
     public void setAudioInCallMode();
     public void setSpeakerModeOff();

+ 9 - 0
AmDemo_R/src/com/vvsip/ansip/VvsipService.java

@@ -115,6 +115,15 @@ public class VvsipService extends Service implements IVvsipService {
 	}
 
 	@Override
+	public void clearListener() {
+		if (mListeners != null) {
+			synchronized (mListeners) {
+				mListeners.clear();
+			}
+		}
+	}
+
+	@Override
 	public void onCreate() {
 		Log.i(mTag, "lifecycle // onCreate");
 		neighborsList = new ArrayList<VvsipNeighbor>();

+ 1 - 1
app/build.gradle

@@ -24,7 +24,7 @@ android {
         minSdkVersion 21
         targetSdkVersion 26
         versionCode 1
-        versionName "1.71"
+        versionName "1.72"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         multiDexEnabled true
 

+ 6 - 0
app/src/main/java/com/wdkl/callingmainnurse/ui/activity/APPUpdateActivity.java

@@ -57,6 +57,12 @@ public class APPUpdateActivity extends BaseActivity implements SilentUpdateUtil.
         }
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        updateAPPHandler.removeCallbacksAndMessages(null);
+    }
+
     /**
      * 下载APK包
      */

+ 1 - 0
app/src/main/java/com/wdkl/callingmainnurse/ui/activity/InitActivity.java

@@ -407,6 +407,7 @@ public class InitActivity extends BaseActivity implements SerialPortUtil.IForBro
     @Override
     protected void onDestroy() {
         super.onDestroy();
+        updateHandler.removeCallbacksAndMessages(null);
         updateHandler = null;
         animationDrawable.stop();
         serialPortUtil.setOnBroadcastClickListener(null);

+ 1 - 0
app/src/main/java/com/wdkl/callingmainnurse/ui/activity/MainFragmentActivity.java

@@ -676,6 +676,7 @@ public class MainFragmentActivity extends FragmentActivity implements IVvsipServ
     @Override
     protected void onDestroy() {
         super.onDestroy();
+        handler.removeCallbacksAndMessages(null);
         serialPortUtil.closeSerialPort();
         ButterKnife.unbind(this);
         unregisterReceiver(wifiInfoPowerReceiver);

+ 8 - 2
app/src/main/java/com/wdkl/callingmainnurse/util/SipUtil/SipHelperUtil.java

@@ -157,9 +157,13 @@ public class SipHelperUtil implements EthernetWifiCallBackI {
 //        LogUtil.i(SipInfoTag, "lifecycle // onDestroy");
 
         IVvsipService sipservice = VvsipService.getService();
-        if (contexts instanceof IVvsipServiceListener && sipservice != null) {
-            sipservice.removeListener((IVvsipServiceListener) contexts);
+        //if (contexts instanceof IVvsipServiceListener && sipservice != null) {
+        //    sipservice.removeListener((IVvsipServiceListener) contexts);
+        //}
+        if (sipservice != null) {
+            sipservice.clearListener();
         }
+
         getSipServiceStartHandler().removeCallbacks(getSipServiceStartRunnable());
         sipRegisterHandler.removeCallbacks(sipRegisterRunnable);
         if (getSipServiceConnection() != null && isRegister) {
@@ -189,6 +193,7 @@ public class SipHelperUtil implements EthernetWifiCallBackI {
         }
         IVvsipService sipService = VvsipService.getService();
         if (sipService != null) {
+            sipService.clearListener();
             sipService.addListener((IVvsipServiceListener) contexts);
             sipService.setMessageHandler(messageHandler);
         } else {
@@ -587,6 +592,7 @@ public class SipHelperUtil implements EthernetWifiCallBackI {
                     public void onServiceConnected(ComponentName name, IBinder service) {
                         IVvsipService sipservice = ((VvsipServiceBinder) service).getService();
                         if (contexts instanceof IVvsipServiceListener) {
+                            sipservice.clearListener();
                             sipservice.addListener((IVvsipServiceListener) contexts);
 //                            LogUtil.i(SipInfoTag, "Connected!");
                             SipHelperUtil.getInstance(contexts).obtainSipInfo();//Sip信息获取

+ 1 - 1
app/src/main/java/com/wdkl/callingmainnurse/util/UdpHelper.java

@@ -107,7 +107,7 @@ public class UdpHelper implements Runnable {
         }
         InetAddress local = null;
         try {
-            local = InetAddress.getByName("255.255.255.255");
+            local = InetAddress.getByName("192.168.255.255");
         } catch (UnknownHostException e) {
             e.printStackTrace();
         }

+ 6 - 2
app/src/main/java/com/wdkl/callingmainnurse/util/anrfcutil/AnrFcExceptionUtil.java

@@ -14,6 +14,7 @@ import com.github.anrwatchdog.ANRWatchDog;
 import com.wdkl.callingmainnurse.MyApplication;
 import com.wdkl.callingmainnurse.common.Constants;
 import com.wdkl.callingmainnurse.ui.fragment.CallingBedFragment;
+import com.wdkl.callingmainnurse.util.AutoRebootUtil;
 import com.wdkl.callingmainnurse.util.ClientUploadUtils;
 import com.wdkl.callingmainnurse.util.UdpSendUtil;
 
@@ -184,12 +185,15 @@ public class AnrFcExceptionUtil implements Thread.UncaughtExceptionHandler {
             @Override
             public void onAppNotResponding(ANRError error) {
                 endCalling();
-                Intent mStartActivity = new Intent(application.getApplicationContext(), Constants.ANR_FC);
+
+                /*Intent mStartActivity = new Intent(application.getApplicationContext(), Constants.ANR_FC);
                 int mPendingIntentId = 123456;
                 PendingIntent mPendingIntent = PendingIntent.getActivity(application.getApplicationContext(), mPendingIntentId, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
                 AlarmManager mgr = (AlarmManager) application.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
                 mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 3000, mPendingIntent);
-                android.os.Process.killProcess(android.os.Process.myPid());
+                android.os.Process.killProcess(android.os.Process.myPid());*/
+
+                AutoRebootUtil.reboot();
             }
         }).start();