| /* |
| * Copyright (C) 2016 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.net.wifi.aware; |
| |
| /** |
| * Opaque object used to represent a Wi-Fi Aware peer. Obtained from discovery sessions in |
| * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)} or |
| * received messages in {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, byte[])}, and |
| * used when sending messages e,g, {@link DiscoverySession#sendMessage(PeerHandle, int, byte[])}, |
| * or when configuring a network link to a peer, e.g. |
| * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)} or |
| * {@link DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)}. |
| * <p> |
| * Note that while a {@code PeerHandle} can be used to track a particular peer (i.e. you can compare |
| * the values received from subsequent messages) - it is good practice not to rely on it. Instead |
| * use an application level peer identifier encoded in the message, |
| * {@link DiscoverySession#sendMessage(PeerHandle, int, byte[])}, and/or in the Publish |
| * configuration's service-specific information field, |
| * {@link PublishConfig.Builder#setServiceSpecificInfo(byte[])}, or match filter, |
| * {@link PublishConfig.Builder#setMatchFilter(java.util.List)}. |
| * <p>A parcelable handle object is available with {@link ParcelablePeerHandle}. |
| */ |
| public class PeerHandle { |
| /** @hide */ |
| public PeerHandle(int peerId) { |
| this.peerId = peerId; |
| } |
| |
| /** @hide */ |
| public int peerId; |
| |
| @Override |
| public boolean equals(Object o) { |
| if (this == o) { |
| return true; |
| } |
| |
| if (!(o instanceof PeerHandle)) { |
| return false; |
| } |
| |
| return peerId == ((PeerHandle) o).peerId; |
| } |
| |
| @Override |
| public int hashCode() { |
| return peerId; |
| } |
| } |