From: TrillGates Date: Mon, 6 Sep 2021 08:51:33 +0000 (+0800) Subject: add sos receive page. X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=5e05d56876d8531a59edcc8c06b4241c1a79b5b5;p=protocol_srv.git add sos receive page. --- diff --git a/app/src/main/java/com/ic/protocolSrv/service/Deliver.java b/app/src/main/java/com/ic/protocolSrv/service/Deliver.java index e1ef690b..94c0b424 100644 --- a/app/src/main/java/com/ic/protocolSrv/service/Deliver.java +++ b/app/src/main/java/com/ic/protocolSrv/service/Deliver.java @@ -39,6 +39,7 @@ import com.ic.protocolSrv.utils.TemperatureUtil; import com.ic.protocolSrv.utils.TimeUtil; import com.ic.protocolSrv.utils.Util; import com.ic.protocols.protocolAPIHelper; +import com.ic.view.SOSRecView; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.locks.Condition; @@ -671,8 +672,8 @@ public class Deliver extends AbstractConnectionService { }, recordtime * 1000); return true; } else if ("sosReceive".equals(paramStringMessage.cmd())) { - //显示一个弹窗,然后只有按钮才可以退出 - ICLogger.d("sosReceive ... show page..."); + SOSRecView instance = SOSRecView.getInstance(); + instance.showMsgDialog(); } return false; } diff --git a/app/src/main/java/com/ic/protocolSrv/utils/ProcessReceiver.java b/app/src/main/java/com/ic/protocolSrv/utils/ProcessReceiver.java index d30537fd..e03a124c 100644 --- a/app/src/main/java/com/ic/protocolSrv/utils/ProcessReceiver.java +++ b/app/src/main/java/com/ic/protocolSrv/utils/ProcessReceiver.java @@ -23,7 +23,7 @@ import com.ic.protocolSrv.service.AudioService; import com.ic.protocolSrv.service.Deliver; import com.ic.protocolSrv.service.HeartRateManager; import com.ic.protocols.protocolAPIHelper; -import com.ic.view.FindDeviceView; +import com.ic.view.SOSRecView; import com.ic.view.webmsgresponse.WebMsgView; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; @@ -402,10 +402,7 @@ public class ProcessReceiver extends BroadcastReceiver { } } - - return; - } else if (DIALOG_ACTION.equals(str)) { ICLogger.d("receive DIALOG_ACTION"); if (paramIntent.hasExtra("contact")) { @@ -464,23 +461,25 @@ public class ProcessReceiver extends BroadcastReceiver { this.playNotificationVoice(paramContext); VibrateUtil.getInstance(paramContext).vibrateOn(true); } - this.screenOn(paramContext); } } else if (paramIntent.hasExtra("findDev")) { ICLogger.d("hasExtra(findDev)"); - String findDevTxt = paramIntent.getStringExtra("findDev"); - SharePreferenceUtil.getPrefBoolean(paramContext, "key_is_resume", false); - isSilence = SharePreferenceUtil.getPrefBoolean(paramContext, "KEY_ISSILENCE", false); - ICLogger.d("isSilence ==> " + isSilence); - ICLogger.d("findDevTxt ==> " + findDevTxt); - if (findDevTxt != null && !isSilence) { - //this.initMyDialog(paramContext, null, 5, findDevTxt, false); - this.playFindDevVoice(paramContext); - VibrateUtil.getInstance(paramContext).vibrateOn(true); - this.screenOn(paramContext); - FindDeviceView.getInstance().showMsgDialog(); - } + SOSRecView instance = SOSRecView.getInstance(); + instance.showMsgDialog(); + this.screenOn(paramContext); +// String findDevTxt = paramIntent.getStringExtra("findDev"); +// SharePreferenceUtil.getPrefBoolean(paramContext, "key_is_resume", false); +// isSilence = SharePreferenceUtil.getPrefBoolean(paramContext, "KEY_ISSILENCE", false); +// ICLogger.d("isSilence ==> " + isSilence); +// ICLogger.d("findDevTxt ==> " + findDevTxt); +// if (findDevTxt != null && !isSilence) { +// //this.initMyDialog(paramContext, null, 5, findDevTxt, false); +// this.playFindDevVoice(paramContext); +// VibrateUtil.getInstance(paramContext).vibrateOn(true); +// this.screenOn(paramContext); +// FindDeviceView.getInstance().showMsgDialog(); +// } } else if (paramIntent.hasExtra("takephoto")) { String takephoto = paramIntent.getStringExtra("takephoto"); SharePreferenceUtil.getPrefBoolean(paramContext, "key_is_resume", false); @@ -489,11 +488,9 @@ public class ProcessReceiver extends BroadcastReceiver { this.initMyDialog(paramContext, null, 6, takephoto, false); this.playNotificationVoice(paramContext); VibrateUtil.getInstance(paramContext).vibrateOn(true); - this.screenOn(paramContext); } } - } else if (ACTION_SET_SIT_RANGE.equals(str)) { if (paramIntent.hasExtra(Constants.KEY_SIT_RANGE)) { int sitrange = paramIntent.getIntExtra(Constants.KEY_SIT_RANGE, 0); diff --git a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java index 3fcd1a8c..90d7ad77 100644 --- a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java @@ -57,10 +57,12 @@ public class protocolAPIHelper { protocolgator_handler = new protocol_gator(connect, runtime); } } - public void onDestroy(){ - if(protocolanan_handler!=null) + + public void onDestroy() { + if (protocolanan_handler != null) protocolanan_handler.unRegisterWearStateReceiver(); } + private static boolean is_protocol_not_Initialled() { return (protocolbeehome_handler == null || protocoljiai_handler == null || protocolic_handler == null || @@ -546,7 +548,7 @@ public class protocolAPIHelper { ret = protocol_ic.AP00(runtime); break; case Config.PROTOCOL_FZD: - ret = protocol_fzd.LK(); + ret = protocol_fzd.LK(runtime); break; case Config.PROTOCOL_MQTT: ret = protocol_mqtt.BREQ(runtime); 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 518a2814..9fbe7afa 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -36,9 +36,9 @@ import com.ic.protocolSrv.bean.Silent; import com.ic.protocolSrv.bean.StringMessage; import com.ic.protocolSrv.provider.ICDatabaseHelper; import com.ic.protocolSrv.provider.ICFollowProvider; +import com.ic.protocolSrv.provider.ICGlobalSettingsProvider; import com.ic.protocolSrv.provider.ICMembersProvider; import com.ic.protocolSrv.provider.WeTalkMessageProvider; -import com.ic.protocolSrv.provider.ICGlobalSettingsProvider; import com.ic.protocolSrv.service.HeartRateManager; import com.ic.protocolSrv.utils.AlarmHelper; import com.ic.protocolSrv.utils.CameraUtil; @@ -641,35 +641,17 @@ public class protocol_fzd { ICLogger.d("not correct FZD cmd! "); break; } - -// if (cmdbuf.toString().split(CMD_COMPANY + CMD_HEADER_SPLIT).length > 1) { -// ICLogger.d("More than 1 cmd in buffer ! just log it"); -// } String cmdname = protocol_fzd.isCmdStr(cmd_msgbuf); if (!cmdname.trim().isEmpty()) { //返回为非空,证明是可识别的FZD指令 for (protocol_fzd.CMD_TYPE key : protocol_fzd.cmdMap.keySet()) { - -// ICLogger.d("key " + protocol_fzd.cmdMap.get(key) + " " + cmdname + " cmdbuf " + cmd_msgbuf); if (protocol_fzd.cmdMap.get(key).equals(cmdname)) { //如果是FZD命令,则进行处理,否则保留数据动 - -// ICLogger.d("key is == > " + key); -// if (key == CMD_TYPE.TK) { -// handlerGroupChatVoiceContent(totalByte); -// } else if (key == CMD_TYPE.TKOne) { -// handlerOneChatVoiceContent(totalByte); -// } else if (key == CMD_TYPE.TKIMG) { -// handleImage(totalByte); -// } -// else { int cmdindexmid = cmd_msgbuf.indexOf(CMD_HEADER_SPLIT + cmdname); String cmddata = cmd_msgbuf.substring(cmdindexmid + CMD_HEADER_SPLIT.length() + cmdname.length()); if (cmddata.startsWith(CMD_SPLIT)) cmddata = cmddata.substring(1); -// ICLogger.d("handleCmd key " + key + " cmdname " + cmdname + " data " + cmddata); handleCmd(key, cmdname, cmddata); } cmdbuf.delete(0, cmd_msgbuf.length() + 2);//处理后清空 - break; } } @@ -1007,7 +989,7 @@ public class protocol_fzd { } /*登录*/ - public static StringMessage LK() { + public static StringMessage LK(Runtime runtime) { /*IC*YYYYYYYYYYYYYYY*LEN*LK*/ return genFZDCMD(cmdMap.get(CMD_TYPE.LK)); } diff --git a/app/src/main/java/com/ic/view/EventBlockView.java b/app/src/main/java/com/ic/view/EventBlockView.java new file mode 100644 index 00000000..eec62c7b --- /dev/null +++ b/app/src/main/java/com/ic/view/EventBlockView.java @@ -0,0 +1,39 @@ +package com.ic.view; + +import android.content.Context; +import android.support.annotation.Nullable; +import android.support.constraint.ConstraintLayout; +import android.util.AttributeSet; +import android.view.KeyEvent; + +public class EventBlockView extends ConstraintLayout { + private OnKeyListener mKeyListener; + + public EventBlockView(Context context) { + super(context); + } + + public EventBlockView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + } + + public EventBlockView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + public void setOnKeyListener(OnKeyListener l) { + super.setOnKeyListener(l); + this.mKeyListener = l; + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (mKeyListener != null) { + return mKeyListener.onKey(this, event.getKeyCode(), event); + } + return super.dispatchKeyEvent(event); + } + +} + diff --git a/app/src/main/java/com/ic/view/SOSRecView.java b/app/src/main/java/com/ic/view/SOSRecView.java index e558fabf..53f936bd 100644 --- a/app/src/main/java/com/ic/view/SOSRecView.java +++ b/app/src/main/java/com/ic/view/SOSRecView.java @@ -40,8 +40,15 @@ public class SOSRecView { layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; layoutParams.packageName = context.getPackageName(); layoutParams.gravity = Gravity.CENTER; + layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL; //加载布局 - view = View.inflate(context, R.layout.find_device_layout, null); + view = View.inflate(context, R.layout.sos_receive_layout, null); + view.setOnKeyListener((v, keyCode, event) -> { + //判断到按键就退出 + ICLogger.d("on key click..." + keyCode); + dismiss(); + return true; + }); windowManager.addView(view, layoutParams); } diff --git a/app/src/main/res/layout/sos_receive_layout.xml b/app/src/main/res/layout/sos_receive_layout.xml index 0f260375..929762d0 100644 --- a/app/src/main/res/layout/sos_receive_layout.xml +++ b/app/src/main/res/layout/sos_receive_layout.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file