从FrameWork层开始,Wifi P2P和Wifi的代码就开始分开了,当然只是在Wifi目录下新建了一个p2p文件夹来单独存放p2p的相关代码。下面我们来看一下这些代码。
首先是framework/base目录下,这下面放的都是一些基本内容,下面我只写了一些重要的文件,aidl接口没有写。
/frameworks/base/wifi/java/android/net/wifi/p2p/
WifiP2pConfig.java //建立连接的wifi p2p配置信息
WifiP2pDevice.java //wifi p2p设备的信息
WifiP2pDeviceList.java //wifi p2p设备列表
WifiP2pGroup.java //p2p组信息
WifiP2pGroupList.java //p2p组列表
WifiP2pInfo.java //一个Wi-Fi P2P组的连接信息
WifiP2pManager.java //提供管理p2p的API
WifiP2pProvDiscEvent.java //无线网络的一类p2p方式临时发现请求/响应
WifiP2pWfdInfo.java //wifi diaplay信息
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/p2p/
SupplicantP2pIfaceCallback.java //用于处理所有的P2P回调
SupplicantP2pIfaceHal.java //本地通话将请求发送到P2P hal层,和回调接收P2P事件
WifiP2pMonitor.java //监听来自的wpa_supplicant事件,并将它们传递给 WifiP2pServiceImpl用于处理。
WifiP2pNative.java //作为java代码和底层的桥梁之一
WifiP2pService.java //无线上网的P2P服务类,实例化的P2P服务
WifiP2pServiceImpl.java //WifiP2pService包括状态机来执行Wi-Fi P2P业务。
/hardware/interfaces/wifi/supplicant/1.0/
ISupplicantP2pIface.hal //请求方为其控制的每个P2P模式网络接口公开的接口。
ISupplicantP2pIfaceCallback.hal
ISupplicantP2pNetwork.hal //请求方为其控制的每个P2P模式网络配置公开的接口。
ISupplicantP2pNetworkCallback.hal
/external/wpa_supplicant_8/wpa_supplicant/hidl/1.1/
p2p_iface.cpp //守护wpa_supplicant的hidl接口
p2p_iface.h
p2p_network.cpp
p2p_network.h
基本上上层就这些代码了,有遗漏的以后找到再补充。
关注公众号,获取更多开发必备知识