Browse Source

refactor: 将品牌名称从DeapSound更新为Voitrans

更新代码库中所有DeapSound品牌引用为Voitrans,包括:
- 注释中的服务器链接描述
- BLE设备名称和日志
- 通知标题和分享文本
- iOS项目标识符
- 界面文本和菜单项
newdev_shunjiawei
lxm 1 year ago
parent
commit
9044540413
  1. 6
      ios/Runner.xcodeproj/project.pbxproj
  2. 2
      lib/data/services/network/nw_api.dart
  3. 2
      lib/modules/meeting/views/bottomSheet/statistics_bottom_sheet.dart
  4. 10
      lib/modules/meeting/views/meeting_mine_view.dart
  5. 2
      lib/modules/pairing/controllers/pairing_controller.dart
  6. 40
      lib/modules/pairing/views/pairing_view.dart
  7. 2
      local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/BleMediaService.kt
  8. 2
      local_plugins/music_service/android/src/main/kotlin/com/yunqiinnovation/music_service/MusicService.kt
  9. 2
      local_plugins/ota/android/src/main/kotlin/com/example/ota/tool/ota/ble/BleManager.java

6
ios/Runner.xcodeproj/project.pbxproj

@ -535,7 +535,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = com.chuangxiangyunqi.deapsound; PRODUCT_BUNDLE_IDENTIFIER = com.saitong.voitrans;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@ -727,7 +727,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = com.chuangxiangyunqi.deapsound; PRODUCT_BUNDLE_IDENTIFIER = com.saitong.voitrans;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -753,7 +753,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = com.chuangxiangyunqi.deapsound; PRODUCT_BUNDLE_IDENTIFIER = com.saitong.voitrans;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;

2
lib/data/services/network/nw_api.dart

@ -1,4 +1,4 @@
class NWApi { class NWApi {
// Voitrans使用的后台服务器的链接地址 // Voitrans使用的后台服务器的链接地址
//static const baseApi = "https://api.voitrans.net"; //static const baseApi = "https://api.voitrans.net";
} }

2
lib/modules/meeting/views/bottomSheet/statistics_bottom_sheet.dart

