Merge "Wifi: revise P2P API"
This commit is contained in:
@@ -31767,7 +31767,7 @@ package android.net.wifi.p2p {
|
||||
field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf
|
||||
field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0
|
||||
field public String deviceAddress;
|
||||
field public int groupOwnerIntent;
|
||||
field @IntRange(from=0, to=15) public int groupOwnerIntent;
|
||||
field public android.net.wifi.WpsInfo wps;
|
||||
}
|
||||
|
||||
@@ -31959,14 +31959,14 @@ package android.net.wifi.p2p {
|
||||
method public int getDeviceType();
|
||||
method public int getMaxThroughput();
|
||||
method public boolean isContentProtectionSupported();
|
||||
method public boolean isEnabled();
|
||||
method public boolean isSessionAvailable();
|
||||
method public boolean isWfdEnabled();
|
||||
method public void setContentProtectionSupported(boolean);
|
||||
method public void setControlPort(int);
|
||||
method public void setControlPort(@IntRange(from=0) int);
|
||||
method public boolean setDeviceType(int);
|
||||
method public void setMaxThroughput(int);
|
||||
method public void setEnabled(boolean);
|
||||
method public void setMaxThroughput(@IntRange(from=0) int);
|
||||
method public void setSessionAvailable(boolean);
|
||||
method public void setWfdEnabled(boolean);
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR;
|
||||
field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1
|
||||
|
||||
@@ -8111,7 +8111,7 @@ package android.net.wifi.p2p {
|
||||
|
||||
public final class WifiP2pGroupList implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @NonNull public java.util.Collection<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
|
||||
method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
|
||||
}
|
||||
@@ -8119,12 +8119,13 @@ package android.net.wifi.p2p {
|
||||
public class WifiP2pManager {
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void deletePersistentGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void listen(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, boolean, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public void requestPersistentGroupInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setDeviceName(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
method @RequiresPermission(allOf={android.Manifest.permission.CONNECTIVITY_INTERNAL, android.Manifest.permission.CONFIGURE_WIFI_DISPLAY}) public void setMiracastMode(int);
|
||||
method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setWfdInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pWfdInfo, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setWifiP2pChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
|
||||
field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
|
||||
field public static final int MIRACAST_DISABLED = 0; // 0x0
|
||||
field public static final int MIRACAST_SINK = 2; // 0x2
|
||||
|
||||
@@ -291,7 +291,7 @@ final class WifiDisplayController implements DumpUtils.Dump {
|
||||
mWfdEnabling = true;
|
||||
|
||||
WifiP2pWfdInfo wfdInfo = new WifiP2pWfdInfo();
|
||||
wfdInfo.setWfdEnabled(true);
|
||||
wfdInfo.setEnabled(true);
|
||||
wfdInfo.setDeviceType(WifiP2pWfdInfo.DEVICE_TYPE_WFD_SOURCE);
|
||||
wfdInfo.setSessionAvailable(true);
|
||||
wfdInfo.setControlPort(DEFAULT_CONTROL_PORT);
|
||||
@@ -323,7 +323,7 @@ final class WifiDisplayController implements DumpUtils.Dump {
|
||||
// WFD should be disabled.
|
||||
if (mWfdEnabled || mWfdEnabling) {
|
||||
WifiP2pWfdInfo wfdInfo = new WifiP2pWfdInfo();
|
||||
wfdInfo.setWfdEnabled(false);
|
||||
wfdInfo.setEnabled(false);
|
||||
mWifiP2pManager.setWfdInfo(mWifiP2pChannel, wfdInfo, new ActionListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
@@ -1044,7 +1044,7 @@ final class WifiDisplayController implements DumpUtils.Dump {
|
||||
private static boolean isWifiDisplay(WifiP2pDevice device) {
|
||||
WifiP2pWfdInfo wfdInfo = device.getWfdInfo();
|
||||
return wfdInfo != null
|
||||
&& wfdInfo.isWfdEnabled()
|
||||
&& wfdInfo.isEnabled()
|
||||
&& isPrimarySinkDeviceType(wfdInfo.getDeviceType());
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package android.net.wifi.p2p;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.IntRange;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.compat.annotation.UnsupportedAppUsage;
|
||||
@@ -133,6 +134,7 @@ public class WifiP2pConfig implements Parcelable {
|
||||
*
|
||||
* By default this field is set to {@link #GROUP_OWNER_INTENT_AUTO}.
|
||||
*/
|
||||
@IntRange(from = 0, to = 15)
|
||||
public int groupOwnerIntent = GROUP_OWNER_INTENT_AUTO;
|
||||
|
||||
/** @hide */
|
||||
|
||||
@@ -22,7 +22,9 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.util.LruCache;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@@ -78,8 +80,8 @@ public final class WifiP2pGroupList implements Parcelable {
|
||||
* Get the list of P2P groups.
|
||||
*/
|
||||
@NonNull
|
||||
public Collection<WifiP2pGroup> getGroupList() {
|
||||
return mGroups.snapshot().values();
|
||||
public List<WifiP2pGroup> getGroupList() {
|
||||
return new ArrayList<>(mGroups.snapshot().values());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -326,6 +326,12 @@ public class WifiP2pManager {
|
||||
|
||||
/**
|
||||
* Broadcast intent action indicating that remembered persistent groups have changed.
|
||||
*
|
||||
* You can <em>not</em> receive this through components declared
|
||||
* in manifests, only by explicitly registering for it with
|
||||
* {@link android.content.Context#registerReceiver(android.content.BroadcastReceiver,
|
||||
* android.content.IntentFilter) Context.registerReceiver()}.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@@ -1347,20 +1353,33 @@ public class WifiP2pManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Force p2p to enter or exit listen state
|
||||
* Force p2p to enter listen state
|
||||
*
|
||||
* @param c is the channel created at {@link #initialize(Context, Looper, ChannelListener)}
|
||||
* @param enable enables or disables listening
|
||||
* @param listener for callbacks on success or failure. Can be null.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
|
||||
public void listen(@NonNull Channel c, boolean enable, @Nullable ActionListener listener) {
|
||||
public void startListening(@NonNull Channel c, @Nullable ActionListener listener) {
|
||||
checkChannel(c);
|
||||
c.mAsyncChannel.sendMessage(enable ? START_LISTEN : STOP_LISTEN,
|
||||
0, c.putListener(listener));
|
||||
c.mAsyncChannel.sendMessage(START_LISTEN, 0, c.putListener(listener));
|
||||
}
|
||||
|
||||
/**
|
||||
* Force p2p to exit listen state
|
||||
*
|
||||
* @param c is the channel created at {@link #initialize(Context, Looper, ChannelListener)}
|
||||
* @param listener for callbacks on success or failure. Can be null.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
|
||||
public void stopListening(@NonNull Channel c, @Nullable ActionListener listener) {
|
||||
checkChannel(c);
|
||||
c.mAsyncChannel.sendMessage(STOP_LISTEN, 0, c.putListener(listener));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package android.net.wifi.p2p;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.IntRange;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.compat.annotation.UnsupportedAppUsage;
|
||||
@@ -34,7 +35,7 @@ import java.util.Locale;
|
||||
*/
|
||||
public final class WifiP2pWfdInfo implements Parcelable {
|
||||
|
||||
private boolean mWfdEnabled;
|
||||
private boolean mEnabled;
|
||||
|
||||
/** Device information bitmap */
|
||||
private int mDeviceInfo;
|
||||
@@ -85,15 +86,15 @@ public final class WifiP2pWfdInfo implements Parcelable {
|
||||
/** @hide */
|
||||
@UnsupportedAppUsage
|
||||
public WifiP2pWfdInfo(int devInfo, int ctrlPort, int maxTput) {
|
||||
mWfdEnabled = true;
|
||||
mEnabled = true;
|
||||
mDeviceInfo = devInfo;
|
||||
mCtrlPort = ctrlPort;
|
||||
mMaxThroughput = maxTput;
|
||||
}
|
||||
|
||||
/** Returns true is Wifi Display is enabled, false otherwise. */
|
||||
public boolean isWfdEnabled() {
|
||||
return mWfdEnabled;
|
||||
public boolean isEnabled() {
|
||||
return mEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,8 +102,8 @@ public final class WifiP2pWfdInfo implements Parcelable {
|
||||
*
|
||||
* @param enabled true to enable Wifi Display, false to disable
|
||||
*/
|
||||
public void setWfdEnabled(boolean enabled) {
|
||||
mWfdEnabled = enabled;
|
||||
public void setEnabled(boolean enabled) {
|
||||
mEnabled = enabled;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -177,12 +178,12 @@ public final class WifiP2pWfdInfo implements Parcelable {
|
||||
}
|
||||
|
||||
/** Sets the TCP port at which the WFD Device listens for RTSP messages. */
|
||||
public void setControlPort(int port) {
|
||||
public void setControlPort(@IntRange(from = 0) int port) {
|
||||
mCtrlPort = port;
|
||||
}
|
||||
|
||||
/** Sets the maximum average throughput capability of the WFD Device, in megabits/second. */
|
||||
public void setMaxThroughput(int maxThroughput) {
|
||||
public void setMaxThroughput(@IntRange(from = 0) int maxThroughput) {
|
||||
mMaxThroughput = maxThroughput;
|
||||
}
|
||||
|
||||
@@ -200,7 +201,7 @@ public final class WifiP2pWfdInfo implements Parcelable {
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuffer sbuf = new StringBuffer();
|
||||
sbuf.append("WFD enabled: ").append(mWfdEnabled);
|
||||
sbuf.append("WFD enabled: ").append(mEnabled);
|
||||
sbuf.append("WFD DeviceInfo: ").append(mDeviceInfo);
|
||||
sbuf.append("\n WFD CtrlPort: ").append(mCtrlPort);
|
||||
sbuf.append("\n WFD MaxThroughput: ").append(mMaxThroughput);
|
||||
@@ -215,7 +216,7 @@ public final class WifiP2pWfdInfo implements Parcelable {
|
||||
/** Copy constructor. */
|
||||
public WifiP2pWfdInfo(@Nullable WifiP2pWfdInfo source) {
|
||||
if (source != null) {
|
||||
mWfdEnabled = source.mWfdEnabled;
|
||||
mEnabled = source.mEnabled;
|
||||
mDeviceInfo = source.mDeviceInfo;
|
||||
mCtrlPort = source.mCtrlPort;
|
||||
mMaxThroughput = source.mMaxThroughput;
|
||||
@@ -225,14 +226,14 @@ public final class WifiP2pWfdInfo implements Parcelable {
|
||||
/** Implement the Parcelable interface */
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
dest.writeInt(mWfdEnabled ? 1 : 0);
|
||||
dest.writeInt(mEnabled ? 1 : 0);
|
||||
dest.writeInt(mDeviceInfo);
|
||||
dest.writeInt(mCtrlPort);
|
||||
dest.writeInt(mMaxThroughput);
|
||||
}
|
||||
|
||||
private void readFromParcel(Parcel in) {
|
||||
mWfdEnabled = (in.readInt() == 1);
|
||||
mEnabled = (in.readInt() == 1);
|
||||
mDeviceInfo = in.readInt();
|
||||
mCtrlPort = in.readInt();
|
||||
mMaxThroughput = in.readInt();
|
||||
|
||||
@@ -45,7 +45,7 @@ public class WifiP2pDeviceTest {
|
||||
assertEquals(devA.groupCapability, devB.groupCapability);
|
||||
assertEquals(devA.status, devB.status);
|
||||
if (devA.wfdInfo != null) {
|
||||
assertEquals(devA.wfdInfo.isWfdEnabled(), devB.wfdInfo.isWfdEnabled());
|
||||
assertEquals(devA.wfdInfo.isEnabled(), devB.wfdInfo.isEnabled());
|
||||
assertEquals(devA.wfdInfo.getDeviceInfoHex(), devB.wfdInfo.getDeviceInfoHex());
|
||||
assertEquals(devA.wfdInfo.getControlPort(), devB.wfdInfo.getControlPort());
|
||||
assertEquals(devA.wfdInfo.getMaxThroughput(), devB.wfdInfo.getMaxThroughput());
|
||||
|
||||
@@ -55,8 +55,8 @@ public class WifiP2pWfdInfoTest {
|
||||
public void testSettersGetters() throws Exception {
|
||||
WifiP2pWfdInfo info = new WifiP2pWfdInfo();
|
||||
|
||||
info.setWfdEnabled(true);
|
||||
assertTrue(info.isWfdEnabled());
|
||||
info.setEnabled(true);
|
||||
assertTrue(info.isEnabled());
|
||||
|
||||
info.setDeviceType(WifiP2pWfdInfo.DEVICE_TYPE_WFD_SOURCE);
|
||||
assertEquals(WifiP2pWfdInfo.DEVICE_TYPE_WFD_SOURCE, info.getDeviceType());
|
||||
|
||||
Reference in New Issue
Block a user