tether代码走读

Android 11.0.0_r11 20201205

tether代码已经被挪到packages\modules\Connectivity\Tethering,参考说明

https://source.android.com/devices/architecture/modular-system/tethering

 

tetherManager简单封装了接口和回调,在mainline project之前(Q之前?)是没有接口的

tetherManager.startTethering->tethering.startTethering->tethering.enableTetheringInternal->xxxxManager, xxx是Wifi,Usb,Bluetooth等,除了EthernerManager和蓝牙是等回调,其他都是等xxxManager的Action,这样就把接口归一到原来的实现了。

原来的实现:

setting调用xxxManager接口->xxxManager内部逻辑,把网卡准备好,->发送 xxxx Action->tethering.handleXXXAction->tethering.changeInterfaceState->tetherState.ipServer.sendMessage(IpServer.CMD_TETHER_REQUESTED

ipServer不管具体网卡,只管是否静态ip地址,以及是否需要转发(IpServer.STATE_TETHERED,IpServer.STATE_LOCAL_ONLY)

 

module化的疑问

1. cdd条款里没看到

2. mainline的说明里要求oem保持接口的通用,没说是否闭源

3. google如何闭源,重写一个apk?随gms发布,不允许oem编译且预装?

4. 国内策略?目前是完全不受限制?cts只测接口,不管实现,cdd也没有条款要求。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值