@ -267,7 +267,7 @@ class _StatisticsBottomSheetState extends State<StatisticsBottomSheet> {
final file = File('${tempDir.path}/$fileName'); final file = File('${tempDir.path}/$fileName');
await file.writeAsBytes(pngBytes); await file.writeAsBytes(pngBytes);
final result = await SharePlus.instance.share(ShareParams( final result = await SharePlus.instance.share(ShareParams(
text: '分享 DEAPSOUND', text: '分享 Voitrans',
files: [XFile(file.path)], files: [XFile(file.path)],
)); ));
if (result.status == ShareResultStatus.success) { if (result.status == ShareResultStatus.success) {

10
lib/modules/meeting/views/meeting_mine_view.dart

@ -72,7 +72,7 @@ class _MeetingMineViewState extends State<MeetingMineView>
_box([ _box([
_item( _item(
Icons.cloud_upload_outlined, Icons.cloud_upload_outlined,
'DEAPSOUND PRIVATE CLOUD', 'Voitrans PRIVATE CLOUD',
description: '开启', description: '开启',
onTap: () {}, onTap: () {},
), ),
@ -86,7 +86,7 @@ class _MeetingMineViewState extends State<MeetingMineView>
), ),
_item( _item(
Icons.settings_remote_outlined, Icons.settings_remote_outlined,
'我的DEAPSOUND设备', '我的Voitrans设备',
onTap: () {}, onTap: () {},
), ),
]), ]),
@ -98,7 +98,7 @@ class _MeetingMineViewState extends State<MeetingMineView>
), ),
_item( _item(
Icons.info_outline_rounded, Icons.info_outline_rounded,
'关于DEAPSOUND', '关于Voitrans',
description: 'v1.0.0', description: 'v1.0.0',
onTap: () {}, onTap: () {},
), ),
@ -285,7 +285,7 @@ class _MeetingMineViewState extends State<MeetingMineView>
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
'DEAPSOUND AI会员', 'Voitrans AI会员',
style: TextStyle( style: TextStyle(
color: MeetingUIUtils.getTextColor(isDarkMode), color: MeetingUIUtils.getTextColor(isDarkMode),
fontSize: 16.sp, fontSize: 16.sp,
@ -331,7 +331,7 @@ class _MeetingMineViewState extends State<MeetingMineView>
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
'绑定 DEAPSOUND 设备可激活 Starter 会员', '绑定 Voitrans 设备可激活 Starter 会员',
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 12.sp, fontSize: 12.sp,

2
lib/modules/pairing/controllers/pairing_controller.dart

@ -546,7 +546,7 @@ class PairingController extends GetxController {
// 调用BLE管理器的关联方法 // 调用BLE管理器的关联方法
final success = await _bleManager.startDeviceAssociation( final success = await _bleManager.startDeviceAssociation(
deviceNamePattern: 'DeapSound', // 或者使用 _currentClassicDevice?.name deviceNamePattern: 'Voitrans', // 或者使用 _currentClassicDevice?.name
macAddress: _verifiedDeviceAddress!, macAddress: _verifiedDeviceAddress!,
); );

40
lib/modules/pairing/views/pairing_view.dart

@ -10,31 +10,31 @@ class PairingView extends StatefulWidget {
State<PairingView> createState() => _PairingViewState(); State<PairingView> createState() => _PairingViewState();
} }
class _PairingViewState extends State<PairingView> class _PairingViewState extends State<PairingView>
with TickerProviderStateMixin { with TickerProviderStateMixin {
late AnimationController _pulseController; late AnimationController _pulseController;
late AnimationController _rotationController; late AnimationController _rotationController;
late Animation<double> _pulseAnimation; late Animation<double> _pulseAnimation;
late Animation<double> _rotationAnimation; late Animation<double> _rotationAnimation;
PairingController get controller => Get.find<PairingController>(); PairingController get controller => Get.find<PairingController>();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
// 脉搏动画控制器 // 脉搏动画控制器
_pulseController = AnimationController( _pulseController = AnimationController(
duration: const Duration(milliseconds: 1500), duration: const Duration(milliseconds: 1500),
vsync: this, vsync: this,
); );
// 旋转动画控制器 // 旋转动画控制器
_rotationController = AnimationController( _rotationController = AnimationController(
duration: const Duration(milliseconds: 2000), duration: const Duration(milliseconds: 2000),
vsync: this, vsync: this,
); );
// 脉搏动画 // 脉搏动画
_pulseAnimation = Tween<double>( _pulseAnimation = Tween<double>(
begin: 0.8, begin: 0.8,
@ -43,7 +43,7 @@ class _PairingViewState extends State<PairingView>
parent: _pulseController, parent: _pulseController,
curve: Curves.easeInOut, curve: Curves.easeInOut,
)); ));
// 旋转动画 // 旋转动画
_rotationAnimation = Tween<double>( _rotationAnimation = Tween<double>(
begin: 0.0, begin: 0.0,
@ -52,7 +52,7 @@ class _PairingViewState extends State<PairingView>
parent: _rotationController, parent: _rotationController,
curve: Curves.linear, curve: Curves.linear,
)); ));
// 开始动画 // 开始动画
_pulseController.repeat(reverse: true); _pulseController.repeat(reverse: true);
_rotationController.repeat(); _rotationController.repeat();
@ -228,7 +228,7 @@ class _PairingViewState extends State<PairingView>
if (isLoading) _buildPulseAnimation(primaryColor, secondaryColor), if (isLoading) _buildPulseAnimation(primaryColor, secondaryColor),
// 特殊的安全连接动画 - 只在建立安全连接时显示 // 特殊的安全连接动画 - 只在建立安全连接时显示
if (state == PairingState.waitingBle) if (state == PairingState.waitingBle)
_buildSecureConnectionAnimation(primaryColor, secondaryColor), _buildSecureConnectionAnimation(primaryColor, secondaryColor),
// 设备关联动画 - 只在关联设备时显示 // 设备关联动画 - 只在关联设备时显示
@ -268,8 +268,9 @@ class _PairingViewState extends State<PairingView>
animation: _pulseAnimation, animation: _pulseAnimation,
builder: (context, child) { builder: (context, child) {
final value = _pulseAnimation.value; final value = _pulseAnimation.value;
final opacity = 0.4 - (_pulseController.value * 0.3); // 0.4 到 0.1 的透明度变化 final opacity =
0.4 - (_pulseController.value * 0.3); // 0.4 到 0.1 的透明度变化
return Container( return Container(
width: 200.w * value, width: 200.w * value,
height: 200.w * value, height: 200.w * value,
@ -312,7 +313,8 @@ class _PairingViewState extends State<PairingView>
} }
// 构建安全连接特殊动画 - 多层波纹效果 // 构建安全连接特殊动画 - 多层波纹效果
Widget _buildSecureConnectionAnimation(Color primaryColor, Color secondaryColor) { Widget _buildSecureConnectionAnimation(
Color primaryColor, Color secondaryColor) {
return Stack( return Stack(
alignment: Alignment.center, alignment: Alignment.center,
children: [ children: [
@ -322,7 +324,7 @@ class _PairingViewState extends State<PairingView>
builder: (context, child) { builder: (context, child) {
final value = _pulseAnimation.value; final value = _pulseAnimation.value;
final opacity = 0.3 - (_pulseController.value * 0.2); final opacity = 0.3 - (_pulseController.value * 0.2);
return Container( return Container(
width: 180.w * value, width: 180.w * value,
height: 180.w * value, height: 180.w * value,
@ -336,7 +338,7 @@ class _PairingViewState extends State<PairingView>
); );
}, },
), ),
// 第二层波纹 - 延迟动画 // 第二层波纹 - 延迟动画
AnimatedBuilder( AnimatedBuilder(
animation: _pulseAnimation, animation: _pulseAnimation,
@ -344,7 +346,7 @@ class _PairingViewState extends State<PairingView>
final delayedValue = (_pulseController.value + 0.3) % 1.0; final delayedValue = (_pulseController.value + 0.3) % 1.0;
final value = 0.8 + (delayedValue * 0.4); final value = 0.8 + (delayedValue * 0.4);
final opacity = 0.25 - (delayedValue * 0.15); final opacity = 0.25 - (delayedValue * 0.15);
return Container( return Container(
width: 160.w * value, width: 160.w * value,
height: 160.w * value, height: 160.w * value,
@ -358,7 +360,7 @@ class _PairingViewState extends State<PairingView>
); );
}, },
), ),
// 第三层波纹 - 更大延迟 // 第三层波纹 - 更大延迟
AnimatedBuilder( AnimatedBuilder(
animation: _pulseAnimation, animation: _pulseAnimation,
@ -366,7 +368,7 @@ class _PairingViewState extends State<PairingView>
final delayedValue = (_pulseController.value + 0.6) % 1.0; final delayedValue = (_pulseController.value + 0.6) % 1.0;
final value = 0.8 + (delayedValue * 0.4); final value = 0.8 + (delayedValue * 0.4);
final opacity = 0.2 - (delayedValue * 0.1); final opacity = 0.2 - (delayedValue * 0.1);
return Container( return Container(
width: 140.w * value, width: 140.w * value,
height: 140.w * value, height: 140.w * value,
@ -464,7 +466,7 @@ class _PairingViewState extends State<PairingView>
case PairingState.checking: case PairingState.checking:
return 'preparingPairingEnvironment'.tr; // 正在准备配对环境... return 'preparingPairingEnvironment'.tr; // 正在准备配对环境...
case PairingState.waitingClassic: case PairingState.waitingClassic:
return 'connectDeepSoundViaSystemBluetooth'.tr; // 请先通过系统蓝牙连接DeapSound设备 return 'connectDeepSoundViaSystemBluetooth'.tr; // 请先通过系统蓝牙连接Voitrans设备
case PairingState.verifying: case PairingState.verifying:
return 'verifyingDevice'.tr; // 正在验证设备... return 'verifyingDevice'.tr; // 正在验证设备...
case PairingState.binding: case PairingState.binding:
@ -484,9 +486,9 @@ class _PairingViewState extends State<PairingView>
return 'lackPermissions'.tr; // 缺少蓝牙权限 return 'lackPermissions'.tr; // 缺少蓝牙权限
case ErrorType.noClassicDevice: case ErrorType.noClassicDevice:
return 'connectDeepSoundViaSystemBluetooth' return 'connectDeepSoundViaSystemBluetooth'
.tr; // 请先通过系统蓝牙连接DeapSound设备 .tr; // 请先通过系统蓝牙连接Voitrans设备
case ErrorType.deviceNotMatch: case ErrorType.deviceNotMatch:
return 'ensureConnectedDeepSoundDevice'.tr; // 请确保连接的是DeapSound设备 return 'ensureConnectedDeepSoundDevice'.tr; // 请确保连接的是Voitrans设备
case ErrorType.deviceBound: case ErrorType.deviceBound:
return 'deviceAlreadyBoundToOtherAccount'.tr; // 该设备已被其他账号绑定 return 'deviceAlreadyBoundToOtherAccount'.tr; // 该设备已被其他账号绑定
case ErrorType.associationFailed: case ErrorType.associationFailed:

2
local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/BleMediaService.kt

@ -283,7 +283,7 @@ class BleMediaService : Service(), CoroutineScope {
// 构建通知 // 构建通知
val builder = NotificationCompat.Builder(this, CHANNEL_ID) val builder = NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("DeapSound") .setContentTitle("Voitrans")
.setContentText("语音助手代理服务运行中") .setContentText("语音助手代理服务运行中")
.setSmallIcon(android.R.drawable.ic_dialog_info) .setSmallIcon(android.R.drawable.ic_dialog_info)

2
local_plugins/music_service/android/src/main/kotlin/com/yunqiinnovation/music_service/MusicService.kt

@ -178,7 +178,7 @@ class MusicService : MediaBrowserServiceCompat() {
instance = this instance = this
isRunning.set(true) isRunning.set(true)
setupMediaSession() setupMediaSession()
startForeground(NOTIFICATION_ID, createNotification("等待播放","DeapSound","")) startForeground(NOTIFICATION_ID, createNotification("等待播放","Voitrans",""))
audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager
// 注册广播监听器 // 注册广播监听器

2
local_plugins/ota/android/src/main/kotlin/com/example/ota/tool/ota/ble/BleManager.java

@ -637,7 +637,7 @@ public class BleManager {
if (deviced1 != null && deviced1.getAddress().equals(device.getAddress())) { if (deviced1 != null && deviced1.getAddress().equals(device.getAddress())) {
// 匹配成功 // 匹配成功
Log.i(TAG, "filterDevice找到了DeapSound设备"); Log.i(TAG, "filterDevice找到了Voitrans设备");
// 直接连接设备 // 直接连接设备
boolean connected = connectBleDevice(device); boolean connected = connectBleDevice(device);

Loading…
Cancel
Save