Merge "Adapts P2P settings to work with with new MAC privacy restrictions." into qt-dev
am: db6a70272e
Change-Id: Id2b14493fbcf3251bf058ce377331ff4b7de7164
This commit is contained in:
@@ -34,6 +34,7 @@ import android.net.wifi.p2p.WifiP2pGroup;
|
|||||||
import android.net.wifi.p2p.WifiP2pGroupList;
|
import android.net.wifi.p2p.WifiP2pGroupList;
|
||||||
import android.net.wifi.p2p.WifiP2pInfo;
|
import android.net.wifi.p2p.WifiP2pInfo;
|
||||||
import android.net.wifi.p2p.WifiP2pManager;
|
import android.net.wifi.p2p.WifiP2pManager;
|
||||||
|
import android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener;
|
||||||
import android.net.wifi.p2p.WifiP2pManager.PeerListListener;
|
import android.net.wifi.p2p.WifiP2pManager.PeerListListener;
|
||||||
import android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener;
|
import android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -62,7 +63,7 @@ import java.util.List;
|
|||||||
* Displays Wi-fi p2p settings UI
|
* Displays Wi-fi p2p settings UI
|
||||||
*/
|
*/
|
||||||
public class WifiP2pSettings extends DashboardFragment
|
public class WifiP2pSettings extends DashboardFragment
|
||||||
implements PersistentGroupInfoListener, PeerListListener {
|
implements PersistentGroupInfoListener, PeerListListener, DeviceInfoListener {
|
||||||
|
|
||||||
private static final String TAG = "WifiP2pSettings";
|
private static final String TAG = "WifiP2pSettings";
|
||||||
private static final boolean DBG = false;
|
private static final boolean DBG = false;
|
||||||
@@ -134,10 +135,12 @@ public class WifiP2pSettings extends DashboardFragment
|
|||||||
mLastGroupFormed = wifip2pinfo.groupFormed;
|
mLastGroupFormed = wifip2pinfo.groupFormed;
|
||||||
mIsIgnoreInitConnectionInfoCallback = true;
|
mIsIgnoreInitConnectionInfoCallback = true;
|
||||||
} else if (WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION.equals(action)) {
|
} else if (WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION.equals(action)) {
|
||||||
mThisDevice = (WifiP2pDevice) intent.getParcelableExtra(
|
// Do not use WifiP2pManager.EXTRA_WIFI_P2P_DEVICE from the extras, as the system
|
||||||
WifiP2pManager.EXTRA_WIFI_P2P_DEVICE);
|
// broadcast does not contain the device's MAC.
|
||||||
if (DBG) Log.d(TAG, "Update device info: " + mThisDevice);
|
// Requesting our own device info as an app holding the NETWORK_SETTINGS permission
|
||||||
mThisDevicePreferenceController.updateDeviceName(mThisDevice);
|
// ensures that the MAC address will be available in the result.
|
||||||
|
if (DBG) Log.d(TAG, "This device changed. Requesting device info.");
|
||||||
|
mWifiP2pManager.requestDeviceInfo(mChannel, WifiP2pSettings.this);
|
||||||
} else if (WifiP2pManager.WIFI_P2P_DISCOVERY_CHANGED_ACTION.equals(action)) {
|
} else if (WifiP2pManager.WIFI_P2P_DISCOVERY_CHANGED_ACTION.equals(action)) {
|
||||||
int discoveryState = intent.getIntExtra(WifiP2pManager.EXTRA_DISCOVERY_STATE,
|
int discoveryState = intent.getIntExtra(WifiP2pManager.EXTRA_DISCOVERY_STATE,
|
||||||
WifiP2pManager.WIFI_P2P_DISCOVERY_STOPPED);
|
WifiP2pManager.WIFI_P2P_DISCOVERY_STOPPED);
|
||||||
@@ -340,13 +343,7 @@ public class WifiP2pSettings extends DashboardFragment
|
|||||||
getActivity().registerReceiver(mReceiver, mIntentFilter);
|
getActivity().registerReceiver(mReceiver, mIntentFilter);
|
||||||
if (mWifiP2pManager != null) {
|
if (mWifiP2pManager != null) {
|
||||||
mWifiP2pManager.requestPeers(mChannel, WifiP2pSettings.this);
|
mWifiP2pManager.requestPeers(mChannel, WifiP2pSettings.this);
|
||||||
mWifiP2pManager.requestDeviceInfo(mChannel, wifiP2pDevice -> {
|
mWifiP2pManager.requestDeviceInfo(mChannel, WifiP2pSettings.this);
|
||||||
if (DBG) {
|
|
||||||
Log.d(TAG, "Get device info: " + wifiP2pDevice);
|
|
||||||
}
|
|
||||||
mThisDevice = wifiP2pDevice;
|
|
||||||
mThisDevicePreferenceController.updateDeviceName(wifiP2pDevice);
|
|
||||||
});
|
|
||||||
mIsIgnoreInitConnectionInfoCallback = false;
|
mIsIgnoreInitConnectionInfoCallback = false;
|
||||||
mWifiP2pManager.requestNetworkInfo(mChannel, networkInfo -> {
|
mWifiP2pManager.requestNetworkInfo(mChannel, networkInfo -> {
|
||||||
mWifiP2pManager.requestConnectionInfo(mChannel, wifip2pinfo -> {
|
mWifiP2pManager.requestConnectionInfo(mChannel, wifip2pinfo -> {
|
||||||
@@ -599,6 +596,13 @@ public class WifiP2pSettings extends DashboardFragment
|
|||||||
handlePeersChanged();
|
handlePeersChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDeviceInfoAvailable(WifiP2pDevice wifiP2pDevice) {
|
||||||
|
mThisDevice = wifiP2pDevice;
|
||||||
|
if (DBG) Log.d(TAG, "Update device info: " + mThisDevice);
|
||||||
|
mThisDevicePreferenceController.updateDeviceName(mThisDevice);
|
||||||
|
}
|
||||||
|
|
||||||
private void handleP2pStateChanged() {
|
private void handleP2pStateChanged() {
|
||||||
updateSearchMenu(false);
|
updateSearchMenu(false);
|
||||||
mThisDevicePreferenceController.setEnabled(mWifiP2pEnabled);
|
mThisDevicePreferenceController.setEnabled(mWifiP2pEnabled);
|
||||||
|
Reference in New Issue
Block a user