diff --git a/positions/build.properties b/positions/build.properties index 8c6e5f0..fe1e3d1 100644 --- a/positions/build.properties +++ b/positions/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Sun May 03 15:20:10 CST 2026 +#Sun May 03 18:27:26 CST 2026 stageCount=20 libraryProject= baseVersion=15.12 publishVersion=15.12.19 -buildCount=11 +buildCount=21 baseBetaVersion=15.12.20 diff --git a/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java b/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java index f278144..ea26b3c 100644 --- a/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java +++ b/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java @@ -35,6 +35,7 @@ import cc.winboll.studio.positions.activities.WinBoLLActivity; import cc.winboll.studio.positions.handlers.AppIdleRunningModeHandler; import cc.winboll.studio.positions.utils.AppConfigsUtil; import cc.winboll.studio.positions.utils.ServiceUtil; +import cc.winboll.studio.positions.services.IdleGpsService; import cc.winboll.studio.positions.R; /** @@ -341,6 +342,11 @@ public class MainActivity extends WinBoLLActivity implements IWinBoLLActivity { boolean idleNow = App.isAppIdleRunning(); boolean idleNew = !idleNow; App.setAppIdleRunning(idleNew); + if (idleNew) { + IdleGpsService.getInstance().start(); + } else { + IdleGpsService.getInstance().stop(); + } AppIdleRunningModeHandler.sendIdleSwitch(idleNew); AppIdleRunningModeHandler.sendIdleLog("菜单手动切换空转状态:" + idleNew); LogUtils.d(TAG, "onOptionsItemSelected -> 空转状态已切换,当前:" + idleNew); diff --git a/positions/src/main/java/cc/winboll/studio/positions/services/IdleGpsService.java b/positions/src/main/java/cc/winboll/studio/positions/services/IdleGpsService.java index cae4679..0e6929b 100644 --- a/positions/src/main/java/cc/winboll/studio/positions/services/IdleGpsService.java +++ b/positions/src/main/java/cc/winboll/studio/positions/services/IdleGpsService.java @@ -3,6 +3,7 @@ package cc.winboll.studio.positions.services; import android.os.Handler; import android.os.Looper; +import cc.winboll.studio.positions.handlers.AppIdleRunningModeHandler; import cc.winboll.studio.positions.models.PositionModel; import java.util.ArrayList; @@ -14,7 +15,7 @@ import java.util.List; */ public class IdleGpsService { - private static final long MOCK_INTERVAL_MS = 1000; // 模拟坐标更新间隔 + private static final long MOCK_INTERVAL_MS = 5000; // 模拟坐标更新间隔(5秒) private static IdleGpsService instance; private final List listeners = new ArrayList<>(); private final Handler handler; @@ -36,6 +37,7 @@ public class IdleGpsService { public void run() { if (isRunning) { notifyListeners(mockPosition); + AppIdleRunningModeHandler.sendIdleLog("模拟GPS数据更新 -> 纬度:" + mockPosition.getLatitude() + ", 经度:" + mockPosition.getLongitude()); handler.postDelayed(this, MOCK_INTERVAL_MS); } } @@ -49,6 +51,29 @@ public class IdleGpsService { return instance; } + /** + * 启动空转模拟服务 + */ + public void start() { + if (isRunning) return; + isRunning = true; + AppIdleRunningModeHandler.sendIdleLog("空转GPS服务已启动"); + // 通知监听器 + notifyStatusChange("空转GPS服务已启动"); + handler.post(updateRunnable); + } + + /** + * 停止空转模拟服务 + */ + public void stop() { + if (!isRunning) return; + isRunning = false; + handler.removeCallbacks(updateRunnable); + notifyStatusChange("空转GPS服务已停止"); + AppIdleRunningModeHandler.sendIdleLog("空转GPS服务已停止"); + } + /** * 注册GPS监听 */ @@ -59,7 +84,7 @@ public class IdleGpsService { } } if (!isRunning) { - startMockUpdate(); + start(); } }