Merge branch 'develop_liyi' into 'canary_release'
fix:调整俄语国际化问题 See merge request StarlockTeam/app-starlock!7
This commit is contained in:
commit
7f33519380
@ -1147,5 +1147,6 @@
|
|||||||
"网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "After the gateway is powered on, press and hold the reset button for 5 seconds. Click Next when the blue indicator light flashes",
|
"网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "After the gateway is powered on, press and hold the reset button for 5 seconds. Click Next when the blue indicator light flashes",
|
||||||
"暂无最新记录": "There are currently no latest records available",
|
"暂无最新记录": "There are currently no latest records available",
|
||||||
"请将手机切换至2.4G WiFi进行手动连接": "Please switch your phone to 2.4G WiFi for manual connection",
|
"请将手机切换至2.4G WiFi进行手动连接": "Please switch your phone to 2.4G WiFi for manual connection",
|
||||||
|
"请确保网络是2.4GHz Wi-Fi": "Please ensure that the network is 2.4GHz Wi Fi",
|
||||||
"网关添加成功": "Gateway added successfully"
|
"网关添加成功": "Gateway added successfully"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1151,5 +1151,7 @@
|
|||||||
"暂无最新记录": "暂无最新记录",
|
"暂无最新记录": "暂无最新记录",
|
||||||
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
|
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
|
||||||
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
|
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
|
||||||
|
"请确保网络是2.4GHz Wi-Fi": "请确保网络是2.4GHz Wi-Fi",
|
||||||
|
"已选": "已选",
|
||||||
"网关添加成功": "网关添加成功"
|
"网关添加成功": "网关添加成功"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -630,12 +630,12 @@
|
|||||||
"关锁": "Закрыть замок",
|
"关锁": "Закрыть замок",
|
||||||
"功能": "Функция",
|
"功能": "Функция",
|
||||||
"配件": "Детали",
|
"配件": "Детали",
|
||||||
"云存": "Облачное хранилище",
|
"云存": "Cloud",
|
||||||
"本地": "Эта местность",
|
"本地": "Эта местность",
|
||||||
"3天滚动储存": "3 дня прокатного хранения",
|
"3天滚动储存": "3 дня прокатного хранения",
|
||||||
"去升级": "Обновить сейчас",
|
"去升级": "Обновить сейчас",
|
||||||
"下载列表": "Скачать список",
|
"下载列表": "Скачать список",
|
||||||
"已下载": "Загружено",
|
"已下载": "Downloaded",
|
||||||
"全部视频": "Все видео",
|
"全部视频": "Все видео",
|
||||||
"已为本设备免费提供3大滚动视频储存服务": "Для этого устройства бесплатно предоставлены три услуги по хранению видео с прокруткой.",
|
"已为本设备免费提供3大滚动视频储存服务": "Для этого устройства бесплатно предоставлены три услуги по хранению видео с прокруткой.",
|
||||||
"视频播放": "Воспроизведение видео",
|
"视频播放": "Воспроизведение видео",
|
||||||
@ -1148,5 +1148,7 @@
|
|||||||
"3.安装Google Home APP,点击左上角的加号按钮": "3. Установите приложение Google Home и нажмите кнопку plus в левом верхнем углу",
|
"3.安装Google Home APP,点击左上角的加号按钮": "3. Установите приложение Google Home и нажмите кнопку plus в левом верхнем углу",
|
||||||
"暂无最新记录": "В настоящее время последние данные отсутствуют",
|
"暂无最新记录": "В настоящее время последние данные отсутствуют",
|
||||||
"请扫描可视门铃码二维码": "Сканируйте код вызова",
|
"请扫描可视门铃码二维码": "Сканируйте код вызова",
|
||||||
|
"请确保网络是2.4GHz Wi-Fi": "Убедитесь, что сеть имеет 2,4 ГГц Wi - Fi",
|
||||||
|
"已选": "Выбранные",
|
||||||
"请将手机切换至2.4G WiFi进行手动连接": "Пожалуйста, переключите телефон на 2.4G WiFi для ручного подключения"
|
"请将手机切换至2.4G WiFi进行手动连接": "Пожалуйста, переключите телефон на 2.4G WiFi для ручного подключения"
|
||||||
}
|
}
|
||||||
@ -1151,5 +1151,7 @@
|
|||||||
"暂无最新记录": "暂无最新记录",
|
"暂无最新记录": "暂无最新记录",
|
||||||
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
|
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
|
||||||
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
|
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
|
||||||
|
"请确保网络是2.4GHz Wi-Fi": "请确保网络是2.4GHz Wi-Fi",
|
||||||
|
"已选": "已选",
|
||||||
"网关添加成功": "网关添加成功"
|
"网关添加成功": "网关添加成功"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,7 +55,7 @@ class _ConfiguringWifiPageState extends State<ConfiguringWifiPage>
|
|||||||
height: 20.h,
|
height: 20.h,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'请确保网络是2.4GHz Wi-Fi ',
|
'请确保网络是2.4GHz Wi-Fi'.tr,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: AppColors.blackColor,
|
color: AppColors.blackColor,
|
||||||
fontSize: 20.sp,
|
fontSize: 20.sp,
|
||||||
|
|||||||
@ -143,8 +143,8 @@ class _VideoLogPageState extends State<VideoLogPage> {
|
|||||||
|
|
||||||
// nav按钮
|
// nav按钮
|
||||||
Widget navBtn() {
|
Widget navBtn() {
|
||||||
return SizedBox(
|
return Container(
|
||||||
width: 300.w,
|
constraints: BoxConstraints(maxWidth: 310.w),
|
||||||
// color: Colors.white,
|
// color: Colors.white,
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import 'package:amap_flutter_location/amap_flutter_location.dart';
|
|||||||
import 'package:amap_flutter_location/amap_location_option.dart';
|
import 'package:amap_flutter_location/amap_location_option.dart';
|
||||||
import 'package:amap_flutter_map/amap_flutter_map.dart';
|
import 'package:amap_flutter_map/amap_flutter_map.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
@ -175,12 +176,16 @@ class _LockAddressGaoDePageState extends State<LockAddressGaoDePage>
|
|||||||
body: ListView(
|
body: ListView(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Container(
|
Container(
|
||||||
margin: EdgeInsets.only(left: 25.w, top: 40.h, bottom: 40.w),
|
margin: EdgeInsets.only(
|
||||||
child: Row(
|
left: 25.w, right: 25.w, top: 40.h, bottom: 40.w),
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
child: Center(
|
||||||
children: <Widget>[
|
child: Text(
|
||||||
Text('地理位置'.tr, style: TextStyle(fontSize: 50.sp)),
|
'地理位置'.tr,
|
||||||
],
|
textAlign: TextAlign.center,
|
||||||
|
style: TextStyle(fontSize: 50.sp),
|
||||||
|
softWrap: true,
|
||||||
|
overflow: TextOverflow.visible,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
@ -272,7 +277,9 @@ class _LockAddressGaoDePageState extends State<LockAddressGaoDePage>
|
|||||||
height: 1.sw / 5 * 4 + 65.h * 2,
|
height: 1.sw / 5 * 4 + 65.h * 2,
|
||||||
child: Center(child: Text('地图加载中,请稍候。。。'.tr))),
|
child: Center(child: Text('地图加载中,请稍候。。。'.tr))),
|
||||||
),
|
),
|
||||||
SizedBox(height: 200.h),
|
Container(
|
||||||
|
constraints: BoxConstraints(maxHeight: 150.h),
|
||||||
|
),
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
|
|||||||
@ -3,5 +3,5 @@ class TalkConstant {
|
|||||||
static const int talkePingOverTime = 10;
|
static const int talkePingOverTime = 10;
|
||||||
static const int talkeDataOverTime = 10;
|
static const int talkeDataOverTime = 10;
|
||||||
// 收到TalkRequest 未处理超时时间(s)
|
// 收到TalkRequest 未处理超时时间(s)
|
||||||
static const int talkeRequestOverTime = 60;
|
static const int talkeRequestOverTime = 30;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -54,6 +54,12 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
|||||||
startChartManage.startTalkExpectTimer();
|
startChartManage.startTalkExpectTimer();
|
||||||
// 停止发送对讲请求
|
// 停止发送对讲请求
|
||||||
startChartManage.stopCallRequestMessageTimer();
|
startChartManage.stopCallRequestMessageTimer();
|
||||||
|
// 收到应答后取消超时判断
|
||||||
|
talkeRequestOverTimeTimerManager.cancel();
|
||||||
|
// 启动发送ping
|
||||||
|
startChartManage.startTalkPingMessageTimer();
|
||||||
|
// 启动ping命令超时判断
|
||||||
|
talkePingOverTimeTimerManager.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,8 +80,6 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
|||||||
_showTalkRequestNotification(talkObjectName: talkObjectName);
|
_showTalkRequestNotification(talkObjectName: talkObjectName);
|
||||||
// 设置为等待接听状态
|
// 设置为等待接听状态
|
||||||
talkStatus.setPassiveCallWaitingAnswer();
|
talkStatus.setPassiveCallWaitingAnswer();
|
||||||
// 启动对讲请求超时定时器
|
|
||||||
talkeRequestOverTimeTimerManager.start();
|
|
||||||
// 收到呼叫请求,跳转到接听页面
|
// 收到呼叫请求,跳转到接听页面
|
||||||
if (startChartManage
|
if (startChartManage
|
||||||
.getDefaultTalkExpect()
|
.getDefaultTalkExpect()
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import 'dart:async';
|
|||||||
|
|
||||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:star_lock/app_settings/app_settings.dart';
|
||||||
import 'package:star_lock/talk/starChart/constant/talk_constant.dart';
|
import 'package:star_lock/talk/starChart/constant/talk_constant.dart';
|
||||||
import 'package:star_lock/talk/starChart/constant/talk_status.dart';
|
import 'package:star_lock/talk/starChart/constant/talk_status.dart';
|
||||||
import 'package:star_lock/talk/starChart/star_chart_manage.dart';
|
import 'package:star_lock/talk/starChart/star_chart_manage.dart';
|
||||||
@ -34,6 +35,7 @@ class TalkeRequestOverTimeTimerManager {
|
|||||||
StartChartManage().startTalkRejectMessageTimer();
|
StartChartManage().startTalkRejectMessageTimer();
|
||||||
StartChartManage().stopSendingRbcuInfoMessages();
|
StartChartManage().stopSendingRbcuInfoMessages();
|
||||||
StartChartManage().stopSendingRbcuProBeMessages();
|
StartChartManage().stopSendingRbcuProBeMessages();
|
||||||
|
StartChartManage().stopCallRequestMessageTimer();
|
||||||
talkStatus.setInitializationCompleted();
|
talkStatus.setInitializationCompleted();
|
||||||
Get.back();
|
Get.back();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -417,8 +417,7 @@ class StartChartManage {
|
|||||||
void startCallRequestMessageTimer({required String ToPeerId}) async {
|
void startCallRequestMessageTimer({required String ToPeerId}) async {
|
||||||
// 如果已经处于等待接听状态就不发送
|
// 如果已经处于等待接听状态就不发送
|
||||||
if (talkStatus.status != TalkStatus.proactivelyCallWaitingAnswer) {
|
if (talkStatus.status != TalkStatus.proactivelyCallWaitingAnswer) {
|
||||||
// 停止播放铃声
|
// 如果是h264则跳转至webview
|
||||||
// AudioPlayerManager().playRingtone();
|
|
||||||
if (_defaultTalkExpect.videoType.contains(VideoTypeE.H264)) {
|
if (_defaultTalkExpect.videoType.contains(VideoTypeE.H264)) {
|
||||||
Get.toNamed(
|
Get.toNamed(
|
||||||
Routers.h264WebView,
|
Routers.h264WebView,
|
||||||
@ -429,6 +428,7 @@ class StartChartManage {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 启动定时器持续发送对讲请求
|
||||||
talkRequestTimer ??= Timer.periodic(
|
talkRequestTimer ??= Timer.periodic(
|
||||||
Duration(
|
Duration(
|
||||||
seconds: _defaultIntervalTime,
|
seconds: _defaultIntervalTime,
|
||||||
@ -438,9 +438,8 @@ class StartChartManage {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
talkStatus.setProactivelyCallWaitingAnswer();
|
talkStatus.setProactivelyCallWaitingAnswer();
|
||||||
startTalkPingMessageTimer();
|
// 启动对讲请求应答超时判断
|
||||||
// 启动是否收到ping超时判断定时器
|
talkeRequestOverTimeTimerManager.start();
|
||||||
talkePingOverTimeTimerManager.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 停止持续发送对讲请求
|
/// 停止持续发送对讲请求
|
||||||
|
|||||||
@ -125,7 +125,7 @@ class TalkViewLogic extends BaseGetXController {
|
|||||||
if (_isFirstFrame) {
|
if (_isFirstFrame) {
|
||||||
_startTime = currentTime;
|
_startTime = currentTime;
|
||||||
_isFirstFrame = false;
|
_isFirstFrame = false;
|
||||||
AppLog.log('记录第一帧的时间戳${currentTime},${talkData.durationMs}');
|
// AppLog.log('记录第一帧的时间戳${currentTime},${talkData.durationMs}');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算实际延迟:当前时间 - 预期播放时间
|
// 计算实际延迟:当前时间 - 预期播放时间
|
||||||
@ -249,11 +249,11 @@ class TalkViewLogic extends BaseGetXController {
|
|||||||
if (delay > delayThresholdHigh && bufferSize < maxBufferSize) {
|
if (delay > delayThresholdHigh && bufferSize < maxBufferSize) {
|
||||||
// 延迟较大,增加缓冲区
|
// 延迟较大,增加缓冲区
|
||||||
bufferSize = min(bufferSize + adjustInterval, maxBufferSize);
|
bufferSize = min(bufferSize + adjustInterval, maxBufferSize);
|
||||||
AppLog.log('📈 增加缓冲区 - 当前大小: $bufferSize, 延迟: ${delay}ms');
|
// AppLog.log('📈 增加缓冲区 - 当前大小: $bufferSize, 延迟: ${delay}ms');
|
||||||
} else if (delay < delayThresholdLow && bufferSize > minBufferSize) {
|
} else if (delay < delayThresholdLow && bufferSize > minBufferSize) {
|
||||||
// 延迟较小,减少缓冲区
|
// 延迟较小,减少缓冲区
|
||||||
bufferSize = max(bufferSize - adjustInterval, minBufferSize);
|
bufferSize = max(bufferSize - adjustInterval, minBufferSize);
|
||||||
AppLog.log('📉 减少缓冲区 - 当前大小: $bufferSize, 延迟: ${delay}ms');
|
// AppLog.log('📉 减少缓冲区 - 当前大小: $bufferSize, 延迟: ${delay}ms');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,17 +3,24 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:star_lock/tools/eventBusEventManage.dart';
|
import 'package:star_lock/tools/eventBusEventManage.dart';
|
||||||
|
import 'package:star_lock/translations/current_locale_tool.dart';
|
||||||
|
|
||||||
import '../../../app_settings/app_settings.dart';
|
import '../../../app_settings/app_settings.dart';
|
||||||
import 'controller.dart';
|
import 'controller.dart';
|
||||||
import 'datetime_util.dart';
|
import 'datetime_util.dart';
|
||||||
|
|
||||||
part 'date_box.dart';
|
part 'date_box.dart';
|
||||||
|
|
||||||
part 'handlebar.dart';
|
part 'handlebar.dart';
|
||||||
|
|
||||||
part 'header.dart';
|
part 'header.dart';
|
||||||
|
|
||||||
part 'month_view.dart';
|
part 'month_view.dart';
|
||||||
|
|
||||||
part 'month_view_bean.dart';
|
part 'month_view_bean.dart';
|
||||||
|
|
||||||
part 'week_days.dart';
|
part 'week_days.dart';
|
||||||
|
|
||||||
part 'week_view.dart';
|
part 'week_view.dart';
|
||||||
|
|
||||||
/// Advanced Calendar widget.
|
/// Advanced Calendar widget.
|
||||||
@ -162,13 +169,17 @@ class _AdvancedCalendarState extends State<AdvancedCalendar>
|
|||||||
// return DateFormat("EEEE").format(list[index]).split('').first;
|
// return DateFormat("EEEE").format(list[index]).split('').first;
|
||||||
// }
|
// }
|
||||||
// );
|
// );
|
||||||
//by DaisyWu 修改源文件为中文环境下 周一到周日
|
|
||||||
_weekNames = List<String>.generate(7, (int index) {
|
final currentLocaleString = CurrentLocaleTool.getCurrentLocaleString();
|
||||||
String fullWeekName =
|
if (currentLocaleString == 'zh_CN') {
|
||||||
DateFormat.E('zh_CN').format(list[index]); // 获取星期的完整形式
|
//by DaisyWu 修改源文件为中文环境下 周一到周日
|
||||||
return fullWeekName
|
_weekNames = List<String>.generate(7, (int index) {
|
||||||
.substring(fullWeekName.length - 1); // 获取最后一个字符,即星期的简称
|
String fullWeekName =
|
||||||
});
|
DateFormat.E('zh_CN').format(list[index]); // 获取星期的完整形式
|
||||||
|
return fullWeekName
|
||||||
|
.substring(fullWeekName.length - 1); // 获取最后一个字符,即星期的简称
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user