优化了tcp实时更新对UI线程的压力和对用弹窗的重复弹窗的影响。

更换了路径规划的的经纬度的字段名和取操作的名字更换。
This commit is contained in:
2026-06-08 13:35:56 +08:00
parent 354f7d6290
commit ff4a3836c7

View File

@@ -117,18 +117,8 @@ class _HomePageState extends State<HomePage> {
tenantName: '',
);
return BlocBuilder<PermissionRequestBloc, PermissionRequestState>(
buildWhen: (p, c) {
final shouldRebuild = p.runtimeType != c.runtimeType;
debugPrint('🔍 [HomePage-BlocBuilder] buildWhen 检查: previous=${p.runtimeType}, current=${c.runtimeType}, shouldRebuild=$shouldRebuild');
return shouldRebuild;
},
builder: (context, permissionState) {
debugPrint('🔍 [HomePage-BlocBuilder] builder 被调用,当前状态: ${permissionState.runtimeType}');
return Stack(
children: [
Scaffold(
// 🔥 移除 PermissionRequestBloc 监听,统一由 RemoteControlCubit 处理权限弹窗
return Scaffold(
backgroundColor: const Color(0xFFF7F7F7),
body: CustomScrollView(
physics: const BouncingScrollPhysics(),
@@ -139,50 +129,13 @@ class _HomePageState extends State<HomePage> {
const SliverToBoxAdapter(child: SizedBox(height: 120)),
],
),
),
if (permissionState is PermissionRequestDialogVisible)
_buildPermissionDialog(context, permissionState),
],
);
},
);
}
Widget _buildPermissionDialog(BuildContext context, PermissionRequestDialogVisible state) {
debugPrint('🔍 [HomePage] 🚨 弹窗正在显示!platform=${state.platform}');
final deviceId = context.read<DevicesCubit>().state.selectedDevice?.deviceName ?? "";
final permissionBloc = context.read<PermissionRequestBloc>();
return Container(
color: Colors.black54,
alignment: Alignment.center,
child: AlertDialog(
title: Text(AppLocalizations.of(context).translate('remote_control.permission_request_title')),
content: Text(AppLocalizations.of(context).translate('remote_control.permission_request_content')),
actions: [
TextButton(
onPressed: () {
permissionBloc.add(PermissionDialogDismissed(
agree: false,
deviceId: deviceId,
));
},
child: Text(AppLocalizations.of(context).translate('remote_control.refuse')),
),
TextButton(
onPressed: () {
permissionBloc.add(PermissionDialogDismissed(
agree: true,
deviceId: deviceId,
));
},
child: Text(AppLocalizations.of(context).translate('remote_control.agree')),
),
],
),
);
}
// 🔥 移除首页的权限弹窗方法,统一由 RemoteControlCubit 处理
// Widget _buildPermissionDialog(BuildContext context, PermissionRequestDialogVisible state) {
// ...
// }
@override
void dispose() {