diff --git a/CHANGELOG.md b/CHANGELOG.md
index 53552d6..7c9121f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,12 @@
-#### 2020-12-18 V1.0.1
+#### 2020-12-21 V1.0.2
+- *.[新增]新增微信红包提醒
+- *.[改进]更全面的识别淘口令。
+- *.[改进]更全面的识别快递签收提醒。
+
+#### 2020-12-18 V1.0.1
- *.[新增]支持通过wifi名称来判断是否在上班。
- *.[新增]增加游戏模式(尚未完成)。
- *.[改进]不连公司wifi的情况下,个性化购物和淘口令声音。
-#### 2020-11-28 V1.0
+#### 2020-11-28 V1.0
- 暂无。
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 7ad2f64..2903f54 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "com.itrycn.tellmenotice"
minSdkVersion 23
targetSdkVersion 29
- versionCode 2
- versionName "1.0.1"
+ versionCode 3
+ versionName "1.0.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -33,6 +33,10 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
+ implementation 'com.jakewharton:butterknife:8.8.1'
+ implementation 'com.qmuiteam:qmui:2.0.0-alpha10'
+ def qmui_arch_version = '2.0.0-alpha10'
+ implementation "com.qmuiteam:arch:$qmui_arch_version"
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 13c3b87..e11e120 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,6 +18,7 @@
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
+ android:name="com.itrycn.tellmenotice.MyApplication"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
diff --git a/app/src/main/java/com/itrycn/tellmenotice/MainActivity.java b/app/src/main/java/com/itrycn/tellmenotice/MainActivity.java
index db7eb43..7943483 100644
--- a/app/src/main/java/com/itrycn/tellmenotice/MainActivity.java
+++ b/app/src/main/java/com/itrycn/tellmenotice/MainActivity.java
@@ -1,25 +1,36 @@
package com.itrycn.tellmenotice;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.content.ContextCompat;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.graphics.Color;
import android.media.AudioManager;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.itrycn.ta.AccessibilityOperator;
import com.itrycn.ta.OpenAccessibilitySettingHelper;
+import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.qmuiteam.qmui.widget.QMUITopBar;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import java.util.Calendar;
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
public class MainActivity extends AppCompatActivity {
+ QMUITopBarLayout mTopBar;
ScreenListener screenlistener;
/**
*
@@ -28,7 +39,16 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ // 沉浸式状态栏
+ //QMUIStatusBarHelper.translucent(this);
+ //初始化状态栏
setContentView(R.layout.activity_main);
+ // 沉浸式状态栏
+ QMUIStatusBarHelper.translucent(this);
+ //View root = LayoutInflater.from(this).inflate(R.layout.activity_main, null);
+ mTopBar =findViewById(R.id.topbar);
+ //ButterKnife.bind(this, root);
+ initTopBar();
if(!isNotificationListenersEnabled())
{
gotoNotificationAccessSetting(MainActivity.this);
@@ -78,6 +98,26 @@ public class MainActivity extends AppCompatActivity {
}
});
}
+
+ private void initTopBar() {
+ mTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.app_color_theme_4));
+ mTopBar.addRightImageButton(R.drawable.menu,R.id.menu).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //finish();
+ overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right);
+ }
+ });
+
+ //mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
+ // @Override
+ // public void onClick(View v) {
+ // finish();
+ // overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right);
+ // }
+ // });
+ mTopBar.setTitle(R.string.app_name);
+ }
@Override
protected void onStart() {
if(!AccessibilityOperator.getInstance().isServiceRunning())
diff --git a/app/src/main/java/com/itrycn/tellmenotice/MyApplication.java b/app/src/main/java/com/itrycn/tellmenotice/MyApplication.java
new file mode 100644
index 0000000..7c5c257
--- /dev/null
+++ b/app/src/main/java/com/itrycn/tellmenotice/MyApplication.java
@@ -0,0 +1,14 @@
+package com.itrycn.tellmenotice;
+
+import android.app.Application;
+
+import com.qmuiteam.qmui.arch.QMUISwipeBackActivityManager;
+
+public class MyApplication extends Application {
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ //初始化QMUISwipeBackActivityManager,否则点击屏幕时就程序就会崩溃
+ QMUISwipeBackActivityManager.init(this);
+ }
+}
diff --git a/app/src/main/java/com/itrycn/tellmenotice/NoticeService.java b/app/src/main/java/com/itrycn/tellmenotice/NoticeService.java
index 3910ccf..c30fb36 100644
--- a/app/src/main/java/com/itrycn/tellmenotice/NoticeService.java
+++ b/app/src/main/java/com/itrycn/tellmenotice/NoticeService.java
@@ -76,6 +76,7 @@ public class NoticeService extends NotificationListenerService {
MP3_Dingding= sp.load(this,R.raw.dingding,1);
MP3_TaoCode= sp.load(this,R.raw.taocode,1);
MP3_Buy0= sp.load(this,R.raw.buy0,1);
+ MP3_RedPacket= sp.load(this,R.raw.redpacket,1);
//windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
//layoutParams = new WindowManager.LayoutParams();
//if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@@ -100,6 +101,7 @@ public class NoticeService extends NotificationListenerService {
sp.unload(MP3_Dingding);
sp.unload(MP3_TaoCode);
sp.unload(MP3_Buy0);
+ sp.unload(MP3_RedPacket);
super.onDestroy();
}
@Override
@@ -117,6 +119,7 @@ public class NoticeService extends NotificationListenerService {
int MP3_Dingding;
int MP3_TaoCode;
int MP3_Buy0;
+ int MP3_RedPacket;
String Last_packageName="";
String Last_Title="";
String Last_Content="";
@@ -206,7 +209,7 @@ public class NoticeService extends NotificationListenerService {
if(packageName.equals("com.tencent.mm")) //如果是微信
{
//region 微信中有人提到自己
- String[] strArr = "鑫之风;大头;凤鑫;风鑫;封信;风兴;奉新;凤兴;阿香;凤新".split(";");
+ String[] strArr = "鑫之风;大头;凤鑫;风鑫;封信;风兴;奉新;凤兴;阿香;凤新;鑫哥".split(";");
boolean haveInfo=false;
for (int i = 0; i < strArr.length; ++i){
if(Content.contains(strArr[i]))
@@ -252,7 +255,7 @@ public class NoticeService extends NotificationListenerService {
//region 淘口令
if(!haveInfo)
{
- String[] strArr2 = "tb.cn;淘tao;/宝;".split(";");
+ CharSequence[] strArr2 = "tb.cn;淘tao;/宝;t~bao;[右]tb[左]".split(";");
for (int i = 0; i < strArr2.length; ++i) {
if (Content.contains(strArr2[i])) {
if(!IsGameMode()) {
@@ -269,6 +272,22 @@ public class NoticeService extends NotificationListenerService {
}
}
//endregion
+ //region 微信红包
+ if(!haveInfo)
+ {
+ if (Content.contains("[微信红包]")) {
+ if(!IsGameMode()) {
+ FloatView fv = new FloatView(this);
+ fv.showFloatingWindow(notice, Title, Content, Color.parseColor("#FF0000"));
+ }
+ int hour = c.get(Calendar.HOUR_OF_DAY); // 时
+ if(getWifiName().indexOf("当游")<0) {
+ PlaySound(MP3_RedPacket, 0, false);
+ }
+ haveTip=true;
+ }
+ }
+ //endregion
}
else if(packageName.equals("com.xiaomi.smarthome")) //如果是米家app
{
@@ -307,7 +326,7 @@ public class NoticeService extends NotificationListenerService {
else if(packageName.equals("com.android.mms")) //如果是短信
{
//region 短信中提取快递获取信息
- String[] strArr = "保安室;快递室;派送成功;代收;".split(";");
+ String[] strArr = "保安室;快递室;收发室;派送成功;代收;".split(";");
for (int i = 0; i < strArr.length; ++i){
if(Title.contains(strArr[i]) || Content.contains(strArr[i]))
{
diff --git a/app/src/main/res/drawable/menu.png b/app/src/main/res/drawable/menu.png
new file mode 100644
index 0000000..f9b0b69
Binary files /dev/null and b/app/src/main/res/drawable/menu.png differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 22969f7..a0ce57c 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,23 +1,23 @@
-
+
+ android:layout_marginTop="95dp"
+ android:text="@string/app_state" />
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/raw/redpacket.mp3 b/app/src/main/res/raw/redpacket.mp3
new file mode 100644
index 0000000..b1cd9a1
Binary files /dev/null and b/app/src/main/res/raw/redpacket.mp3 differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index f8c6127..32677c6 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -7,4 +7,6 @@
#FF018786
#FF000000
#FFFFFFFF
+ #64AF1A
+ #9FD661
\ No newline at end of file
diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml
new file mode 100644
index 0000000..c2b18cc
--- /dev/null
+++ b/app/src/main/res/values/ids.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 19c1847..acc06ab 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,6 +1,6 @@
-