From 463585988d89b1c73c2a53f49925261b3356d651 Mon Sep 17 00:00:00 2001 From: aBuild Date: Sat, 23 May 2026 21:06:02 +0800 Subject: [PATCH] =?UTF-8?q?refactor(libappbase):=20=E5=B0=86=20DebugSwitch?= =?UTF-8?q?ImageView=20=E9=87=8D=E5=91=BD=E5=90=8D=E4=B8=BA=20DebugSwitchI?= =?UTF-8?q?nfoImageView=20=E5=B9=B6=E6=B7=BB=E5=8A=A0=E8=B0=83=E8=AF=95=20?= =?UTF-8?q?token=20=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 类名 DebugSwitchImageView → DebugSwitchInfoImageView - 更新 TAG 常量及所有构造方法名称 - 更新 AboutView.java 字段类型引用 - 更新 layout_about_view.xml 及 layout-night 布局文件中的自定义视图标签 - 新增静态变量 mDebugToken 及 getDebugToken() 方法 - 首次调用时从 SharedPreferences 读取 - 无存储值时自动生成 UUID 唯一 token 并持久化到 SP --- appbase/build.properties | 4 +- libappbase/build.properties | 4 +- .../studio/libappbase/views/AboutView.java | 2 +- ...iew.java => DebugSwitchInfoImageView.java} | 34 +++++-- .../res/layout-night/layout_about_view.xml | 2 +- .../src/main/res/layout/layout_about_view.xml | 2 +- settings.gradle | 93 +++++++++++++++++++ 7 files changed, 128 insertions(+), 13 deletions(-) rename libappbase/src/main/java/cc/winboll/studio/libappbase/views/{DebugSwitchImageView.java => DebugSwitchInfoImageView.java} (51%) diff --git a/appbase/build.properties b/appbase/build.properties index 2792515..2d7d52b 100644 --- a/appbase/build.properties +++ b/appbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed May 20 16:12:26 HKT 2026 +#Sat May 23 21:03:59 HKT 2026 stageCount=21 libraryProject=libappbase baseVersion=15.20 publishVersion=15.20.20 -buildCount=0 +buildCount=6 baseBetaVersion=15.20.21 diff --git a/libappbase/build.properties b/libappbase/build.properties index 0fab579..2d7d52b 100644 --- a/libappbase/build.properties +++ b/libappbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed May 20 16:12:13 HKT 2026 +#Sat May 23 21:03:59 HKT 2026 stageCount=21 libraryProject=libappbase baseVersion=15.20 publishVersion=15.20.20 -buildCount=0 +buildCount=6 baseBetaVersion=15.20.21 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 050a8b6..7dafdd8 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 @@ -74,7 +74,7 @@ public class AboutView extends LinearLayout { private EditText metDevUserPassword; // ===================================== 页面视图控件 ===================================== - private DebugSwitchImageView ivAppIcon; + private DebugSwitchInfoImageView ivAppIcon; private TextView tvAppNameVersion; private TextView tvAppDesc; private LinearLayout llFunctionContainer; diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchImageView.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchInfoImageView.java similarity index 51% rename from libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchImageView.java rename to libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchInfoImageView.java index fa353f1..840ce2f 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchImageView.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/DebugSwitchInfoImageView.java @@ -1,10 +1,12 @@ package cc.winboll.studio.libappbase.views; import android.content.Context; +import android.content.SharedPreferences; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.Toast; +import java.util.UUID; import cc.winboll.studio.libappbase.GlobalApplication; /** @@ -12,31 +14,51 @@ import cc.winboll.studio.libappbase.GlobalApplication; * @Date 2026/04/06 19:32 * @Describe 具有调试模式切换功能的应用Logo控件,连续点击10次弹出提示 */ -public class DebugSwitchImageView extends ImageView { +public class DebugSwitchInfoImageView extends ImageView { - public static final String TAG = "DebugSwitchImageView"; + public static final String TAG = "DebugSwitchInfoImageView"; // 连续点击计数 private int mClickCount = 0; // 目标点击次数 private static final int TARGET_CLICK_COUNT = 10; - public DebugSwitchImageView(Context context) { + private static String mDebugToken = null; + private static final String SP_DEBUG_TOKEN = "debug_token_prefs"; + private static final String KEY_DEBUG_TOKEN = "debug_token"; + + public static String getDebugToken() { + if (mDebugToken != null) { + return mDebugToken; + } + Context context = GlobalApplication.getInstance(); + if (context != null) { + SharedPreferences sp = context.getSharedPreferences(SP_DEBUG_TOKEN, Context.MODE_PRIVATE); + mDebugToken = sp.getString(KEY_DEBUG_TOKEN, null); + if (mDebugToken == null) { + mDebugToken = UUID.randomUUID().toString(); + sp.edit().putString(KEY_DEBUG_TOKEN, mDebugToken).apply(); + } + } + return mDebugToken; + } + + public DebugSwitchInfoImageView(Context context) { super(context); init(); } - public DebugSwitchImageView(Context context, AttributeSet attrs) { + public DebugSwitchInfoImageView(Context context, AttributeSet attrs) { super(context, attrs); init(); } - public DebugSwitchImageView(Context context, AttributeSet attrs, int defStyleAttr) { + public DebugSwitchInfoImageView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } - public DebugSwitchImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + public DebugSwitchInfoImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); init(); } diff --git a/libappbase/src/main/res/layout-night/layout_about_view.xml b/libappbase/src/main/res/layout-night/layout_about_view.xml index a1753ff..14185d1 100644 --- a/libappbase/src/main/res/layout-night/layout_about_view.xml +++ b/libappbase/src/main/res/layout-night/layout_about_view.xml @@ -15,7 +15,7 @@ android:paddingRight="16dp" android:paddingBottom="16dp"> - -