From e9a1dca8ca1144d4709f656d5e283ff579f01f8f Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Mon, 6 Apr 2026 20:23:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E7=94=A8=E8=B0=83=E8=AF=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=88=87=E6=8D=A2Logo=E5=87=86=E5=A4=87=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- appbase/build.properties | 4 +- .../java/cc/winboll/studio/appbase/App.java | 9 ++-- libappbase/build.properties | 4 +- .../studio/libappbase/views/AboutView.java | 50 ++++++++++++------- .../views/DebugSwitchImageView.java | 5 +- .../main/res/drawable/ic_debug_step_over.xml | 11 ++++ .../src/main/res/layout/layout_about_view.xml | 9 ++++ 7 files changed, 67 insertions(+), 25 deletions(-) create mode 100644 libappbase/src/main/res/drawable/ic_debug_step_over.xml diff --git a/appbase/build.properties b/appbase/build.properties index eb2c403..cb8e69e 100644 --- a/appbase/build.properties +++ b/appbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Mon Apr 06 11:39:20 GMT 2026 +#Mon Apr 06 12:21:56 GMT 2026 stageCount=16 libraryProject=libappbase baseVersion=15.15 publishVersion=15.15.15 -buildCount=3 +buildCount=16 baseBetaVersion=15.15.16 diff --git a/appbase/src/main/java/cc/winboll/studio/appbase/App.java b/appbase/src/main/java/cc/winboll/studio/appbase/App.java index b834044..cd3711b 100644 --- a/appbase/src/main/java/cc/winboll/studio/appbase/App.java +++ b/appbase/src/main/java/cc/winboll/studio/appbase/App.java @@ -21,9 +21,12 @@ public class App extends GlobalApplication { */ @Override public void onCreate() { - super.onCreate(); // 调用父类初始化逻辑(如基础库配置、全局上下文设置) - //setIsDebugging(false); - setIsDebugging(BuildConfig.DEBUG); + super.onCreate(); + // 如果应用不在调试状态,就根据编译类型设置调试状态 + if (isDebugging() != true) { + setIsDebugging(BuildConfig.DEBUG); + } + // 初始化 Toast 工具类(传入应用全局上下文,确保 Toast 可在任意地方调用) ToastUtils.init(getApplicationContext()); } diff --git a/libappbase/build.properties b/libappbase/build.properties index eb2c403..cb8e69e 100644 --- a/libappbase/build.properties +++ b/libappbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Mon Apr 06 11:39:20 GMT 2026 +#Mon Apr 06 12:21:56 GMT 2026 stageCount=16 libraryProject=libappbase baseVersion=15.15 publishVersion=15.15.15 -buildCount=3 +buildCount=16 baseBetaVersion=15.15.16 diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java index c8dfa97..8ddf07a 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java @@ -80,6 +80,7 @@ public class AboutView extends LinearLayout { private TextView tvAppNameVersion; private TextView tvAppDesc; private LinearLayout llFunctionContainer; + private ImageButton ibSebugStepOver; private ImageButton ibSigngetDialog; private ImageButton ibWinBoLLHostDialog; @@ -185,22 +186,27 @@ public class AboutView extends LinearLayout { * 加载XML布局并绑定所有视图控件,初始化按钮点击事件 */ private void initViewFromXml() { - LogUtils.d(TAG, "initViewFromXml():开始加载布局并绑定控件"); - View.inflate(mContext, R.layout.layout_about_view, this); - // 基础控件绑定 - ivAppIcon = findViewById(R.id.iv_app_icon); - tvAppNameVersion = findViewById(R.id.tv_app_name_version); - tvAppDesc = findViewById(R.id.tv_app_desc); - llFunctionContainer = findViewById(R.id.ll_function_container); - // 功能按钮绑定 - ibSigngetDialog = findViewById(R.id.ib_signgetdialog); - ibWinBoLLHostDialog = findViewById(R.id.ib_winbollhostdialog); - // 调试地址按钮动态显隐 - ibWinBoLLHostDialog.setVisibility(GlobalApplication.isDebugging() ? View.VISIBLE : View.GONE); - // 绑定按钮点击事件 - setBtnClickListener(); - LogUtils.d(TAG, "initViewFromXml():布局加载+控件绑定+事件初始化完成"); - } + LogUtils.d(TAG, "initViewFromXml():开始加载布局并绑定控件"); + View.inflate(mContext, R.layout.layout_about_view, this); + // 基础控件绑定 + ivAppIcon = findViewById(R.id.iv_app_icon); + tvAppNameVersion = findViewById(R.id.tv_app_name_version); + tvAppDesc = findViewById(R.id.tv_app_desc); + llFunctionContainer = findViewById(R.id.ll_function_container); + // 功能按钮绑定 + ibSebugStepOver = findViewById(R.id.ib_debug_step_over); + ibSigngetDialog = findViewById(R.id.ib_signgetdialog); + ibWinBoLLHostDialog = findViewById(R.id.ib_winbollhostdialog); + + // 调试按钮统一只在调试模式显示 + ibWinBoLLHostDialog.setVisibility(GlobalApplication.isDebugging() ? View.VISIBLE : View.GONE); + //ibSigngetDialog.setVisibility(GlobalApplication.isDebugging() ? View.VISIBLE : View.GONE); + ibSebugStepOver.setVisibility(GlobalApplication.isDebugging() ? View.VISIBLE : View.GONE); + + // 绑定按钮点击事件 + setBtnClickListener(); + LogUtils.d(TAG, "initViewFromXml():布局加载+控件绑定+事件初始化完成"); + } /** * 从APPInfo实体读取应用基础核心配置,赋值到本地属性 @@ -312,7 +318,17 @@ public class AboutView extends LinearLayout { */ private void setBtnClickListener() { LogUtils.d(TAG, "setBtnClickListener():开始绑定功能按钮点击事件"); - // 正版校验弹窗 + // 取消调试状态按钮 + ibSebugStepOver.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + LogUtils.d(TAG, "ibSebugStepOver onClick:取消调试状态按钮已点击"); + GlobalApplication.setIsDebugging(false); + GlobalApplication.saveDebugStatus(GlobalApplication.getInstance()); + ToastUtils.show("已取消调试状态,重启应用可生效。"); + } + }); + // 正版校验弹窗 ibSigngetDialog.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchImageView.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchImageView.java index 45d24dc..fa353f1 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchImageView.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchImageView.java @@ -5,6 +5,7 @@ import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.Toast; +import cc.winboll.studio.libappbase.GlobalApplication; /** * @Author 豆包&ZhanGSKen @@ -47,7 +48,9 @@ public class DebugSwitchImageView extends ImageView { mClickCount++; if (mClickCount == TARGET_CLICK_COUNT) { // 达到10次,弹出Toast - Toast.makeText(getContext(), "连续点击已达到10次", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "连续点击已达到10次,现在开启应用调试功能。", Toast.LENGTH_SHORT).show(); + GlobalApplication.setIsDebugging(true); + GlobalApplication.saveDebugStatus(GlobalApplication.getInstance()); // 重置计数,可再次触发 mClickCount = 0; } diff --git a/libappbase/src/main/res/drawable/ic_debug_step_over.xml b/libappbase/src/main/res/drawable/ic_debug_step_over.xml new file mode 100644 index 0000000..e7b81e2 --- /dev/null +++ b/libappbase/src/main/res/drawable/ic_debug_step_over.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/libappbase/src/main/res/layout/layout_about_view.xml b/libappbase/src/main/res/layout/layout_about_view.xml index b37779e..508f7bc 100644 --- a/libappbase/src/main/res/layout/layout_about_view.xml +++ b/libappbase/src/main/res/layout/layout_about_view.xml @@ -58,6 +58,15 @@ android:layout_marginTop="16dp" android:spacing="20dp"> + +