Compare commits

...

2 Commits

4 changed files with 52 additions and 33 deletions

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Thu Apr 09 01:41:37 HKT 2026 #Thu Apr 09 02:21:20 HKT 2026
stageCount=8 stageCount=9
libraryProject= libraryProject=
baseVersion=15.14 baseVersion=15.14
publishVersion=15.14.7 publishVersion=15.14.8
buildCount=0 buildCount=0
baseBetaVersion=15.14.8 baseBetaVersion=15.14.9

View File

@@ -22,6 +22,7 @@ import cc.winboll.studio.libappbase.ToastUtils;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import cc.winboll.studio.contacts.dun.Rules;
/** /**
* @Author ZhanGSKen&豆包大模型<zhangsken@qq.com> * @Author ZhanGSKen&豆包大模型<zhangsken@qq.com>
@@ -119,6 +120,14 @@ public class CallLogAdapter extends RecyclerView.Adapter<CallLogAdapter.CallLogV
clipboard.setPrimaryClip(clip); clipboard.setPrimaryClip(clip);
Toast.makeText(mContext, "Copy to clipboard.", Toast.LENGTH_SHORT).show(); Toast.makeText(mContext, "Copy to clipboard.", Toast.LENGTH_SHORT).show();
LogUtils.d(TAG, "showPhonePopupMenu: 号码" + callLog.getPhoneNumber() + "已复制到剪贴板"); LogUtils.d(TAG, "showPhonePopupMenu: 号码" + callLog.getPhoneNumber() + "已复制到剪贴板");
} else if (itemId == R.id.item_calllog_phonenumber_yundun_test) {
// 跳转到添加联系人页面
//if (Rules.getInstance(mContext).isAllowed(callLog.getPhoneNumber(), false)) {
if (Rules.getInstance(mContext).isAllowed(callLog.getPhoneNumber(), true)) {
ToastUtils.show(callLog.getPhoneNumber() + " Is Allowed By YunDun.");
} else {
ToastUtils.show("YunDun Defense The Phone " + callLog.getPhoneNumber() + "");
}
} else if (itemId == R.id.item_calllog_phonenumber_add_contact) { } else if (itemId == R.id.item_calllog_phonenumber_add_contact) {
// 跳转到添加联系人页面 // 跳转到添加联系人页面
ContactUtils.jumpToAddContact(mContext, callLog.getPhoneNumber()); ContactUtils.jumpToAddContact(mContext, callLog.getPhoneNumber());

View File

@@ -136,6 +136,10 @@ public class Rules {
} }
public boolean isAllowed(String phoneNumber) { public boolean isAllowed(String phoneNumber) {
return isAllowed(phoneNumber, false);
}
public boolean isAllowed(String phoneNumber, boolean isTest) {
// 没有启用云盾,默认允许接通任何电话 // 没有启用云盾,默认允许接通任何电话
if (!mSettingsModel.isEnableDun()) { if (!mSettingsModel.isEnableDun()) {
LogUtils.d(TAG, String.format("没有启用云盾默认允许接通任何电话。isAllowed(...) return true")); LogUtils.d(TAG, String.format("没有启用云盾默认允许接通任何电话。isAllowed(...) return true"));
@@ -204,6 +208,8 @@ public class Rules {
} }
} }
// 如果不是规则测试时,就执行云盾防御机能。
if (isTest == false) {
if (isConnect) { if (isConnect) {
// 如果防御结果为连接,则恢复防御盾牌最大值层数 // 如果防御结果为连接,则恢复防御盾牌最大值层数
mSettingsModel.setDunCurrentCount(mSettingsModel.getDunTotalCount()); mSettingsModel.setDunCurrentCount(mSettingsModel.getDunTotalCount());
@@ -228,11 +234,12 @@ public class Rules {
SettingsActivity.notifyDunInfoUpdate(); SettingsActivity.notifyDunInfoUpdate();
} }
// 返回校验结果
LogUtils.d(TAG, String.format("返回校验结果 isConnect == %s", isConnect));
// 一键更新所有 DunTemperatureView 实例的盾值 // 一键更新所有 DunTemperatureView 实例的盾值
DunTemperatureView.updateDunValue(mSettingsModel.getDunTotalCount(), mSettingsModel.getDunCurrentCount()); DunTemperatureView.updateDunValue(mSettingsModel.getDunTotalCount(), mSettingsModel.getDunCurrentCount());
}
// 返回校验结果
LogUtils.d(TAG, String.format("返回校验结果 isConnect == %s", isConnect));
return isConnect; return isConnect;
} }

View File

@@ -5,6 +5,9 @@
<item <item
android:id="@+id/item_calllog_phonenumber_copy" android:id="@+id/item_calllog_phonenumber_copy"
android:title="Copy"/> android:title="Copy"/>
<item
android:id="@+id/item_calllog_phonenumber_yundun_test"
android:title="YunDun Test"/>
<item <item
android:id="@+id/item_calllog_phonenumber_add_contact" android:id="@+id/item_calllog_phonenumber_add_contact"
android:title="Add Contact"/> android:title="Add Contact"/>