2024年1月19日发(作者:)
private void update(int changes) { boolean invalidateOptions = false; // Update settings. if ((changes & CHANGE_SETTINGS) != 0) { mWifiDisplayOnSetting = (getContentResolver(), _DISPLAY_ON, 0) != 0; mWifiDisplayCertificationOn = (getContentResolver(), _DISPLAY_CERTIFICATION_ON, 0) != 0; mWpsConfig = (getContentResolver(), _DISPLAY_WPS_CONFIG, D); // The wifi display enabled setting may have changed. invalidateOptions = true; } // Update wifi display state. if ((changes & CHANGE_WIFI_DISPLAY_STATUS) != 0) { mWifiDisplayStatus = iDisplayStatus(); // The wifi display feature state may have changed. invalidateOptions = true; } // Rebuild the routes. final PreferenceScreen preferenceScreen = getPreferenceScreen(); All(); // Add all known remote display routes. final int routeCount = teCount(); for (int i = 0; i < routeCount; i++) { nfo route = teAt(i); if (sTypes(_TYPE_REMOTE_DISPLAY)) { ference(createRoutePreference(route)); } } // Additional features for wifi display routes. if (mWifiDisplayStatus != null && tureState() == E_STATE_ON) { // Add all unpaired wifi displays. for (WifiDisplay display : plays()) { if (!mbered() && lable() && !(iveDisplay())) { ference(new UnpairedWifiDisplayPreference( getActivity(), display)); } } // Add the certification menu if enabled in developer options. if (mWifiDisplayCertificationOn) { buildCertificationMenu(preferenceScreen); } } // Invalidate menu options if needed. if (invalidateOptions) { getActivity().invalidateOptionsMenu(); }}
图 14 RTSP会话流程图
图15 WFD控制流程图
else if (te() == TED) { if (mRtsp != null) { Log.i(TAG, "Ignoring extra CONNECTED event"); return; } WifiP2pInfo p2pInfo = celableExtra(_WIFI_P2P_INFO); if (p2pInfo == null) { Log.i(TAG, "WIFI_P2P_INFO is not available"); return; } if (ormed) { Callbacks(mDiscoverPeers); WifiP2pGroup group = celableExtra(_WIFI_P2P_GROUP); if (group == null) { Log.i(TAG, "WIFI_P2P_GROUP is not availble"); return; } mP2pInterface = erface(); mSourceRtspPort = 7236; if (pOwner) { Collection
发布评论