diff --git a/contacts/src/main/AndroidManifest.xml b/contacts/src/main/AndroidManifest.xml
index cc2ce04..3324f40 100644
--- a/contacts/src/main/AndroidManifest.xml
+++ b/contacts/src/main/AndroidManifest.xml
@@ -254,7 +254,7 @@
-
+
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 c8af316..1345c56 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
@@ -7,7 +7,7 @@ import androidx.appcompat.app.AppCompatActivity;
import cc.winboll.studio.contacts.R;
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.services.LimitedTimeGreenChannelService;
import cc.winboll.studio.contacts.utils.IntUtils;
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
import cc.winboll.studio.libappbase.LogUtils;
@@ -122,7 +122,7 @@ public class UnitTestActivity extends WinBollActivity implements IWinBoLLActivit
new Thread(new Runnable(){
@Override
public void run() {
- LimitedTimeSpecialChannelService.unitTest(UnitTestActivity.this);
+ LimitedTimeGreenChannelService.unitTest(UnitTestActivity.this);
}
}).start();
}
diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/dun/Rules.java b/contacts/src/main/java/cc/winboll/studio/contacts/dun/Rules.java
index 0bc4402..77fa88a 100644
--- a/contacts/src/main/java/cc/winboll/studio/contacts/dun/Rules.java
+++ b/contacts/src/main/java/cc/winboll/studio/contacts/dun/Rules.java
@@ -5,7 +5,7 @@ import cc.winboll.studio.contacts.activities.SettingsActivity;
import cc.winboll.studio.contacts.bobulltoon.TomCat;
import cc.winboll.studio.contacts.model.PhoneConnectRuleBean;
import cc.winboll.studio.contacts.model.SettingsBean;
-import cc.winboll.studio.contacts.services.LimitedTimeSpecialChannelService;
+import cc.winboll.studio.contacts.services.LimitedTimeGreenChannelService;
import cc.winboll.studio.contacts.services.MainService;
import cc.winboll.studio.contacts.utils.ContactUtils;
import cc.winboll.studio.contacts.utils.IntUtils;
@@ -172,9 +172,9 @@ public class Rules {
LogUtils.d(TAG, String.format("isDefend == %s\nisConnect == %s", isDefend, isConnect));
}
- // 限时特殊通道打开时返回连接
- if (!isDefend && LimitedTimeSpecialChannelService.isServiceRunning()) {
- LogUtils.d(TAG, String.format("PhoneNumber %s\n and Limited Time Special Channel Service Is Running.", phoneNumber));
+ // 限时绿色通道打开时返回连接
+ if (!isDefend && LimitedTimeGreenChannelService.isServiceRunning()) {
+ LogUtils.d(TAG, String.format("PhoneNumber %s\n and Limited Time Green Channel Service Is Running.", phoneNumber));
isDefend = true;
isConnect = true;
LogUtils.d(TAG, String.format("isDefend == %s\nisConnect == %s", isDefend, isConnect));
diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/services/LimitedTimeSpecialChannelService.java b/contacts/src/main/java/cc/winboll/studio/contacts/services/LimitedTimeGreenChannelService.java
similarity index 96%
rename from contacts/src/main/java/cc/winboll/studio/contacts/services/LimitedTimeSpecialChannelService.java
rename to contacts/src/main/java/cc/winboll/studio/contacts/services/LimitedTimeGreenChannelService.java
index aa62f02..b28397d 100644
--- a/contacts/src/main/java/cc/winboll/studio/contacts/services/LimitedTimeSpecialChannelService.java
+++ b/contacts/src/main/java/cc/winboll/studio/contacts/services/LimitedTimeGreenChannelService.java
@@ -13,17 +13,17 @@ import cc.winboll.studio.libappbase.LogUtils;
* @Author 豆包&ZhanGSKen
* @Date 2026/04/18 15:00:00 (GMT+8)
* @LastEditTime 2026/04/22 17:20:00 (GMT+8)
- * @Describe 限时特殊通道服务
+ * @Describe 限时绿色通道服务
* 提供安全的服务启动、令牌校验及循环任务管理
* 新增功能:
* 1. 计时过程中实时输出剩余秒数
* 2. 服务销毁前,发送本地广播通知应用内其他组件,并携带剩余秒数信息
* 3. 每秒发送一次倒计时状态的本地广播
*/
-public class LimitedTimeSpecialChannelService extends Service {
+public class LimitedTimeGreenChannelService extends Service {
// ========================= 常量定义 =========================
- public static final String TAG = "LimitedTimeSpecialChannelService";
+ public static final String TAG = "LimitedTimeGreenChannelService";
public static final String EXTRA_DELAY_MILLIS = "EXTRA_DELAY_MILLIS";
private static final String EXTRA_SECURITY_TOKEN = "EXTRA_SECURITY_TOKEN";
@@ -44,7 +44,7 @@ public class LimitedTimeSpecialChannelService extends Service {
*/
public static final String mValidToken = "VALID_TOKEN_" + System.currentTimeMillis();
- private static volatile LimitedTimeSpecialChannelService sInstance = null;
+ private static volatile LimitedTimeGreenChannelService sInstance = null;
private static volatile boolean sIsServiceRunning = false;
// ========================= 成员变量 =========================
@@ -73,7 +73,7 @@ public class LimitedTimeSpecialChannelService extends Service {
}
// 构建Intent传递参数
- Intent intent = new Intent(context, LimitedTimeSpecialChannelService.class);
+ Intent intent = new Intent(context, LimitedTimeGreenChannelService.class);
intent.putExtra(EXTRA_SECURITY_TOKEN, mValidToken);
intent.putExtra(EXTRA_DELAY_MILLIS, delayMillis);
@@ -93,7 +93,7 @@ public class LimitedTimeSpecialChannelService extends Service {
LogUtils.w(TAG, "停止失败,上下文为null");
return;
}
- Intent intent = new Intent(context, LimitedTimeSpecialChannelService.class);
+ Intent intent = new Intent(context, LimitedTimeGreenChannelService.class);
context.stopService(intent);
LogUtils.i(TAG, "服务停止命令已发出");
}
diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/views/LimitedTimeSpecialChannelView.java b/contacts/src/main/java/cc/winboll/studio/contacts/views/LimitedTimeGreenChannelView.java
similarity index 88%
rename from contacts/src/main/java/cc/winboll/studio/contacts/views/LimitedTimeSpecialChannelView.java
rename to contacts/src/main/java/cc/winboll/studio/contacts/views/LimitedTimeGreenChannelView.java
index c73e168..e2442f8 100644
--- a/contacts/src/main/java/cc/winboll/studio/contacts/views/LimitedTimeSpecialChannelView.java
+++ b/contacts/src/main/java/cc/winboll/studio/contacts/views/LimitedTimeGreenChannelView.java
@@ -13,7 +13,7 @@ import android.widget.LinearLayout;
import android.widget.Switch;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import cc.winboll.studio.contacts.R;
-import cc.winboll.studio.contacts.services.LimitedTimeSpecialChannelService;
+import cc.winboll.studio.contacts.services.LimitedTimeGreenChannelService;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.ToastUtils;
@@ -21,7 +21,7 @@ import cc.winboll.studio.libappbase.ToastUtils;
* @Author 豆包&ZhanGSKen
* @Date 2026/04/18 15:05:00 (GMT+8)
* @LastEditTime 2026/04/22 17:30:00 (GMT+8)
- * @Describe 限时特殊通道视图
+ * @Describe 限时绿色通道视图
* 功能说明:
* 1. Switch 打开时,EditText 不可编辑,布局背景变为绿色,加减按钮不可用
* 2. Switch 关闭时,EditText 可编辑,布局背景恢复为白色,加减按钮恢复可用
@@ -31,10 +31,10 @@ import cc.winboll.studio.libappbase.ToastUtils;
* 6. 新增快速设置按钮(btn_thisSeconds),点击直接设置为当前量级3600秒
* 7. [新增] 服务销毁时,恢复EditText显示为倒计时剩余秒数
*/
-public class LimitedTimeSpecialChannelView extends LinearLayout {
+public class LimitedTimeGreenChannelView extends LinearLayout {
// ====================== 常量定义 =========================
- public static final String TAG = "LimitedTimeSpecialChannelView";
+ public static final String TAG = "LimitedTimeGreenChannelView";
// 定义秒数增量的量级
private static final long SECONDS_INCREMENT = 3600;
@@ -50,17 +50,17 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
private android.content.BroadcastReceiver mCountdownReceiver;
// ====================== 构造函数 =========================
- public LimitedTimeSpecialChannelView(Context context) {
+ public LimitedTimeGreenChannelView(Context context) {
super(context);
initView(context);
}
- public LimitedTimeSpecialChannelView(Context context, AttributeSet attrs) {
+ public LimitedTimeGreenChannelView(Context context, AttributeSet attrs) {
super(context, attrs);
initView(context);
}
- public LimitedTimeSpecialChannelView(Context context, AttributeSet attrs, int defStyleAttr) {
+ public LimitedTimeGreenChannelView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
}
@@ -71,7 +71,7 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
this.mContext = context;
// 加载布局文件
- LayoutInflater.from(context).inflate(R.layout.view_limitedtimespecialchannel, this, true);
+ LayoutInflater.from(context).inflate(R.layout.view_limitedtimegreenchannel, this, true);
LogUtils.i(TAG, "布局文件加载完成");
// 绑定控件ID
@@ -192,9 +192,9 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
updateUIState(!isChecked);
if (isChecked) {
- startLimitedTimeSpecialChannelService();
+ startLimitedTimeGreenChannelService();
} else {
- LimitedTimeSpecialChannelService.stopService(mContext);
+ LimitedTimeGreenChannelService.stopService(mContext);
}
}
});
@@ -222,11 +222,11 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
*/
private void registerServiceDestroyedListener() {
LogUtils.i(TAG, "注册服务销毁广播监听");
- IntentFilter filter = new IntentFilter(LimitedTimeSpecialChannelService.ACTION_SERVICE_DESTROYED);
+ IntentFilter filter = new IntentFilter(LimitedTimeGreenChannelService.ACTION_SERVICE_DESTROYED);
LocalBroadcastManager.getInstance(mContext).registerReceiver(new android.content.BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- if (LimitedTimeSpecialChannelService.ACTION_SERVICE_DESTROYED.equals(intent.getAction())) {
+ if (LimitedTimeGreenChannelService.ACTION_SERVICE_DESTROYED.equals(intent.getAction())) {
LogUtils.i(TAG, "收到服务销毁广播,执行恢复操作");
// 1. 恢复开关状态
@@ -236,7 +236,7 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
// 2. [核心修改] 检索并设置倒计时剩余秒数参数
// 从广播附加数据中获取之前服务发送的剩余秒数
- long remainingSeconds = intent.getLongExtra(LimitedTimeSpecialChannelService.EXTRA_REMAINING_SECONDS, 0);
+ long remainingSeconds = intent.getLongExtra(LimitedTimeGreenChannelService.EXTRA_REMAINING_SECONDS, 0);
// 实际倒计时消耗冲正
remainingSeconds -= 1;
// 倒计时秒数0值保底
@@ -266,8 +266,8 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
mCountdownReceiver = new android.content.BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- if (LimitedTimeSpecialChannelService.ACTION_COUNTDOWN_TICK.equals(intent.getAction())) {
- long remainingSeconds = intent.getLongExtra(LimitedTimeSpecialChannelService.EXTRA_REMAINING_SECONDS, 0);
+ if (LimitedTimeGreenChannelService.ACTION_COUNTDOWN_TICK.equals(intent.getAction())) {
+ long remainingSeconds = intent.getLongExtra(LimitedTimeGreenChannelService.EXTRA_REMAINING_SECONDS, 0);
if (mEtSeconds != null) {
mEtSeconds.setText(String.valueOf(remainingSeconds));
}
@@ -278,7 +278,7 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
}
};
- IntentFilter filter = new IntentFilter(LimitedTimeSpecialChannelService.ACTION_COUNTDOWN_TICK);
+ IntentFilter filter = new IntentFilter(LimitedTimeGreenChannelService.ACTION_COUNTDOWN_TICK);
LocalBroadcastManager.getInstance(mContext).registerReceiver(mCountdownReceiver, filter);
LogUtils.i(TAG, "倒计时广播注册成功");
}
@@ -286,8 +286,8 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
/**
* 启动限时特殊通道服务
*/
- private void startLimitedTimeSpecialChannelService() {
- LogUtils.i(TAG, "准备启动限时特殊通道服务");
+ private void startLimitedTimeGreenChannelService() {
+ LogUtils.i(TAG, "准备启动限时绿色通道服务");
String secondsStr = mEtSeconds.getText().toString().trim();
if (secondsStr.isEmpty()) {
LogUtils.w(TAG, "输入框为空,使用默认值 3600 秒");
@@ -299,8 +299,8 @@ public class LimitedTimeSpecialChannelView extends LinearLayout {
long delayMillis = seconds * 1000;
LogUtils.i(TAG, "启动参数 - 输入秒数: " + seconds + ", 转换毫秒: " + delayMillis);
- //ToastUtils.show("调用 LimitedTimeSpecialChannelService 服务");
- LimitedTimeSpecialChannelService.startService(mContext, delayMillis);
+ //ToastUtils.show("调用 LimitedTimeGreenChannelService 服务");
+ LimitedTimeGreenChannelService.startService(mContext, delayMillis);
} catch (NumberFormatException e) {
LogUtils.e(TAG, "输入的秒数格式错误: " + secondsStr, e);
}
diff --git a/contacts/src/main/res/layout/activity_settings.xml b/contacts/src/main/res/layout/activity_settings.xml
index a43e1a7..d54062c 100644
--- a/contacts/src/main/res/layout/activity_settings.xml
+++ b/contacts/src/main/res/layout/activity_settings.xml
@@ -67,12 +67,12 @@
+ android:text="绿色通道设置:"/>
-
+ android:id="@+id/view_LimitedTimeGreenChannel"/>
diff --git a/contacts/src/main/res/layout/view_limitedtimespecialchannel.xml b/contacts/src/main/res/layout/view_limitedtimegreenchannel.xml
similarity index 100%
rename from contacts/src/main/res/layout/view_limitedtimespecialchannel.xml
rename to contacts/src/main/res/layout/view_limitedtimegreenchannel.xml