36 Commits

Author SHA1 Message Date
xuhy2 41e236640b update: 更新文件 avsession_users_manager.cpp
Signed-off-by: xuhy2 <xuhuanyu2@huawei.com>
2026-08-13 16:22:10 +08:00
xuhy d9ade4eb87 revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-13 14:33:33 +08:00
xuhy b7ec57c786 revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-12 20:03:45 +08:00
xuhy 4b28d1cc72 revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-11 21:38:53 +08:00
xuhy 632e1b60b0 revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-11 21:17:56 +08:00
xuhy 6b8f280993 add ut
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-11 21:02:27 +08:00
xuhy efabca5f71 revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-10 19:43:10 +08:00
xuhy 71e91c2c29 revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-10 18:08:40 +08:00
xuhy 5d0398e79e revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-10 17:48:47 +08:00
xuhy 0fc996fb20 revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
2026-08-08 15:14:14 +08:00
红袍小恶魔 c43e48f721 修复avsession模块多项并发安全问题(issue #2578部分项)
针对issue #2578中services/napi/interfaces/utils层的并发缺陷进行修复:
- No.07/08 AVRouterImpl: castHandleToInfoMap_/providerManagerMap_全路径加锁,抽取
  GetCastProvider/GetHwProvider统一锁内取shared_ptr快照;Init/Release的SDK调用
  全部移出锁外,仅赋值/置空在锁内;修复OnCastStateChange持servicePtrLock_调用
  checkEnableCast形成的既有ABBA死锁(快照后锁外调用)
- No.09 HwCastProvider: 监听器遍历改锁内取快照+锁外回调,QueryCastSessionId加锁
- No.10 SoftbusSessionManager: ObtainPeerDeviceId加socketLock_,operator[]改find
- No.11 AVSessionUsersManager::GetContainerFromAll补userLock_,消除惰性初始化竞争
- No.13 UpdateTopSession锁内取topSession_的sptr副本,消除锁外读UAF
- No.16 MigrateAVSessionProxy心跳worker锁内取deviceId_快照
- No.17 AppManagerAdapter新增appStateChangeObserverLock_,快照+锁外调用
- No.20 NapiAVSession的SetAVPlaybackState握手按调用私有化(PlaybackStateSyncContext
  含mtx/cv/ready/ret),删除5个进程级static,消除跨会话返回码串扰;原生调用保持锁内
  执行,async侧谓词等待1s有界预算;postTask失败立即定死结果
- No.21 新增napiAVSessionLock_保护napiAVSession_,NewInstance/ReCreateInstance
  锁内仅做指针赋值/快照,JS/IPC调用全部锁外
- No.24 AVSessionPixelMap::Marshalling加锁(bufferLock_改mutable)
- No.25 HashCalculator全局g_context改static thread_local,消除跨线程摘要破坏
- No.26 AVSessionRadar新增deviceInfoLock_保护设备id惰性初始化与清空

注: issue中No.01-06(PcmCastSession castLock_组)及pcmCastSession_附加项不在本次
提交范围,将后续单独提交;No.12/14/15/18/19/22/23经核实当前代码已修复,无需变更。

Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
2026-08-02 18:39:28 +08:00
zhang-minmin-jason 56d2abe83b add security warnings 0729 to 0730
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
2026-07-30 16:59:09 +08:00
openharmony_ci 03fed977fa !3276 merge 空指针解引用 into master
fix 空指针解引用

Created-by: xiyingxin
Commit-by: xiyingxin
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/multimedia_av_session!3276
2026-07-24 14:06:03 +08:00
xiyingxin 6559e31a09 fix 空指针解引用
Co-Authored-By: Agent
Signed-off-by: xiyingxin <xiyingxin@h-partners.com>
2026-07-23 20:36:08 +08:00
xiyingxin 4815eaa49f fix 并发告警
Co-Authored-By: AgentCo-Authored-By: Agent
Signed-off-by: xiyingxin <xiyingxin@h-partners.com>
2026-07-22 22:23:56 +08:00
openharmony_ci 6db681576f !3200 merge 0702check into master
add userId for super laucher proxy

Created-by: zhang-minmin-jason
Commit-by: 张敏敏
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/multimedia_av_session!3200
2026-07-10 17:21:52 +08:00
张敏敏 81a5cef305 add userId for super laucher proxy
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2026-07-10 15:22:38 +08:00
zhang-minmin-jason efba1e8116 reduce log 0708
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
2026-07-08 17:32:56 +08:00
红袍小恶魔 18c47bb38d 增加锁屏后首次解锁清理av_session缓存目录的优化策略
在COMMON_EVENT_USER_UNLOCKED事件触发时(用户el2凭据加密存储解锁、
每用户每重启仅触发一次),按userid区分清理/data/service/el2/{userId}/
av_session/cache目录下的image.dat缓存文件,优化磁盘存储。
若当前有session存活,则根据sessionId保留对应的本地image.dat和
cast_image.dat文件不删。

- AVSessionUtils新增DeleteCacheFilesExcluding,保留存活session文件
- AVSessionUsersManager新增CleanupCacheOnUnlock,收集存活sessionId后清理
- AVSessionService处理USER_UNLOCKED事件分发及清理调用
- 补充全分支覆盖UT,写入与回收对等

Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
2026-06-27 12:10:24 +08:00
红袍小恶魔 a81ee3b8a3 增加ut
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
2026-06-27 09:17:38 +08:00
红袍小恶魔 0ae38c653a 新增AVSession磁盘缓存文件统计上报能力
新增AVSessionStorageEvent单例,统计AVSession写入/删除的缓存文件(专辑封面、投屏图标、队列封面等),通过HiSysEvent定期上报磁盘占用情况,用于监控和定位磁盘泄露问题。

主要功能:
- 新增AVSessionStorageEvent类(utils/),按userId分桶管理文件记录
- RecordFileWrite/RecordFileDelete在6个接入点埋点,记录文件写入/删除
- 24h定时上报 + 单用户满100条触发立即上报
- 上报格式为JSON数组:首元素为磁盘扫描汇总(TOTAL/LOCAL/CAST/HISTORY/RECORD共12字段),后续每元素为单文件明细(路径/大小/包名)
- 汇总数据来自磁盘扫描,覆盖升级遗留和服务重启场景
- 明细数据来自内存记账,便于结合日志定位磁盘泄露源

检视意见修复:
- 修复空指针解引用和UAF风险(BuildJsonParam/ReportStorageStatisticsForUser)
- AddFileInfo/RemoveFileInfo简化为纯map操作,去除冗余聚合字段
- 容器改用unordered_map,去除fileName_冗余字段(与map key重复)
- 宏改用inline函数转发,避免多次求值风险
- 修复STORAGE_PROFITE拼写错误为STORAGE_PROFILE
- GetTotalFileCount/GetCacheFileCount返回类型改为size_t
- 修复重复调用size()和GetBundleNameFromUid的性能问题
- 移除未使用的bundleName变量,移除暴露内部map的GetFileInfoMap
- 满100条触发上报时不再重置全局定时器(避免影响其他用户的24h周期)
- 定时器callback先重排再上报,避免上报异常导致定时器永久停止
- BUILD.gn注册新增的avsession_storage_event.cpp源文件

Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
2026-06-23 11:13:10 +08:00
zhang-minmin-jason 5818098af1 fix userIdForSession & userIdForCur confuse
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
2026-03-16 21:55:27 +08:00
zhang-minmin-jason 3acfd1d4de add uid check in session create
Signed-off-by: zhang-minmin-jason <18179496713@163.com>
2026-01-21 18:25:24 +08:00
openharmony_ci 215ee870d8 !2557 merge 1030img into master
fix mediaimg gone

Created-by: zhang-minmin-jason
Commit-by: zhang-minmin-jason
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)



### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/multimedia_av_session!2557
2025-11-03 21:55:21 +08:00
zhang-minmin-jason 3ffbc9d19a fix mediaimg gone
Signed-off-by: zhang-minmin-jason <18179496713@163.com>
2025-10-31 18:08:12 +08:00
LiYimeng 3fb6b9ab93 no need remove session
Signed-off-by: LiYimeng <liyimeng2@huawei.com>
2025-10-30 02:33:39 +00:00
wy19970731 c2b72caca0 蓝黄代码同步
Signed-off-by: luminous <wangyang528@h-partners.com>
2025-08-12 09:56:44 +08:00
liaoqian d7505b51f7 add anco mediasession
Signed-off-by: liaoqian <liaoqian6@huawei.com>
2025-06-19 11:55:24 +08:00
unknown d18c58371c add audidoaccess
Signed-off-by: unknown <liaoqian6@huawei.com>
2025-03-20 20:33:23 +08:00
张敏敏 80d6e9a062 fix notifysessionrelease for err user
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2025-02-13 14:12:21 +08:00
张敏敏 e894b8dc77 fix DetachCallback crash & ISessionListener crash
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2024-12-06 09:31:55 +08:00
张敏敏 cce2e63468 adapts to bms for multiUser
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2024-10-19 15:53:18 +08:00
张敏敏 1c6a44b19f add nullptr check for RemoveSessionForAllUser
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2024-10-05 17:55:53 +08:00
张敏敏 573c9a3d21 change GetSessionListenerForCurUser for tag-mismatch crash
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2024-09-25 09:44:05 +08:00
张敏敏 1665a4643b add RegisterSessionListenerForAllUsers at inner interface
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2024-09-22 19:36:40 +08:00
张敏敏 26422af0a9 add multi-user modules
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
2024-09-13 21:42:15 +08:00