From a7d6a4fe65f79fe3a67412692934e7109999437c Mon Sep 17 00:00:00 2001 From: "k.liang" Date: Tue, 18 Jan 2022 11:41:28 +0800 Subject: [PATCH] =?utf8?q?gator-=E8=A7=A3=E5=86=B3=E8=AE=BE=E7=BD=AE?= =?utf8?q?=E6=97=B6=E5=8C=BA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- app/release/output.json | 2 +- .../enqualcomm/support/utils/TimeUtil.java | 150 ++++++++++++++++-- .../java/com/ic/protocols/protocol_gator.java | 12 ++ app/version_code.properties | 4 +- 4 files changed, 152 insertions(+), 16 deletions(-) diff --git a/app/release/output.json b/app/release/output.json index b005b9bd..45a3b598 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1037,"versionName":"2201041149","enabled":true,"outputFile":"ICSer_V1037_2201041149_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V1037_2201041149_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1043,"versionName":"2201181017","enabled":true,"outputFile":"ICSer_V1043_2201181017_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V1043_2201181017_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java b/app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java index d7223c9d..1121c29b 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java @@ -5,6 +5,8 @@ import android.content.Context; import android.provider.Settings; import android.text.format.DateFormat; +import com.enqualcomm.support.Config; + import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -545,18 +547,134 @@ public class TimeUtil { static String getTimeZoneID_ByDisplayName(String tzname) { String str = TimeZone.getDefault().getID(); - if (tzname.equals("GMT+03:30")) { - str = "Asia/Tehran"; - } else if (tzname.equals("GMT+04:30")) { - str = "Asia/Kabul"; - } else if (tzname.equals("GMT+05:30")) { - str = "Asia/Colombo"; - } else if (tzname.equals("GMT+06:30")) { - str = "Asia/Rangoon"; - } else if (tzname.equals("GMT+09:30")) { - str = "Australia/Darwin"; - } else if (tzname.equals("GMT+09:00")) { - str = "Asia/Tokyo"; + if(Config.protocol_no != Config.PROTOCOL_GATOR) { + if (tzname.equals("GMT+03:30")) { + str = "Asia/Tehran"; + } else if (tzname.equals("GMT+04:30")) { + str = "Asia/Kabul"; + } else if (tzname.equals("GMT+05:30")) { + str = "Asia/Colombo"; + } else if (tzname.equals("GMT+06:30")) { + str = "Asia/Rangoon"; + } else if (tzname.equals("GMT+09:30")) { + str = "Australia/Darwin"; + } else if (tzname.equals("GMT+09:00")) { + str = "Asia/Tokyo"; + } + }else { + switch (tzname) { + case "GMT-11:30": + case "GMT-11:00": + str = "Pacific/Midway"; + break; + case "GMT-10:30": + case "GMT-10:00": + str = "Pacific/Honolulu"; + break; + case "GMT-09:30": + str = "Pacific/Marquesas"; + break; + case "GMT-09:00": + str = "Pacific/Gambier"; + break; + case "GMT-08:30": + case "GMT-08:00": + str = "Pacific/Pitcairn"; + break; + case "GMT-07:30": + case "GMT-07:00": + str = "America/Mazatlan"; + break; + case "GMT-06:30": + case "GMT-06:00": + str = "Pacific/Galapagos"; + break; + case "GMT-05:30": + case "GMT-05:00": + str = "America/Havana"; + break; + case "GMT-04:30": + case "GMT-04:00": + str = "America/Barbados"; + break; + case "GMT-03:30": + str = "Canada/Newfoundland"; + break; + case "GMT-03:00": + str = "America/Mendoza"; + break; + case "GMT-02:30": + case "GMT-02:00": + str = "Brazil/DeNoronha"; + break; + case "GMT-01:30": + case "GMT-01:00": + str = "America/Scoresbysund"; + break; + case "GMT+00:30": + case "GMT+00:00": + str = "Atlantic/Azores"; + break; + case "GMT+01:30": + case "GMT+01:00": + str = "Europe/Brussels"; + break; + case "GMT+02:30": + case "GMT+02:00": + str = "Europe/Zaporozhye"; + break; + case "GMT+03:30": + str = "Asia/Tehran"; + break; + case "GMT+03:00": + str = "Europe/Moscow"; + break; + case "GMT+04:30": + str = "Asia/Kabul"; + break; + case "GMT+04:00": + str = "Asia/Dubai"; + break; + case "GMT+05:30": + str = "Asia/Kolkata"; + break; + case "GMT+05:00": + str = "Asia/Aqtobe"; + break; + case "GMT+06:30": + str = "Asia/Rangoon"; + break; + case "GMT+06:00": + str = "Asia/Urumqi"; + break; + case "GMT+07:30": + case "GMT+07:00": + str = "Asia/Vientiane"; + break; + case "GMT+08:30": + case "GMT+08:00": + str = "Asia/Shanghai"; + break; + case "GMT+09:30": + str = "Australia/Adelaide"; + break; + case "GMT+09:00": + str = "Asia/Yakutsk"; + break; + case "GMT+10:30": + str = "Australia/Yancowinna"; + break; + case "GMT+10:00": + str = "Asia/Vladivostok"; + break; + case "GMT+11:30": + case "GMT+11:00": + str = "Asia/Magadan"; + break; + case "GMT+12:00": + str = "Pacific/Majuro"; + break; + } } return str; } @@ -586,11 +704,17 @@ public class TimeUtil { ICLogger.d("===tmp:" + str1); ICLogger.d("setTimeZone:" + timeZone1.getDisplayName()); alarmManager.setTimeZone(timeZone1.getID()); + Calendar now = Calendar.getInstance(); + TimeZone tz = TimeZone.getTimeZone(timeZone1.getID()); + now.setTimeZone(tz); return; } } - ICLogger.d(paramString + " not found , set to default timezone " + timeZone.getID()); alarmManager.setTimeZone(getTimeZoneID_ByDisplayName(paramString)); + ICLogger.d(paramString + " not found , set to default timezone " + getTimeZoneID_ByDisplayName(paramString)); + Calendar now = Calendar.getInstance(); + TimeZone tz = TimeZone.getTimeZone(getTimeZoneID_ByDisplayName(paramString)); + now.setTimeZone(tz); } diff --git a/app/src/main/java/com/ic/protocols/protocol_gator.java b/app/src/main/java/com/ic/protocols/protocol_gator.java index 8c67c419..30aa43dc 100644 --- a/app/src/main/java/com/ic/protocols/protocol_gator.java +++ b/app/src/main/java/com/ic/protocols/protocol_gator.java @@ -25,6 +25,7 @@ import com.enqualcomm.support.bean.VoiceContent; import com.enqualcomm.support.bean.VoicePacket; import com.enqualcomm.support.provider.ICAlarmProvider; import com.enqualcomm.support.provider.ICDatabaseHelper; +import com.enqualcomm.support.provider.ICGlobalSettingsProvider; import com.enqualcomm.support.provider.ICMembersProvider; import com.enqualcomm.support.provider.WeTalkMessageProvider; import com.enqualcomm.support.service.SilentManager; @@ -529,6 +530,7 @@ public class protocol_gator { ICLogger.i("===" + TimeUtil.getDefaultTimeZone()); TimeUtil.setSysDateTime(runtime.getContextProxy().context, datetime, msg[3], true); ICLogger.i("===" + TimeUtil.getDefaultTimeZone()); + updateIcSettingsValue("TIMEZONE_CHANGED","00"); connection.send(BPXX_REPLY(runtime, CMD_TYPE.BP03, index, true)); } else { connection.send(BPXX_REPLY(runtime, CMD_TYPE.BP03, index, false)); @@ -545,6 +547,15 @@ public class protocol_gator { } } + private void updateIcSettingsValue(String key, String value) { + ContentResolver resolver = mRuntime.getContextProxy().getResolver(); + ContentValues values = new ContentValues(); + values.put(ICDatabaseHelper.sKey, key); + //把值保存到数据库中,相机会就监听数据库值的变化,做出响应 + values.put(ICDatabaseHelper.sValue, value); + resolver.insert(Uri.parse(ICGlobalSettingsProvider.SETTINGS), values); + } + private void appendSOS(Runtime runtime, ArrayList numbers, ArrayList names, ArrayList types) { ArrayList contactArray = new ArrayList<>(); //先删除掉SOS的号码 @@ -1700,6 +1711,7 @@ SOS报警上行WIFI、LBS混合定位数据,步数为255步,电量等级5,数 RemoteCallbackList fzdCallback = mRuntime.getVideoCallCallback(); int i = fzdCallback.beginBroadcast(); try { + ICLogger.i("dispatchAP51 i = "+i); while (i > 0) { i--; //1是视频通话,0是语音通话 diff --git a/app/version_code.properties b/app/version_code.properties index 4ef6cbe1..6ef54e89 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Tue Jan 04 11:49:56 CST 2022 -VERSION_CODE=1037 +#Tue Jan 18 10:17:29 CST 2022 +VERSION_CODE=1043 -- 2.17.1