diff --git a/README.md b/README.md index caff2dbb..721ee4a3 100644 --- a/README.md +++ b/README.md @@ -73,15 +73,17 @@ Android手机监听短信并根据指定规则转发到其他手机、钉钉机 | ![添加编辑发送方邮箱](pic/sendersetemail.png "添加编辑发送方邮箱") | ![添加编辑发送方Bark](pic/sendersetbark.png "添加编辑发送方Bark") | | ![添加编辑发送方网页通知](pic/sendersetwebnotify.png "添加编辑发送方网页通知") | ![添加编辑发送方企业微信群机器人](pic/sendersetqywechat.png "添加编辑发送方企业微信群机器人") | | ![状态栏运行状态](pic/taskbar.png "状态栏运行状态") | ![应用设置](pic/setting.png "应用设置") | -| ![在线升级](pic/update.png "在线升级") | ![转发日志详情增加卡槽标识](pic/siminfo.png "转发日志详情增加卡槽标识") | +| ![在线升级](pic/update.png "在线升级") | ![增加卡槽标识](pic/siminfo.png "增加卡槽标识") | -------- ## 更新记录: -> [v1.2.3](app/release/SmsForwarder_release_20210302_1.2.3.apk) 转发日志详情增加卡槽标识(SIM1 或 SIM2) +> [v1.3.0](app/release/SmsForwarder_release_20210302_1.3.0.apk) 支持双卡手机,增加卡槽标识/运营商/手机号(如果能获取的话) -> [v1.2.2](app/release/SmsForwarder_release_20210302_1.2.2.apk) 短信模板增加卡槽标识(SIM-0_中国联通_Unknown 或 SIM-1_中国移动_+8615866666666) +> [v1.2.3](app/release/SmsForwarder_release_20210302_1.2.3.apk) 【预发布】转发日志列表/详情增加卡槽标识(SIM1 或 SIM2) + +> [v1.2.2](app/release/SmsForwarder_release_20210302_1.2.2.apk) 【预发布】短信模板增加卡槽标识(SIM1_中国联通_Unknown 或 SIM2_中国移动_+8615866666666) > [v1.2.1](app/release/SmsForwarder_release_20210226_1.2.1.apk) 修复bark-server升级到2.0后的兼容性问题 diff --git a/app/build.gradle b/app/build.gradle index bb962de6..56991702 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { applicationId "com.idormy.sms.forwarder" minSdkVersion 23 targetSdkVersion 28 - versionCode 9 - versionName "1.2.3" + versionCode 10 + versionName "1.3.0" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } signingConfigs { diff --git a/app/release/SmsForwarder_release_20210302_1.3.0.apk b/app/release/SmsForwarder_release_20210302_1.3.0.apk new file mode 100644 index 00000000..f19c04d9 Binary files /dev/null and b/app/release/SmsForwarder_release_20210302_1.3.0.apk differ diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 378856f5..c10f4272 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -10,9 +10,9 @@ { "type": "SINGLE", "filters": [], - "versionCode": 9, - "versionName": "1.2.3", - "outputFile": "SmsForwarder_release_20210302_1.2.3.apk" + "versionCode": 10, + "versionName": "1.3.0", + "outputFile": "SmsForwarder_release_20210302_1.3.0.apk" } ] } \ No newline at end of file diff --git a/app/src/main/java/com/idormy/sms/forwarder/BroadCastReceiver/SmsForwarderBroadcastReceiver.java b/app/src/main/java/com/idormy/sms/forwarder/BroadCastReceiver/SmsForwarderBroadcastReceiver.java index 9d87a514..4f18c26d 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/BroadCastReceiver/SmsForwarderBroadcastReceiver.java +++ b/app/src/main/java/com/idormy/sms/forwarder/BroadCastReceiver/SmsForwarderBroadcastReceiver.java @@ -37,7 +37,8 @@ public class SmsForwarderBroadcastReceiver extends BroadcastReceiver { String simInfoId = String.valueOf(capturedSimSlot(extras)); Log.d("SIM_SLOT", " Slot Number " + simInfoId); Map sim = MyApplication.SimInfo.get(simInfoId); - String phoneNumber = "SIM-" + sim.get("sim_id") + "_" + sim.get("carrier_name") + "_" + sim.get("phone_number"); + int sim_id = Integer.parseInt(sim.get("sim_id")) + 1; + String phoneNumber = "SIM" + sim_id + "_" + sim.get("carrier_name") + "_" + sim.get("phone_number"); List smsVoList = new ArrayList<>(); String format = intent.getStringExtra("format"); diff --git a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java index 52251a01..182b8915 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java +++ b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java @@ -254,7 +254,6 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I MyApplication.SimInfo.put(id, sim); } cursor.close(); - Log.d(TAG, String.valueOf(MyApplication.SimInfo.get("2").get("sim_id"))); } } diff --git a/app/src/main/java/com/idormy/sms/forwarder/adapter/LogAdapter.java b/app/src/main/java/com/idormy/sms/forwarder/adapter/LogAdapter.java index a3f5e694..20bd340b 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/adapter/LogAdapter.java +++ b/app/src/main/java/com/idormy/sms/forwarder/adapter/LogAdapter.java @@ -10,6 +10,7 @@ import android.widget.TextView; import com.idormy.sms.forwarder.R; import com.idormy.sms.forwarder.model.vo.LogVo; +import com.idormy.sms.forwarder.utils.aUtil; import java.util.List; @@ -57,7 +58,9 @@ public class LogAdapter extends ArrayAdapter { viewHolder.tLogFrom = view.findViewById(R.id.tlog_from); viewHolder.tLogContent = view.findViewById(R.id.tlog_content); viewHolder.tLogRule = view.findViewById(R.id.tlog_rule); + viewHolder.tLogTime = view.findViewById(R.id.tlog_time); viewHolder.senderImage = view.findViewById(R.id.tlog_sender_image); + viewHolder.simImage = view.findViewById(R.id.tlog_sim_image); // 将ViewHolder存储在View中(即将控件的实例存储在其中) view.setTag(viewHolder); @@ -71,7 +74,9 @@ public class LogAdapter extends ArrayAdapter { viewHolder.tLogFrom.setText(logVo.getFrom()); viewHolder.tLogContent.setText(logVo.getContent()); viewHolder.tLogRule.setText(logVo.getRule()); + viewHolder.tLogTime.setText(aUtil.friendlyTime(logVo.getTime())); viewHolder.senderImage.setImageResource(logVo.getSenderImageId()); + viewHolder.simImage.setImageResource(logVo.getSimImageId()); } return view; @@ -108,6 +113,8 @@ public class LogAdapter extends ArrayAdapter { TextView tLogFrom; TextView tLogContent; TextView tLogRule; + TextView tLogTime; ImageView senderImage; + ImageView simImage; } } \ No newline at end of file diff --git a/app/src/main/java/com/idormy/sms/forwarder/model/vo/LogVo.java b/app/src/main/java/com/idormy/sms/forwarder/model/vo/LogVo.java index 2e79a32d..9f8ee82a 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/model/vo/LogVo.java +++ b/app/src/main/java/com/idormy/sms/forwarder/model/vo/LogVo.java @@ -1,5 +1,7 @@ package com.idormy.sms.forwarder.model.vo; +import com.idormy.sms.forwarder.R; + public class LogVo { private String from; private String content; @@ -64,4 +66,17 @@ public class LogVo { public void setSenderImageId(int senderImageId) { this.senderImageId = senderImageId; } + + public int getSimImageId() { + if (this.simInfo == null) { + return R.mipmap.sim1; + } + + String sim = this.simInfo.replace("-", "").substring(0, 4).toLowerCase(); + if (sim == "sim2") { + return R.mipmap.sim2; + } else { + return R.mipmap.sim1; + } + } } diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/aUtil.java b/app/src/main/java/com/idormy/sms/forwarder/utils/aUtil.java index 7a138c29..fca29a43 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/aUtil.java +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/aUtil.java @@ -4,10 +4,14 @@ import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Environment; +import android.util.Log; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.Properties; public class aUtil { @@ -53,4 +57,44 @@ public class aUtil { Integer versionCode = packInfo.versionCode; return versionCode; } + + //友好时间显示 + public static String friendlyTime(String sdate) { + + SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date time = null; + try { + time = sf.parse(sdate); + } catch (ParseException e) { + e.printStackTrace(); + } + Log.d(TAG, time.getTime() + ""); + + //获取time距离当前的秒数 + int ct = (int) ((System.currentTimeMillis() - time.getTime()) / 1000); + + if (ct == 0) { + return "刚刚"; + } + + if (ct > 0 && ct < 60) { + return ct + "秒前"; + } + + if (ct >= 60 && ct < 3600) { + return Math.max(ct / 60, 1) + "分钟前"; + } + if (ct >= 3600 && ct < 86400) { + return ct / 3600 + "小时前"; + } + if (ct >= 86400 && ct < 2592000) { //86400 * 30 + int day = ct / 86400; + return day + "天前"; + } + if (ct >= 2592000 && ct < 31104000) { //86400 * 30 + return ct / 2592000 + "月前"; + } + + return ct / 31104000 + "年前"; + } } diff --git a/app/src/main/res/layout/tlog_item.xml b/app/src/main/res/layout/tlog_item.xml index c78558de..9778e4a4 100644 --- a/app/src/main/res/layout/tlog_item.xml +++ b/app/src/main/res/layout/tlog_item.xml @@ -1,45 +1,65 @@ + android:layout_height="match_parent"> - + + - - - - - - - - - - - \ No newline at end of file + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/mipmap-hdpi/sim1.png b/app/src/main/res/mipmap-hdpi/sim1.png new file mode 100644 index 00000000..6813a299 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/sim1.png differ diff --git a/app/src/main/res/mipmap-hdpi/sim2.png b/app/src/main/res/mipmap-hdpi/sim2.png new file mode 100644 index 00000000..a227b5f4 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/sim2.png differ diff --git a/app/src/main/res/mipmap-mdpi/sim1.png b/app/src/main/res/mipmap-mdpi/sim1.png new file mode 100644 index 00000000..67c82dc8 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/sim1.png differ diff --git a/app/src/main/res/mipmap-mdpi/sim2.png b/app/src/main/res/mipmap-mdpi/sim2.png new file mode 100644 index 00000000..c788ab25 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/sim2.png differ diff --git a/app/src/main/res/mipmap-xhdpi/sim1.png b/app/src/main/res/mipmap-xhdpi/sim1.png new file mode 100644 index 00000000..840cfb15 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/sim1.png differ diff --git a/app/src/main/res/mipmap-xhdpi/sim2.png b/app/src/main/res/mipmap-xhdpi/sim2.png new file mode 100644 index 00000000..e48bddd8 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/sim2.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/sim1.png b/app/src/main/res/mipmap-xxhdpi/sim1.png new file mode 100644 index 00000000..7cb18d52 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/sim1.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/sim2.png b/app/src/main/res/mipmap-xxhdpi/sim2.png new file mode 100644 index 00000000..7d4ad3c1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/sim2.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/sim1.png b/app/src/main/res/mipmap-xxxhdpi/sim1.png new file mode 100644 index 00000000..fe61c807 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/sim1.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/sim2.png b/app/src/main/res/mipmap-xxxhdpi/sim2.png new file mode 100644 index 00000000..79428f03 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/sim2.png differ diff --git a/pic/maindetail.png b/pic/maindetail.png index 67527169..c9f7121d 100644 Binary files a/pic/maindetail.png and b/pic/maindetail.png differ