Compare commits
4 Commits
contacts-v
...
contacts
| Author | SHA1 | Date | |
|---|---|---|---|
| 88431a6688 | |||
| 2b32bb91a4 | |||
| e9c999dd73 | |||
| 96c828f27b |
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Thu Apr 09 01:41:37 HKT 2026
|
||||
stageCount=8
|
||||
#Thu Apr 09 02:36:26 HKT 2026
|
||||
stageCount=10
|
||||
libraryProject=
|
||||
baseVersion=15.14
|
||||
publishVersion=15.14.7
|
||||
publishVersion=15.14.9
|
||||
buildCount=0
|
||||
baseBetaVersion=15.14.8
|
||||
baseBetaVersion=15.14.10
|
||||
|
||||
@@ -22,6 +22,7 @@ import cc.winboll.studio.libappbase.ToastUtils;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import cc.winboll.studio.contacts.dun.Rules;
|
||||
|
||||
/**
|
||||
* @Author ZhanGSKen&豆包大模型<zhangsken@qq.com>
|
||||
@@ -119,6 +120,14 @@ public class CallLogAdapter extends RecyclerView.Adapter<CallLogAdapter.CallLogV
|
||||
clipboard.setPrimaryClip(clip);
|
||||
Toast.makeText(mContext, "Copy to clipboard.", Toast.LENGTH_SHORT).show();
|
||||
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) {
|
||||
// 跳转到添加联系人页面
|
||||
ContactUtils.jumpToAddContact(mContext, callLog.getPhoneNumber());
|
||||
|
||||
@@ -91,7 +91,7 @@ public class Rules {
|
||||
saveDun();
|
||||
// 一键更新所有 DunTemperatureView 实例的盾值
|
||||
DunTemperatureView.updateDunValue(mSettingsModel.getDunTotalCount(), mSettingsModel.getDunCurrentCount());
|
||||
|
||||
|
||||
SettingsActivity.notifyDunInfoUpdate();
|
||||
}
|
||||
}
|
||||
@@ -135,7 +135,11 @@ public class Rules {
|
||||
SettingsBean.saveBean(mContext, mSettingsModel);
|
||||
}
|
||||
|
||||
public boolean isAllowed(String phoneNumber) {
|
||||
public boolean isAllowed(String phoneNumber) {
|
||||
return isAllowed(phoneNumber, false);
|
||||
}
|
||||
|
||||
public boolean isAllowed(String phoneNumber, boolean isTest) {
|
||||
// 没有启用云盾,默认允许接通任何电话
|
||||
if (!mSettingsModel.isEnableDun()) {
|
||||
LogUtils.d(TAG, String.format("没有启用云盾,默认允许接通任何电话。isAllowed(...) return true"));
|
||||
@@ -204,37 +208,40 @@ public class Rules {
|
||||
}
|
||||
}
|
||||
|
||||
if (isConnect) {
|
||||
// 如果防御结果为连接,则恢复防御盾牌最大值层数
|
||||
mSettingsModel.setDunCurrentCount(mSettingsModel.getDunTotalCount());
|
||||
LogUtils.d(TAG, String.format("防御结果为连接,恢复防御盾牌最大值层数 %d", mSettingsModel.getDunTotalCount()));
|
||||
saveDun();
|
||||
SettingsActivity.notifyDunInfoUpdate();
|
||||
} else if (isDefend) {
|
||||
// 如果触发了以上某个防御模块,减少防御盾牌层数
|
||||
int newDunCount = nDunCurrentCount;
|
||||
LogUtils.d(TAG, String.format("新的防御层数预计为 %d", newDunCount));
|
||||
// 如果不是规则测试时,就执行云盾防御机能。
|
||||
if (isTest == false) {
|
||||
if (isConnect) {
|
||||
// 如果防御结果为连接,则恢复防御盾牌最大值层数
|
||||
mSettingsModel.setDunCurrentCount(mSettingsModel.getDunTotalCount());
|
||||
LogUtils.d(TAG, String.format("防御结果为连接,恢复防御盾牌最大值层数 %d", mSettingsModel.getDunTotalCount()));
|
||||
saveDun();
|
||||
SettingsActivity.notifyDunInfoUpdate();
|
||||
} else if (isDefend) {
|
||||
// 如果触发了以上某个防御模块,减少防御盾牌层数
|
||||
int newDunCount = nDunCurrentCount;
|
||||
LogUtils.d(TAG, String.format("新的防御层数预计为 %d", newDunCount));
|
||||
|
||||
// 保证盾值在[1,DunTotalCount]之内其他值一律重置为 DunTotalCount。
|
||||
if (newDunCount > 0 && newDunCount < mSettingsModel.getDunTotalCount()) {
|
||||
mSettingsModel.setDunCurrentCount(newDunCount);
|
||||
LogUtils.d(TAG, String.format("设置防御层数为 %d", newDunCount));
|
||||
} else {
|
||||
mSettingsModel.setDunCurrentCount(mSettingsModel.getDunTotalCount());
|
||||
LogUtils.d(TAG, String.format("盾值不在[0,%d]区间,恢复防御最大值%d", mSettingsModel.getDunTotalCount(), mSettingsModel.getDunTotalCount()));
|
||||
}
|
||||
// 保证盾值在[1,DunTotalCount]之内其他值一律重置为 DunTotalCount。
|
||||
if (newDunCount > 0 && newDunCount < mSettingsModel.getDunTotalCount()) {
|
||||
mSettingsModel.setDunCurrentCount(newDunCount);
|
||||
LogUtils.d(TAG, String.format("设置防御层数为 %d", newDunCount));
|
||||
} else {
|
||||
mSettingsModel.setDunCurrentCount(mSettingsModel.getDunTotalCount());
|
||||
LogUtils.d(TAG, String.format("盾值不在[0,%d]区间,恢复防御最大值%d", mSettingsModel.getDunTotalCount(), mSettingsModel.getDunTotalCount()));
|
||||
}
|
||||
|
||||
saveDun();
|
||||
SettingsActivity.notifyDunInfoUpdate();
|
||||
}
|
||||
saveDun();
|
||||
SettingsActivity.notifyDunInfoUpdate();
|
||||
}
|
||||
|
||||
// 返回校验结果
|
||||
LogUtils.d(TAG, String.format("返回校验结果 isConnect == %s", isConnect));
|
||||
// 一键更新所有 DunTemperatureView 实例的盾值
|
||||
DunTemperatureView.updateDunValue(mSettingsModel.getDunTotalCount(), mSettingsModel.getDunCurrentCount());
|
||||
// 一键更新所有 DunTemperatureView 实例的盾值
|
||||
DunTemperatureView.updateDunValue(mSettingsModel.getDunTotalCount(), mSettingsModel.getDunCurrentCount());
|
||||
}
|
||||
|
||||
return isConnect;
|
||||
}
|
||||
// 返回校验结果
|
||||
LogUtils.d(TAG, String.format("返回校验结果 isConnect == %s", isConnect));
|
||||
return isConnect;
|
||||
}
|
||||
|
||||
public void add(String szPhoneConnectRule, boolean isAllowConnection, boolean isEnable) {
|
||||
_PhoneConnectRuleModelList.add(new PhoneConnectRuleBean(szPhoneConnectRule, isAllowConnection, isEnable));
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
<item
|
||||
android:id="@+id/item_calllog_phonenumber_copy"
|
||||
android:title="Copy"/>
|
||||
<item
|
||||
android:id="@+id/item_calllog_phonenumber_yundun_test"
|
||||
android:title="YunDun Test"/>
|
||||
<item
|
||||
android:id="@+id/item_calllog_phonenumber_add_contact"
|
||||
android:title="Add Contact"/>
|
||||
|
||||
Reference in New Issue
Block a user