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.webmsgresponse.WebMsgView;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
contentBuilder.append(context.getString(R.string.voiceMessageEnd));
mCustomDialog = tmpDialog.setMessage(contentBuilder.toString())
.setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface var1x, int var2x) {
- var1x.dismiss();
- ComponentName var3 = new ComponentName("com.ic.icwetalk",
- "com.ic.icwetalk.MainActivity");
- Intent intent = new Intent("android.intent.action.MAIN");
- intent.putExtra("ACTIVITY_TYPE", 2);
- intent.putExtra("contact", contact);
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
- intent.setComponent(var3);
- VibrateUtil.getInstance(context).vibrateOn(false);
- try {
- context.startActivity(intent);
- } catch (Exception e) {
- e.printStackTrace();
- ICLogger.e(e.getMessage(), e);
- }
+ public void onClick(DialogInterface var1x, int var2x) {
+ var1x.dismiss();
+ ComponentName var3 = new ComponentName("com.ic.icwetalk",
+ "com.ic.icwetalk.MainActivity");
+ Intent intent = new Intent("android.intent.action.MAIN");
+ intent.putExtra("ACTIVITY_TYPE", 2);
+ intent.putExtra("contact", contact);
+ intent.addCategory("android.intent.category.DEFAULT");
+ intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
+ intent.setComponent(var3);
+ VibrateUtil.getInstance(context).vibrateOn(false);
+ try {
+ context.startActivity(intent);
+ } catch (Exception e) {
+ e.printStackTrace();
+ ICLogger.e(e.getMessage(), e);
+ }
- }
- }).setNegativeButton(context.getString(R.string.cancel), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface var1, int var2) {
- var1.dismiss();
- VibrateUtil.getInstance(context).vibrateOn(false);
- }
- }).create();
+ }
+ }).setNegativeButton(context.getString(R.string.cancel), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface var1, int var2) {
+ var1.dismiss();
+ VibrateUtil.getInstance(context).vibrateOn(false);
+ }
+ }).create();
mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
mCustomDialog.show();
} else if (app_id == 2) {
StringBuilder var7 = new StringBuilder();
var7.append(msg);
mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface var1, int var2) {
- var1.dismiss();
+ public void onClick(DialogInterface dialog, int var2) {
+ dialog.dismiss();
VibrateUtil.getInstance(context).vibrateOn(false);
stopmediaplayer();
}
this.screenOn(paramContext);
}
} else if (paramIntent.hasExtra("findDev")) {
+
ICLogger.d("hasExtra(findDev)");
String findDevTxt = paramIntent.getStringExtra("findDev");
SharePreferenceUtil.getPrefBoolean(paramContext, "key_is_resume", false);
ICLogger.d("isSilence ==> " + isSilence);
ICLogger.d("findDevTxt ==> " + findDevTxt);
if (findDevTxt != null && !isSilence) {
- this.initMyDialog(paramContext, null, 5, findDevTxt, false);
+ //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");
--- /dev/null
+package com.ic.view;
+
+import android.content.Context;
+import android.graphics.drawable.AnimationDrawable;
+import android.media.AudioManager;
+import android.view.Gravity;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.ImageView;
+
+import com.ic.protocolSrv.ICApplication;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.service.AudioService;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.VibrateUtil;
+
+public class FindDeviceView {
+
+ private WindowManager windowManager;
+
+ private static FindDeviceView sInstance;
+ private boolean isShow;
+ private View view;
+ private AnimationDrawable animationDrawable;
+ private AudioManager audioManager;
+ private int oldVolume;
+
+ public static FindDeviceView getInstance() {
+ if (sInstance == null) {
+ sInstance = new FindDeviceView();
+ }
+ return sInstance;
+ }
+
+ public void showMsgDialog() {
+ ICLogger.d("showMsgDialog..." + isShow);
+ if (isShow) {
+ return;
+ }
+ isShow = true;
+ Context context = ICApplication.sContext;
+ windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ //设置属性
+ WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
+ layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
+ //这个是针对S123的屏幕,如果要适配其他,可以动态获取屏幕宽度,高度,再以百分比的形式计算即可。
+ layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
+ layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
+ layoutParams.packageName = context.getPackageName();
+ layoutParams.gravity = Gravity.CENTER;
+ //加载布局
+ view = View.inflate(context, R.layout.find_device_layout, null);
+ //设置适配器
+ initView(view);
+ windowManager.addView(view, layoutParams);
+ //音量最大,消失的时候重置音量
+ audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+ oldVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
+ audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
+ }
+
+ private void initView(View view) {
+ View btn = view.findViewById(R.id.w100_press_btn);
+ ImageView animView = view.findViewById(R.id.anim_view);
+ animationDrawable = (AnimationDrawable) animView.getBackground();
+ if (animationDrawable != null) {
+ animationDrawable.start();
+ }
+ btn.setOnClickListener(v -> {
+ VibrateUtil.getInstance(v.getContext()).vibrateOn(false);
+ AudioService.getInstance().stop();
+ dismiss();
+ });
+ }
+
+ public void dismiss() {
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
+ oldVolume, 0);
+ if (animationDrawable != null) {
+ animationDrawable.stop();
+ }
+ windowManager.removeView(view);
+ sInstance = null;
+ windowManager = null;
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:drawable="@mipmap/w100_find_press" android:state_pressed="true" />
+ <item android:drawable="@mipmap/w100_find_normal" />
+</selector>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
+ android:oneshot="false">
+ <item
+ android:drawable="@mipmap/w100_1"
+ android:duration="100" />
+ <item
+ android:drawable="@mipmap/w100_2"
+ android:duration="100" />
+ <item
+ android:drawable="@mipmap/w100_3"
+ android:duration="100" />
+
+ <item
+ android:drawable="@mipmap/w100_4"
+ android:duration="100" />
+
+ <item
+ android:drawable="@mipmap/w100_5"
+ android:duration="100" />
+
+ <item
+ android:drawable="@mipmap/w100_6"
+ android:duration="100" />
+
+</animation-list>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/w100_back_ground">
+
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:id="@+id/anim_view"
+ android:layout_height="match_parent"
+ android:background="@drawable/w100_flash" />
+
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/w100_press_btn"
+ android:src="@drawable/selector_w100_find_btn"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent" />
+
+
+</android.support.constraint.ConstraintLayout>
\ No newline at end of file