From: snickersun Date: Sat, 5 Sep 2020 08:29:47 +0000 (+0800) Subject: release V516 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=b9022afd01699661c798677952b08aefcf016965;p=protocol_srv.git release V516 A9, 1、修复5分钟报警的声音和震动。2、去掉可能造成release失败的wakelock 3、给fzd和mqtt添加alarm的新函数 --- diff --git a/app/release/ICSer_V515_2009032133_release.apk b/app/release/ICSer_V516_2009051621_release.apk similarity index 78% rename from app/release/ICSer_V515_2009032133_release.apk rename to app/release/ICSer_V516_2009051621_release.apk index 3785f127..f8b3d7fe 100644 Binary files a/app/release/ICSer_V515_2009032133_release.apk and b/app/release/ICSer_V516_2009051621_release.apk differ diff --git a/app/release/output.json b/app/release/output.json index 3c65cac0..d7513083 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":515,"versionName":"2009032133","enabled":true,"outputFile":"ICSer_V515_2009032133_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V515_2009032133_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":516,"versionName":"2009051621","enabled":true,"outputFile":"ICSer_V516_2009051621_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V516_2009051621_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 94e91140..f8039a45 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -20,6 +20,7 @@ import com.enqualcomm.support.bean.ICLocation; import com.enqualcomm.support.bean.SleepInfo; import com.enqualcomm.support.bean.SleepRecord; import com.enqualcomm.support.service.AntiMonitorService; +import com.enqualcomm.support.service.AudioService; import com.enqualcomm.support.utils.CellInfoUtil; import com.enqualcomm.support.utils.DeviceInfoUtil; import com.enqualcomm.support.utils.LedUtil; @@ -89,6 +90,7 @@ import static com.enqualcomm.support.Constants.STEP_COUNT_ALARM_ACTION; import static com.enqualcomm.support.Constants.TEMP_ALARM; import static com.enqualcomm.support.bean.ICLocation.*; import static com.ic.protocols.protocolAPIHelper.getTemperatureMSG; +import static java.lang.Thread.sleep; public class CoreService extends Service { @@ -738,8 +740,29 @@ public class CoreService extends Service { if(runtime.Anti_off_flag>0 && Config.needAllwaysAlarmAntiOff){ runtime.Anti_off_flag++; WakeLockUtil.ScreenOnWakeLockTemperary(runtime.getContextProxy().context); - antiservice.send_anti_event_broadcast(1); + if (Config.A9_noBroadCastActionStrip) { + if(Config.needBroadcastAntiAlarm) { + + AudioService.getInstance().play(runtime.getContextProxy().context.getAssets(), "antioff.mp3"); + + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + AudioService.getInstance().stop(); + } + },5000); + VibrateUtil.getInstance(runtime.getContextProxy().context).VibrateOnOnce(true); + + try { + sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + }//delay一会儿再发消息,以屏没有来得急亮起,免界面不响应。 + antiservice.send_anti_event_broadcast(1); + } + + } } } diff --git a/app/src/main/java/com/enqualcomm/support/GPSActivity.java b/app/src/main/java/com/enqualcomm/support/GPSActivity.java index dc49c21c..7eec8db2 100644 --- a/app/src/main/java/com/enqualcomm/support/GPSActivity.java +++ b/app/src/main/java/com/enqualcomm/support/GPSActivity.java @@ -9,6 +9,7 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; +import android.view.WindowManager; import android.widget.TextView; import com.enqualcomm.support.NMEAListener.location_callback; @@ -51,6 +52,7 @@ public class GPSActivity extends Activity implements location_callback { mStar.setText("0 in 0/ inMap 0"); mHoop.setText("0.0ç±³"); mSearchCount.setText("0秒"); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } @Override @@ -104,25 +106,18 @@ public class GPSActivity extends Activity implements location_callback { } return entity; } - PowerManager.WakeLock screenOnWakelock=null; + @Override protected void onResume() { super.onResume(); NMEAListener.set_callback(this); - if (screenOnWakelock==null) - screenOnWakelock = WakeLockUtil.getScreenOnWakeLock(this,GPSActivity.class.getSimpleName()); + } @Override protected void onPause() { super.onPause(); showmessage=false; - if(screenOnWakelock!=null) { - if (screenOnWakelock.isHeld()) { - screenOnWakelock.release(); - } - screenOnWakelock=null; - } } } diff --git a/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java b/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java index 44814e7e..8fce0e2e 100644 --- a/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java +++ b/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java @@ -38,11 +38,6 @@ import java.util.Iterator; import java.util.List; import java.util.concurrent.TimeUnit; -import rx.Observable; -import rx.Single; -import rx.android.schedulers.AndroidSchedulers; -import rx.functions.Action1; - import static android.net.wifi.WifiManager.WIFI_STATE_DISABLED; import static android.net.wifi.WifiManager.WIFI_STATE_DISABLING; import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED; @@ -139,9 +134,9 @@ public class LBSHelper { // Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1() { // public void call(Object param1Object) { - Observable.timer(500L, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1() { - public void call(Long param1Long) { - + new Handler().postDelayed(new Runnable() { + @Override + public void run() { //由于wifi状态不好确认客户是如何设置的,干脆只有屏幕灭的时候才考虑关闭wifi ,防止在开启屏幕用来视频的时候被后台关掉 ICLogger.i("setWifiEnabled false"); // if(SimSignalUtil.isScreenON(runtime.getContextProxy().context)==false) { @@ -171,8 +166,7 @@ public class LBSHelper { } - - }); + },500); }else{ ICLogger.i("mMyWifiListener is null skip callback"); diff --git a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java index a3576b6d..91946441 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java @@ -175,8 +175,11 @@ public class Runtime { ALARM_LOCK_WATCH, ALARM_TEMP_HIGH, ALARM_TEMP_LOW, + ALARM_POWER_OFF, ALARM_NONE, }; + + private AlarmType g_alarm=AlarmType.ALARM_NONE; /*** * 00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05:剪断报警,06:跌倒报警, * 07:心率异常, 08:心率过高, 09:心率过低,10:收缩压过高,11:收缩压过低,12:舒张压过高,13:舒张压过低, @@ -184,7 +187,7 @@ public class Runtime { */ public void setAlarmType(AlarmType alarm){ // if ( !fall && !lowbattery && !sos && antioff) - + g_alarm=alarm; switch (alarm){ case ALARM_SOS: alarmType="01"; @@ -252,6 +255,7 @@ public class Runtime { case ALARM_TEMP_LOW: alarmType="18"; break; + case ALARM_POWER_OFF: case ALARM_NONE: default: alarmType="00"; @@ -624,8 +628,117 @@ public class Runtime { return sb.toString(); } - public String getFZDDevStatus(){ - return "00000000"; + public String fzdAlarmStatus="00000000"; + + + /*** + * 终端状态 00000000 ( 16 进 + * 制) 用二进制字符串表示为 + * 0000 0000 0000 0010 0000 0000 0000 0000 含义如下: + * 左边高 16bit 表示报警,右边低 16bit 表示状态. Bit 位(0 开始) 含义(1 有效) + * 0低电状态 + * 1出围栏状态(目前没用到) + * 2进围栏状态(目前没用到) + * 3手环戴上取下状态 + * 4手表运行静止状态 + * 16SOS 报警 + * 17低电报警 + * 18出围栏报警(目前没用到) + * 19进围栏报警(目前没用到) + * 20手环拆除报警 + * 21跌倒报警 + * 22震动报警 + * 23断电报警 + * 24心率骤降报警 + * 25车辆启动 + * 比如 00200010,即表示00000000001000000000000000010000 + * 这个项目需要支持防拆 20、00000000000100000000000000000000 0x 00100000 1048576 + * 低电 17、00000000000000100000000000000000 0x 00020000 131072 + * 离线 23、00000000100000000000000000000000 0x 00800000 8388608 + * 逃逸报警 18\ 00000000000001000000000000000000 0x 00040000 262144 + * 分别是第四位为 1,第 21 位为 1,对应 21 位是跌倒报警 + * @param runtime + * @return + */ + public String getFZDDevStatus(Runtime runtime){ + String alarmType1="00000000"; + switch (runtime.g_alarm){ + case ALARM_SOS: + // alarmType1="01"; + break; + case ALARM_LOWBATTERY: + alarmType1="00020000"; + break; + case ALARM_ANTIOFF: + alarmType1="00100000"; + break; + case ALARM_WEARED: +// alarmType1="04"; + break; + case ALARM_CUTOFF: +// alarmType1="05"; + break; + case ALARM_FALL: +// alarmType1="06"; + break; + + case ALARM_ABNORMAL_HEART_RATE: +// alarmType1="07"; + break; + + case ALARM_HEART_RATE_HIGH: +// alarmType1="08"; + break; + + case ALARM_HEART_RATE_LOW: +// alarmType1="09"; + break; + + case ALARM_BPH_HIGH: +// alarmType1="10"; + break; + + case ALARM_BPH_LOW: +// alarmType1="11"; + break; + + case ALARM_BPL_HIGH: +// alarmType1="12"; + break; + + case ALARM_BPL_LOW: +// alarmType1="13"; + break; + + case ALARM_SEDENTARY: +// alarmType1="14"; + break; + + case ALARM_ILLEGAL_CUTOFF: +// alarmType1="15"; + break; + + case ALARM_LOCK_WATCH: +// alarmType1="16"; + break; + + case ALARM_TEMP_HIGH: +// alarmType1="17"; + break; + + case ALARM_TEMP_LOW: +// alarmType1="18"; + break; + case ALARM_POWER_OFF: + alarmType1="00800000"; + break; + case ALARM_NONE: + default: +// alarmType1="00000000"; + break; + } + fzdAlarmStatus=alarmType1; + return fzdAlarmStatus; } public String getGPSHeading(){ int headingi=(int)gpsp.getLocation().heading; diff --git a/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java b/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java index d60005b3..fe6a39b9 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java @@ -238,10 +238,10 @@ public class ProcessReceiver extends BroadcastReceiver { private void screenOn(Context paramContext) { final PowerManager.WakeLock wakelock = ((PowerManager)paramContext.getSystemService(Context.POWER_SERVICE)).newWakeLock(ACQUIRE_CAUSES_WAKEUP| SCREEN_DIM_WAKE_LOCK, ProcessReceiver.class.getSimpleName()); - wakelock.acquire(); - Observable.timer(5000L, TimeUnit.MILLISECONDS).subscribe(new Action1() { - public void call(Long param1Long) { wakelock.release(); } - }); + wakelock.acquire(5000); +// Observable.timer(5000L, TimeUnit.MILLISECONDS).subscribe(new Action1() { +// public void call(Long param1Long) { wakelock.release(); } +// }); } @Override diff --git a/app/src/main/java/com/enqualcomm/support/utils/WakeLockUtil.java b/app/src/main/java/com/enqualcomm/support/utils/WakeLockUtil.java index 3f3bc56a..a6c5e15e 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/WakeLockUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/WakeLockUtil.java @@ -1,40 +1,17 @@ package com.enqualcomm.support.utils; import android.content.Context; -import android.os.Handler; -import android.os.Message; import android.os.PowerManager; -import com.enqualcomm.support.service.AudioService; - -import java.util.Objects; -import java.util.concurrent.TimeUnit; - -import rx.Observable; -import rx.functions.Action1; - import static android.os.PowerManager.ACQUIRE_CAUSES_WAKEUP; import static android.os.PowerManager.SCREEN_DIM_WAKE_LOCK; public class WakeLockUtil { - public static PowerManager.WakeLock getScreenOnWakeLock(Context context, String tag) { - PowerManager.WakeLock wakeLock = ((PowerManager)(context.getSystemService(Context.POWER_SERVICE))).newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, tag); -// wakeLock.acquire(900000L); - wakeLock.acquire(); - return wakeLock; - } - public static void ScreenOnWakeLockTemperary(Context context) { +public static void ScreenOnWakeLockTemperary(Context context) { final PowerManager.WakeLock wakelock = ((PowerManager)context.getSystemService(Context.POWER_SERVICE)).newWakeLock(ACQUIRE_CAUSES_WAKEUP| SCREEN_DIM_WAKE_LOCK, WakeLockUtil.class.getSimpleName()); - wakelock.acquire(); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - wakelock.release(); - } - },5000L); - + wakelock.acquire(5000); } } diff --git a/app/src/main/java/com/ic/protocols/protocol_fzd.java b/app/src/main/java/com/ic/protocols/protocol_fzd.java index 3cb26339..ca501a9a 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -412,7 +412,7 @@ public class protocol_fzd { .append(runtime.getBattery()).append(CMDSPLIT) .append(runtime.getTotalStepCount()).append(CMDSPLIT) .append(runtime.getRolltimes()).append(CMDSPLIT) - .append(runtime.getFZDDevStatus()).append(CMDSPLIT) + .append(runtime.getFZDDevStatus(runtime)).append(CMDSPLIT) .append(runtime.getFZDLBSMultiStationData()).append(CMDSPLIT) .append(runtime.getFZDWifiData()); diff --git a/app/src/main/java/com/ic/protocols/protocol_mqtt.java b/app/src/main/java/com/ic/protocols/protocol_mqtt.java index 02c30f86..3cc91fe8 100644 --- a/app/src/main/java/com/ic/protocols/protocol_mqtt.java +++ b/app/src/main/java/com/ic/protocols/protocol_mqtt.java @@ -337,7 +337,7 @@ public class protocol_mqtt { .append(runtime.getBattery()).append(CMDSPLIT) .append(runtime.getTotalStepCount()).append(CMDSPLIT) .append(runtime.getRolltimes()).append(CMDSPLIT) - .append(runtime.getFZDDevStatus()).append(CMDSPLIT) + .append(runtime.getFZDDevStatus(runtime)).append(CMDSPLIT) .append(runtime.getFZDLBSMultiStationData()).append(CMDSPLIT) .append(runtime.getFZDWifiData()); diff --git a/app/version_code.properties b/app/version_code.properties index 30519d79..35c16324 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Thu Sep 03 21:33:40 CST 2020 -VERSION_CODE=515 +#Sat Sep 05 16:21:32 CST 2020 +VERSION_CODE=516