1、protocol_ic 修复BPWL返回错误
authorsnickersun <snickersun@qq.com>
Thu, 3 Dec 2020 19:19:15 +0000 (03:19 +0800)
committersnickersun <snickersun@qq.com>
Thu, 3 Dec 2020 19:19:15 +0000 (03:19 +0800)
2、protocol_fzd 修复SILENCE2 格式设置错误,
3、完善silence配置逻辑,对音量,震动,来电消息等都进行禁用和恢复
4、修复时间显示问题,适配防走丢时间设置格式。

app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/service/SilentManager.java
app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java
app/src/main/java/com/enqualcomm/support/utils/DBHelper.java
app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java
app/src/main/java/com/ic/protocols/protocol_fzd.java
app/src/main/java/com/ic/protocols/protocol_ic.java
local.properties

index ddcd050..e5c6c7a 100644 (file)
@@ -567,6 +567,8 @@ public class Config {
       C5_noBroadCastActionStrip=true;\r
     }else if(custom_name.equals("L02")){\r
       noPushTxtReadReply=false;//即爱需要阅读反馈\r
+    }else{\r
+      noBroadCastPushTxtNotify=true;\r
     }\r
 \r
 \r
index 2361659..b7a39be 100644 (file)
@@ -413,7 +413,8 @@ public class CoreService extends Service {
 
                 int newVolume = intent.getIntExtra("android.media.EXTRA_VOLUME_STREAM_VALUE", 0);
                 int oldVolume = intent.getIntExtra("android.media.EXTRA_PREV_VOLUME_STREAM_VALUE", 0);
-                if (newVolume != oldVolume) {
+                boolean   isSilence = SharPreferenceUtil.getPrefBoolean(context, "KEY_ISSILENCE", false);
+                if (newVolume != oldVolume && !isSilence) {
                    ICLogger.i("Volume changed old "+oldVolume+" new "+newVolume);
                    Config.setMasterVolume(context,newVolume);
                 }
@@ -451,13 +452,13 @@ public class CoreService extends Service {
     }
 
 
-
+    SilentManager silentManager;
     private AbstractInvokeHandlerService getInvokeHandlerServiceChain() {
         ICLogger.i("getInvokeHandlerServiceChain");
         SendChatMessage sendChatMessage = new SendChatMessage();
         HeartRateManager heartRateManager= new HeartRateManager(this.runtime,this.connection);
         antiservice = new AntiMonitorService();
-        SilentManager silentManager = SilentManager.getInstance();// new SilentManager();
+        silentManager = SilentManager.getInstance();// new SilentManager();
         sendChatMessage.setNext(heartRateManager);
         heartRateManager.setNext(silentManager);
         silentManager.setNext(antiservice);
index ae86325..1f1136c 100644 (file)
@@ -289,7 +289,8 @@ public class SilentManager extends AbstractInvokeHandlerService {
     this.mTodayWeek = calendar.get(Calendar.DAY_OF_WEEK);
 
     Silent silent;
-    for(Iterator it = this.silentList.iterator() ; it.hasNext(); silent.endTimeMillis = calendar.getTimeInMillis()) {
+    Iterator it = this.silentList.iterator();
+    while( it.hasNext()) {
       silent = (Silent)it.next();
       calendar.set(Calendar.SECOND, 0);
       int hour = Integer.parseInt(silent.start.substring(2, 4));
@@ -297,10 +298,11 @@ public class SilentManager extends AbstractInvokeHandlerService {
       calendar.set(Calendar.HOUR_OF_DAY, hour);
       calendar.set(Calendar.MINUTE, minutes);
       silent.startTimeMillis = calendar.getTimeInMillis();
-      minutes = Integer.parseInt(silent.end.substring(2, 4));
-      hour = Integer.parseInt(silent.end.substring(5, 7));
-      calendar.set(Calendar.HOUR_OF_DAY, minutes);
-      calendar.set(Calendar.MINUTE, hour);
+      hour = Integer.parseInt(silent.end.substring(2, 4));
+      minutes = Integer.parseInt(silent.end.substring(5, 7));
+      calendar.set(Calendar.HOUR_OF_DAY, hour);
+      calendar.set(Calendar.MINUTE, minutes);
+      silent.endTimeMillis = calendar.getTimeInMillis();
     }
 
   }
@@ -367,8 +369,8 @@ public class SilentManager extends AbstractInvokeHandlerService {
   private void handSilence(Context var1, boolean var2) {
     this.mValue_isSilence = var2;
 
-    setSilentConfig(var1,var2);
 
+    /*
     if (this.isCalling) {
       this.haveHandSilence = true;
     } else {
@@ -382,7 +384,7 @@ public class SilentManager extends AbstractInvokeHandlerService {
      // ComponentName var4 = new ComponentName(SERVICE_PKG_NAME, SERVICE_CLS_NAME);
      // Intent var5 = (new Intent("com.enqualcomm.support.ACTION_VIDEO_END_CALL")).setComponent(var4);
      // this.mRuntime.getContextProxy().context.startService(var5);
-    }
+    }*/
   }
 
   private void handleSilent(Runtime runtime, boolean silent) {
@@ -605,6 +607,11 @@ public class SilentManager extends AbstractInvokeHandlerService {
   }
 
   private void onSilentStateChange(boolean var1) {
+
+    SharPreferenceUtil.setPrefBoolean(mContext, "KEY_ISSILENCE", var1);
+    setSilentConfig(mContext,var1);
+
+
     if (this.alarms != null) {
       if (var1) {
         this.cancelAlarm(this.alarms);
index f045590..412a2ba 100644 (file)
@@ -372,6 +372,7 @@ public class ContextProxy {
       new Handler().postDelayed(new Runnable() {\r
         @Override\r
         public void run() {\r
+          //本应用弹出消息框\r
           if (Config.noPushTxtNotifyDialog == false) {\r
             Intent intent = new Intent();\r
             intent.setAction(DIALOG_ACTION);\r
@@ -383,6 +384,7 @@ public class ContextProxy {
             VibrateUtil.getInstance(_context).VibrateOnOnce(true);\r
             Util.mSleep(2000);\r
           }\r
+          //launcher 弹出消息\r
           if(Config.noBroadCastPushTxtNotify==false) {\r
             Intent intent = new Intent(ActionSrvPushTxt);\r
             intent.putExtra("msgType", msgType); //0 代表 server下发消息,1代表 SMS消息\r
@@ -397,6 +399,7 @@ public class ContextProxy {
       new Handler().postDelayed(new Runnable() {\r
         @Override\r
         public void run() {\r
+          //本应用弹出消息框\r
           if (Config.noPushTxtNotifyDialog == false) {\r
             Intent intent = new Intent();\r
             intent.setAction(DIALOG_ACTION);\r
@@ -408,6 +411,7 @@ public class ContextProxy {
             VibrateUtil.getInstance(_context).VibrateOnOnce(true);\r
             Util.mSleep(2000);\r
           }\r
+          //launcher 弹出消息\r
           if (Config.noBroadCastPushTxtNotify == false) {\r
             Intent intent = new Intent(ActionSrvPushTxt);\r
             intent.putExtra("msgType", msgType); //0 代表 server下发消息,1代表 SMS消息,2代表有提示音的消息\r
@@ -423,6 +427,7 @@ public class ContextProxy {
       new Handler().postDelayed(new Runnable() {\r
         @Override\r
         public void run() {\r
+          //本应用弹出消息框\r
           if (Config.noPushTxtNotifyDialog == false) {\r
             Intent intent = new Intent();\r
             intent.setAction(DIALOG_ACTION);\r
@@ -443,6 +448,7 @@ public class ContextProxy {
       new Handler().postDelayed(new Runnable() {\r
         @Override\r
         public void run() {\r
+          //本应用弹出消息框\r
           if(Config.noSMSNotifyDialog==false) {\r
             Intent intent = new Intent();\r
             intent.setAction(DIALOG_ACTION);\r
@@ -454,6 +460,7 @@ public class ContextProxy {
             VibrateUtil.getInstance(_context).VibrateOnOnce(true);\r
             Util.mSleep(2000);\r
           }\r
+          //launcher 弹出消息\r
           if(Config.noBroadCastPushTxtNotify==false) {\r
             Intent intent = new Intent(ActionSrvPushTxt);\r
             intent.putExtra("msgType", msgType); //0 代表 server下发消息,1代表 SMS消息,2代表有提示音的消息\r
index 2a498e7..3988a92 100644 (file)
@@ -774,6 +774,8 @@ public class DBHelper {
         contentValues.put("WEEK", silent.week);
         contentValues.put("STATUS", silent.status);
         contentValues.put("CUR_SYS_STATUS", current_sys_status);
+        ICLogger.i("add silience "+silent.start+"-"+silent.end+" "+silent.week+" "+silent.status+" "+current_sys_status);
+
       }
 
       this.cr.bulkInsert(ICContentProvider.SILENT_URI, contentValueslist);
index 5d8616c..8215a08 100644 (file)
@@ -209,8 +209,7 @@ public class TimeUtil {
             android.provider.Settings.Global.AUTO_TIME, checked);\r
   }\r
 \r
-\r
-  public static void setSysDateTime(Context mContext,Date datetime,int timezone){\r
+  public static void setSysDateTime(Context mContext,Date datetime,int timezone,boolean addtimezoneToTime){\r
 \r
     AlarmManager alarmManager = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE);\r
     Locale.getDefault().getDisplayCountry();\r
@@ -228,12 +227,14 @@ public class TimeUtil {
 \r
     ICLogger.i("====origin time " + c.getTime().toString()+" time zone "+c.getTimeZone());\r
     c.setTime(datetime);\r
-    if (is24Hour(mContext)){\r
-      c.add(Calendar.HOUR_OF_DAY, timezone);//24小时制\r
-    }else{\r
-      c.add(Calendar.HOUR, timezone);//12小时制\r
+    if (addtimezoneToTime) {\r
+      if (is24Hour(mContext)) {\r
+        c.add(Calendar.HOUR_OF_DAY, timezone);//24小时制\r
+      } else {\r
+        c.add(Calendar.HOUR, timezone);//12小时制\r
+      }\r
+      c.setTimeZone(tz);\r
     }\r
-    c.setTimeZone(tz);\r
 \r
 //    alarmManager.setTimeZone();\r
     long when = c.getTimeInMillis();\r
@@ -252,6 +253,11 @@ public class TimeUtil {
 \r
     ICLogger.i("====set time to " + d.getTime().toString()+" time zone "+d.getTimeZone());\r
 \r
+  }\r
+  public static void setSysDateTime(Context mContext,Date datetime,int timezone){\r
+\r
+    setSysDateTime(mContext,datetime,timezone,true);\r
+\r
   }\r
 \r
   public static void setSysTime(Context mContext,int hour,int minute,int secounds){\r
index 5e49880..ad66aac 100644 (file)
@@ -424,8 +424,8 @@ public class protocol_fzd {
               if(sl.length==4)
               {
                   String start,end,status;
-                  start="T"+sl[0];
-                  end="T"+sl[1];
+                  start="ST"+sl[0];
+                  end="ST"+sl[1];
                   status=sl[2].equals("1")?"ON":"OFF";
                   char[] week=sl[3].toCharArray();
                   StringBuilder week_sb=new StringBuilder();
@@ -436,7 +436,7 @@ public class protocol_fzd {
                   }
                   Silent silent=new Silent(start,end, week_sb.toString(),status);
                   slist.add(silent);
-                  ICLogger.i("set alarm "+start +" " + end + " "+ week_sb.toString()+ " "+status);
+                  ICLogger.i("set silence "+start +" " + end + " "+ week_sb.toString()+ " "+status);
               }else{
                   ICLogger.i("免打扰时间格式错误,skip");
               }
@@ -461,6 +461,7 @@ public class protocol_fzd {
             String date=list[2].trim();
             String time=list[1].trim();
             Date datetime= TimeUtil.parseDatetiime(date,time);
+
             int timezone;
             try
             {
@@ -476,7 +477,7 @@ public class protocol_fzd {
 
 
                 ICLogger.i("==="+TimeUtil.getDefaultTimeZone());
-                TimeUtil.setSysDateTime(runtime.getContextProxy().context,datetime,timezone);
+                TimeUtil.setSysDateTime(runtime.getContextProxy().context,datetime,timezone,false);
                 ICLogger.i("==="+TimeUtil.getDefaultTimeZone());
             }
 //            Set Datetime 20200505112734
@@ -757,7 +758,7 @@ public class protocol_fzd {
 
             String list[]=data.split(CMDSPLIT);
             int listlen=list.length;
-            boolean ispared=  (( listlen >0) && (listlen%2 == 0));
+            boolean ispared=  (( listlen >=0) && (listlen%2 == 0));
             if (ispared){
                 ArrayList<Contact> contactArray=new ArrayList<Contact>();
                 for(int i=0; i<listlen;i+=2){
@@ -867,11 +868,11 @@ public class protocol_fzd {
             case SOS:
                 //收到设置SOS号码
                 handleSOS(mConnection,mRuntime,cmd,data);
-                ICLogger.i("收到服务器设置SOS号码命令BP12");
+                ICLogger.i("收到服务器设置SOS号码命令SOS");
                 break;
             case PHL:
                 //收到设置白名单号码
-                ICLogger.i("收到服务器设置白名单号码命令BP14");
+                ICLogger.i("收到服务器设置白名单号码命令PHL");
                 handlePHL(mConnection,mRuntime,cmd,data);
                 break;
 //            case BP15:
index 4efc3b4..8a1760e 100644 (file)
@@ -2831,7 +2831,7 @@ public class protocol_ic {
 
             String index=cmdlist[2];
             ICLogger.i(sb.toString());
-            connection.send(AP14(index,phnums));
+            connection.send(APWL(index,phnums));
             ArrayList<Contact> contactArray=new ArrayList<Contact>();
 
             if(Config.custom_name.equals("YT")) {
index 38825a3..5da8e42 100644 (file)
@@ -4,5 +4,5 @@
 # Location of the SDK. This is only used by Gradle.
 # For customization when using a Version Control System, please read the
 # header note.
-#Tue Dec 01 09:24:14 CST 2020
-sdk.dir=C\:\\Users\\incar\\AppData\\Local\\Android\\Sdk
+#Fri Dec 04 01:32:30 CST 2020
+sdk.dir=D\:\\Android\\Sdk