Contact.java
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:2k
源码类别:

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2007 Esmertec AG.
  3.  * Copyright (C) 2007 The Android Open Source Project
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package com.android.im.engine;
  18. import android.os.Parcel;
  19. import android.os.Parcelable;
  20. public class Contact extends ImEntity implements Parcelable{
  21.     private Address mAddress;
  22.     private String mName;
  23.     private Presence mPresence;
  24.     public Contact(Address address, String name) {
  25.         mAddress = address;
  26.         mName = name;
  27.         mPresence = new Presence();
  28.     }
  29.     public Contact(Parcel source) {
  30.         mAddress = AddressParcelHelper.readFromParcel(source);
  31.         mName = source.readString();
  32.         mPresence = new Presence(source);
  33.     }
  34.     public Address getAddress() {
  35.         return mAddress;
  36.     }
  37.     public String getName() {
  38.         return mName;
  39.     }
  40.     public Presence getPresence() {
  41.         return mPresence;
  42.     }
  43.     public boolean equals(Object other) {
  44.         return other instanceof Contact
  45.             && mAddress.equals(((Contact)other).mAddress);
  46.     }
  47.     public int hashCode() {
  48.         return mAddress.hashCode();
  49.     }
  50.     /**
  51.      * Set the presence of the Contact. Note that this method is public
  52.      * but not provide to the user.
  53.      * @param presence the new presence
  54.      */
  55.     public void setPresence(Presence presence) {
  56.         mPresence = presence;
  57.     }
  58.     public void writeToParcel(Parcel dest, int flags) {
  59.         AddressParcelHelper.writeToParcel(dest, mAddress);
  60.         dest.writeString(mName);
  61.         mPresence.writeToParcel(dest, 0);
  62.     }
  63.     public int describeContents() {
  64.         return 0;
  65.     }
  66.     public final static Parcelable.Creator<Contact> CREATOR = new Parcelable.Creator<Contact>() {
  67.         public Contact createFromParcel(Parcel source) {
  68.             return new Contact(source);
  69.         }
  70.         public Contact[] newArray(int size) {
  71.             return new Contact[size];
  72.         }
  73.     };
  74. }