android L sim切换

本文详细介绍了Android L系统中进行SIM卡切换时涉及的文件和关键流程。主要关注RadioPowerManager和RadioPowerPreference类,以及SimSettings中的状态更新。在卡1和卡2的开关状态变化过程中,系统通过一系列方法调用来实现状态的更新和显示,包括setRadioOn、setRadioEnabled等。整个流程展示了如何监听和响应SIM卡状态的变化,以及如何确保UI的正确同步。
摘要由CSDN通过智能技术生成
sim卡切换主要涉及以下几个文件:
packages\apps\settings\src\com\android\settings\sim\SimSettings.java
packages\apps\settings\src\com\mediatek\settings\sim\RadioPowerManager.java
packages\apps\settings\src\com\mediatek\settings\sim\RadioPowerPreference.java
流程如下:
RadioPowerManager.onCheckedChanged
-->RadioPowerPreference.setRadioOn-->RadioPowerPreference.setRadioEnabled
-->RadioPowerPreference.notifyChanged-->RadioPowerPreference.onBindView-->radioSwitch.setChecked
此时按钮打开或关闭.
-->SimSettings.onServiceStateChanged-->SimSettings.updateSimSlotValues-->SimSettings.update
-->RadioPowerPreference.setRadioOn-->RadioPowerPreference.setRadioEnabled
-->RadioPowerPreference.notifyChanged-->RadioPowerPreference.onBindView-->radioSwitch.setChecked
此时监听到onServiceStateChanged,更新卡1/卡2开关状态.

正常情况下(以先后打开卡1/卡2为例):
10-29 19:41:33.935 D/RadioPowerManager:isRadioSwitchComplete(1), slotId: 0, isChanged: true
10-29 19:41:33.936 D/RadioPowerManager:bindPreference:onCheckedChanged:if:subId=1 isChecked=false
关闭卡1
10-29 19:41:33.936 D/RadioPowerPreference:setRadioOn:state=false
10-29 19:41:34.060 D/RadioPowerPreference:setRadioEnabled:enable=false
10-29 19:41:34.134 D/RadioPowerManager:currentSimMode=2 isRadioOn=false, isChecked: false
10-29 19:41:34.342 D/RadioPowerPreference:onBindView:mPowerState=false
10-29 19:41:34.390 D/RadioPowerPreference:onBindView:mPowerState=true
更新卡1/卡2:卡1关闭,卡2打开

10-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值