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

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2007-2008 Esmertec AG.
  3.  * Copyright (C) 2007-2008 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.service;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. import android.util.Log;
  21. import com.android.im.IContactList;
  22. import com.android.im.engine.Address;
  23. import com.android.im.engine.Contact;
  24. import com.android.im.engine.ContactList;
  25. import com.android.im.engine.ImErrorInfo;
  26. import com.android.im.engine.ImException;
  27. public class ContactListAdapter extends IContactList.Stub {
  28.     private ContactList mAdaptee;
  29.     private long mDataBaseId;
  30.     public ContactListAdapter(ContactList adaptee, long dataBaseId) {
  31.         mAdaptee = adaptee;
  32.         mDataBaseId = dataBaseId;
  33.     }
  34.     public long getDataBaseId() {
  35.         return mDataBaseId;
  36.     }
  37.     public Address getAddress() {
  38.         return mAdaptee.getAddress();
  39.     }
  40.     public int addContact(String address) {
  41.         if (address == null) {
  42.             Log.e(RemoteImService.TAG, "Address can't be null!");
  43.             return ImErrorInfo.ILLEGAL_CONTACT_ADDRESS;
  44.         }
  45.         try {
  46.             mAdaptee.addContact(address);
  47.         } catch (IllegalArgumentException e) {
  48.             return ImErrorInfo.ILLEGAL_CONTACT_ADDRESS;
  49.         } catch (ImException e) {
  50.             return e.getImError().getCode();
  51.         }
  52.         return ImErrorInfo.NO_ERROR;
  53.     }
  54.     public List<Contact> getContacts() {
  55.         ArrayList<Contact> result = new ArrayList<Contact>();
  56.         result.addAll(mAdaptee.getContacts());
  57.         return result;
  58.     }
  59.     public String getName() {
  60.         return mAdaptee.getName();
  61.     }
  62.     public int removeContact(Contact contact) {
  63.         if (contact == null) {
  64.             Log.e(RemoteImService.TAG, "Contact can't be null!");
  65.             return ImErrorInfo.ILLEGAL_CONTACT_ADDRESS;
  66.         }
  67.         try {
  68.             mAdaptee.removeContact(contact);
  69.         } catch (ImException e) {
  70.             return e.getImError().getCode();
  71.         }
  72.         return ImErrorInfo.NO_ERROR;
  73.     }
  74.     public void setDefault(boolean isDefault) {
  75.         mAdaptee.setDefault(isDefault);
  76.     }
  77.     public boolean isDefault() {
  78.         return mAdaptee.isDefault();
  79.     }
  80.     public void setName(String name) {
  81.         if (name == null) {
  82.             Log.e(RemoteImService.TAG, "Name can't be null!");
  83.             return;
  84.         }
  85.         mAdaptee.setName(name);
  86.     }
  87. }