From: snickersun Date: Sat, 8 Feb 2020 17:14:33 +0000 (+0800) Subject: 添加Alarm,Notification的提示窗口, X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=103b003aca22827bd967559502635ca53585c67d;p=icsupport.git 添加Alarm,Notification的提示窗口, 实现微聊消息提醒,以及闹铃提醒。 --- diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 1cd6888b..c83f4c48 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -584,8 +584,7 @@ public class CoreService extends Service { // this.mSendPairMessage.resetDownLoadConfig(); // this.mSendPairMessage.startDownLoad(this.runtime, false); return Service.START_STICKY; - } - if (ACTION_ALARM_ADD_DATAPOINTS.equals(paramIntent.getAction())) { + }else if (ACTION_ALARM_ADD_DATAPOINTS.equals(paramIntent.getAction())) { setUpLocationDataAlarm(28800000L); if (this.upLoadDataPoints != null) { this.upLoadDataPoints.uploadCurrentLocation(); @@ -593,8 +592,7 @@ public class CoreService extends Service { } Logger.i("upLoadDataPoints=null"); return Service.START_STICKY; - } - if (Constants.STWORKMODE_ALARM.equals(paramIntent.getAction())) { + }else if (Constants.STWORKMODE_ALARM.equals(paramIntent.getAction())) { if (this.startAlarmCount >= 5) { alarmCycle = paramIntent.getIntExtra("location_cycle", 3); setAlarm(alarmCycle); @@ -604,8 +602,7 @@ public class CoreService extends Service { stringBuilder1.append(alarmCycle); if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(runtime.getCacheDir(), "alarmCycle", stringBuilder1.toString()); return Service.START_STICKY; - } - if (ACTION_LOCATION_ALARM.equals(paramIntent.getAction())){ + }else if (ACTION_LOCATION_ALARM.equals(paramIntent.getAction())){ //收到定时定位消息 setLocationAlarm(runtime.getLocationInstance().getWorkingMod()); stringBuilder1 = new StringBuilder(); @@ -615,13 +612,14 @@ public class CoreService extends Service { this.locationClient.triggerLocationProcess(); return Service.START_STICKY; - } - if(ACTION_HEATR_RATE_START.equals(paramIntent.getAction())){ + }else { + if (ACTION_HEATR_RATE_START.equals(paramIntent.getAction())) { - //此处消息从timer来 - setHeartRateDetectAlarm(runtime.getPpgTestCycle()); - this.invokeHandlerServiceChain.processUserRequest(paramIntent, this.connection, this.runtime); + //此处消息从timer来 + setHeartRateDetectAlarm(runtime.getPpgTestCycle()); + } + this.invokeHandlerServiceChain.processUserRequest(paramIntent, this.connection, this.runtime); } } } 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 9452c312..98706fea 100644 --- a/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java +++ b/app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java @@ -10,6 +10,7 @@ import android.util.Log; import com.enqualcomm.support.Config; import com.enqualcomm.support.Constants; import com.enqualcomm.support.LocationClient; +import com.enqualcomm.support.bean.Alarm; import com.enqualcomm.support.bean.Contact; import com.enqualcomm.support.bean.Content; import com.enqualcomm.support.bean.ICLocation; @@ -720,6 +721,7 @@ public class protocolAPIHelper { int alarmtype=1; //1表示吃药提醒 , 2 表示喝水提醒 ,3 表示久坐提醒 String repeat="";// 135表示周一周三周五,使用24小时制 String[] datalist= cmd.split("@"); + ArrayList alarmlist=new ArrayList<>(); if (datalist.length >0){ for (int i =0 ; i< datalist.length;i++){ String [] cmdarglist=datalist[i].split(","); @@ -747,6 +749,7 @@ public class protocolAPIHelper { .append(", alarmtype=").append(alarmtype) .toString() ); + alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃")); }else if (cmdarglist.length == 5) { imei=cmdarglist[1]; @@ -769,9 +772,14 @@ public class protocolAPIHelper { .append(", alarmtype=").append(alarmtype) .toString() ); + + alarmlist.add(new Alarm("ST"+alarmtime.substring(0,2)+"."+alarmtime.substring(2),"W"+repeat,"CON",alarmswitch==1?"ON":"OFF","闹铃")); + }else{ log("data len is too small!"); } + runtime.getDbHelper().saveAlarm(alarmlist); + } }//循环获取alarm数据结束 @@ -1102,7 +1110,7 @@ public static String AP15(String index){ } //处理 BP28 语音消息 - public void handleBP28(Connection connection,String cmd,Runtime runtime,byte[] bytes) { + public void handleBP28(NettyConnection connection,String cmd,Runtime runtime,byte[] bytes) { //log("handleBP28 msg"+cmd); /** * IWBP28, D3590D54,XXXX,6,1,1024,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX# @@ -1173,9 +1181,9 @@ public static String AP15(String index){ voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content)); runtime.getDbHelper().updateMessage(voiceContent, uri2); - runtime.getContextProxy().sendBroadcast(ACTION_IMESSAGE, runtime); - +// runtime.getContextProxy().sendBroadcast(ACTION_IMESSAGE, runtime); + connection.DeliverCMDMessageToSystem("NewVoice", "");//通知下面线程状态变化 } }else{ diff --git a/app/src/main/java/com/enqualcomm/support/bean/Alarm.java b/app/src/main/java/com/enqualcomm/support/bean/Alarm.java index 14abfa7f..646d0a29 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Alarm.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Alarm.java @@ -2,61 +2,65 @@ package com.enqualcomm.support.bean; public class Alarm { public String name; - public String ring; - public String status; - public String time; - public String week; - - public Alarm(String paramString1, String paramString2, String paramString3, String paramString4) { - this.time = paramString1; - this.week = paramString2; - this.ring = paramString3; - this.status = paramString4; + + public Alarm(String _time, String _week, String _ring, String _status) { + this.time = _time; + this.week = _week; + this.ring = _ring; + this.status = _status; } - - public Alarm(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5) { - this.time = paramString1; - this.week = paramString2; - this.ring = paramString3; - this.status = paramString4; - this.name = paramString5; + + public Alarm(String _time, String _week, String _ring, String _status, String _name) { + this.time = _time; + this.week = _week; + this.ring = _ring; + this.status = _status; + this.name = _name; } - - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj != null) { - if (getClass() != obj.getClass()) + + public boolean equals(Object var1) { + if (this == var1) { + return true; + } else if (var1 != null && this.getClass() == var1.getClass()) { + Alarm var2 = (Alarm)var1; + if (!this.time.equals(var2.time)) { + return false; + } else if (!this.week.equals(var2.week)) { return false; - Alarm alarm = (Alarm)obj; - return !this.time.equals(alarm.time) ? false : (!this.week.equals(alarm.week) ? false : (!this.ring.equals(alarm.ring) ? false : (!this.status.equals(alarm.status) ? false : this.name.equals(alarm.name)))); - } - return false; + } else if (!this.ring.equals(var2.ring)) { + return false; + } else { + return !this.status.equals(var2.status) ? false : this.name.equals(var2.name); + } + } else { + return false; + } } - + public String toString() { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("Alarm{time='"); - stringBuilder.append(this.time); - stringBuilder.append('\''); - stringBuilder.append(", week='"); - stringBuilder.append(this.week); - stringBuilder.append('\''); - stringBuilder.append(", ring='"); - stringBuilder.append(this.ring); - stringBuilder.append('\''); - stringBuilder.append(", status='"); - stringBuilder.append(this.status); - stringBuilder.append('\''); - stringBuilder.append(", name='"); - stringBuilder.append(this.name); - stringBuilder.append('\''); - stringBuilder.append('}'); - return stringBuilder.toString(); + StringBuilder var1 = new StringBuilder(); + var1.append("Alarm{time='"); + var1.append(this.time); + var1.append('\''); + var1.append(", week='"); + var1.append(this.week); + var1.append('\''); + var1.append(", ring='"); + var1.append(this.ring); + var1.append('\''); + var1.append(", status='"); + var1.append(this.status); + var1.append('\''); + var1.append(", name='"); + var1.append(this.name); + var1.append('\''); + var1.append('}'); + return var1.toString(); } } + diff --git a/app/src/main/java/com/enqualcomm/support/bean/NoticeContent.java b/app/src/main/java/com/enqualcomm/support/bean/NoticeContent.java index 1802bd5f..3f790ef8 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/NoticeContent.java +++ b/app/src/main/java/com/enqualcomm/support/bean/NoticeContent.java @@ -1,90 +1,86 @@ package com.enqualcomm.support.bean; - +import com.enqualcomm.support.utils.Util; import java.io.File; import java.util.ArrayList; public class NoticeContent { public String noticeCategory; - public String noticeContent; - public String noticeFrequency; - public String noticeID; - public String noticeName; - public String noticeNumber; - public String noticeTime; - - public NoticeContent(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, String paramString7) { - this.noticeTime = paramString1; - this.noticeName = paramString2; - this.noticeNumber = paramString3; - this.noticeID = paramString4; - this.noticeCategory = paramString5; - this.noticeFrequency = paramString6; - this.noticeContent = paramString7; + + public NoticeContent(String var1, String var2, String var3, String var4, String var5, String var6, String var7) { + this.noticeTime = var1; + this.noticeName = var2; + this.noticeNumber = var3; + this.noticeID = var4; + this.noticeCategory = var5; + this.noticeFrequency = var6; + this.noticeContent = var7; + } + + public static NoticeContent from(NoticeContent var0, byte[] var1, File var2) { + byte var3 = var1[0]; + byte[] var4 = new byte[var3]; + System.arraycopy(var1, 1, var4, 0, var3); + ArrayList var5 = Util.split(var4, (byte)59, 0); + ArrayList var6 = Util.split((byte[])var5.get(3), (byte)58, 0); + String var14 = new String((byte[])var6.get(0)); + String var16 = new String((byte[])var6.get(1)); + StringBuilder var7 = new StringBuilder(); + var7.append(new String((byte[])var5.get(1))); + var7.append(new String((byte[])var5.get(2))); + String var17 = var7.toString(); + String var8 = new String((byte[])var5.get(4)); + String var9 = new String((byte[])var5.get(5)); + String var15 = new String((byte[])var5.get(6)); + int var10 = var1.length - 1 - var3; + int var13 = var1.length; + StringBuilder var11 = new StringBuilder(); + var11.append(var8); + var11.append(".amr"); + String var12 = Util.saveFile(var1, var13 - var10, var10, var2, var11.toString()); + Util.getDuration(var12); + var0.noticeTime = var17; + var0.noticeName = var14; + var0.noticeNumber = var16; + var0.noticeID = var8; + var0.noticeCategory = var9; + var0.noticeFrequency = var15; + var0.noticeContent = var12; + return var0; } - - public static NoticeContent from(NoticeContent paramNoticeContent, byte[] paramArrayOfByte, File paramFile) { -// byte b = paramArrayOfByte[0]; -// byte[] arrayOfByte = new byte[b]; -// System.arraycopy(paramArrayOfByte, 1, arrayOfByte, 0, b); -// ArrayList arrayList2 = Util.split(arrayOfByte, (byte)59, 0); -// ArrayList arrayList1 = Util.split((byte[])arrayList2.get(3), (byte)58, 0); -// String str2 = new String((byte[])arrayList1.get(0)); -// String str3 = new String((byte[])arrayList1.get(1)); -// StringBuilder stringBuilder1 = new StringBuilder(); -// stringBuilder1.append(new String((byte[])arrayList2.get(1))); -// stringBuilder1.append(new String((byte[])arrayList2.get(2))); -// String str4 = stringBuilder1.toString(); -// String str5 = new String((byte[])arrayList2.get(4)); -// String str6 = new String((byte[])arrayList2.get(5)); -// String str7 = new String((byte[])arrayList2.get(6)); -// int i = paramArrayOfByte.length - 1 - b; -// int j = paramArrayOfByte.length; -// StringBuilder stringBuilder2 = new StringBuilder(); -// stringBuilder2.append(str5); -// stringBuilder2.append(".amr"); -// String str1 = Util.saveFile(paramArrayOfByte, j - i, i, paramFile, stringBuilder2.toString()); -// Util.getDuration(str1); -// paramNoticeContent.noticeTime = str4; -// paramNoticeContent.noticeName = str2; -// paramNoticeContent.noticeNumber = str3; -// paramNoticeContent.noticeID = str5; -// paramNoticeContent.noticeCategory = str6; -// paramNoticeContent.noticeFrequency = str7; -// paramNoticeContent.noticeContent = str1; - return paramNoticeContent; + + public static NoticeContent placeHolderIn(String var0) { + return new NoticeContent((String)null, (String)null, (String)null, var0, "1", "0", (String)null); } - - public static NoticeContent placeHolderIn(String paramString) { return new NoticeContent(null, null, null, paramString, "1", "0", null); } - + public String toString() { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("NoticeContent{noticeTime='"); - stringBuilder.append(this.noticeTime); - stringBuilder.append('\''); - stringBuilder.append(", noticeName='"); - stringBuilder.append(this.noticeName); - stringBuilder.append('\''); - stringBuilder.append(", noticeNumber='"); - stringBuilder.append(this.noticeNumber); - stringBuilder.append('\''); - stringBuilder.append(", noticeID='"); - stringBuilder.append(this.noticeID); - stringBuilder.append('\''); - stringBuilder.append(", noticeCategory="); - stringBuilder.append(this.noticeCategory); - stringBuilder.append(", noticeFrequency="); - stringBuilder.append(this.noticeFrequency); - stringBuilder.append(", noticeContent='"); - stringBuilder.append(this.noticeContent); - stringBuilder.append('\''); - stringBuilder.append('}'); - return stringBuilder.toString(); + StringBuilder var1 = new StringBuilder(); + var1.append("NoticeContent{noticeTime='"); + var1.append(this.noticeTime); + var1.append('\''); + var1.append(", noticeName='"); + var1.append(this.noticeName); + var1.append('\''); + var1.append(", noticeNumber='"); + var1.append(this.noticeNumber); + var1.append('\''); + var1.append(", noticeID='"); + var1.append(this.noticeID); + var1.append('\''); + var1.append(", noticeCategory="); + var1.append(this.noticeCategory); + var1.append(", noticeFrequency="); + var1.append(this.noticeFrequency); + var1.append(", noticeContent='"); + var1.append(this.noticeContent); + var1.append('\''); + var1.append('}'); + return var1.toString(); } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/service/Deliver.java b/app/src/main/java/com/enqualcomm/support/service/Deliver.java index 4d6e8021..a0baddde 100644 --- a/app/src/main/java/com/enqualcomm/support/service/Deliver.java +++ b/app/src/main/java/com/enqualcomm/support/service/Deliver.java @@ -12,6 +12,7 @@ import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Build; import android.os.Handler; +import android.os.Parcelable; import android.os.PowerManager; import android.os.SystemClock; import android.text.TextUtils; @@ -19,7 +20,9 @@ import android.text.TextUtils; import com.enqualcomm.support.Config; import com.enqualcomm.support.CoreService; import com.enqualcomm.support.LocationClient; +import com.enqualcomm.support.R; import com.enqualcomm.support.adapter.protocolAPIHelper; +import com.enqualcomm.support.bean.Contact; import com.enqualcomm.support.bean.StringMessage; import com.enqualcomm.support.bean.VoiceContent; import com.enqualcomm.support.bean.voicePacket; @@ -31,6 +34,7 @@ import com.enqualcomm.support.bean.Runtime; import com.enqualcomm.support.utils.DBHelper; import com.enqualcomm.support.utils.FileCache; import com.enqualcomm.support.utils.FileOutputUtil; +import com.enqualcomm.support.utils.GetContact; import com.enqualcomm.support.utils.Logger; import com.enqualcomm.support.utils.NettyConnection; import com.enqualcomm.support.utils.ServiceUtil; @@ -401,30 +405,27 @@ public static void sendLocationMSG( String Msg){ this.mConnection = paramConnection; this.mRuntime = paramRuntime; String cmd = paramStringMessage.cmd(); - Logger.i("Deliver receive cmd "+paramStringMessage.cmd()); - if (cmd.equals("BP07") || cmd.equals("SentVoicePacket")){ - //收到BP07 表示服务器收到一个voicePacket 分包成功,开始检查下一个包是否存在需要发送。 + Logger.i("Deliver receive cmd " + paramStringMessage.cmd()); + if (cmd.equals("BP07") || cmd.equals("SentVoicePacket")) { + //收到BP07 表示服务器收到一个voicePacket 分包成功,开始检查下一个包是否存在需要发送。 //收到SentVoicePacket 表示 有一个VoiceMessage要发送,需要从第0个包开始发送语音分包。 - voicePacket voicepacket= voicePacket.getInstanceSent(); - - if (voicepacket.getCurrentIndexToSent() < voicepacket.getPacketCount()){ - Logger.i("voicepacket "+voicepacket.getName()+" "+voicepacket.getPacketTime()+" send "+(voicepacket.getCurrentIndexToSent()+1)+"/"+voicepacket.getPacketCount()); - ((NettyConnection)mConnection).sendMsg( - protocolAPIHelper.AP07(voicepacket.getPacketTime(), - voicepacket.getPacketCount(), - (voicepacket.getCurrentIndexToSent()+1), - voicepacket.getVoicePacketWithIndex(voicepacket.getCurrentIndexToSent()).getPacketLen(), - voicepacket.getVoicePacketWithIndex(voicepacket.getCurrentIndexToSent()).getPacketData()) - ); - }else{ - Logger.i("voicepacket "+voicepacket.getName()+" "+voicepacket.getPacketTime()+" sent Done!"); - } - return true; - } - - - if ("poweroff".equals(paramStringMessage.cmd())) { + voicePacket voicepacket = voicePacket.getInstanceSent(); + + if (voicepacket.getCurrentIndexToSent() < voicepacket.getPacketCount()) { + Logger.i("voicepacket " + voicepacket.getName() + " " + voicepacket.getPacketTime() + " send " + (voicepacket.getCurrentIndexToSent() + 1) + "/" + voicepacket.getPacketCount()); + ((NettyConnection) mConnection).sendMsg( + protocolAPIHelper.AP07(voicepacket.getPacketTime(), + voicepacket.getPacketCount(), + (voicepacket.getCurrentIndexToSent() + 1), + voicepacket.getVoicePacketWithIndex(voicepacket.getCurrentIndexToSent()).getPacketLen(), + voicepacket.getVoicePacketWithIndex(voicepacket.getCurrentIndexToSent()).getPacketData()) + ); + } else { + Logger.i("voicepacket " + voicepacket.getName() + " " + voicepacket.getPacketTime() + " sent Done!"); + } + return true; + } else if ("poweroff".equals(paramStringMessage.cmd())) { paramRuntime.setShutdown(true); Observable.timer(60000L, TimeUnit.MILLISECONDS).subscribe(new Action1() { public void call(Long param1Long) { @@ -432,16 +433,14 @@ public static void sendLocationMSG( String Msg){ } }); return true; - } - if ("FactoryReset".equals(paramStringMessage.cmd())) { + } else if ("FactoryReset".equals(paramStringMessage.cmd())) { Observable.timer(5000L, TimeUnit.MILLISECONDS).subscribe(new Action1() { public void call(Long param1Long) { paramRuntime.getContextProxy().doMasterClear(); } }); return true; - } - if ("Reboot".equals(paramStringMessage.cmd())) { + } else if ("Reboot".equals(paramStringMessage.cmd())) { Observable.timer(5000L, TimeUnit.MILLISECONDS).subscribe(new Action1() { public void call(Long param1Long) { @@ -449,12 +448,28 @@ public static void sendLocationMSG( String Msg){ } }); return true; - } - - if ("BP03".equals(paramStringMessage.cmd())) { - //每次心跳,查询一下 是否有语音消息需要接收。 + } else if ("BP03".equals(paramStringMessage.cmd())) { + //每次心跳,查询一下 是否有语音消息需要接收。 // paramConnection.send(protocolAPIHelper.genStringMessage("AP05",protocolAPIHelper.AP05(true))); - } + } else if ("NewVoice".equals(paramStringMessage.cmd())) + { + Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1() { + public void call(Long param1Long) { + final Context context = (Deliver.this.mRuntime.getContextProxy()).context; + + Contact param2Contact = new Contact(0, (mRuntime.getContextProxy()).context.getResources().getString(R.string.family_group), "1@-3"); + int i = mRuntime.getContextProxy().getTelephonyManager().getCallState(); + if (!mRuntime.getBatteryLow() && 1 != i && 2 != i) { + Intent intent = new Intent(); + intent.setAction("com.enqualcomm.support.DIALOG"); + intent.putExtra("contact", (Parcelable) param2Contact); + context.sendBroadcast(intent); + + } + } + }); + return true; + } return false; diff --git a/app/src/main/java/com/enqualcomm/support/service/SilentManager.java b/app/src/main/java/com/enqualcomm/support/service/SilentManager.java index 9039d07d..0e9c6f79 100644 --- a/app/src/main/java/com/enqualcomm/support/service/SilentManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/SilentManager.java @@ -14,8 +14,6 @@ import android.os.Message; import android.os.Messenger; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; - - import com.enqualcomm.support.CoreService; import com.enqualcomm.support.ICContentProvider; import com.enqualcomm.support.bean.Alarm; @@ -24,831 +22,740 @@ import com.enqualcomm.support.bean.NoticeContent; import com.enqualcomm.support.bean.Runtime; import com.enqualcomm.support.bean.Silent; import com.enqualcomm.support.bean.StheartRate; -import com.enqualcomm.support.utils.Connection; + import com.enqualcomm.support.service.base.AbstractInvokeHandlerService; import com.enqualcomm.support.utils.AlarmHelper; +import com.enqualcomm.support.utils.Connection; import com.enqualcomm.support.utils.DBHelper; import com.enqualcomm.support.utils.Logger; - +import com.enqualcomm.support.utils.MissedCallContentObserver; import com.enqualcomm.support.utils.SharPreferenceUtil; import com.enqualcomm.support.utils.TimeUtil; - import java.util.ArrayList; import java.util.Calendar; import java.util.Iterator; -import static android.app.PendingIntent.FLAG_UPDATE_CURRENT; -import static java.util.Calendar.DAY_OF_MONTH; -import static java.util.Calendar.HOUR_OF_DAY; -import static java.util.Calendar.MINUTE; -import static java.util.Calendar.MONTH; -import static java.util.Calendar.SECOND; -import static java.util.Calendar.UNDECIMBER; -import static java.util.Calendar.YEAR; +import static android.telephony.TelephonyManager.CALL_STATE_OFFHOOK; +import static android.telephony.TelephonyManager.CALL_STATE_RINGING; public class SilentManager extends AbstractInvokeHandlerService { private static final long ONE_WEEK = 604800000L; - private ArrayList alarms; - private boolean haveHandSilence; - private boolean isCalling; - AlarmManager mAlarmManager; - - private AlramReceiver mAlramReceiver; - + private SilentManager.AlramReceiver mAlramReceiver; Connection mConnection; - ContentObserver mContentObserver = new ContentObserver(new Handler()) { - public void onChange(boolean param1Boolean) { - Logger.i("静默有变化"); -// SilentManager.access$002(SilentManager.this, SilentManager.this.querySilent()); - SilentManager.this.getSilentListStartAndEndTime(); - SilentManager.this.handleSilent(SilentManager.this.mRuntime, true); - } - }; - + public void onChange(boolean var1) { + Logger.i("静默有变化"); + SilentManager.this.silentList = SilentManager.this.querySilent(); + SilentManager.this.getSilentListStartAndEndTime(); + SilentManager.this.handleSilent(SilentManager.this.mRuntime, true); + } + }; private Context mContext; - private DBHelper mDbHelper; - private boolean mInSilent; - private String mInterval; - private boolean mIsNeedAntioff; - private boolean mIsStheartRate; - -// private MissedCallContentObserver mMissedCallContentObserver; - + private MissedCallContentObserver mMissedCallContentObserver; Runtime mRuntime; - private int mStheartRateInterval; - private int mTodayWeek; - private boolean mValue_isSilence; - private PhoneStateListener phoneStateListener = new PhoneStateListener() { - public void onCallStateChanged(int param1Int, String param1String) { - Intent intent; - super.onCallStateChanged(param1Int, param1String); - switch (param1Int) { - default: - return; - case 2: -// SilentManager.access$1702(SilentManager.this, true); - return; - case 1: -// SilentManager.access$1702(SilentManager.this, true); - intent = new Intent(); - intent.setAction("com.enqualcomm.support.CloseUnreadMsg"); - SilentManager.this.mContext.sendBroadcast(intent); - return; - case 0: - break; - } -// SilentManager.access$1702(SilentManager.this, false); - if (SilentManager.this.haveHandSilence) - SilentManager.this.handSilence(SilentManager.this.mContext, SilentManager.this.mValue_isSilence); + public void onCallStateChanged(int var1, String var2) { + super.onCallStateChanged(var1, var2); + switch(var1) { + case 0: + SilentManager.this.isCalling = false; + if (SilentManager.this.haveHandSilence) { + SilentManager.this.handSilence(SilentManager.this.mContext, SilentManager.this.mValue_isSilence); + } + break; + case 1: + SilentManager.this.isCalling = true; + Intent var3 = new Intent(); + var3.setAction("com.enqualcomm.support.CloseUnreadMsg"); + SilentManager.this.mContext.sendBroadcast(var3); + break; + case 2: + SilentManager.this.isCalling = true; } - }; - + + } + }; private ArrayList sAntioffList; - private ArrayList silentList; - private ArrayList stheartRateList; - private ArrayList voiceNotice; - - private void callback(Messenger paramMessenger, boolean paramBoolean) { - char c; - if (paramBoolean) { - c = 'ɘ'; + + public SilentManager() { + } + + private void callback(Messenger var1, boolean var2) { + short var3; + if (var2) { + var3 = 600; } else { - c = 'ʼ'; - } - if (paramMessenger != null) + var3 = 700; + } + + if (var1 != null) { try { - paramMessenger.send(Message.obtain(null, c)); - return; - } catch (Exception e) { - e.printStackTrace(); - } + var1.send(Message.obtain((Handler)null, var3)); + } catch (Exception var4) { + var4.printStackTrace(); + } + } + } - - private void cancelAlarm(ArrayList paramArrayList) { - for (Alarm alarm : paramArrayList) { - String str1 = alarm.time; - String str2 = alarm.week; - String str3 = alarm.ring; - String str4 = alarm.name; - char[] arrayOfChar = str2.toCharArray(); - int i = arrayOfChar.length; - for (byte b = 1; b < i; b++) { - char c = arrayOfChar[b]; - this.mAlarmManager.cancel(getPendingIntent(str1, str2, str3, str4, c - '/')); - } - } + + private void cancelAlarm(ArrayList var1) { + Iterator var2 = var1.iterator(); + + while(var2.hasNext()) { + Alarm var3 = (Alarm)var2.next(); + String var10 = var3.time; + String var4 = var3.week; + String var5 = var3.ring; + String var11 = var3.name; + char[] var6 = var4.toCharArray(); + int var7 = var6.length; + + for(int var8 = 1; var8 < var7; ++var8) { + char var9 = var6[var8]; + this.mAlarmManager.cancel(this.getPendingIntent(var10, var4, var5, var11, var9 - 47)); + } + } + } - - private void cancelNoticeAlarm(ArrayList paramArrayList) { - for (NoticeContent noticeContent : paramArrayList) { - String str1 = noticeContent.noticeTime; - String str2 = noticeContent.noticeName; - String str3 = noticeContent.noticeNumber; - String str4 = noticeContent.noticeID; - String str5 = noticeContent.noticeCategory; - String str6 = noticeContent.noticeFrequency; - String str7 = noticeContent.noticeContent; - this.mAlarmManager.cancel(getPendingIntent(str1, str2, str3, str4, str5, str6, str7)); - } + + private void cancelNoticeAlarm(ArrayList var1) { + Iterator var2 = var1.iterator(); + + while(var2.hasNext()) { + NoticeContent var3 = (NoticeContent)var2.next(); + String var4 = var3.noticeTime; + String var9 = var3.noticeName; + String var5 = var3.noticeNumber; + String var6 = var3.noticeID; + String var7 = var3.noticeCategory; + String var8 = var3.noticeFrequency; + String var10 = var3.noticeContent; + this.mAlarmManager.cancel(this.getPendingIntent(var4, var9, var5, var6, var7, var8, var10)); + } + } - - private PendingIntent getPendingIntent(String paramString1, String paramString2, String paramString3, String paramString4, int paramInt) { - StringBuilder stringBuilder = new StringBuilder("alarm:"); - stringBuilder.append(paramString1); - stringBuilder.append(","); - stringBuilder.append(paramString2); - stringBuilder.append(","); - stringBuilder.append(paramString3); - stringBuilder.append(","); - stringBuilder.append(paramString4); - stringBuilder.append(","); - stringBuilder.append(paramInt); - paramString1 = stringBuilder.toString(); - Intent intent = new Intent(this.mContext, CoreService.class); - intent.setAction("com.enqualcomm.support.ACTION_CARE_ALARM"); - intent.setData(Uri.parse(paramString1)); - return PendingIntent.getService(this.mContext, 0, intent, FLAG_UPDATE_CURRENT); + + private PendingIntent getPendingIntent(String var1, String var2, String var3, String var4, int var5) { + StringBuilder var6 = new StringBuilder("alarm:"); + var6.append(var1); + var6.append(","); + var6.append(var2); + var6.append(","); + var6.append(var3); + var6.append(","); + var6.append(var4); + var6.append(","); + var6.append(var5); + var2 = var6.toString(); + Intent var7 = new Intent(this.mContext, CoreService.class); + var7.setAction("com.enqualcomm.support.ACTION_CARE_ALARM"); + var7.setData(Uri.parse(var2)); + return PendingIntent.getService(this.mContext, 0, var7, PendingIntent.FLAG_UPDATE_CURRENT); } - - private PendingIntent getPendingIntent(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, String paramString7) { - StringBuilder stringBuilder = new StringBuilder("notice:"); - stringBuilder.append(paramString1); - stringBuilder.append(","); - stringBuilder.append(paramString2); - stringBuilder.append(","); - stringBuilder.append(paramString3); - stringBuilder.append(","); - stringBuilder.append(paramString4); - stringBuilder.append(","); - stringBuilder.append(paramString5); - stringBuilder.append(","); - stringBuilder.append(paramString6); - stringBuilder.append(","); - stringBuilder.append(paramString7); - paramString1 = stringBuilder.toString(); - Intent intent = new Intent(this.mContext, CoreService.class); - intent.setAction("com.enqualcomm.support.ACTION_NOTICE_ALARM"); - intent.setData(Uri.parse(paramString1)); - return PendingIntent.getService(this.mContext, 0, intent, FLAG_UPDATE_CURRENT); + + private PendingIntent getPendingIntent(String var1, String var2, String var3, String var4, String var5, String var6, String var7) { + StringBuilder var8 = new StringBuilder("notice:"); + var8.append(var1); + var8.append(","); + var8.append(var2); + var8.append(","); + var8.append(var3); + var8.append(","); + var8.append(var4); + var8.append(","); + var8.append(var5); + var8.append(","); + var8.append(var6); + var8.append(","); + var8.append(var7); + var1 = var8.toString(); + Intent var9 = new Intent(this.mContext, CoreService.class); + var9.setAction("com.enqualcomm.support.ACTION_NOTICE_ALARM"); + var9.setData(Uri.parse(var1)); + return PendingIntent.getService(this.mContext, 0, var9, PendingIntent.FLAG_UPDATE_CURRENT); } - + private void getSilentListStartAndEndTime() { -// Calendar calendar = Calendar.getInstance(); -// this.mTodayWeek = calendar.get(7); -// for (Silent silent : this.silentList) { -// calendar.set(13, 0); -// int i = Integer.parseInt(silent.start.substring(2, 4)); -// int j = Integer.parseInt(silent.start.substring(5, 7)); -// calendar.set(11, i); -// calendar.set(12, j); -// silent.startTimeMillis = calendar.getTimeInMillis(); -// i = Integer.parseInt(silent.end.substring(2, 4)); -// j = Integer.parseInt(silent.end.substring(5, 7)); -// calendar.set(11, i); -// calendar.set(12, j); -// silent.endTimeMillis = calendar.getTimeInMillis(); -// } + Calendar var1 = Calendar.getInstance(); + this.mTodayWeek = var1.get(Calendar.DAY_OF_WEEK); + + Silent var3; + for(Iterator var2 = this.silentList.iterator(); var2.hasNext(); var3.endTimeMillis = var1.getTimeInMillis()) { + var3 = (Silent)var2.next(); + var1.set(Calendar.SECOND, 0); + int var4 = Integer.parseInt(var3.start.substring(2, 4)); + int var5 = Integer.parseInt(var3.start.substring(5, 7)); + var1.set(Calendar.HOUR_OF_DAY, var4); + var1.set(Calendar.MINUTE, var5); + var3.startTimeMillis = var1.getTimeInMillis(); + var5 = Integer.parseInt(var3.end.substring(2, 4)); + var4 = Integer.parseInt(var3.end.substring(5, 7)); + var1.set(Calendar.HOUR_OF_DAY, var5); + var1.set(Calendar.MINUTE, var4); + } + } - + private void getStartAndEndSantioffTime() { -// Calendar calendar = Calendar.getInstance(); -// this.mTodayWeek = calendar.get(7); -// for (Antioff antioff : this.sAntioffList) { -// calendar.set(13, 0); -// int i = Integer.parseInt(antioff.start.substring(2, 4)); -// int j = Integer.parseInt(antioff.start.substring(5, 7)); -// calendar.set(11, i); -// calendar.set(12, j); -// antioff.startTimeMillis = calendar.getTimeInMillis(); -// i = Integer.parseInt(antioff.end.substring(2, 4)); -// j = Integer.parseInt(antioff.end.substring(5, 7)); -// calendar.set(11, i); -// calendar.set(12, j); -// antioff.endTimeMillis = calendar.getTimeInMillis(); -// } + Calendar var1 = Calendar.getInstance(); + this.mTodayWeek = var1.get(Calendar.DAY_OF_WEEK); + + Antioff var3; + for(Iterator var2 = this.sAntioffList.iterator(); var2.hasNext(); var3.endTimeMillis = var1.getTimeInMillis()) { + var3 = (Antioff)var2.next(); + var1.set(Calendar.SECOND, 0); + int var4 = Integer.parseInt(var3.start.substring(2, 4)); + int var5 = Integer.parseInt(var3.start.substring(5, 7)); + var1.set(Calendar.HOUR_OF_DAY, var4); + var1.set(Calendar.MINUTE, var5); + var3.startTimeMillis = var1.getTimeInMillis(); + var4 = Integer.parseInt(var3.end.substring(2, 4)); + var5 = Integer.parseInt(var3.end.substring(5, 7)); + var1.set(Calendar.HOUR_OF_DAY, var4); + var1.set(Calendar.MINUTE, var5); + } + } - + private void getStartAndEndStheartRateTime() { -// Calendar calendar = Calendar.getInstance(); -// this.mTodayWeek = calendar.get(7); -// for (StheartRate stheartRate : this.stheartRateList) { -// calendar.set(13, 0); -// int i = Integer.parseInt(stheartRate.start.substring(2, 4)); -// int j = Integer.parseInt(stheartRate.start.substring(5, 7)); -// calendar.set(11, i); -// calendar.set(12, j); -// stheartRate.startTimeMillis = calendar.getTimeInMillis(); -// i = Integer.parseInt(stheartRate.end.substring(2, 4)); -// j = Integer.parseInt(stheartRate.end.substring(5, 7)); -// calendar.set(11, i); -// calendar.set(12, j); -// stheartRate.endTimeMillis = calendar.getTimeInMillis(); -// } + Calendar var1 = Calendar.getInstance(); + this.mTodayWeek = var1.get(Calendar.DAY_OF_WEEK); + + StheartRate var3; + for(Iterator var2 = this.stheartRateList.iterator(); var2.hasNext(); var3.endTimeMillis = var1.getTimeInMillis()) { + var3 = (StheartRate)var2.next(); + var1.set(Calendar.SECOND, 0); + int var4 = Integer.parseInt(var3.start.substring(2, 4)); + int var5 = Integer.parseInt(var3.start.substring(5, 7)); + var1.set(Calendar.HOUR_OF_DAY, var4); + var1.set(Calendar.MINUTE, var5); + var3.startTimeMillis = var1.getTimeInMillis(); + var4 = Integer.parseInt(var3.end.substring(2, 4)); + var5 = Integer.parseInt(var3.end.substring(5, 7)); + var1.set(Calendar.HOUR_OF_DAY, var4); + var1.set(Calendar.MINUTE, var5); + } + } - - private void handSilence(Context paramContext, boolean paramBoolean) { - this.mValue_isSilence = paramBoolean; + + private void handSilence(Context var1, boolean var2) { + this.mValue_isSilence = var2; if (this.isCalling) { this.haveHandSilence = true; - return; - } - this.haveHandSilence = false; - SharPreferenceUtil.setPrefBoolean(paramContext, "KEY_ISSILENCE", paramBoolean); - Intent intent2 = new Intent(); - intent2.setAction("com.enqualcomm.support.ACTION_ISSILENCE2IMESSAGE"); - intent2.putExtra("KEY_ISSILENCE", paramBoolean); - paramContext.sendBroadcast(intent2); - ComponentName componentName = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.CoreService"); - Intent intent1 = (new Intent("com.enqualcomm.support.ACTION_VIDEO_END_CALL")).setComponent(componentName); - (this.mRuntime.getContextProxy()).context.startService(intent1); + } else { + this.haveHandSilence = false; + SharPreferenceUtil.setPrefBoolean(var1, "KEY_ISSILENCE", var2); + Intent var3 = new Intent(); + var3.setAction("com.enqualcomm.support.ACTION_ISSILENCE2IMESSAGE"); + var3.putExtra("KEY_ISSILENCE", var2); + var1.sendBroadcast(var3); + ComponentName var4 = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.CoreService"); + Intent var5 = (new Intent("com.enqualcomm.support.ACTION_VIDEO_END_CALL")).setComponent(var4); + this.mRuntime.getContextProxy().context.startService(var5); + } } - - private void handleSilent(Runtime paramRuntime, boolean paramBoolean) { - int i = 0;//Calendar.getInstance().get(7); - if (i != this.mTodayWeek && (i != 1 || this.mTodayWeek != 8)) { - getSilentListStartAndEndTime(); - queryNotice(); - } - boolean bool = isSilentTime(); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("inSilent="); - stringBuilder.append(bool); - Logger.i(stringBuilder.toString()); - if (!this.mInSilent && bool) { - onSilentStateChange(true); - handSilence(this.mContext, true); + + private void handleSilent(Runtime var1, boolean var2) { + int var3 = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); + if (var3 != this.mTodayWeek && (var3 != 1 || this.mTodayWeek != 8)) { + this.getSilentListStartAndEndTime(); + this.queryNotice(); + } + + boolean var4 = this.isSilentTime(); + StringBuilder var5 = new StringBuilder(); + var5.append("inSilent="); + var5.append(var4); + Logger.i(var5.toString()); + if (!this.mInSilent && var4) { + this.onSilentStateChange(true); + this.handSilence(this.mContext, true); this.mDbHelper.upDateStatus("ON"); - } else if (this.mInSilent && !bool) { - onSilentStateChange(false); + } else if (this.mInSilent && !var4) { + this.onSilentStateChange(false); this.mDbHelper.upDateStatus("OFF"); - handSilence(this.mContext, false); - } - this.mInSilent = bool; - getStartAndEndStheartRateTime(); - isStheartRateTime(paramBoolean); + this.handSilence(this.mContext, false); + } + + this.mInSilent = var4; + this.getStartAndEndStheartRateTime(); + this.isStheartRateTime(var2); } - - private boolean haveStartActivity(Context paramContext) { - int i = ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getCallState(); - if (1 != i && 2 != i) { - i = 1; + + private boolean haveStartActivity(Context var1) { + int var2 = ((TelephonyManager)var1.getSystemService(Context.TELEPHONY_SERVICE)).getCallState(); + boolean var3; + if (CALL_STATE_RINGING != var2 && CALL_STATE_OFFHOOK != var2) { + var3 = true; } else { - i = 0; - } - return (i != 0 && !this.mInSilent && !this.mRuntime.getBatteryLow()); + var3 = false; + } + + return var3 && !this.mInSilent && !this.mRuntime.getBatteryLow(); } - - private boolean isAntioffTime(boolean paramBoolean) { - return false; - // Byte code: - // 0: invokestatic currentTimeMillis : ()J - // 3: lstore #4 - // 5: aload_0 - // 6: getfield sAntioffList : Ljava/util/ArrayList; - // 9: astore #8 - // 11: aload_0 - // 12: getfield mTodayWeek : I - // 15: istore_2 - // 16: iconst_1 - // 17: istore_1 - // 18: iload_2 - // 19: iconst_1 - // 20: if_icmpne -> 34 - // 23: aload_0 - // 24: aload_0 - // 25: getfield mTodayWeek : I - // 28: bipush #7 - // 30: iadd - // 31: putfield mTodayWeek : I - // 34: aload #8 - // 36: invokevirtual iterator : ()Ljava/util/Iterator; - // 39: astore #8 - // 41: aload #8 - // 43: invokeinterface hasNext : ()Z - // 48: ifeq -> 386 - // 51: aload #8 - // 53: invokeinterface next : ()Ljava/lang/Object; - // 58: checkcast com/enqualcomm/support/bean/Antioff - // 61: astore #9 - // 63: aload #9 - // 65: getfield week : Ljava/lang/String; - // 68: astore #10 - // 70: new java/lang/StringBuilder - // 73: dup - // 74: invokespecial : ()V - // 77: astore #11 - // 79: aload #11 - // 81: aload_0 - // 82: getfield mTodayWeek : I - // 85: iconst_1 - // 86: isub - // 87: invokevirtual append : (I)Ljava/lang/StringBuilder; - // 90: pop - // 91: aload #11 - // 93: ldc_w '' - // 96: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder; - // 99: pop - // 100: aload #10 - // 102: aload #11 - // 104: invokevirtual toString : ()Ljava/lang/String; - // 107: invokevirtual contains : (Ljava/lang/CharSequence;)Z - // 110: ifeq -> 41 - // 113: aload #9 - // 115: getfield startTimeMillis : J - // 118: lload #4 - // 120: lsub - // 121: lstore #6 - // 123: lload #6 - // 125: getstatic com/enqualcomm/support/CoreService.alarmCycle : I - // 128: bipush #60 - // 130: imul - // 131: sipush #1000 - // 134: imul - // 135: i2l - // 136: lcmp - // 137: ifge -> 237 - // 140: lload #6 - // 142: lconst_0 - // 143: lcmp - // 144: ifle -> 237 - // 147: aload #9 - // 149: getfield start : Ljava/lang/String; - // 152: iconst_2 - // 153: iconst_4 - // 154: invokevirtual substring : (II)Ljava/lang/String; - // 157: invokestatic parseInt : (Ljava/lang/String;)I - // 160: istore_2 - // 161: aload #9 - // 163: getfield start : Ljava/lang/String; - // 166: iconst_5 - // 167: bipush #7 - // 169: invokevirtual substring : (II)Ljava/lang/String; - // 172: invokestatic parseInt : (Ljava/lang/String;)I - // 175: istore_3 - // 176: aload_0 - // 177: getfield mContext : Landroid/content/Context; - // 180: iload_2 - // 181: iload_3 - // 182: ldc_w 'com.enqualcomm.support.OTHER_ALARM_START' - // 185: invokestatic setTimeAlarm : (Landroid/content/Context;IILjava/lang/String;)V - // 188: new java/lang/StringBuilder - // 191: dup - // 192: invokespecial : ()V - // 195: astore #10 - // 197: aload #10 - // 199: ldc_w '设置起始时间=hour' - // 202: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder; - // 205: pop - // 206: aload #10 - // 208: iload_2 - // 209: invokevirtual append : (I)Ljava/lang/StringBuilder; - // 212: pop - // 213: aload #10 - // 215: ldc_w 'minute+' - // 218: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder; - // 221: pop - // 222: aload #10 - // 224: iload_3 - // 225: invokevirtual append : (I)Ljava/lang/StringBuilder; - // 228: pop - // 229: aload #10 - // 231: invokevirtual toString : ()Ljava/lang/String; - // 234: invokestatic i : (Ljava/lang/Object;)V - // 237: aload #9 - // 239: getfield endTimeMillis : J - // 242: lload #4 - // 244: lsub - // 245: lstore #6 - // 247: lload #6 - // 249: getstatic com/enqualcomm/support/CoreService.alarmCycle : I - // 252: bipush #60 - // 254: imul - // 255: sipush #1000 - // 258: imul - // 259: i2l - // 260: lcmp - // 261: ifge -> 361 - // 264: lload #6 - // 266: lconst_0 - // 267: lcmp - // 268: ifle -> 361 - // 271: aload #9 - // 273: getfield end : Ljava/lang/String; - // 276: iconst_2 - // 277: iconst_4 - // 278: invokevirtual substring : (II)Ljava/lang/String; - // 281: invokestatic parseInt : (Ljava/lang/String;)I - // 284: istore_2 - // 285: aload #9 - // 287: getfield end : Ljava/lang/String; - // 290: iconst_5 - // 291: bipush #7 - // 293: invokevirtual substring : (II)Ljava/lang/String; - // 296: invokestatic parseInt : (Ljava/lang/String;)I - // 299: istore_3 - // 300: aload_0 - // 301: getfield mContext : Landroid/content/Context; - // 304: iload_2 - // 305: iload_3 - // 306: ldc_w 'com.enqualcomm.support.OTHER_ALARM_END' - // 309: invokestatic setTimeAlarm : (Landroid/content/Context;IILjava/lang/String;)V - // 312: new java/lang/StringBuilder - // 315: dup - // 316: invokespecial : ()V - // 319: astore #10 - // 321: aload #10 - // 323: ldc_w '设置结束时间=hour' - // 326: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder; - // 329: pop - // 330: aload #10 - // 332: iload_2 - // 333: invokevirtual append : (I)Ljava/lang/StringBuilder; - // 336: pop - // 337: aload #10 - // 339: ldc_w 'minute+' - // 342: invokevirtual append : (Ljava/lang/String;)Ljava/lang/StringBuilder; - // 345: pop - // 346: aload #10 - // 348: iload_3 - // 349: invokevirtual append : (I)Ljava/lang/StringBuilder; - // 352: pop - // 353: aload #10 - // 355: invokevirtual toString : ()Ljava/lang/String; - // 358: invokestatic i : (Ljava/lang/Object;)V - // 361: aload #9 - // 363: getfield startTimeMillis : J - // 366: lload #4 - // 368: lcmp - // 369: ifgt -> 41 - // 372: aload #9 - // 374: getfield endTimeMillis : J - // 377: lload #4 - // 379: lcmp - // 380: ifle -> 41 - // 383: goto -> 388 - // 386: iconst_0 - // 387: istore_1 - // 388: aload_0 - // 389: getfield mRuntime : Lcom/enqualcomm/support/bean/Runtime; - // 392: iload_1 - // 393: invokevirtual setAntioffStatus : (Z)V - // 396: iload_1 - // 397: ireturn } + private boolean isAntioffTime(boolean var1) { + long var2 = System.currentTimeMillis(); + ArrayList var4 = this.sAntioffList; + int var5 = this.mTodayWeek; + var1 = true; + if (var5 == 1) { + this.mTodayWeek += 7; + } + + Iterator var12 = var4.iterator(); + + while(true) { + if (!var12.hasNext()) { + var1 = false; + break; + } + + Antioff var6 = (Antioff)var12.next(); + String var7 = var6.week; + StringBuilder var8 = new StringBuilder(); + var8.append(this.mTodayWeek - 1); + var8.append(""); + if (var7.contains(var8.toString())) { + long var9 = var6.startTimeMillis - var2; + int var11; + if (var9 < (long)(CoreService.alarmCycle * 60 * 1000) && var9 > 0L) { + var11 = Integer.parseInt(var6.start.substring(2, 4)); + var5 = Integer.parseInt(var6.start.substring(5, 7)); + AlarmHelper.setTimeAlarm(this.mContext, var11, var5, "com.enqualcomm.support.OTHER_ALARM_START"); + var8 = new StringBuilder(); + var8.append("设置起始时间=hour"); + var8.append(var11); + var8.append("minute+"); + var8.append(var5); + Logger.i(var8.toString()); + } + + var9 = var6.endTimeMillis - var2; + if (var9 < (long)(CoreService.alarmCycle * 60 * 1000) && var9 > 0L) { + var11 = Integer.parseInt(var6.end.substring(2, 4)); + var5 = Integer.parseInt(var6.end.substring(5, 7)); + AlarmHelper.setTimeAlarm(this.mContext, var11, var5, "com.enqualcomm.support.OTHER_ALARM_END"); + var8 = new StringBuilder(); + var8.append("设置结束时间=hour"); + var8.append(var11); + var8.append("minute+"); + var8.append(var5); + Logger.i(var8.toString()); + } + + if (var6.startTimeMillis <= var2 && var6.endTimeMillis > var2) { + break; + } + } + } + + this.mRuntime.setAntioffStatus(var1); + return var1; } + private boolean isSilentTime() { - long l = System.currentTimeMillis(); - if (this.mTodayWeek == 1) - this.mTodayWeek += 7; - for (Silent silent : silentList) { - String str = silent.week; - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(this.mTodayWeek - 1); - stringBuilder.append(""); - if (str.contains(stringBuilder.toString())) { - long l1 = silent.startTimeMillis - l; - if (l1 < (CoreService.alarmCycle * 60 * 1000) && l1 > 0L) { - int i = Integer.parseInt(silent.start.substring(2, 4)); - int j = Integer.parseInt(silent.start.substring(5, 7)); - AlarmHelper.setTimeAlarm(this.mContext, i, j, "com.enqualcomm.support.OTHER_ALARM_START"); - StringBuilder stringBuilder1 = new StringBuilder(); - stringBuilder1.append("设置起始时间=hour"); - stringBuilder1.append(i); - stringBuilder1.append("minute+"); - stringBuilder1.append(j); - Logger.i(stringBuilder1.toString()); - } - l1 = silent.endTimeMillis - l; - if (l1 < (CoreService.alarmCycle * 60 * 1000) && l1 > 0L) { - int i = Integer.parseInt(silent.end.substring(2, 4)); - int j = Integer.parseInt(silent.end.substring(5, 7)); - AlarmHelper.setTimeAlarm(this.mContext, i, j, "com.enqualcomm.support.OTHER_ALARM_END"); - StringBuilder stringBuilder1 = new StringBuilder(); - stringBuilder1.append("设置结束时间=hour"); - stringBuilder1.append(i); - stringBuilder1.append("minute+"); - stringBuilder1.append(j); - Logger.i(stringBuilder1.toString()); - } - if (silent.startTimeMillis <= l && silent.endTimeMillis > l) - return true; - } - } - return false; + long var1 = System.currentTimeMillis(); + ArrayList var3 = this.silentList; + int var4 = this.mTodayWeek; + boolean var5 = true; + if (var4 == 1) { + this.mTodayWeek += 7; + } + + Iterator var6 = var3.iterator(); + + while(true) { + if (!var6.hasNext()) { + var5 = false; + break; + } + + Silent var12 = (Silent)var6.next(); + String var7 = var12.week; + StringBuilder var8 = new StringBuilder(); + var8.append(this.mTodayWeek - 1); + var8.append(""); + if (var7.contains(var8.toString())) { + long var9 = var12.startTimeMillis - var1; + int var11; + StringBuilder var13; + if (var9 < (long)(CoreService.alarmCycle * 60 * 1000) && var9 > 0L) { + var11 = Integer.parseInt(var12.start.substring(2, 4)); + var4 = Integer.parseInt(var12.start.substring(5, 7)); + AlarmHelper.setTimeAlarm(this.mContext, var11, var4, "com.enqualcomm.support.OTHER_ALARM_START"); + var13 = new StringBuilder(); + var13.append("设置起始时间=hour"); + var13.append(var11); + var13.append("minute+"); + var13.append(var4); + Logger.i(var13.toString()); + } + + var9 = var12.endTimeMillis - var1; + if (var9 < (long)(CoreService.alarmCycle * 60 * 1000) && var9 > 0L) { + var11 = Integer.parseInt(var12.end.substring(2, 4)); + var4 = Integer.parseInt(var12.end.substring(5, 7)); + AlarmHelper.setTimeAlarm(this.mContext, var11, var4, "com.enqualcomm.support.OTHER_ALARM_END"); + var13 = new StringBuilder(); + var13.append("设置结束时间=hour"); + var13.append(var11); + var13.append("minute+"); + var13.append(var4); + Logger.i(var13.toString()); + } + + if (var12.startTimeMillis <= var1 && var12.endTimeMillis > var1) { + break; + } + } + } + + return var5; } - - private boolean isStheartRateTime(boolean paramBoolean) { - long l = System.currentTimeMillis(); - if (this.mTodayWeek == 1) - this.mTodayWeek += 7; - for (StheartRate stheartRate : stheartRateList) { - String str = stheartRate.week; - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(this.mTodayWeek - 1); - stringBuilder.append(""); - if (str.contains(stringBuilder.toString())) { - long l1 = stheartRate.startTimeMillis - l; - if (l1 < (CoreService.alarmCycle * 60 * 1000) && l1 > 0L) { - int i = Integer.parseInt(stheartRate.start.substring(2, 4)); - int j = Integer.parseInt(stheartRate.start.substring(5, 7)); - AlarmHelper.setTimeAlarm(this.mContext, i, j, "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START"); - } - l1 = stheartRate.endTimeMillis - l; - if (l1 < (CoreService.alarmCycle * 60 * 1000) && l1 > 0L) { - int i = Integer.parseInt(stheartRate.end.substring(2, 4)); - int j = Integer.parseInt(stheartRate.end.substring(5, 7)); - AlarmHelper.setTimeAlarm(this.mContext, i, j, "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_END"); - } - if (stheartRate.startTimeMillis <= l && stheartRate.endTimeMillis > l) { - this.mInterval = stheartRate.interval; - if (!paramBoolean) { - AlarmHelper.setRealTimeAlarm(this.mContext, Integer.parseInt(this.mInterval), "com.eqc.heartrate.action.SILENT_START"); - this.mRuntime.getContextProxy().sendStheartRateBroadcast("com.eqc.heartrate.action.SILENT_START", 0); - } - return true; - } - } - } - return false; + + private boolean isStheartRateTime(boolean var1) { + long var2 = System.currentTimeMillis(); + ArrayList var4 = this.stheartRateList; + if (this.mTodayWeek == 1) { + this.mTodayWeek += 7; + } + + Iterator var12 = var4.iterator(); + + while(true) { + if (var12.hasNext()) { + StheartRate var5 = (StheartRate)var12.next(); + String var6 = var5.week; + StringBuilder var7 = new StringBuilder(); + var7.append(this.mTodayWeek - 1); + var7.append(""); + if (!var6.contains(var7.toString())) { + continue; + } + + long var8 = var5.startTimeMillis - var2; + int var10; + int var11; + if (var8 < (long)(CoreService.alarmCycle * 60 * 1000) && var8 > 0L) { + var10 = Integer.parseInt(var5.start.substring(2, 4)); + var11 = Integer.parseInt(var5.start.substring(5, 7)); + AlarmHelper.setTimeAlarm(this.mContext, var10, var11, "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START"); + } + + var8 = var5.endTimeMillis - var2; + if (var8 < (long)(CoreService.alarmCycle * 60 * 1000) && var8 > 0L) { + var10 = Integer.parseInt(var5.end.substring(2, 4)); + var11 = Integer.parseInt(var5.end.substring(5, 7)); + AlarmHelper.setTimeAlarm(this.mContext, var10, var11, "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_END"); + } + + if (var5.startTimeMillis > var2 || var5.endTimeMillis <= var2) { + continue; + } + + this.mInterval = var5.interval; + if (!var1) { + AlarmHelper.setRealTimeAlarm(this.mContext, Integer.parseInt(this.mInterval), "com.eqc.heartrate.action.SILENT_START"); + this.mRuntime.getContextProxy().sendStheartRateBroadcast("com.eqc.heartrate.action.SILENT_START", 0); + } + + var1 = true; + break; + } + + var1 = false; + break; + } + + return var1; } - - private void onSilentStateChange(boolean paramBoolean) { - if (this.alarms != null) - if (paramBoolean) { - cancelAlarm(this.alarms); + + private void onSilentStateChange(boolean var1) { + if (this.alarms != null) { + if (var1) { + this.cancelAlarm(this.alarms); } else { - setNewAlarm(this.alarms); - } + this.setNewAlarm(this.alarms); + } + } + if (this.voiceNotice != null) { - if (paramBoolean) { - cancelNoticeAlarm(this.voiceNotice); - return; - } - setNewNoticeAlarm(this.voiceNotice); - } + if (var1) { + this.cancelNoticeAlarm(this.voiceNotice); + } else { + this.setNewNoticeAlarm(this.voiceNotice); + } + } + } - + private ArrayList queryAlarm() { - ArrayList arrayList = this.mDbHelper.queryAlarm(); + ArrayList var1 = this.mDbHelper.queryAlarm(); if (!this.mInSilent) { - if (this.alarms != null) - cancelAlarm(this.alarms); - setNewAlarm(arrayList); - } - return arrayList; + if (this.alarms != null) { + this.cancelAlarm(this.alarms); + } + + this.setNewAlarm(var1); + } + + return var1; } - - private ArrayList queryAntioff() { return this.mDbHelper.queryAntioff(true); } - + + private ArrayList queryAntioff() { + return this.mDbHelper.queryAntioff(true); + } + private ArrayList queryNotice() { - String str = TimeUtil.getSystemTime4(); - ArrayList arrayList = this.mDbHelper.queryNotice(str); + String var1 = TimeUtil.getSystemTime4(); + ArrayList var2 = this.mDbHelper.queryNotice(var1); if (!this.mInSilent) { - if (this.voiceNotice != null) - cancelNoticeAlarm(this.voiceNotice); - setNewNoticeAlarm(arrayList); - } - return arrayList; + if (this.voiceNotice != null) { + this.cancelNoticeAlarm(this.voiceNotice); + } + + this.setNewNoticeAlarm(var2); + } + + return var2; } - - private ArrayList querySilent() { return this.mDbHelper.querySilence(true); } - - private ArrayList queryStheartRate() { return this.mDbHelper.queryStheartRate(true); } - - private void setNewAlarm(ArrayList paramArrayList) { - Calendar calendar2 = Calendar.getInstance(); - calendar2.set(SECOND, 0); - long l = System.currentTimeMillis(); - Iterator iterator = paramArrayList.iterator(); - Calendar calendar1 = calendar2; -// while (iterator.hasNext()) { -// PendingIntent pendingIntent2; -// Alarm alarm = (Alarm)iterator.next(); -// calendar2 = calendar1; -// long l1 = l; -// if ("ON".equals(alarm.status)) { -// int i = Integer.parseInt(alarm.time.substring(2, 4)); -// int j = Integer.parseInt(alarm.time.substring(5, 7)); -// calendar1.set(HOUR_OF_DAY, i); -// calendar1.set(MINUTE, j); -// char[] arrayOfChar = alarm.week.toCharArray(); -// j = arrayOfChar.length; -// i = 1; -// while (true) { -// calendar2 = calendar1; -// l1 = l; -// if (i < j) { -// char c = arrayOfChar[i] - '/'; -// calendar1.set(7, c); -// l1 = calendar1.getTimeInMillis(); -// if (l1 <= l) -// l1 += 604800000L; -// pendingIntent2 = getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, c); -// AlarmHelper.setAlarm(this.mAlarmManager, l1, pendingIntent2); -// i++; -// continue; -// } -// break; -// } -// } -// PendingIntent pendingIntent1 = pendingIntent2; -// l = l1; -// } + + private ArrayList querySilent() { + return this.mDbHelper.querySilence(true); } - - private void setNewNoticeAlarm(ArrayList paramArrayList) { - for (NoticeContent noticeContent : paramArrayList) { - String str1 = noticeContent.noticeTime; - String str2 = noticeContent.noticeName; - String str3 = noticeContent.noticeNumber; - String str4 = noticeContent.noticeID; - String str5 = noticeContent.noticeCategory; - String str6 = noticeContent.noticeFrequency; - String str7 = noticeContent.noticeContent; - Calendar calendar = Calendar.getInstance(); - long l = System.currentTimeMillis(); - calendar.set(SECOND, 0); - if (str1 != null) { - String str8 = str1.substring(0, 4); - String str9 = str1.substring(4, 6); - String str10 = str1.substring(6, 8); - String str11 = str1.substring(8, 10); - String str12 = str1.substring(10, 12); - calendar.set(YEAR, Integer.valueOf(str8).intValue()); - calendar.set(MONTH, Integer.valueOf(str9).intValue() - 1); - calendar.set(DAY_OF_MONTH, Integer.valueOf(str10).intValue()); - calendar.set(HOUR_OF_DAY, Integer.valueOf(str11).intValue()); - calendar.set(MINUTE, Integer.valueOf(str12).intValue()); - long l1 = calendar.getTimeInMillis(); - if (l1 >= l) { - PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7); - AlarmHelper.setAlarm(this.mAlarmManager, l1, pendingIntent); - } - } - } + + private ArrayList queryStheartRate() { + return this.mDbHelper.queryStheartRate(true); } - - public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) { handleSilent(paramRuntime, true); } - - public void onAttach(Connection paramConnection, Runtime paramRuntime) { - String str; - this.mRuntime = paramRuntime; - this.mConnection = paramConnection; - this.mContext = (paramRuntime.getContextProxy()).context; + + private void setNewAlarm(ArrayList alarmArrayList) { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.SECOND, 0); + long currentTime = System.currentTimeMillis(); + Iterator itAlarm = alarmArrayList.iterator(); + + + while (itAlarm.hasNext()){ + Alarm alarm = (Alarm)itAlarm.next(); + if ("ON".equals(alarm.status)) { + int hour = Integer.parseInt(alarm.time.substring(2, 4)); + int minute = Integer.parseInt(alarm.time.substring(5, 7)); + calendar.set(Calendar.HOUR_OF_DAY, hour); + calendar.set(Calendar.MINUTE, minute); + + char[] weeklist = alarm.week.toCharArray(); + int weeklistlen = weeklist.length; + for (int i = 1; i < weeklistlen; i++) { + + long tmpTimeInMillis; + int dayofweek = weeklist[i] - 47; + calendar.set(Calendar.DAY_OF_WEEK, dayofweek); + tmpTimeInMillis = calendar.getTimeInMillis(); + if (tmpTimeInMillis <= currentTime) { + tmpTimeInMillis += ONE_WEEK; + } + PendingIntent pendingIntent = this.getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, dayofweek); + AlarmHelper.setAlarm(this.mAlarmManager, tmpTimeInMillis, pendingIntent); + } + + } + } + } + + private void setNewNoticeAlarm(ArrayList var1) { + Iterator var19 = var1.iterator(); + + while(var19.hasNext()) { + NoticeContent var2 = (NoticeContent)var19.next(); + String var3 = var2.noticeTime; + String var4 = var2.noticeName; + String var5 = var2.noticeNumber; + String var6 = var2.noticeID; + String var7 = var2.noticeCategory; + String var8 = var2.noticeFrequency; + String var9 = var2.noticeContent; + Calendar var10 = Calendar.getInstance(); + long var11 = System.currentTimeMillis(); + var10.set(Calendar.SECOND, 0); + if (var3 != null) { + String var13 = var3.substring(0, 4); + String var20 = var3.substring(4, 6); + String var14 = var3.substring(6, 8); + String var15 = var3.substring(8, 10); + String var16 = var3.substring(10, 12); + var10.set(Calendar.YEAR, Integer.valueOf(var13)); + var10.set(Calendar.MONTH, Integer.valueOf(var20) - 1); + var10.set(Calendar.DATE, Integer.valueOf(var14)); + var10.set(Calendar.HOUR_OF_DAY, Integer.valueOf(var15)); + var10.set(Calendar.MINUTE, Integer.valueOf(var16)); + long var17 = var10.getTimeInMillis(); + if (var17 >= var11) { + PendingIntent var21 = this.getPendingIntent(var3, var4, var5, var6, var7, var8, var9); + AlarmHelper.setAlarm(this.mAlarmManager, var17, var21); + } + } + } + + } + + public void onAlarmClock(Connection var1, Runtime var2) { + this.handleSilent(var2, true); + } + + public void onAttach(Connection var1, Runtime var2) { + this.mRuntime = var2; + this.mConnection = var1; + this.mContext = var2.getContextProxy().context; this.mAlarmManager = (AlarmManager)this.mContext.getSystemService(Context.ALARM_SERVICE); - this.mDbHelper = paramRuntime.getDbHelper(); - this.silentList = querySilent(); - getSilentListStartAndEndTime(); - this.mInSilent = isSilentTime(); - DBHelper dBHelper = this.mDbHelper; + this.mDbHelper = var2.getDbHelper(); + this.silentList = this.querySilent(); + this.getSilentListStartAndEndTime(); + this.mInSilent = false;// this.isSilentTime(); + DBHelper var3 = this.mDbHelper; + String var4; if (this.mInSilent) { - str = "ON"; + var4 = "ON"; } else { - str = "OFF"; - } - dBHelper.upDateorInsertDeviceStatus(str); - handSilence(this.mContext, this.mInSilent); - this.stheartRateList = queryStheartRate(); - getStartAndEndStheartRateTime(); - this.mIsStheartRate = isStheartRateTime(false); - this.alarms = queryAlarm(); - this.voiceNotice = queryNotice(); - (paramRuntime.getContextProxy()).context.getContentResolver().registerContentObserver(ICContentProvider.SILENT_URI, false, this.mContentObserver); - this.mAlramReceiver = new AlramReceiver(); - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction("com.enqualcomm.support.ACTION_NOTICE_ALARM_CHANGE"); - intentFilter.addAction("com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE"); - intentFilter.addAction("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE"); - intentFilter.addAction("com.eqc.heartrate.action.RESULT"); - this.mContext.registerReceiver(this.mAlramReceiver, intentFilter); - paramRuntime.getContextProxy().getTelephonyManager().listen(this.phoneStateListener, 32); + var4 = "OFF"; + } + + var3.upDateorInsertDeviceStatus(var4); + this.handSilence(this.mContext, this.mInSilent); + this.stheartRateList = this.queryStheartRate(); + this.getStartAndEndStheartRateTime(); + this.mIsStheartRate = this.isStheartRateTime(false); + this.alarms = this.queryAlarm(); + this.voiceNotice = this.queryNotice(); + var2.getContextProxy().context.getContentResolver().registerContentObserver(ICContentProvider.SILENT_URI, false, this.mContentObserver); + this.mAlramReceiver = new SilentManager.AlramReceiver(); + IntentFilter var5 = new IntentFilter(); + var5.addAction("com.enqualcomm.support.ACTION_NOTICE_ALARM_CHANGE"); + var5.addAction("com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE"); + var5.addAction("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE"); + var5.addAction("com.eqc.heartrate.action.RESULT"); + this.mContext.registerReceiver(this.mAlramReceiver, var5); + var2.getContextProxy().getTelephonyManager().listen(this.phoneStateListener, 32); } - - public void onDetach(Connection paramConnection, Runtime paramRuntime) { - (paramRuntime.getContextProxy()).context.getContentResolver().unregisterContentObserver(this.mContentObserver); + + public void onDetach(Connection var1, Runtime var2) { + var2.getContextProxy().context.getContentResolver().unregisterContentObserver(this.mContentObserver); this.mContext.unregisterReceiver(this.mAlramReceiver); } - - public boolean onUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime) { -// String[] arrayOfString = paramIntent.getAction(); -// if ("com.enqualcomm.support.ACTION_CARE_ALARM".equals(arrayOfString)) { -// str = paramIntent.getDataString(); -// arrayOfString = TimeUtil.getSystemTime(); -// str.substring(6).split("\\."); -// int i = Integer.parseInt(str.substring(6).split("\\.")[1].substring(0, 2)); -// int j = Integer.parseInt(str.substring(6).split("\\.")[0].substring(2)); -// arrayOfString = arrayOfString.split(";")[1].split(":"); -// int k = Integer.parseInt(arrayOfString[0]); -// int m = Integer.parseInt(arrayOfString[1]); -// if (j == k) { -// if (i != m) -// return false; -// if (haveStartActivity(this.mContext)) -// try { -// Intent intent = new Intent("com.enqualcomm.icare.ALARM", Uri.parse(str)); -// intent.putExtra("closeAlarm", 0); -// intent.addFlags(268435456); -// this.mContext.startActivity(intent); -// return false; -// } catch (Exception str) { -// str.printStackTrace(); -// return false; -// } -// } else { -// return false; -// } -// } else if ("com.enqualcomm.support.ACTION_NOTICE_ALARM".equals(arrayOfString)) { -// str = str.getDataString(); -// if (haveStartActivity(this.mContext)) -// try { -// Intent intent = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(str)); -// intent.addFlags(268435456); -// this.mContext.startActivity(intent); -// return false; -// } catch (Exception str) { -// str.printStackTrace(); -// return false; -// } -// } else { -// boolean bool; -// Logger.i("静默闹钟来了"); -// if ("com.eqc.heartrate.action.SILENT_START".equals(arrayOfString) || "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START".equals(arrayOfString)) { -// bool = true; -// } else { -// bool = false; -// } -// handleSilent(paramRuntime, bool ^ true); -// } + + public boolean onUserRequest(Intent var1, Connection var2, Runtime var3) { + String var11 = var1.getAction(); + if ("com.enqualcomm.support.ACTION_CARE_ALARM".equals(var11)) { + String var10 = var1.getDataString(); + var11 = TimeUtil.getSystemTime(); + var10.substring(6).split("\\."); + int var14 = Integer.parseInt(var10.substring(6).split("\\.")[1].substring(0, 2)); + int var5 = Integer.parseInt(var10.substring(6).split("\\.")[0].substring(2)); + String[] var12 = var11.split(";")[1].split(":"); + int var6 = Integer.parseInt(var12[0]); + int var7 = Integer.parseInt(var12[1]); + if (var5 != var6 || var14 != var7) { + return false; + } + + if (this.haveStartActivity(this.mContext)) { + try { + Intent var13 = new Intent("com.enqualcomm.icare.ALARM", Uri.parse(var10)); + var13.putExtra("closeAlarm", 0); + var13.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + this.mContext.startActivity(var13); + } catch (Exception var9) { + var9.printStackTrace(); + } + } + } else if ("com.enqualcomm.support.ACTION_NOTICE_ALARM".equals(var11)) { + var11 = var1.getDataString(); + if (this.haveStartActivity(this.mContext)) { + try { + var1 = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(var11)); + var1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + this.mContext.startActivity(var1); + } catch (Exception var8) { + var8.printStackTrace(); + } + } + } else { + Logger.i("静默闹钟来了"); + boolean var4; + if (!"com.eqc.heartrate.action.SILENT_START".equals(var11) && !"com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START".equals(var11)) { + var4 = false; + } else { + var4 = true; + } + + this.handleSilent(var3, var4 ^ true); + } + return false; } - - public boolean onUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime) { - Messenger messenger = paramMessage.replyTo; - if (paramMessage.what == 1005) - callback(messenger, this.mInSilent); + + public boolean onUserRequest(Message var1, Connection var2, Runtime var3) { + Messenger var4 = var1.replyTo; + if (var1.what == 1005) { + this.callback(var4, this.mInSilent); + } + return false; } - + class AlramReceiver extends BroadcastReceiver { - public void onReceive(Context param1Context, Intent param1Intent) { - String str = param1Intent.getAction(); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("action = "); - stringBuilder.append(str); - Logger.i(stringBuilder.toString()); - if ("com.enqualcomm.support.ACTION_NOTICE_ALARM_CHANGE".equals(str)) { -// SilentManager.access$402(SilentManager.this, SilentManager.this.queryNotice()); - return; - } - if ("com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE".equals(str)) { -// SilentManager.access$602(SilentManager.this, SilentManager.this.queryAlarm()); - return; - } - if ("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE".equals(str)) { -// SilentManager.access$802(SilentManager.this, SilentManager.this.queryStheartRate()); -// SilentManager.this.getStartAndEndStheartRateTime(); -// SilentManager.this.isStheartRateTime(false); - return; - } - if ("com.eqc.heartrate.action.RESULT".equals(str)) { - str = param1Intent.getStringExtra("time"); - int i = param1Intent.getIntExtra("value", 0); - int j = param1Intent.getIntExtra("type", 0); - StringBuilder stringBuilder1 = new StringBuilder(); - stringBuilder1.append("("); - stringBuilder1.append(str); - stringBuilder1.append("@"); - stringBuilder1.append(i); - stringBuilder1.append("@"); - stringBuilder1.append(j); - stringBuilder1.append(")"); - str = stringBuilder1.toString(); -// SilentManager.this.mConnection.send(API.H60(SilentManager.this.mRuntime, str)); - return; - } - if ("com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE".equals(str)) { -// SilentManager.access$1202(SilentManager.this, SilentManager.this.queryAntioff()); -// SilentManager.this.getStartAndEndSantioffTime(); -// SilentManager.access$1502(SilentManager.this, SilentManager.this.isAntioffTime(false)); - } + AlramReceiver() { } - } -} + public void onReceive(Context var1, Intent var2) { + String var6 = var2.getAction(); + StringBuilder var3 = new StringBuilder(); + var3.append("action = "); + var3.append(var6); + Logger.i(var3.toString()); + if ("com.enqualcomm.support.ACTION_NOTICE_ALARM_CHANGE".equals(var6)) { + SilentManager.this.voiceNotice = SilentManager.this.queryNotice(); + } else if ("com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE".equals(var6)) { + SilentManager.this.alarms = SilentManager.this.queryAlarm(); + } else if ("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE".equals(var6)) { + SilentManager.this.stheartRateList = SilentManager.this.queryStheartRate(); + SilentManager.this.getStartAndEndStheartRateTime(); + SilentManager.this.isStheartRateTime(false); + } else if ("com.eqc.heartrate.action.RESULT".equals(var6)) { + var6 = var2.getStringExtra("time"); + int var4 = var2.getIntExtra("value", 0); + int var5 = var2.getIntExtra("type", 0); + StringBuilder var7 = new StringBuilder(); + var7.append("("); + var7.append(var6); + var7.append("@"); + var7.append(var4); + var7.append("@"); + var7.append(var5); + var7.append(")"); + var6 = var7.toString(); +// SilentManager.this.mConnection.send(API.H60(SilentManager.this.mRuntime, var6)); + } else if ("com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE".equals(var6)) { + SilentManager.this.sAntioffList = SilentManager.this.queryAntioff(); + SilentManager.this.getStartAndEndSantioffTime(); + SilentManager.this.mIsNeedAntioff = SilentManager.this.isAntioffTime(false); + } + + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java b/app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java index d5f8195a..2ce56df9 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java +++ b/app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java @@ -31,24 +31,27 @@ public class AlarmHelper { } } - //set repeat alarm - public static void setAlarm(AlarmManager paramAlarmManager, long hour, long minutes, PendingIntent paramPendingIntent) { + //设置闹铃 + public static void setAlarm(AlarmManager paramAlarmManager, long triggerAtMillis, long intervalMillis, PendingIntent paramPendingIntent) { - try { - setImpl.invoke(paramAlarmManager, new Object[] { Integer.valueOf(0), Long.valueOf(hour), Long.valueOf(0L), Long.valueOf(minutes), paramPendingIntent, null }); - - } catch (Exception exception) { -// useApi19 = false; + paramAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtMillis, intervalMillis, paramPendingIntent); - paramAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, hour, minutes, paramPendingIntent); - exception.printStackTrace(); - } +// try { +// setImpl.invoke(paramAlarmManager, new Object[] { Integer.valueOf(0), Long.valueOf(triggerAtMillis), Long.valueOf(0L), Long.valueOf(intervalMillis), paramPendingIntent, null }); +// +// } catch (Exception exception) { +//// useApi19 = false; +// +// paramAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtMillis, intervalMillis, paramPendingIntent); +// exception.printStackTrace(); +// } } - - public static void setAlarm(AlarmManager paramAlarmManager, long paramLong, PendingIntent paramPendingIntent) { - setAlarm(paramAlarmManager, paramLong, 604800000L, paramPendingIntent); -// setAlarm(paramAlarmManager, paramLong, 0, paramPendingIntent); + + //以周为单位设置循环闹铃 + public static void setAlarm(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent paramPendingIntent) { + setAlarm(paramAlarmManager, triggerAtMillis, ONE_WEEK, paramPendingIntent); + } public static void setCleanStepCountAlarm(Context context, int hour, int minutes, String paramString) { @@ -64,7 +67,7 @@ public class AlarmHelper { long l2 = calendar.getTimeInMillis(); long l1 = l2; if (l2 < l3) - l1 = l2 + 86400000L; + l1 = l2 + ONE_DAY; alarmManager.cancel(pendingIntent); alarmManager.setExact(AlarmManager.RTC_WAKEUP, l1, pendingIntent); } @@ -104,7 +107,7 @@ public class AlarmHelper { long l2 = calendar.getTimeInMillis(); long l1 = l2; if (l2 < l3) - l1 = l2 + 86400000L; + l1 = l2 + ONE_DAY; alarmManager.cancel(pendingIntent); alarmManager.setExact(AlarmManager.RTC_WAKEUP, l1, pendingIntent); } diff --git a/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java b/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java index 22a2b25f..edea5e16 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java @@ -60,8 +60,7 @@ public class ContextProxy { this.sensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); } - - private PendingIntent getPendingIntent(String paramString1, String paramString2, String paramString3, String paramString4, int paramInt) { + private PendingIntent getPendingIntent(String paramString1, String paramString2, String paramString3, String name, int paramInt) { StringBuilder stringBuilder = new StringBuilder("alarm:"); stringBuilder.append(paramString1); stringBuilder.append(","); @@ -69,33 +68,35 @@ public class ContextProxy { stringBuilder.append(","); stringBuilder.append(paramString3); stringBuilder.append(","); - stringBuilder.append(paramString4); + stringBuilder.append(name); stringBuilder.append(","); stringBuilder.append(paramInt); Intent intent = new Intent("com.enqualcomm.icare.ALARM", Uri.parse(stringBuilder.toString())); return PendingIntent.getActivity(this.context, 0, intent, FLAG_UPDATE_CURRENT); } - private PendingIntent getPendingIntent(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, String paramString7) { + private PendingIntent getPendingIntent(String noticeTime, String noticeName, String noticeNumber, String noticeID, String noticeCategory, String noticeFrequency, String noticeContent) { StringBuilder stringBuilder = new StringBuilder("notice:"); - stringBuilder.append(paramString1); + stringBuilder.append(noticeTime); stringBuilder.append(","); - stringBuilder.append(paramString2); + stringBuilder.append(noticeName); stringBuilder.append(","); - stringBuilder.append(paramString3); + stringBuilder.append(noticeNumber); stringBuilder.append(","); - stringBuilder.append(paramString4); + stringBuilder.append(noticeID); stringBuilder.append(","); - stringBuilder.append(paramString5); + stringBuilder.append(noticeCategory); stringBuilder.append(","); - stringBuilder.append(paramString6); + stringBuilder.append(noticeFrequency); stringBuilder.append(","); - stringBuilder.append(paramString7); + stringBuilder.append(noticeContent); Intent intent = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(stringBuilder.toString())); + return PendingIntent.getActivity(this.context, 0, intent, FLAG_UPDATE_CURRENT); } private void initAlarmAndSilent() { + Calendar calendar2 = Calendar.getInstance(); calendar2.set(Calendar.SECOND, 0); long l = System.currentTimeMillis(); @@ -116,11 +117,11 @@ public class ContextProxy { int i = arrayOfChar.length; byte b = 1; while (b < i) { - c = (char)(arrayOfChar[b] - '/'); + c = (char)(arrayOfChar[b] - '/'); //将ascii数字字符转换为对应的数字 calendar2.set(Calendar.DAY_OF_WEEK, c); long l1 = calendar2.getTimeInMillis(); if (l1 <= l) - l1 += 604800000L; + l1 += ONE_WEEK; PendingIntent pendingIntent = getPendingIntent(str2, str1, str3, str4, c); AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent); b++; @@ -221,7 +222,7 @@ public class ContextProxy { long l2 = calendar.getTimeInMillis(); l1 = l2; if (l2 <= l) - l1 = l2 + 604800000L; + l1 = l2 + ONE_WEEK; PendingIntent pendingIntent = getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, c); AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent); j++; diff --git a/app/src/main/java/com/enqualcomm/support/utils/CustomNotification.java b/app/src/main/java/com/enqualcomm/support/utils/CustomNotification.java index a4929df7..1b68829b 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/CustomNotification.java +++ b/app/src/main/java/com/enqualcomm/support/utils/CustomNotification.java @@ -1,216 +1,240 @@ + package com.enqualcomm.support.utils; import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import android.view.View.OnTouchListener; +import android.view.ViewGroup.LayoutParams; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; +import com.enqualcomm.support.R; + public class CustomNotification extends Dialog { - public CustomNotification(Context paramContext) { super(paramContext); } - - public CustomNotification(Context paramContext, int paramInt) { super(paramContext, paramInt); } - + public CustomNotification(Context var1) { + super(var1); + } + + public CustomNotification(Context var1, int var2) { + super(var1, var2); + } + public static class Builder { private View contentView; - private String content_messgae; - private Context context; - private CustomNotification mDialog; - private String message; - private int msg_count; - private OnClickListener negativeButtonClickListener; - private String negativeButtonText; - private OnClickListener positiveButtonClickListener; - private String positiveButtonText; - private int time; - private String title; - private int titleImg; + private OnTouchListener viewOnTouchListener; - private View.OnTouchListener viewOnTouchListener; - - public Builder(Context param1Context) { this.context = param1Context; } + public Builder(Context var1) { + this.context = var1; + } private CustomNotification getDialogInstance() { -// this.mDialog = new CustomNotification(this.context, 2131689630); -// View view = ((LayoutInflater)this.context.getSystemService("layout_inflater")).inflate(2131361841, null); -// this.mDialog.addContentView(view, new ViewGroup.LayoutParams(-1, -2)); -// ((ImageView)view.findViewById(2131230809)).setImageResource(this.titleImg); -// ((TextView)view.findViewById(2131230876)).setText(this.title); -// if (this.time <= 0) { -// ((TextView)view.findViewById(2131230875)).setText(this.context.getText(2131624052)); -// } else { -// StringBuilder stringBuilder = new StringBuilder(); -// stringBuilder.append(String.valueOf(this.time)); -// stringBuilder.append(this.context.getText(2131624054)); -// String str = stringBuilder.toString(); -// ((TextView)view.findViewById(2131230875)).setText(str); -// } -// if (this.positiveButtonText != null) { -// ((ImageButton)view.findViewById(2131230836)).setImageResource(2131165276); -// if (this.positiveButtonClickListener != null) { -// final CustomNotification finalDialog1 = this.mDialog; -// ((ImageButton)view.findViewById(2131230836)).setOnClickListener(new View.OnClickListener() { -// public void onClick(View param2View) { CustomNotification.Builder.this.positiveButtonClickListener.onClick(finalDialog, -1); } -// }); -// } -// } else { -// view.findViewById(2131230836).setVisibility(View.GONE); -// } -// if (this.negativeButtonText != null) { -// ((ImageButton)view.findViewById(2131230825)).setImageResource(2131165273); -// if (this.negativeButtonClickListener != null) { -// final CustomNotification finalDialog1 = this.mDialog; -// ((ImageButton)view.findViewById(2131230825)).setOnClickListener(new View.OnClickListener() { -// public void onClick(View param2View) { CustomNotification.Builder.this.negativeButtonClickListener.onClick(finalDialog1, -2); } -// }); -// } -// } else { -// view.findViewById(2131230825).setVisibility(8); -// } -// if (this.message != null) -// if (this.msg_count > 0) { -// StringBuilder stringBuilder = new StringBuilder(); -// stringBuilder.append(this.message); -// stringBuilder.append("("); -// stringBuilder.append(String.valueOf(this.msg_count)); -// stringBuilder.append(")"); -// String str = stringBuilder.toString(); -// ((TextView)view.findViewById(2131230822)).setText(str); -// } else { -// ((TextView)view.findViewById(2131230822)).setText(this.message); -// } -// if (this.content_messgae != null) -// ((TextView)view.findViewById(2131230793)).setText(this.content_messgae); -// if (this.viewOnTouchListener != null) -// view.setOnTouchListener(new View.OnTouchListener() { -// public boolean onTouch(View param2View, MotionEvent param2MotionEvent) { -// CustomNotification.Builder.this.viewOnTouchListener.onTouch(param2View, param2MotionEvent); -// return true; -// } -// }); -// this.mDialog.setContentView(view); + this.mDialog = new CustomNotification(this.context, R.style.Dialog); + View var1 = ((LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.notification_wechat_layout, (ViewGroup)null); + this.mDialog.addContentView(var1, new LayoutParams(-1, -2)); + ((ImageView)var1.findViewById(R.id.funcImg)).setImageResource(this.titleImg); + ((TextView)var1.findViewById(R.id.title)).setText(this.title); + StringBuilder var2; + String var3; + if (this.time <= 0) { + ((TextView)var1.findViewById(R.id.time)).setText(this.context.getText(R.string.notification_current)); + } else { + var2 = new StringBuilder(); + var2.append(String.valueOf(this.time)); + var2.append(this.context.getText(R.string.notification_time_unit)); + var3 = var2.toString(); + ((TextView)var1.findViewById(R.id.time)).setText(var3); + } + + final CustomNotification dialog = this.mDialog; + ; + if (this.positiveButtonText != null) { + ((ImageButton)var1.findViewById(R.id.positiveButton)).setImageResource(R.drawable.btn_ok_selector); + if (this.positiveButtonClickListener != null) { + ((ImageButton)var1.findViewById(R.id.positiveButton)).setOnClickListener(new android.view.View.OnClickListener() { + public void onClick(View var1) { + Builder.this.positiveButtonClickListener.onClick(dialog, -1); + } + }); + } + } else { + var1.findViewById(R.id.positiveButton).setVisibility(View.GONE); + } + + if (this.negativeButtonText != null) { + ((ImageButton)var1.findViewById(R.id.negativeButton)).setImageResource(R.drawable.btn_cancel_selector); + if (this.negativeButtonClickListener != null) { + ((ImageButton)var1.findViewById(R.id.negativeButton)).setOnClickListener(new android.view.View.OnClickListener() { + public void onClick(View var1) { + Builder.this.negativeButtonClickListener.onClick(dialog, -2); + } + }); + } + } else { + var1.findViewById(R.id.negativeButton).setVisibility(View.GONE); + } + + if (this.message != null) { + if (this.msg_count > 0) { + var2 = new StringBuilder(); + var2.append(this.message); + var2.append("("); + var2.append(String.valueOf(this.msg_count)); + var2.append(")"); + var3 = var2.toString(); + ((TextView)var1.findViewById(R.id.message)).setText(var3); + } else { + ((TextView)var1.findViewById(R.id.message)).setText(this.message); + } + } + + if (this.content_messgae != null) { + ((TextView)var1.findViewById(R.id.content)).setText(this.content_messgae); + } + + if (this.viewOnTouchListener != null) { + var1.setOnTouchListener(new OnTouchListener() { + public boolean onTouch(View var1, MotionEvent var2) { + Builder.this.viewOnTouchListener.onTouch(var1, var2); + return true; + } + }); + } + + this.mDialog.setContentView(var1); return this.mDialog; } - - public CustomNotification create() { // Byte code: - // 0: aload_0 - // 1: getfield mDialog : Lcom/enqualcomm/support/util/CustomNotification; - // 4: ifnonnull -> 37 - // 7: ldc com/enqualcomm/support/util/CustomNotification - // 9: monitorenter - // 10: aload_0 - // 11: getfield mDialog : Lcom/enqualcomm/support/util/CustomNotification; - // 14: ifnonnull -> 25 - // 17: aload_0 - // 18: aload_0 - // 19: invokespecial getDialogInstance : ()Lcom/enqualcomm/support/util/CustomNotification; - // 22: putfield mDialog : Lcom/enqualcomm/support/util/CustomNotification; - // 25: ldc com/enqualcomm/support/util/CustomNotification - // 27: monitorexit - // 28: goto -> 37 - // 31: astore_1 - // 32: ldc com/enqualcomm/support/util/CustomNotification - // 34: monitorexit - // 35: aload_1 - // 36: athrow - // 37: aload_0 - // 38: getfield mDialog : Lcom/enqualcomm/support/util/CustomNotification; - // 41: areturn - // Exception table: - // from to target type - // 10 25 31 finally - // 25 28 31 finally - // 32 35 31 finally } - return mDialog; - } - public Builder setContentMessage(String param1String) { - this.content_messgae = param1String; + + public CustomNotification create() { + if (this.mDialog == null) { + synchronized(CustomNotification.class){} + + Throwable var10000; + boolean var10001; + label144: { + try { + if (this.mDialog == null) { + this.mDialog = this.getDialogInstance(); + } + } catch (Throwable var13) { + var10000 = var13; + var10001 = false; + break label144; + } + + label141: + try { + return this.mDialog; + } catch (Throwable var12) { + var10000 = var12; + var10001 = false; + break label141; + } + } + + while(true) { + Throwable var1 = var10000; + + try { + throw var1; + } catch (Throwable var11) { + var10000 = var11; + var10001 = false; + continue; + } + } + } else { + return this.mDialog; + } + } + + public CustomNotification.Builder setContentMessage(String var1) { + this.content_messgae = var1; return this; } - - public Builder setContentView(View param1View) { - this.contentView = param1View; + + public CustomNotification.Builder setContentView(View var1) { + this.contentView = var1; return this; } - - public Builder setLayoutViewClick(View.OnTouchListener param1OnTouchListener) { - this.viewOnTouchListener = param1OnTouchListener; + + public CustomNotification.Builder setLayoutViewClick(OnTouchListener var1) { + this.viewOnTouchListener = var1; return this; } - - public Builder setMessage(int param1Int) { - this.message = (String)this.context.getText(param1Int); + + public CustomNotification.Builder setMessage(int var1) { + this.message = (String)this.context.getText(var1); return this; } - - public Builder setMessage(String param1String) { - this.message = param1String; + + public CustomNotification.Builder setMessage(String var1) { + this.message = var1; return this; } - - public Builder setMessage(String param1String, int param1Int) { - this.message = param1String; - this.msg_count = param1Int; + + public CustomNotification.Builder setMessage(String var1, int var2) { + this.message = var1; + this.msg_count = var2; return this; } - - public Builder setNegativeButton(int param1Int, DialogInterface.OnClickListener param1OnClickListener) { - this.negativeButtonText = (String)this.context.getText(param1Int); - this.negativeButtonClickListener = param1OnClickListener; + + public CustomNotification.Builder setNegativeButton(int var1, OnClickListener var2) { + this.negativeButtonText = (String)this.context.getText(var1); + this.negativeButtonClickListener = var2; return this; } - - public Builder setNegativeButton(String param1String, DialogInterface.OnClickListener param1OnClickListener) { - this.negativeButtonText = param1String; - this.negativeButtonClickListener = param1OnClickListener; + + public CustomNotification.Builder setNegativeButton(String var1, OnClickListener var2) { + this.negativeButtonText = var1; + this.negativeButtonClickListener = var2; return this; } - - public Builder setPositiveButton(int param1Int, DialogInterface.OnClickListener param1OnClickListener) { - this.positiveButtonText = (String)this.context.getText(param1Int); - this.positiveButtonClickListener = param1OnClickListener; + + public CustomNotification.Builder setPositiveButton(int var1, OnClickListener var2) { + this.positiveButtonText = (String)this.context.getText(var1); + this.positiveButtonClickListener = var2; return this; } - - public Builder setPositiveButton(String param1String, DialogInterface.OnClickListener param1OnClickListener) { - this.positiveButtonText = param1String; - this.positiveButtonClickListener = param1OnClickListener; + + public CustomNotification.Builder setPositiveButton(String var1, OnClickListener var2) { + this.positiveButtonText = var1; + this.positiveButtonClickListener = var2; return this; } - - public Builder setTitle(int param1Int) { - this.title = (String)this.context.getText(param1Int); + + public CustomNotification.Builder setTitle(int stringID) { + this.title = (String)this.context.getText(stringID); return this; } - - public Builder setTitle(int param1Int1, int param1Int2, int param1Int3) { - this.titleImg = param1Int1; - this.title = (String)this.context.getText(param1Int2); - this.time = param1Int3; + + public CustomNotification.Builder setTitle(int ImgResID, int stringID, int _time) { + this.titleImg = ImgResID; + this.title = (String)this.context.getText(stringID); + this.time = _time; return this; } - - public Builder setTitle(String param1String) { - this.title = param1String; + + public CustomNotification.Builder setTitle(String var1) { + this.title = var1; return this; } } } - diff --git a/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java b/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java index 772e6386..79ad8ef3 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java +++ b/app/src/main/java/com/enqualcomm/support/utils/DBHelper.java @@ -432,16 +432,16 @@ public class DBHelper { public ArrayList queryAlarm() { ArrayList var1 = new ArrayList(); - Cursor var2 = this.cr.query(ICContentProvider.ALARM_URI, (String[])null, (String)null, (String[])null, (String)null); - if (var2 != null) { + Cursor cursor = this.cr.query(ICContentProvider.ALARM_URI, (String[])null, (String)null, (String[])null, (String)null); + if (cursor != null) { while(true) { - if (!var2.moveToNext()) { - var2.close(); + if (!cursor.moveToNext()) { + cursor.close(); break; } - if ("ON".equals(var2.getString(4))) { - var1.add(new Alarm(var2.getString(1), var2.getString(2), var2.getString(3), var2.getString(4), var2.getString(5))); + if ("ON".equals(cursor.getString(4))) { + var1.add(new Alarm(cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4), cursor.getString(5))); } } } @@ -507,28 +507,6 @@ public class DBHelper { return var3; } -// -// public DownloadInfo queryDownloadNumber(String var1) { -// DownloadInfo var4 = new DownloadInfo(0, 0, ""); -// StringBuilder var5 = new StringBuilder("IMSI="); -// var5.append(var1); -// var1 = var5.toString(); -// Cursor var6 = this.cr.query(ICContentProvider.DOWNLOADINFO_URL, (String[])null, var1, (String[])null, (String)null); -// if (var6 != null) { -// if (var6.moveToNext()) { -// String var7 = var6.getString(2); -// int var2 = Integer.parseInt(var6.getString(3)); -// int var3 = Integer.parseInt(var6.getString(4)); -// var4.setNumber(var2); -// var4.setDownloadMonth(var7); -// var4.setTotalNumber(var3); -// } -// -// var6.close(); -// } -// -// return var4; -// } public ArrayList queryNotice(String var1) { ArrayList var2 = new ArrayList(); @@ -686,60 +664,51 @@ public class DBHelper { this.cr.delete(ICContentProvider.UNREAD_MSG_URI, (String)null, (String[])null); } - public void saveAlarm(ArrayList var1) { - this.cr.delete(ICContentProvider.ALARM_URI, (String)null, (String[])null); - int var3 = var1.size(); - if (var3 != 0) { - ContentValues[] var4 = new ContentValues[var3]; - - for(int var2 = 0; var2 < var3; ++var2) { - Alarm var5 = (Alarm)var1.get(var2); - ContentValues var6 = new ContentValues(); - var4[var2] = var6; - var6.put("TIME", var5.time); - var6.put("WEEK", var5.week); - var6.put("RING", var5.ring); - var6.put("STATUS", var5.status); - var6.put("NAME", var5.name); + public void saveAlarm(ArrayList paramArrayList) { + this.cr.delete(ICContentProvider.ALARM_URI, null, null); + int i = paramArrayList.size(); + if (i != 0) { + ContentValues[] arrayOfContentValues = new ContentValues[i]; + for (byte b = 0; b < i; b++) { + Alarm alarm = paramArrayList.get(b); + ContentValues contentValues = new ContentValues(); + arrayOfContentValues[b] = contentValues; + contentValues.put("TIME", alarm.time); + contentValues.put("WEEK", alarm.week); + contentValues.put("RING", alarm.ring); + contentValues.put("STATUS", alarm.status); + contentValues.put("NAME", alarm.name); } - - this.cr.bulkInsert(ICContentProvider.ALARM_URI, var4); + this.cr.bulkInsert(ICContentProvider.ALARM_URI, arrayOfContentValues); } - this.context.sendBroadcast(new Intent("com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE")); } - public void saveAntioff(ArrayList var1) { - Cursor var5 = this.cr.query(ICContentProvider.ANTIOFF_URI, (String[])null, (String)null, (String[])null, (String)null); - String var4; - if (var5 != null) { - for(var4 = null; var5.moveToNext(); var4 = var5.getString(5)) { - } - - var5.close(); + public void saveAntioff(ArrayList paramArrayList) { + String str; + Cursor cursor = this.cr.query(ICContentProvider.ANTIOFF_URI, null, null, null, null); + if (cursor != null) { + for (str = null; cursor.moveToNext(); str = cursor.getString(5)); + cursor.close(); } else { - var4 = null; - } - - this.cr.delete(ICContentProvider.ANTIOFF_URI, (String)null, (String[])null); - int var3 = var1.size(); - if (var3 != 0) { - ContentValues[] var8 = new ContentValues[var3]; - - for(int var2 = 0; var2 < var3; ++var2) { - Antioff var6 = (Antioff)var1.get(var2); - ContentValues var7 = new ContentValues(); - var8[var2] = var7; - var7.put("START_TIME", var6.start); - var7.put("END_TIME", var6.end); - var7.put("WEEK", var6.week); - var7.put("STATUS", var6.status); - var7.put("CUR_SYS_STATUS", var4); + str = null; + } + this.cr.delete(ICContentProvider.ANTIOFF_URI, null, null); + int i = paramArrayList.size(); + if (i != 0) { + ContentValues[] arrayOfContentValues = new ContentValues[i]; + for (byte b = 0; b < i; b++) { + Antioff antioff = paramArrayList.get(b); + ContentValues contentValues = new ContentValues(); + arrayOfContentValues[b] = contentValues; + contentValues.put("START_TIME", antioff.start); + contentValues.put("END_TIME", antioff.end); + contentValues.put("WEEK", antioff.week); + contentValues.put("STATUS", antioff.status); + contentValues.put("CUR_SYS_STATUS", str); } - - this.cr.bulkInsert(ICContentProvider.ANTIOFF_URI, var8); + this.cr.bulkInsert(ICContentProvider.ANTIOFF_URI, arrayOfContentValues); } - this.context.sendBroadcast(new Intent("com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE")); } @@ -943,7 +912,6 @@ public class DBHelper { this.cr.insert(ICContentProvider.DEVICESTATUS_URL, var3); return; } - this.cr.update(ICContentProvider.DEVICESTATUS_URL, var3, (String)null, (String[])null); } diff --git a/app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java b/app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java index e489cc27..26552362 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java @@ -131,7 +131,13 @@ public class DeviceInfoUtil { public static String getSWVersionDisplayName(){ return Build.DISPLAY;} - + public static boolean isTopActivity(Context paramContext) { + ArrayList arrayList = new ArrayList(); + arrayList.add("com.enqualcomm.imessage.ui.chat.ChatActivity_"); + return arrayList.contains(((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningTasks(1).get(0)).topActivity.getClassName()); + } + + public static void setLockSimInfo(Context paramContext) { Settings.System.putInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked", 1); } } diff --git a/app/src/main/java/com/enqualcomm/support/utils/NetworkObservable.java b/app/src/main/java/com/enqualcomm/support/utils/NetworkObservable.java index b1861e4b..11104186 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/NetworkObservable.java +++ b/app/src/main/java/com/enqualcomm/support/utils/NetworkObservable.java @@ -1,84 +1,70 @@ package com.enqualcomm.support.utils; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; - - -import com.enqualcomm.support.service.KeepAlive; - -import rx.Observable; -import rx.subjects.BehaviorSubject; + import android.content.BroadcastReceiver; + import android.content.Context; + import android.content.Intent; + import android.content.IntentFilter; + import android.net.ConnectivityManager; + import android.net.NetworkInfo; + import com.enqualcomm.support.service.KeepAlive; + import rx.Observable; + import rx.subjects.BehaviorSubject; public class NetworkObservable { BroadcastReceiver mNetStateBroadcastReceiver = new BroadcastReceiver() { - public void onReceive(Context param1Context, Intent param1Intent) { - NetworkInfo networkInfo = ((ConnectivityManager)param1Context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); - if (networkInfo != null && networkInfo.isAvailable()) { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("BroadcastReceiver---reConnection++ KeepAlive.isConnected="); - stringBuilder.append(KeepAlive.isConnected); - stringBuilder.append(",network_is_down="); - stringBuilder.append(NetworkObservable.this.network_is_down); - stringBuilder.append(",network_is_from_no_to_yes="); - stringBuilder.append(NetworkObservable.this.network_is_from_no_to_yes); - Logger.i(stringBuilder.toString()); - - // 如果 服务器socket没有连接,且 网络没有变化 - if (!KeepAlive.isConnected && !NetworkObservable.this.network_is_from_no_to_yes) { - - //如果网络关闭 则 检查执行下一个网络对象,此时没有转换网络状态 - if (NetworkObservable.this.network_is_down) { - NetworkObservable.this.objectPublishSubject.onNext(Integer.valueOf(3)); -// NetworkObservable.access$002(NetworkObservable.this, false); - NetworkObservable.this.network_is_from_no_to_yes=false; - } else { - - //如果网络已经开启,则设置网络状态从关闭到开启,并检查执行下一个网络对象 - NetworkObservable.this.objectPublishSubject.onNext(Integer.valueOf(2)); -// NetworkObservable.access$002(NetworkObservable.this, true); - NetworkObservable.this.network_is_from_no_to_yes=true; - } - } else if (!KeepAlive.isConnected && NetworkObservable.this.network_is_from_no_to_yes) { - - //如果网络转换已经成功,则只需检查执行下一个网络对象 - NetworkObservable.this.objectPublishSubject.onNext(Integer.valueOf(1)); - } else if (KeepAlive.isConnected) { - //如果 网络服务器已经连接,则无需转换网络 -// NetworkObservable.access$002(NetworkObservable.this, false); - NetworkObservable.this.network_is_from_no_to_yes=false; + public void onReceive(Context var1, Intent var2) { + NetworkInfo var3 = ((ConnectivityManager)var1.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); + if (var3 != null && var3.isAvailable()) { + StringBuilder var4 = new StringBuilder(); + var4.append("BroadcastReceiver---reConnection++ KeepAlive.isConnected="); + var4.append(KeepAlive.isConnected); + var4.append(",network_is_down="); + var4.append(NetworkObservable.this.network_is_down); + var4.append(",network_is_from_no_to_yes="); + var4.append(NetworkObservable.this.network_is_from_no_to_yes); + Logger.i(var4.toString()); + if (!KeepAlive.isConnected && !NetworkObservable.this.network_is_from_no_to_yes) { + if (NetworkObservable.this.network_is_down) { + NetworkObservable.this.objectPublishSubject.onNext(3); + NetworkObservable.this.network_is_down = false; + } else { + NetworkObservable.this.objectPublishSubject.onNext(2); + NetworkObservable.this.network_is_down = true; } - - //所有检测都通过,就证明网络连接成功,network_is_down 自然就是false -// NetworkObservable.access$102(NetworkObservable.this, false); - NetworkObservable.this.network_is_down=false; - - } else { - Logger.i("网络断开"); -// NetworkObservable.access$102(NetworkObservable.this, true); - NetworkObservable.this.network_is_down = true; - NetworkObservable.this.objectPublishSubject.onNext(Integer.valueOf(0)); + } else if (NetworkObservable.this.network_is_from_no_to_yes) { + NetworkObservable.this.objectPublishSubject.onNext(1); + } else if (KeepAlive.isConnected) { + NetworkObservable.this.network_is_down = false; } + + NetworkObservable.this.network_is_from_no_to_yes = false; + } else { + Logger.i("网络断开"); + NetworkObservable.this.network_is_from_no_to_yes = true; + NetworkObservable.this.objectPublishSubject.onNext(0); } - }; - + + } + }; private boolean network_is_down = false; - private boolean network_is_from_no_to_yes = true; - BehaviorSubject objectPublishSubject = BehaviorSubject.create(); - - public Observable onChange() { return this.objectPublishSubject.distinctUntilChanged(); } - - public void register(Context paramContext) { - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); - paramContext.registerReceiver(this.mNetStateBroadcastReceiver, intentFilter); + + public NetworkObservable() { + } + + public Observable onChange() { + return this.objectPublishSubject.distinctUntilChanged(); + } + + public void register(Context var1) { + IntentFilter var2 = new IntentFilter(); + var2.addAction("android.net.conn.CONNECTIVITY_CHANGE"); + var1.registerReceiver(this.mNetStateBroadcastReceiver, var2); + } + + public void unregister(Context var1) { + var1.unregisterReceiver(this.mNetStateBroadcastReceiver); } - - public void unregister(Context paramContext) { paramContext.unregisterReceiver(this.mNetStateBroadcastReceiver); } } 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 2e4613b4..6acc8891 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java @@ -13,11 +13,14 @@ import android.os.Handler; import android.os.PowerManager; import android.os.Vibrator; import android.support.v4.app.NotificationCompat; +import android.view.Gravity; import android.view.MotionEvent; import android.view.View; +import android.view.WindowManager; import com.enqualcomm.support.R; +import com.enqualcomm.support.bean.NotificationParam; import com.ic.jni.ICJniUtils; import com.enqualcomm.support.bean.Contact; import com.enqualcomm.support.service.AudioService; @@ -30,6 +33,8 @@ import rx.Subscriber; import rx.functions.Action1; import rx.schedulers.Schedulers; +import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; +import static android.media.RingtoneManager.TYPE_NOTIFICATION; import static android.os.PowerManager.ACQUIRE_CAUSES_WAKEUP; import static android.os.PowerManager.SCREEN_DIM_WAKE_LOCK; import static com.enqualcomm.support.Constants.ACTION_HEATR_RATE_START; @@ -45,15 +50,15 @@ public class ProcessReceiver extends BroadcastReceiver { private static String last_message_name; -// private static CustomDialog mCustomDialog; + private static CustomDialog mCustomDialog; private AudioService mAudioService; -// private CustomNotification mCustomNotification; -// -// private CustomDialog.Builder mDialog; -// -// private CustomNotification.Builder mNotificationDialog; + private CustomNotification mCustomNotification; + + private CustomDialog.Builder mDialog; + + private CustomNotification.Builder mNotificationDialog; private NotificationManager mNotificationManager; @@ -67,62 +72,69 @@ public class ProcessReceiver extends BroadcastReceiver { private float y2 = 0.0F; - private void initMyDialog(final Context context, final Contact contact, int paramInt) { - String str = contact.name; -// if (this.mDialog == null) -// this.mDialog = new CustomDialog.Builder(context); -// StringBuilder stringBuilder = new StringBuilder(); -// stringBuilder.append("yls mCustomDialog"); -// stringBuilder.append(mCustomDialog); -// Logger.i(stringBuilder.toString()); -// if (mCustomDialog != null && mCustomDialog.isShowing() && last_message_name != null && str != null && last_message_name.equals(str) && last_app_id == paramInt) -// mCustomDialog.dismiss(); -// last_message_name = str; -// last_app_id = paramInt; -// if (paramInt == 1) { -// CustomDialog.Builder builder = this.mDialog.setTitle(context.getString(2131624065)); -// StringBuilder stringBuilder1 = new StringBuilder(); -// stringBuilder1.append(context.getString(2131624074)); -// stringBuilder1.append(" "); -// stringBuilder1.append(str); -// stringBuilder1.append(context.getString(2131624075)); -// mCustomDialog = builder.setMessage(stringBuilder1.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() { -// public void onClick(DialogInterface param1DialogInterface, int param1Int) { -// param1DialogInterface.dismiss(); -// componentName = new ComponentName("com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.chat.ChatActivity_"); -// 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(268435456); -// intent.setComponent(componentName); -// try { -// context.startActivity(intent); -// return; -// } catch (Exception componentName) { -// componentName.printStackTrace(); -// return; -// } -// } -// }).setNegativeButton("取消", new DialogInterface.OnClickListener() { -// public void onClick(DialogInterface param1DialogInterface, int param1Int) { param1DialogInterface.dismiss(); } -// }).create(); -// mCustomDialog.getWindow().setType(2005); -// mCustomDialog.show(); -// return; -// } -// if (paramInt == 2) { -// CustomDialog.Builder builder = this.mDialog.setTitle(paramContext.getString(2131624028)).setApp(paramInt); -// stringBuilder = new StringBuilder(); -// stringBuilder.append(paramContext.getString(2131624027)); -// stringBuilder.append(str); -// stringBuilder.append(paramContext.getString(2131624026)); -// mCustomDialog = builder.setMessage(stringBuilder.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() { -// public void onClick(DialogInterface param1DialogInterface, int param1Int) { param1DialogInterface.dismiss(); } -// }).create(); -// mCustomDialog.getWindow().setType(2005); -// mCustomDialog.show(); -// } + private void initMyDialog(final Context context, final Contact contact, int app_id) { + String var4 = contact.name; + if (this.mDialog == null) { + this.mDialog = new CustomDialog.Builder(context); + } + + StringBuilder var5 = new StringBuilder(); + var5.append("===mCustomDialog"); + var5.append(mCustomDialog); + Logger.i(var5.toString()); + if (mCustomDialog != null && mCustomDialog.isShowing() && last_message_name != null && var4 != null && last_message_name.equals(var4) && last_app_id == app_id) { + mCustomDialog.dismiss(); + } + + last_message_name = var4; + last_app_id = app_id; + CustomDialog.Builder tmpDialog; + if (app_id == 1) { + tmpDialog = this.mDialog.setTitle(context.getString(R.string.setting_title)); + StringBuilder var6 = new StringBuilder(); + var6.append(context.getString(R.string.voiceMessage)); + var6.append(" "); + var6.append(var4); + var6.append(context.getString(R.string.voiceMessageEnd)); + mCustomDialog = tmpDialog.setMessage(var6.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface var1x, int var2x) { + var1x.dismiss(); + ComponentName var3 = new ComponentName("com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.chat.ChatActivity_"); + Intent var5 = new Intent("android.intent.action.MAIN"); + var5.putExtra("ACTIVITY_TYPE", 2); + var5.putExtra("contact", contact); + var5.addCategory("android.intent.category.DEFAULT"); + var5.addFlags(FLAG_ACTIVITY_NEW_TASK); + var5.setComponent(var3); + + try { + context.startActivity(var5); + } catch (Exception var4) { + var4.printStackTrace(); + } + + } + }).setNegativeButton("取消", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface var1, int var2) { + var1.dismiss(); + } + }).create(); + mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST); + mCustomDialog.show(); + } else if (app_id == 2) { + tmpDialog = this.mDialog.setTitle(context.getString(R.string.hht_misscall_call)).setApp(app_id); + StringBuilder var7 = new StringBuilder(); + var7.append(context.getString(R.string.hht_call_start)); + var7.append(var4); + var7.append(context.getString(R.string.hht_call_end)); + mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface var1, int var2) { + var1.dismiss(); + } + }).create(); + mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST); + mCustomDialog.show(); + } } private void playNotificationVoice(Context paramContext) { @@ -132,199 +144,270 @@ public class ProcessReceiver extends BroadcastReceiver { } private void screenOn(Context paramContext) { - final PowerManager.WakeLock wakelock = ((PowerManager)paramContext.getSystemService(Context.POWER_SERVICE)).newWakeLock(ACQUIRE_CAUSES_WAKEUP| SCREEN_DIM_WAKE_LOCK, "target"); + final PowerManager.WakeLock wakelock = ((PowerManager)paramContext.getSystemService(Context.POWER_SERVICE)).newWakeLock(ACQUIRE_CAUSES_WAKEUP| SCREEN_DIM_WAKE_LOCK, ProcessReceiver.class.getSimpleName()); wakelock.acquire(); Observable.timer(5000L, TimeUnit.MILLISECONDS).subscribe(new Action1() { public void call(Long param1Long) { wakelock.release(); } }); } - public void initCustomNotification(final Context context, final Contact contact, final String content_msg, int paramInt) { -// String str = paramContact.name; -// if (this.mNotificationDialog == null) -// this.mNotificationDialog = new CustomNotification.Builder(paramContext); -// if (this.mCustomNotification != null && this.mCustomNotification.isShowing() && last_message_name != null && str != null && last_message_name.equals(str) && paramInt == last_app_id) + public void initCustomNotification(final Context var1, final Contact var2, final String var3, int var4) { +// String var5 = var2.name; +// if (this.mNotificationDialog == null) { +// this.mNotificationDialog = new com.enqualcomm.support.utils.CustomNotification.Builder(var1); +// } +// +// if (this.mCustomNotification != null && this.mCustomNotification.isShowing() && last_message_name != null && var5 != null && last_message_name.equals(var5) && var4 == last_app_id) { // this.mCustomNotification.dismiss(); -// last_message_name = str; -// last_app_id = paramInt; -// final Handler mHandle = new Handler(); -// if (paramContact.category == 4) { -// str = paramContact.extra; +// } +// +// last_message_name = var5; +// last_app_id = var4; +// final Handler var6 = new Handler(); +// if (var2.category == 4) { +// var5 = var2.extra; // } else { -// str = paramContact.number; +// var5 = var2.number; // } -// Observable.create(new HandleWechatNotice(paramInt, str, 1, paramContext)).subscribeOn(Schedulers.io()).subscribe(new Subscriber() { -// public void onCompleted() {} // -// public void onError(Throwable param1Throwable) {} +// Observable.create(new HandleWechatNotice(var4, var5, 1, var1)).subscribeOn(Schedulers.io()).subscribe(new Subscriber() { +// public void onCompleted() { +// } // -// public void onNext(NotificationParam param1NotificationParam) { -// final int msgCount = param1NotificationParam.noReadmsgCount; -// StringBuilder stringBuilder = new StringBuilder(); -// stringBuilder.append("msgCount="); -// stringBuilder.append(i); -// Logger.i(stringBuilder.toString()); -// switch (param1NotificationParam.category) { -// default: -// return; -// case 2: -// mHandle.post(new Runnable() { -// public void run() { -// String str; -// if (content_msg != null) { -// str = content_msg; -// } else { -// StringBuilder stringBuilder1 = new StringBuilder(); -// stringBuilder1.append(Integer.toString(msgCount)); -// stringBuilder1.append(context.getString(2131624053)); -// str = stringBuilder1.toString(); -// } -// StringBuilder stringBuilder = new StringBuilder(); -// stringBuilder.append("setContent="); -// stringBuilder.append(str); -// Logger.i(stringBuilder.toString()); -// ProcessReceiver.access$002(ProcessReceiver.null.this.this$0, ProcessReceiver.null.this.this$0.mNotificationDialog.setTitle(2131165268, 2131624051, 0).setMessage(this.this$1.val$contact.name, 0).setContentMessage(str).setLayoutViewClick(new View.OnTouchListener() { -// public boolean onTouch(View param3View, MotionEvent param3MotionEvent) { -// switch (param3MotionEvent.getAction()) { -// default: -// return true; -// case 1: -// ProcessReceiver.access$302(ProcessReceiver.null.this.this$0, param3MotionEvent.getX()); -// ProcessReceiver.access$402(ProcessReceiver.null.this.this$0, param3MotionEvent.getY()); -// if (ProcessReceiver.null.this.this$0.y1 - ProcessReceiver.null.this.this$0.y2 > 50.0F) { -// ProcessReceiver.null.this.this$0.mCustomNotification.dismiss(); -// } else { -// Logger.i("action up to do "); -// ProcessReceiver.null.this.this$0.mCustomNotification.dismiss(); -// try { -// String str; -// if (this.this$2.this$1.val$contact.category == 4) { -// str = this.this$2.this$1.val$contact.extra; -// } else { -// str = this.this$2.this$1.val$contact.number; -// } -// Observable.create(new HandleWechatNotice(2, str, 3, context)).subscribeOn(Schedulers.io()).subscribe(new Subscriber() { -// public void onCompleted() {} +// public void onError(Throwable var1x) { +// } +// +// public void onNext(NotificationParam var1x) { +// final int var2x = var1x.noReadmsgCount; +// StringBuilder var3x = new StringBuilder(); +// var3x.append("msgCount="); +// var3x.append(var2x); +// Logger.i(var3x.toString()); +// switch(var1x.category) { +// case 1: +// var6.post(new Runnable() { +// public void run() { +// String var1x; +// if (var3 != null) { +// var1x = var3; +// } else { +// var1x = var1.getString(2131624056); +// } // -// public void onError(Throwable param4Throwable) {} +// StringBuilder var2xx = new StringBuilder(); +// var2xx.append("setContent="); +// var2xx.append(var1x); +// Logger.i(var2xx.toString()); +// ProcessReceiver.this.mCustomNotification = ProcessReceiver.this.mNotificationDialog.setTitle(2131165274, 2131624055, 0).setMessage(var2.name, var2x).setContentMessage(var1x).setLayoutViewClick(new View.OnTouchListener() { +// public boolean onTouch(View var1x, MotionEvent var2xx) { +// switch(var2xx.getAction()) { +// case 0: +// ProcessReceiver.this.x1 = var2xx.getX(); +// ProcessReceiver.this.y1 = var2xx.getY(); +// break; +// case 1: +// ProcessReceiver.this.x2 = var2xx.getX(); +// ProcessReceiver.this.y2 = var2xx.getY(); +// if (ProcessReceiver.this.y1 - ProcessReceiver.this.y2 > 50.0F) { +// ProcessReceiver.this.mCustomNotification.dismiss(); +// } else { +// Logger.i("action up to do "); +// ProcessReceiver.this.mCustomNotification.dismiss(); +// ComponentName var8 = new ComponentName("com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.chat.ChatActivity_"); +// Intent var6x = new Intent("android.intent.action.MAIN"); +// var6x.putExtra("ACTIVITY_TYPE", 2); +// var6x.putExtra("contact", var2); +// var6x.addCategory("android.intent.category.DEFAULT"); +// var6x.addFlags(268435456); +// var6x.setComponent(var8); // -// public void onNext(NotificationParam param4NotificationParam) {} -// }); -// } catch (Exception param3View) { -// param3View.printStackTrace(); -// } -// } -// case 0: -// break; -// } -// ProcessReceiver.access$102(ProcessReceiver.null.this.this$0, param3MotionEvent.getX()); -// ProcessReceiver.access$202(ProcessReceiver.null.this.this$0, param3MotionEvent.getY()); +// Exception var10000; +// label47: { +// String var7; +// boolean var10001; +// label36: { +// try { +// var1.startActivity(var6x); +// if (var2.category == 4) { +// var7 = var2.extra; +// break label36; // } -// }).create()); -// ProcessReceiver.null.this.this$0.mCustomNotification.getWindow().setGravity(48); -// ProcessReceiver.null.this.this$0.mCustomNotification.getWindow().setType(2008); -// ProcessReceiver.null.this.this$0.mCustomNotification.show(); -// (new Handler()).postDelayed(new Runnable() { -// public void run() { -// if (ProcessReceiver.null.this.this$0.mCustomNotification != null && ProcessReceiver.null.this.this$0.mCustomNotification.isShowing()) -// ProcessReceiver.null.this.this$0.mCustomNotification.dismiss(); +// } catch (Exception var5) { +// var10000 = var5; +// var10001 = false; +// break label47; +// } +// +// try { +// var7 = var2.number; +// } catch (Exception var4) { +// var10000 = var4; +// var10001 = false; +// break label47; // } -// }, 5000L); -// } -// }); -// return; -// case 1: -// break; -// } -// mHandle.post(new Runnable() { +// } +// +// try { +// HandleWechatNotice var10 = new HandleWechatNotice(1, var7, 3, var1); +// Observable var11 = Observable.create(var10).subscribeOn(Schedulers.io()); +// Subscriber var12 = new Subscriber() { +// public void onCompleted() { +// } +// +// public void onError(Throwable var1x) { +// } +// +// public void onNext(NotificationParam var1x) { +// } +// }; +// var11.subscribe(var12); +// return true; +// } catch (Exception var3x) { +// var10000 = var3x; +// var10001 = false; +// } +// } +// +// Exception var9 = var10000; +// var9.printStackTrace(); +// } +// } +// +// return true; +// } +// }).create(); +// ProcessReceiver.this.mCustomNotification.getWindow().setGravity(Gravity.TOP); +// ProcessReceiver.this.mCustomNotification.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); +// ProcessReceiver.this.mCustomNotification.show(); +// (new Handler()).postDelayed(new Runnable() { // public void run() { -// String str; -// if (content_msg != null) { -// str = content_msg; -// } else { -// str = context.getString(2131624056); +// if (ProcessReceiver.this.mCustomNotification != null && ProcessReceiver.this.mCustomNotification.isShowing()) { +// ProcessReceiver.this.mCustomNotification.dismiss(); // } -// StringBuilder stringBuilder = new StringBuilder(); -// stringBuilder.append("setContent="); -// stringBuilder.append(str); -// Logger.i(stringBuilder.toString()); -// ProcessReceiver.access$002(ProcessReceiver.null.this.this$0, ProcessReceiver.null.this.this$0.mNotificationDialog.setTitle(2131165274, 2131624055, 0).setMessage(this.this$1.val$contact.name, msgCount).setContentMessage(str).setLayoutViewClick(new View.OnTouchListener() { -// public boolean onTouch(View param3View, MotionEvent param3MotionEvent) { -// Intent intent; -// switch (param3MotionEvent.getAction()) { -// default: -// return true; -// case 1: -// ProcessReceiver.access$302(ProcessReceiver.null.this.this$0, param3MotionEvent.getX()); -// ProcessReceiver.access$402(ProcessReceiver.null.this.this$0, param3MotionEvent.getY()); -// if (ProcessReceiver.null.this.this$0.y1 - ProcessReceiver.null.this.this$0.y2 > 50.0F) { -// ProcessReceiver.null.this.this$0.mCustomNotification.dismiss(); -// return true; -// } -// Logger.i("action up to do "); -// ProcessReceiver.null.this.this$0.mCustomNotification.dismiss(); -// componentName = new ComponentName("com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.chat.ChatActivity_"); -// intent = new Intent("android.intent.action.MAIN"); -// intent.putExtra("ACTIVITY_TYPE", 2); -// intent.putExtra("contact", contact); -// intent.addCategory("android.intent.category.DEFAULT"); -// intent.addFlags(268435456); -// intent.setComponent(componentName); -// try { -// String str; -// context.startActivity(intent); -// if (this.this$2.this$1.val$contact.category == 4) { -// str = this.this$2.this$1.val$contact.extra; -// } else { -// str = this.this$2.this$1.val$contact.number; -// } -// Observable.create(new HandleWechatNotice(1, str, 3, context)).subscribeOn(Schedulers.io()).subscribe(new Subscriber() { -// public void onCompleted() {} // -// public void onError(Throwable param4Throwable) {} +// } +// }, 5000L); +// } +// }); +// break; +// case 2: +// var6.post(new Runnable() { +// public void run() { +// String var1x; +// if (var3 != null) { +// var1x = var3; +// } else { +// StringBuilder var3x = new StringBuilder(); +// var3x.append(Integer.toString(var2x)); +// var3x.append(var1.getString(2131624053)); +// var1x = var3x.toString(); +// } +// +// StringBuilder var2xx = new StringBuilder(); +// var2xx.append("setContent="); +// var2xx.append(var1x); +// Logger.i(var2xx.toString()); +// ProcessReceiver.this.mCustomNotification = ProcessReceiver.this.mNotificationDialog.setTitle(2131165268, 2131624051, 0).setMessage(var2.name, 0).setContentMessage(var1x).setLayoutViewClick(new View.OnTouchListener() { +// public boolean onTouch(View var1x, MotionEvent var2xx) { +// switch(var2xx.getAction()) { +// case 0: +// ProcessReceiver.this.x1 = var2xx.getX(); +// ProcessReceiver.this.y1 = var2xx.getY(); +// break; +// case 1: +// ProcessReceiver.this.x2 = var2xx.getX(); +// ProcessReceiver.this.y2 = var2xx.getY(); +// if (ProcessReceiver.this.y1 - ProcessReceiver.this.y2 > 50.0F) { +// ProcessReceiver.this.mCustomNotification.dismiss(); +// } else { +// Logger.i("action up to do "); +// ProcessReceiver.this.mCustomNotification.dismiss(); +// +// Exception var10000; +// label47: { +// boolean var10001; +// String var6x; +// label36: { +// try { +// if (var2.category == 4) { +// var6x = var2.extra; +// break label36; +// } +// } catch (Exception var5) { +// var10000 = var5; +// var10001 = false; +// break label47; +// } // -// public void onNext(NotificationParam param4NotificationParam) {} -// }); -// return true; -// } catch (Exception componentName) { -// componentName.printStackTrace(); -// return true; -// } -// case 0: -// break; +// try { +// var6x = var2.number; +// } catch (Exception var4) { +// var10000 = var4; +// var10001 = false; +// break label47; // } -// ProcessReceiver.access$102(ProcessReceiver.null.this.this$0, intent.getX()); -// ProcessReceiver.access$202(ProcessReceiver.null.this.this$0, intent.getY()); +// } +// +// try { +// HandleWechatNotice var8 = new HandleWechatNotice(2, var6x, 3, var1); +// Observable var9 = Observable.create(var8).subscribeOn(Schedulers.io()); +// Subscriber var10 = new Subscriber() { +// public void onCompleted() { +// } +// +// public void onError(Throwable var1x) { +// } +// +// public void onNext(NotificationParam var1x) { +// } +// }; +// var9.subscribe(var10); // return true; +// } catch (Exception var3x) { +// var10000 = var3x; +// var10001 = false; // } -// }).create()); -// ProcessReceiver.null.this.this$0.mCustomNotification.getWindow().setGravity(48); -// ProcessReceiver.null.this.this$0.mCustomNotification.getWindow().setType(2008); -// ProcessReceiver.null.this.this$0.mCustomNotification.show(); -// (new Handler()).postDelayed(new Runnable() { -// public void run() { -// if (ProcessReceiver.null.this.this$0.mCustomNotification != null && ProcessReceiver.null.this.this$0.mCustomNotification.isShowing()) -// ProcessReceiver.null.this.this$0.mCustomNotification.dismiss(); // } -// }, 5000L); +// +// Exception var7 = var10000; +// var7.printStackTrace(); +// } +// } +// +// return true; // } -// }); -// } -// }); +// }).create(); +// ProcessReceiver.this.mCustomNotification.getWindow().setGravity(Gravity.TOP); +// ProcessReceiver.this.mCustomNotification.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); +// ProcessReceiver.this.mCustomNotification.show(); +// (new Handler()).postDelayed(new Runnable() { +// public void run() { +// if (ProcessReceiver.this.mCustomNotification != null && ProcessReceiver.this.mCustomNotification.isShowing()) { +// ProcessReceiver.this.mCustomNotification.dismiss(); +// } +// +// } +// }, 5000L); +// } +// }); +// } +// +// } +// }); } - public void initNotification(Contact paramContact, Context paramContext) { - String str = paramContact.name; - Uri uri = RingtoneManager.getDefaultUri(2); - NotificationCompat.Builder builder = (new NotificationCompat.Builder(paramContext)).setSmallIcon(R.drawable.toast_error).setContentTitle(paramContext.getString(R.string.app_name)).setWhen(System.currentTimeMillis()).setAutoCancel(true); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(paramContext.getString(R.string.app_name)); - stringBuilder.append(" "); - stringBuilder.append(str); - stringBuilder.append(paramContext.getString(R.string.app_name)); - Notification notification = builder.setContentText(stringBuilder.toString()).setTicker(paramContext.getString(R.string.app_name)).setSound(uri).build(); - this.mNotificationManager = (NotificationManager)paramContext.getSystemService(Context.NOTIFICATION_SERVICE); - this.mNotificationManager.notify(1, notification); + public void initNotification(Contact paramContact, Context var2) { +// String var3 = paramContact.name; +// Uri var6 = RingtoneManager.getDefaultUri(TYPE_NOTIFICATION); +// android.support.v4.app.NotificationCompat.Builder var4 = (new android.support.v7.app.NotificationCompat.Builder(var2)).setSmallIcon(R.drawable.microphone).setContentTitle(var2.getString(R.string.setting_title)).setWhen(System.currentTimeMillis()).setAutoCancel(true); +// StringBuilder var5 = new StringBuilder(); +// var5.append(var2.getString(R.string.voiceMessage)); +// var5.append(" "); +// var5.append(var3); +// var5.append(var2.getString(R.string.voiceMessageEnd)); +// Notification var7 = var4.setContentText(var5.toString()).setTicker(var2.getString(R.string.ticker)).setSound(var6).build(); +// this.mNotificationManager = (NotificationManager)var2.getSystemService(Context.NOTIFICATION_SERVICE); +// this.mNotificationManager.notify(1, var7); } @@ -352,12 +435,59 @@ public class ProcessReceiver extends BroadcastReceiver { } } else { String str1; - if (ACTION_REMOTE_CAMERA.equals(paramIntent.getAction())) { + if (ACTION_REMOTE_CAMERA.equals(str)) { str1 = paramIntent.getStringExtra("key_remote_number"); (new CameraUtil(paramContext)).getPictur(str1); return; } } + + + + boolean var5; + if ("com.enqualcomm.support.DIALOG".equals(str)) { + Contact var6 = (Contact)paramIntent.getParcelableExtra("contact"); + SharPreferenceUtil.getPrefBoolean(paramContext, "key_is_resume", false); + var5 = SharPreferenceUtil.getPrefBoolean(paramContext, "KEY_ISSILENCE", false); + if (var6 != null && !var5) { + if (!DeviceInfoUtil.isTopActivity(paramContext)) { + this.initMyDialog(paramContext, var6, 1); + this.playNotificationVoice(paramContext); + } + + this.screenOn(paramContext); + } + } else if ("com.enqualcomm.imessage.SOS_ACTION".equals(str)) { + if (paramIntent.getIntExtra("sos_end", 0) == 0) { +// EqcAlgorithmNative.native_EqcAlgorithmMethod3(8); + this.sendStheartRateBroadcast(paramContext, "com.eqc.heartrate.action.SILENT_START", 3); + //trigger AP10 报警定位 + } + } else if ("com.enqualcomm.support.ACTION_REMOTE_CAMERA".equals(paramIntent.getAction())) { + String var7 = paramIntent.getStringExtra("key_remote_number"); + (new CameraUtil(paramContext)).getPictur(var7); + } else if (!"com.enqualcomm.support.CloseUnreadMsg".equals(paramIntent.getAction()) && !"android.intent.action.BATTERY_LOW".equals(paramIntent.getAction())) { + if ("com.enqualcomm.support.ACTION_MISSED_CALL_GET".equals(str)) { + Contact var8 = (Contact)paramIntent.getParcelableExtra("contact"); + var8.extra = paramIntent.getStringExtra("date"); + var5 = SharPreferenceUtil.getPrefBoolean(paramContext, "KEY_ISSILENCE", false); + if (var8 != null && !var5) { + this.initMyDialog(paramContext, var8, 2); + this.playNotificationVoice(paramContext); + this.screenOn(paramContext); + } + } + } else { + if (mCustomDialog != null && mCustomDialog.isShowing()) { + mCustomDialog.dismiss(); + } + + if (this.mCustomNotification != null && this.mCustomNotification.isShowing()) { + this.mCustomNotification.dismiss(); + } + } + + } public void sendStheartRateBroadcast(Context paramContext, String actionStr, int paramInt) { diff --git a/app/src/main/java/com/enqualcomm/support/utils/ServiceUtil.java b/app/src/main/java/com/enqualcomm/support/utils/ServiceUtil.java index ab675e90..061b2193 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ServiceUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ServiceUtil.java @@ -9,26 +9,7 @@ import com.enqualcomm.support.service.Deliver; import java.util.concurrent.LinkedBlockingDeque; public class ServiceUtil { - public static boolean hasSave(StringMessage paramStringMessage) { - String str = paramStringMessage.cmd(); - if (str.length() > 8) { - str = str.substring(0, 8); - if ("#@H03@#;".equals(str)) - return true; - if ("#@H02@#;".equals(str)) - return true; - if ("#@H14@#;".equals(str)) - return true; - if ("#@H03C@#;".equals(str)) - return true; - if ("#@H02C@#;".equals(str)) - return true; - if ("#@H14C@#;".equals(str)) - return true; - } - return false; - } - + public static void offerQueue(StringMessage paramStringMessage) { offerQueue(paramStringMessage, false); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 51e96c26..8d311ad8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,113 @@ ICProtocolServer Sorry, the program is abnormal and will quit! + 很抱歉,程序出现异常,即将退出 + + "%1$s hasn't been installed" + + 取消 + + Push Service + + 家庭群组 + + 的未接来电 + + 您有 + + 来电提醒 + + successRateAnalytics + + Cancel + + Favorite + + A Favorites icon will be created on the home screen. You can touch the icon to view all your favorite notifications. + + OK + + Delete + + Delete notifications + + A maximum of 1000 favorite notifications can be saved. Delete some notifications before you can add new ones. Go to your favorite notifications list? + + Go + + Note + + Forward + + Back + + Loading... Please wait. + + Favorites + + Favorite notifications + + No favorite notifications + + Refresh + + Store messages + + Rich media + + Select all + + Deselect all + + 未命名 + + 电话 + + 现在 + + 个未接电话 + + 分钟前 + + 微聊 + + 发来新消息 + + [表情] + + [图片] + + [视频] + + [语音] + + 确定 + + 您暂未激活该功能哦,快去APP上激活吧~ + + spring_ding_dong.mp3 + + Search + + 微聊消息 + + 正在发起视频通话... + + statistics + + 999+ + + \"微聊消息:\" + \"您有新微聊消息,请注意查收!\" + + dialog主题 + + The call has been disconnected because the watch is overheated + + Dear, to protect your eyes, the call will be disconnected + + 宝贝 + + 来自 : + + 的微聊消息 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index cfa7e8fe..4d1c78e3 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -11,4 +11,82 @@ + + + + + + + + + + + + + + + + + +