From ebaf487d0a8df9be12fb697010b6da10fc82be9e Mon Sep 17 00:00:00 2001 From: MiMo Date: Sun, 19 Jul 2026 05:29:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E8=AF=95=E7=B1=BB=E5=9E=8B=E6=8E=A7?= =?UTF-8?q?=E4=BB=B6=E4=B8=8E=E5=BA=94=E7=94=A8=E7=B1=BB=E5=9E=8B=E6=8E=A7?= =?UTF-8?q?=E4=BB=B6=E8=BF=9B=E8=A1=8C=E5=88=86=E7=B1=BB=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contacts/build.properties | 4 +-- .../contacts/activities/SettingsActivity.java | 32 +++++++++++++++++++ .../contacts/activities/UnitTestActivity.java | 28 ++-------------- .../contacts/views/DebugToolButtonsView.java | 21 ++++++++++++ .../src/main/res/layout/activity_settings.xml | 7 ++++ .../res/layout/view_debug_tool_buttons.xml | 8 +++++ 6 files changed, 72 insertions(+), 28 deletions(-) diff --git a/contacts/build.properties b/contacts/build.properties index 08d3cee..23a56d3 100644 --- a/contacts/build.properties +++ b/contacts/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sun Jul 19 05:01:46 CST 2026 +#Sun Jul 19 05:20:16 CST 2026 stageCount=11 libraryProject= baseVersion=15.20 publishVersion=15.20.10 -buildCount=17 +buildCount=20 baseBetaVersion=15.20.11 diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java b/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java index 801b4c6..03798cf 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java @@ -406,6 +406,21 @@ public class SettingsActivity extends WinBollActivity implements IWinBoLLActivit LogUtils.d(TAG, "onAddNewConnectionRule: 规则添加完成,当前共" + mRuleList.size() + "条规则"); } + /** + * 初始化测试规则 + */ + public void onInitTestRules(View view) { + LogUtils.d(TAG, "onInitTestRules: 初始化测试规则"); + Rules rules = Rules.getInstance(this); + if (rules == null) { + LogUtils.e(TAG, "onInitTestRules: Rules实例获取失败"); + return; + } + initTestRulesIfEmpty(rules); + mRuleAdapter.notifyDataSetChanged(); + ToastUtils.show("测试规则初始化完成"); + } + /** * 跳转默认电话应用设置 */ @@ -561,6 +576,23 @@ public class SettingsActivity extends WinBollActivity implements IWinBoLLActivit } // ====================== 工具方法区(通用功能+权限相关) ====================== + /** + * 规则集为空时初始化测试规则 + */ + public static void initTestRulesIfEmpty(Rules rules) { + if (rules.getPhoneBlacRuleBeanList().size() == 0) { + LogUtils.d(TAG, "initTestRulesIfEmpty: 当前无规则,添加测试规则集"); + rules.add("^1[3-9]\\d{9}$", true, true); + rules.add("^0660\\d+$", true, true); + rules.add("^020\\d+$", true, true); + rules.add(".*", false, true); + rules.saveRules(); + LogUtils.d(TAG, "initTestRulesIfEmpty: 测试规则集已保存"); + } else { + LogUtils.d(TAG, "initTestRulesIfEmpty: 当前已有规则,跳过初始化"); + } + } + /** * 更新音量显示文本(当前音量/最大音量) */ diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/activities/UnitTestActivity.java b/contacts/src/main/java/cc/winboll/studio/contacts/activities/UnitTestActivity.java index 8d3c2f5..c8af316 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/activities/UnitTestActivity.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/activities/UnitTestActivity.java @@ -5,7 +5,7 @@ import android.view.View; import android.widget.EditText; import androidx.appcompat.app.AppCompatActivity; import cc.winboll.studio.contacts.R; -import cc.winboll.studio.contacts.activities.UnitTestActivity; +import cc.winboll.studio.contacts.activities.SettingsActivity; import cc.winboll.studio.contacts.dun.Rules; import cc.winboll.studio.contacts.services.LimitedTimeSpecialChannelService; import cc.winboll.studio.contacts.utils.IntUtils; @@ -103,7 +103,7 @@ public class UnitTestActivity extends WinBollActivity implements IWinBoLLActivit // 初始化规则实例 Rules rules = Rules.getInstance(this); // 无规则时添加测试规则集 - initTestRulesIfEmpty(rules); + SettingsActivity.initTestRulesIfEmpty(rules); // 预设测试号码列表 String[] testPhones = { @@ -126,29 +126,5 @@ public class UnitTestActivity extends WinBollActivity implements IWinBoLLActivit } }).start(); } - - // ====================== 私有工具函数区 ====================== - /** - * 规则集为空时初始化测试规则 - */ - private void initTestRulesIfEmpty(Rules rules) { - if (rules.getPhoneBlacRuleBeanList().size() == 0) { - LogUtils.d(TAG, "initTestRulesIfEmpty: 当前无规则,添加测试规则集"); - // 规则1:中国手机号允许 - rules.add("^1[3-9]\\d{9}$", true, true); - // 规则2:0660区号号码允许 - rules.add("^0660\\d+$", true, true); - // 规则3:020区号号码允许 - rules.add("^020\\d+$", true, true); - // 规则4:默认拒接所有号码 - rules.add(".*", false, true); - - // 保存规则到本地 - rules.saveRules(); - LogUtils.d(TAG, "initTestRulesIfEmpty: 测试规则集已保存"); - } else { - LogUtils.d(TAG, "initTestRulesIfEmpty: 当前已有规则,跳过初始化"); - } - } } diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/views/DebugToolButtonsView.java b/contacts/src/main/java/cc/winboll/studio/contacts/views/DebugToolButtonsView.java index e7adc30..7c84e59 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/views/DebugToolButtonsView.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/views/DebugToolButtonsView.java @@ -48,6 +48,7 @@ public class DebugToolButtonsView extends LinearLayout { private void initButtons() { Button btnCrash = (Button) findViewById(R.id.btn_debug_crash); Button btnLayoutPreview = (Button) findViewById(R.id.btn_debug_layout_preview); + Button btnUnitTest = (Button) findViewById(R.id.btn_debug_unit_test); btnCrash.setOnClickListener(new OnClickListener() { @Override @@ -62,6 +63,13 @@ public class DebugToolButtonsView extends LinearLayout { onOpenLayoutPreview(); } }); + + btnUnitTest.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + onOpenUnitTest(); + } + }); } private void onTestCrash() { @@ -83,4 +91,17 @@ public class DebugToolButtonsView extends LinearLayout { LogUtils.e(TAG, "onOpenLayoutPreview: 跳转失败", e); } } + + private void onOpenUnitTest() { + LogUtils.d(TAG, "onOpenUnitTest: 打开单元测试窗口"); + try { + Intent intent = new Intent(); + intent.setClassName(mContext, "cc.winboll.studio.contacts.activities.UnitTestActivity"); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mContext.startActivity(intent); + LogUtils.d(TAG, "onOpenUnitTest: 跳转成功"); + } catch (Exception e) { + LogUtils.e(TAG, "onOpenUnitTest: 跳转失败", e); + } + } } diff --git a/contacts/src/main/res/layout/activity_settings.xml b/contacts/src/main/res/layout/activity_settings.xml index 64c73f6..ff4bb5d 100644 --- a/contacts/src/main/res/layout/activity_settings.xml +++ b/contacts/src/main/res/layout/activity_settings.xml @@ -325,6 +325,13 @@ android:background="@drawable/recycler_view_border" android:layout_margin="5dp"/> +