#Logging for work
1.初始化wifi监听类,并开始监听WiFi;2.初始化PPPOE监听;
3.生成布局并显示;
3.1 生成3个主项,WLAN,有线网络,PPPOE
3.2 监听网络回调,刷新网络列表
3.3 添加网络更改的监听会更合适(network change)
3.4 显示布局并扫描无线网络,显示扫描到网络(记录网络类型)
- Node,LayoutRow,
- 有刷新,有get,DrawableGetter,StringGetter
- LayoutGetter,获取布局,Header 有子项布局的总类
- Action,Status,Static,继承Node,
- onCreate()生成布局,显示页面
- createLayout(),此类没有显示,留给具体的子类实现,如:NetworkActivity.java
- createIntent()生成回调的Intent
- onPageComplete() -->CONNECT-->RESULT_ETHERNET_CONNECTED
- WifiMultiPagedFormActivity.java -->addPage()
在监听器中添加两个动作:
ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE,
ConnectivityManager.ACTION_TETHER_STATE_CHANGED
- 由NetworkActivity的onCreate()方法可知,Listener接口由NetworkActivity类实现了
- 查看NetworkActivity的onConnectivityChange方法可知,具体的页面刷新是由布局Layout的具体实现类实现,刷新方法为实现类的refreshView()
- 查看以太网的mEthernetConnectedDescription的实现,这里的实现只有两个方法,其中一个就是刷新布局方法refreshView(),
其中方法实现里面有mConnectivityListener.getConnectivityStatus().isEthernetConnected() !=lastIsEthernetConnected的判断,到这里就切换到ConnectivityListener中去查看 - 查看ConnectivityListener可知是updateConnectivityStatus判断并改变改变网络类型,而updateConnectivityStatus的实现则由ConnectivityManager.getActiveNetworkInfo()决定
- 由updateConnectivityStatus可以决定后续的布局刷新,只要网络有改变,布局就会刷新
宿主界面类:TetherSettingsActivity.java
主要实现界面类:TetherSettings.java
热点设置信息实现类:WifiApDialog.java
点击之后不可再点击,等操作完成后再恢复点击,TetherSettings.java ,onPreferenceChange()
宿主界面类:TetherSettingsActivity类
主要实现界面类:TetherSettings类
热点设置信息实现类:WifiApDialog类