WifiDisplaySessionInfo.java revision 1f3ecaae6303d5ee6c5ca8499262c9962f036365
11f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang/* 21f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * Copyright (C) 2012 The Android Open Source Project 31f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * 41f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * Licensed under the Apache License, Version 2.0 (the "License"); 51f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * you may not use this file except in compliance with the License. 61f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * You may obtain a copy of the License at 71f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * 81f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * http://www.apache.org/licenses/LICENSE-2.0 91f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * 101f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * Unless required by applicable law or agreed to in writing, software 111f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * distributed under the License is distributed on an "AS IS" BASIS, 121f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * See the License for the specific language governing permissions and 141f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * limitations under the License. 151f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang */ 161f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 171f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhangpackage android.hardware.display; 181f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 191f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhangimport android.os.Parcel; 201f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhangimport android.os.Parcelable; 211f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 221f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang/** 231f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * This class contains information regarding a wifi display session 241f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * (such as session id, source ip address, etc.). This is needed for 251f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * Wifi Display Certification process. 261f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * <p> 271f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * This object is immutable. 281f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * </p> 291f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * 301f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang * @hide 311f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang */ 321f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhangpublic final class WifiDisplaySessionInfo implements Parcelable { 331f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang private final boolean mClient; 341f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang private final int mSessionId; 351f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang private final String mGroupId; 361f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang private final String mPassphrase; 371f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang private final String mIP; 381f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 391f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public static final Creator<WifiDisplaySessionInfo> CREATOR = 401f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang new Creator<WifiDisplaySessionInfo>() { 411f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang @Override 421f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public WifiDisplaySessionInfo createFromParcel(Parcel in) { 431f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang boolean client = (in.readInt() != 0); 441f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang int session = in.readInt(); 451f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang String group = in.readString(); 461f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang String pp = in.readString(); 471f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang String ip = in.readString(); 481f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 491f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return new WifiDisplaySessionInfo(client, session, group, pp, ip); 501f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 511f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 521f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang @Override 531f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public WifiDisplaySessionInfo[] newArray(int size) { 541f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return new WifiDisplaySessionInfo[size]; 551f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 561f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang }; 571f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 581f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public WifiDisplaySessionInfo() { 591f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang this(true, 0, "", "", ""); 601f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 611f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 621f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public WifiDisplaySessionInfo( 631f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang boolean client, int session, String group, String pp, String ip) { 641f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang mClient = client; 651f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang mSessionId = session; 661f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang mGroupId = group; 671f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang mPassphrase = pp; 681f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang mIP = ip; 691f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 701f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 711f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public boolean isClient() { 721f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return mClient; 731f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 741f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 751f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public int getSessionId() { 761f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return mSessionId; 771f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 781f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 791f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public String getGroupId() { 801f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return mGroupId; 811f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 821f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 831f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public String getPassphrase() { 841f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return mPassphrase; 851f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 861f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 871f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public String getIP() { 881f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return mIP; 891f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 901f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 911f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang @Override 921f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public void writeToParcel(Parcel dest, int flags) { 931f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang dest.writeInt(mClient ? 1 : 0); 941f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang dest.writeInt(mSessionId); 951f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang dest.writeString(mGroupId); 961f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang dest.writeString(mPassphrase); 971f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang dest.writeString(mIP); 981f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 991f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 1001f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang @Override 1011f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public int describeContents() { 1021f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return 0; 1031f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 1041f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang 1051f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang // For debugging purposes only. 1061f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang @Override 1071f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang public String toString() { 1081f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang return "WifiDisplaySessionInfo:" 1091f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang +"\n Client/Owner: " + (mClient ? "Client":"Owner") 1101f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang +"\n GroupId: " + mGroupId 1111f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang +"\n Passphrase: " + mPassphrase 1121f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang +"\n SessionId: " + mSessionId 1131f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang +"\n IP Address: " + mIP 1141f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang ; 1151f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang } 1161f3ecaae6303d5ee6c5ca8499262c9962f036365Chong Zhang} 117