From: snickersun Date: Tue, 24 Mar 2020 04:12:19 +0000 (+0800) Subject: 1、添加 短信和微聊消息震动, X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=aeae1077a560cde6b7c831c174737a274f418905;p=protocol_srv.git 1、添加 短信和微聊消息震动, 2、修复 Timer格式造成的 闹铃设置失败。以及 api处理时的逻辑问题。 3、添加IMEI的 全局 配置 SharedReference --- diff --git a/app/src/main/java/com/enqualcomm/support/Config.java b/app/src/main/java/com/enqualcomm/support/Config.java index d31186bf..fd339d1d 100644 --- a/app/src/main/java/com/enqualcomm/support/Config.java +++ b/app/src/main/java/com/enqualcomm/support/Config.java @@ -12,174 +12,14 @@ import org.json.JSONException; import org.json.JSONStringer; public class Config { - public static final boolean LOG_TOFILE=true; - public static final String AUDIO_FORMAT = "1"; - - private static final String BT = "1@4.0"; - - public static final String COMPANY = "2"; - - public static final String HOST = "watch.enqualcomm.com"; - - public static final String HOST_TEST_SERVER = "121.42.192.174"; - - public static final String IMAGE_FORMAT = "1"; - - private static final int LBS = 1; - - private static final String LCD = "OLED@240X206"; - - private static final int NFC = 0; - - public static final String OSS_HOST = "121.42.245.59"; - - public static final int OSS_PORT = 11645; - - public static final int PORT = 11445; - - private static final int Schedule_powonoff = 0; - - public static final String TEST_SERVER_PROP = "1"; - - private static final int TP = 1; - - private static final int T_Card = 0; - - private static final int air_pressure = 0; - - private static final int alarm = 1; - public static int antioff = 0; - - private static final int behavior_mode = 0; - - private static final int call_vol = 2; - - private static final String camera = "1@200"; - - private static final int check_bill = 1; - - private static final int communication_standard = 1; - - private static final int connect = 1; - - private static final int dampness = 0; - - private static final int end_call = 0; - - private static final int fight_mode = 0; - - private static final int geomagnetic = 0; - - private static final int gps = 1; - - private static final int gsensor = 1; - - private static final int gyroscope = 0; - public static int heart_rate = 0; - private static String json; - - private static final int key_num = 1; - - private static final int kindness_num = 0; - - private static final String language = "0@0"; - - private static final int make_call = 1; - - private static final String market = "domestic"; - - private static final String mcc_mnc = "46000"; - - private static final int monitor = 1; - - private static final int monitor_num = 0; - - private static final int multi_point = 0; - - private static final int nickname = 0; - - public static final int oss_file = 0; - - private static final int other_contact_num = 30; - - private static final int pedometer = 1; - - private static final int phonebook = 1; - - private static final String platform = "SC9820E"; - - private static final int product = 2; - - private static final String protocol_version = "2.0"; - - private static final int q_a = 1; - - private static final int reboot = 1; - - private static final int relation = 0; - - private static final int relatives = 1; - - private static final int ring_vol = 2; - - private static final int search_terminal = 1; - - private static final int sedentary_reminder = 0; - - private static final int shake = 1; - - private static final int shutdown_hand = 1; - - private static final int silent = 1; - - private static final int sim = 1; - - private static final int sleep_monitor = 0; - - private static final int sms_forward = 0; - - private static final int sndrec = 0; - - private static final int sos_num = 0; - + public static int sw_release_no = -1; - - private static final String sw_version = "eiot_V1.0.0"; - - private static final int temperature = 0; - - private static final int time_set = 0; - - private static final int url_download = 1; - - public static int value_setting = 1; - - private static final int video_jf = 1; - - private static final int voice_control = 0; - - private static final int voice_notice = 1; - - private static final int volume = 0; - - private static final int weather = 1; - - private static final int wechat = 1; - - private static final int wifi = 2; - - private static final int wifi_setting = 1; - - private static final int wireless_charge = 0; - - public static String work_mode = "2@1"; - - private static final int yunosuuid = 0; + public static String work_mode = "2@1"; public static final String DefaultHost="watch.jiai.pro"; public static final int DefaultPort=8090; @@ -399,11 +239,13 @@ public class Config { } public static void setIMEI(Context context, String imei){ - SharPreferenceUtil.setPrefString(context,KeyIMEI,imei); +// SharPreferenceUtil.setPrefString(context,KeyIMEI,imei); + SharPreferenceUtil.setPrefStringPublic(context,KeyIMEI,imei); } public static String getIMEI(Context context){ - return SharPreferenceUtil.getPrefString(context,KeyIMEI,""); +// return SharPreferenceUtil.getPrefString(context,KeyIMEI,""); + return SharPreferenceUtil.getPrefStringPublic(context,KeyIMEI,""); } public static String getProtocolServerHost(Context context){ diff --git a/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java b/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java index bb98343f..24c957d9 100644 --- a/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java +++ b/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java @@ -705,6 +705,7 @@ public class protocolAPIHelper { public void handleBP85(String cmd , Connection connection,Runtime runtime){ // IWBP85,867155030001063,155312,1,1,0235,12,1,1 // IWBP85,867155030002145,945166,1,0, +// IWBP85,867155030001064,265960,1,1,1130,,1,1 // IWBP85,353456789012345,080835,1,3, 0900,135,1,1@0900 ,135,1,2@0900 ,135,1,3# //353456789012345:IMEI号,设备唯一ID //080835 :指令流水号 @@ -782,10 +783,10 @@ public class protocolAPIHelper { }else{ log("data len is too small!"); } - runtime.getDbHelper().saveAlarm(alarmlist); } }//循环获取alarm数据结束 + runtime.getDbHelper().saveAlarm(alarmlist); //do clean and set alarm things 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 b685f0ac..45c8b166 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java @@ -8,6 +8,7 @@ import com.enqualcomm.support.utils.ContextProxy; import com.enqualcomm.support.utils.DBHelper; import com.enqualcomm.support.utils.DnsUtil; import com.enqualcomm.support.utils.ICLogger; +import com.enqualcomm.support.utils.VibrateUtil; import java.io.File; import java.text.ParseException; @@ -26,7 +27,6 @@ public class Runtime { private boolean batterychanging; - public String belong; private File cacheDir; diff --git a/app/src/main/java/com/enqualcomm/support/utils/CustomDialog.java b/app/src/main/java/com/enqualcomm/support/utils/CustomDialog.java index ea8fed5c..5886f016 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/CustomDialog.java +++ b/app/src/main/java/com/enqualcomm/support/utils/CustomDialog.java @@ -94,8 +94,8 @@ public class CustomDialog extends Dialog { if (this.message != null) { ((TextView)view.findViewById(R.id.message)).setText(this.message); } else if (this.contentView != null) { - ((LinearLayout)view.findViewById(R.id.content)).removeAllViews(); - ((LinearLayout)view.findViewById(R.id.content)).addView(this.contentView, new LayoutParams(-1, -1)); + ((LinearLayout)(view.findViewById(R.id.content))).removeAllViews(); + ((LinearLayout)(view.findViewById(R.id.content))).addView(this.contentView, new LayoutParams(-1, -1)); } this.mDialog.setContentView(view); @@ -107,7 +107,7 @@ public class CustomDialog extends Dialog { synchronized(CustomDialog.class){} Throwable custmExeception; - boolean var10001; + boolean ret; label144: { try { if (this.mDialog == null) { @@ -115,7 +115,7 @@ public class CustomDialog extends Dialog { } } catch (Throwable var13) { custmExeception = var13; - var10001 = false; + ret = false; break label144; } @@ -124,7 +124,7 @@ public class CustomDialog extends Dialog { return this.mDialog; } catch (Throwable var12) { custmExeception = var12; - var10001 = false; + ret = false; break label141; } } @@ -136,7 +136,7 @@ public class CustomDialog extends Dialog { throw var1; } catch (Throwable var11) { custmExeception = var11; - var10001 = false; + ret = false; continue; } } 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 d90fd6b6..701a95da 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java @@ -114,7 +114,7 @@ public class ProcessReceiver extends BroadcastReceiver { var5.addCategory("android.intent.category.DEFAULT"); var5.addFlags(FLAG_ACTIVITY_NEW_TASK); var5.setComponent(var3); - + VibrateUtil.getInstance(context).VibrateOn(false); try { context.startActivity(var5); } catch (Exception var4) { @@ -125,6 +125,7 @@ public class ProcessReceiver extends BroadcastReceiver { }).setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface var1, int var2) { var1.dismiss(); + VibrateUtil.getInstance(context).VibrateOn(false); } }).create(); mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST); @@ -138,6 +139,7 @@ public class ProcessReceiver extends BroadcastReceiver { mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface var1, int var2) { var1.dismiss(); + VibrateUtil.getInstance(context).VibrateOn(false); } }).create(); mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST); @@ -154,6 +156,7 @@ public class ProcessReceiver extends BroadcastReceiver { var5.addCategory("android.intent.category.DEFAULT"); var5.addFlags(FLAG_ACTIVITY_NEW_TASK); var5.setComponent(var3); + VibrateUtil.getInstance(context).VibrateOn(false); try { context.startActivity(var5); } catch (Exception var4) { @@ -163,6 +166,7 @@ public class ProcessReceiver extends BroadcastReceiver { }).setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface var1, int var2) { var1.dismiss(); + VibrateUtil.getInstance(context).VibrateOn(false); } }).create(); mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST); @@ -476,6 +480,7 @@ public class ProcessReceiver extends BroadcastReceiver { if (!DeviceInfoUtil.isTopActivity(paramContext)) { this.initMyDialog(paramContext, contact, 1); this.playNotificationVoice(paramContext); + VibrateUtil.getInstance(paramContext).VibrateOn(true); } this.screenOn(paramContext); @@ -488,6 +493,7 @@ public class ProcessReceiver extends BroadcastReceiver { if (!DeviceInfoUtil.isTopActivity(paramContext)) { this.initMyDialog(paramContext, null, 3); this.playNotificationVoice(paramContext); + VibrateUtil.getInstance(paramContext).VibrateOn(true); } this.screenOn(paramContext); @@ -501,6 +507,7 @@ public class ProcessReceiver extends BroadcastReceiver { if (contact != null && !isSilence) { this.initMyDialog(paramContext, contact, 2); this.playNotificationVoice(paramContext); + VibrateUtil.getInstance(paramContext).VibrateOn(true); this.screenOn(paramContext); } } diff --git a/app/src/main/java/com/enqualcomm/support/utils/SharPreferenceUtil.java b/app/src/main/java/com/enqualcomm/support/utils/SharPreferenceUtil.java index f121c75d..0babe229 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/SharPreferenceUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/SharPreferenceUtil.java @@ -6,6 +6,8 @@ import android.preference.PreferenceManager; public class SharPreferenceUtil { + + public static void clearPreference(Context context, SharedPreferences sharedPref) { sharedPref.edit().clear().commit(); } @@ -53,4 +55,15 @@ public class SharPreferenceUtil { public static void setPrefString(Context context, String key, String value) { PreferenceManager.getDefaultSharedPreferences(context).edit().putString(key, value).commit(); } + + + public static String getPrefStringPublic(Context context, String key, String value) { + SharedPreferences sp=context.getSharedPreferences("icprotocolconfig",Context.MODE_WORLD_READABLE); + return sp.getString(key, value); + } + public static void setPrefStringPublic(Context context, String key, String value) { + SharedPreferences sp=context.getSharedPreferences("icprotocolconfig",Context.MODE_WORLD_WRITEABLE); + sp.edit().putString(key, value).commit(); + } + } 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 c2c3b272..0571dc8a 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java @@ -15,9 +15,10 @@ public class TimeUtil { public static String getLocalTime2(long paramLong) { return (new SimpleDateFormat("MMddHHmmss")).format(new Date(paramLong)); } public static String getSystemTime() { return getSystemTime(System.currentTimeMillis()); } - - public static String getSystemTime(long paramLong) { return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date(paramLong)); } - + + //此处不能随意改动,影响闹铃设置 + public static String getSystemTime(long paramLong) { return (new SimpleDateFormat("yyyy-MM-dd;HH:mm:ss")).format(new Date(paramLong)); } + public static String getSystemTime2() { return getSystemTime2(System.currentTimeMillis()); } public static String getSystemTime2(long paramLong) { return (new SimpleDateFormat("yyyyMMdd;HHmmss")).format(new Date(paramLong)); } diff --git a/app/src/main/java/com/enqualcomm/support/utils/Util.java b/app/src/main/java/com/enqualcomm/support/utils/Util.java index 392c9755..ab7f5357 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/Util.java +++ b/app/src/main/java/com/enqualcomm/support/utils/Util.java @@ -131,35 +131,40 @@ public class Util { } /** * - * + * 此函数专门给L02 协议使用 ,解析名字用 * @param unicodestr * @return */ public static String decodeUnicode2Utf8(String unicodestr) { - char aChar; int len = unicodestr.length(); //由于协议中Unicode 都是不带\\u 字头的,和网络中常见的不同,直接4个字节代表一个unicode字。 //如果不是4的整倍数,则证明字符串格式有误,取消转换 if (len%4==0) { - //先给每个unicode字符都加上\\u字头,然后再进行转换。 StringBuffer sb = new StringBuffer(); for (int i = 0; i < len; i += 4) { sb.append("\\u").append(unicodestr.substring(i, i + 4)); } + return decodeUnicode2Utf8Common(sb.toString()); + }else{ + return null; + } + + } - String theString = sb.toString(); - len= theString.length(); + public static String decodeUnicode2Utf8Common(String unicodestr) { + char aChar; + int len = unicodestr.length(); StringBuffer outBuffer = new StringBuffer(len); for (int x = 0; x < len; ) { - aChar = theString.charAt(x++); + aChar = unicodestr.charAt(x++); if (aChar == '\\') { - aChar = theString.charAt(x++); + aChar = unicodestr.charAt(x++); if (aChar == 'u') { // Read the xxxx int value = 0; for (int i = 0; i < 4; i++) { - aChar = theString.charAt(x++); + aChar = unicodestr.charAt(x++); switch (aChar) { case '0': case '1': @@ -211,12 +216,10 @@ public class Util { outBuffer.append(aChar); } return outBuffer.toString(); - }else{ - return null; - } + } - public static String getSystemProperties(String prop){ + public static String getSystemProperties(String prop){ String str =""; Class clazz = null; diff --git a/app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java b/app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java new file mode 100644 index 00000000..16384405 --- /dev/null +++ b/app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java @@ -0,0 +1,34 @@ +package com.enqualcomm.support.utils; + +import android.content.Context; +import android.os.Vibrator; + +import static android.content.Context.VIBRATOR_SERVICE; + +public class VibrateUtil { + + private static Context mContext=null; + public static VibrateUtil getInstance(Context context){ + if (mContext==null) + mContext=context; + if (vibrator==null) + vibrator=(Vibrator)mContext.getSystemService(VIBRATOR_SERVICE); + vibrateUtil=new VibrateUtil(); + return vibrateUtil; + } + private static Vibrator vibrator = null; + private static VibrateUtil vibrateUtil=null; + + private final long[] patter = {1000, 1000, 1000, 1000}; //1秒开,1秒关,2秒开,50ms关 + + public void VibrateOn(boolean on){ + if(vibrator!=null) { + if (on) +// vibrator.vibrate(patter, 0);//一直循环 + vibrator.vibrate(patter, -1);//不循环 + else + vibrator.cancel(); + } + } + +}