1a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang/* 2a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * Copyright (C) 2016 The Android Open Source Project 3a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * 4a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * Licensed under the Apache License, Version 2.0 (the "License"); 5a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * you may not use this file except in compliance with the License. 6a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * You may obtain a copy of the License at 7a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * 8a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * http://www.apache.org/licenses/LICENSE-2.0 9a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * 10a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * Unless required by applicable law or agreed to in writing, software 11a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * distributed under the License is distributed on an "AS IS" BASIS, 12a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * See the License for the specific language governing permissions and 14a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * limitations under the License. 15a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang */ 16a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 17a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wangpackage com.android.server.wifi.wificond; 18a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 19a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wangimport android.os.Parcel; 20a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wangimport android.os.Parcelable; 21a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 22cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wangimport java.util.Objects; 23cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang 24a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang/** 25a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * PnoNetwork for wificond 26a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * 27a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * @hide 28a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang */ 29a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wangpublic class PnoNetwork implements Parcelable { 30a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 31a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public boolean isHidden; 32a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public byte[] ssid; 33a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 34a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang /** public constructor */ 35a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public PnoNetwork() { } 36a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 37cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang /** override comparator */ 38cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang @Override 39cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang public boolean equals(Object rhs) { 40cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang if (this == rhs) return true; 41cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang if (!(rhs instanceof PnoNetwork)) { 42cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang return false; 43cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang } 44cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang PnoNetwork network = (PnoNetwork) rhs; 45cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang return java.util.Arrays.equals(ssid, network.ssid) 46cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang && isHidden == network.isHidden; 47cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang } 48cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang 49cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang /** override hash code */ 50cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang @Override 51cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang public int hashCode() { 52cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang return Objects.hash(isHidden, ssid); 53cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang } 54cc0a86f647320808c5d88da6e9d45c6de10b65b0Ningyuan Wang 55a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang /** implement Parcelable interface */ 56a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang @Override 57a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public int describeContents() { 58a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang return 0; 59a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang } 60a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 61a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang /** 62a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * implement Parcelable interface 63a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang * |flag| is ignored. 64a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang */ 65a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang @Override 66a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public void writeToParcel(Parcel out, int flags) { 67a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang out.writeInt(isHidden ? 1 : 0); 68a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang out.writeByteArray(ssid); 69a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang } 70a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 71a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang /** implement Parcelable interface */ 72a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public static final Parcelable.Creator<PnoNetwork> CREATOR = 73a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang new Parcelable.Creator<PnoNetwork>() { 74a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang @Override 75a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public PnoNetwork createFromParcel(Parcel in) { 76a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang PnoNetwork result = new PnoNetwork(); 77a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang result.isHidden = in.readInt() != 0 ? true : false; 78a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang result.ssid = in.createByteArray(); 79a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang return result; 80a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang } 81a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang 82a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang @Override 83a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang public PnoNetwork[] newArray(int size) { 84a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang return new PnoNetwork[size]; 85a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang } 86a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang }; 87a49633f87905530426cbfa6ab9586d282ab5df3fNingyuan Wang} 88