Compare commits
2 Commits
apputils
...
9e9402f84e
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9e9402f84e | ||
![]() |
ec18330022 |
@@ -115,7 +115,6 @@
|
|||||||
# 本项目要实际运用需要注意以下几个步骤:
|
# 本项目要实际运用需要注意以下几个步骤:
|
||||||
# 在项目根目录下:
|
# 在项目根目录下:
|
||||||
## ★. 项目模块编译环境设置(必须),settings.gradle-demo 要复制为 settings.gradle,并取消相应项目模块的注释。
|
## ★. 项目模块编译环境设置(必须),settings.gradle-demo 要复制为 settings.gradle,并取消相应项目模块的注释。
|
||||||
## ★. 项目模块编译环境设置(必须) 在根目录拷贝 gradle.properties-androidx-demo 或者 gradle.properties-android-demo 文件为 gradle.properties。
|
|
||||||
## ★. 项目 Android SDK 编译环境设置(可选),local.properties-demo 要复制为 local.properties,并按需要设置 Android SDK 目录。
|
## ★. 项目 Android SDK 编译环境设置(可选),local.properties-demo 要复制为 local.properties,并按需要设置 Android SDK 目录。
|
||||||
## ★. 应用签名密钥 keystore 设置问题。一般调试编译只需用【Termux】cd 进 GenKeyStore 目录执行 $ bash gen_debug_keystore.sh 命令即可完成设置。
|
## ★. 应用签名密钥 keystore 设置问题。一般调试编译只需用【Termux】cd 进 GenKeyStore 目录执行 $ bash gen_debug_keystore.sh 命令即可完成设置。
|
||||||
## ☆. 应用 WiBoLL 签名密钥配置问题<非必须考虑>。设置时需要 clone 【keystore】模块源码并拷贝模块目录的 appkey.jks 与 appkey.keystore 到项目根目录即可。
|
## ☆. 应用 WiBoLL 签名密钥配置问题<非必须考虑>。设置时需要 clone 【keystore】模块源码并拷贝模块目录的 appkey.jks 与 appkey.keystore 到项目根目录即可。
|
||||||
|
@@ -67,7 +67,7 @@ dependencies {
|
|||||||
//api 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
|
//api 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
|
||||||
//api 'androidx.fragment:fragment:1.1.0'
|
//api 'androidx.fragment:fragment:1.1.0'
|
||||||
|
|
||||||
api 'cc.winboll.studio:libaes:15.9.2'
|
api 'cc.winboll.studio:libaes:15.8.0'
|
||||||
api 'cc.winboll.studio:libapputils:15.8.4'
|
api 'cc.winboll.studio:libapputils:15.8.2'
|
||||||
api 'cc.winboll.studio:libappbase:15.8.4'
|
api 'cc.winboll.studio:libappbase:15.8.2'
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sat Jun 28 05:02:54 GMT 2025
|
#Thu Jun 19 12:49:47 GMT 2025
|
||||||
stageCount=0
|
stageCount=0
|
||||||
libraryProject=
|
libraryProject=
|
||||||
baseVersion=15.0
|
baseVersion=15.0
|
||||||
publishVersion=15.0.0
|
publishVersion=15.0.0
|
||||||
buildCount=27
|
buildCount=26
|
||||||
baseBetaVersion=15.0.1
|
baseBetaVersion=15.0.1
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sun Aug 31 04:33:09 CST 2025
|
#Thu Jul 17 11:39:14 HKT 2025
|
||||||
stageCount=6
|
stageCount=2
|
||||||
libraryProject=libappbase
|
libraryProject=libappbase
|
||||||
baseVersion=15.9
|
baseVersion=15.9
|
||||||
publishVersion=15.9.5
|
publishVersion=15.9.1
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.9.6
|
baseBetaVersion=15.9.2
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Mon Sep 01 07:56:33 HKT 2025
|
#Tue Jun 03 15:05:48 HKT 2025
|
||||||
stageCount=7
|
stageCount=5
|
||||||
libraryProject=libapputils
|
libraryProject=libapputils
|
||||||
baseVersion=15.8
|
baseVersion=15.8
|
||||||
publishVersion=15.8.6
|
publishVersion=15.8.4
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.8.7
|
baseBetaVersion=15.8.5
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Thu Jul 17 09:57:24 HKT 2025
|
#Sun Jul 27 15:39:49 HKT 2025
|
||||||
stageCount=12
|
stageCount=13
|
||||||
libraryProject=
|
libraryProject=
|
||||||
baseVersion=15.3
|
baseVersion=15.3
|
||||||
publishVersion=15.3.11
|
publishVersion=15.3.12
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.3.12
|
baseBetaVersion=15.3.13
|
||||||
|
@@ -40,6 +40,10 @@ public class CallLogAdapter extends RecyclerView.Adapter<CallLogAdapter.CallLogV
|
|||||||
this.mContactUtils = ContactUtils.getInstance(mContext);
|
this.mContactUtils = ContactUtils.getInstance(mContext);
|
||||||
this.callLogList = callLogList;
|
this.callLogList = callLogList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void relaodContacts() {
|
||||||
|
this.mContactUtils.relaodContacts();
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
|
@@ -161,4 +161,12 @@ public class CallLogFragment extends Fragment {
|
|||||||
_CallLogFragment.triggerUpdate();
|
_CallLogFragment.triggerUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
//ToastUtils.show("onResume");
|
||||||
|
callLogAdapter.relaodContacts();
|
||||||
|
readCallLog(); // 窗口回显时更新通话记录
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -163,5 +163,12 @@ public class ContactsFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
contactAdapter.notifyDataSetChanged();
|
contactAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
//ToastUtils.show("onResume");
|
||||||
|
readContacts(); // 窗口回显时更新联系人列表
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Mon Aug 18 03:56:26 HKT 2025
|
#Thu Jul 17 11:39:14 HKT 2025
|
||||||
stageCount=6
|
stageCount=2
|
||||||
libraryProject=libappbase
|
libraryProject=libappbase
|
||||||
baseVersion=15.9
|
baseVersion=15.9
|
||||||
publishVersion=15.9.5
|
publishVersion=15.9.1
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.9.6
|
baseBetaVersion=15.9.2
|
||||||
|
@@ -21,7 +21,7 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
api fileTree(dir: 'libs', include: ['*.jar'])
|
api fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
api 'cc.winboll.studio:libappbase:15.9.5'
|
api 'cc.winboll.studio:libappbase:15.8.2'
|
||||||
|
|
||||||
// 二维码类库
|
// 二维码类库
|
||||||
api 'com.google.zxing:core:3.4.1'
|
api 'com.google.zxing:core:3.4.1'
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Mon Sep 01 07:56:11 HKT 2025
|
#Tue Jun 03 15:05:42 HKT 2025
|
||||||
stageCount=7
|
stageCount=5
|
||||||
libraryProject=libapputils
|
libraryProject=libapputils
|
||||||
baseVersion=15.8
|
baseVersion=15.8
|
||||||
publishVersion=15.8.6
|
publishVersion=15.8.4
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.8.7
|
baseBetaVersion=15.8.5
|
||||||
|
@@ -1,32 +0,0 @@
|
|||||||
package cc.winboll.studio.libapputils.utils;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Author ZhanGSKen&豆包大模型<zhangsken@188.com>
|
|
||||||
* @Date 2025/09/01 07:49
|
|
||||||
* @Describe .* 前置预防针
|
|
||||||
regex pointer preventive injection
|
|
||||||
简称 RegexPPi
|
|
||||||
*/
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
public class RegexPPiUtils {
|
|
||||||
|
|
||||||
public static final String TAG = "RegexPPiUtils";
|
|
||||||
|
|
||||||
//
|
|
||||||
// 检验文本是否满足适合正则表达式模式计算
|
|
||||||
//
|
|
||||||
public static boolean isPPiOK(String text) {
|
|
||||||
//String text = "这里是一些任意的文本内容";
|
|
||||||
String regex = ".*";
|
|
||||||
Pattern pattern = Pattern.compile(regex);
|
|
||||||
Matcher matcher = pattern.matcher(text);
|
|
||||||
/*if (matcher.matches()) {
|
|
||||||
System.out.println("文本满足该正则表达式模式");
|
|
||||||
} else {
|
|
||||||
System.out.println("文本不满足该正则表达式模式");
|
|
||||||
}*/
|
|
||||||
return matcher.matches();
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user