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

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. /**
  19.  * Interfaces that allows the implementing classes to listen to contact list
  20.  * relative events. Listeners are registered with ContactListManager.
  21.  */
  22. public interface ContactListListener {
  23.     public static final int LIST_CREATED        = 1;
  24.     public static final int LIST_DELETED        = 2;
  25.     public static final int LIST_LOADED         = 3;
  26.     public static final int LIST_RENAMED        = 4;
  27.     public static final int LIST_CONTACT_ADDED  = 5;
  28.     public static final int LIST_CONTACT_REMOVED = 6;
  29.     public static final int CONTACT_BLOCKED     = 7;
  30.     public static final int CONTACT_UNBLOCKED   = 8;
  31.     public static final int ERROR_CREATING_LIST = -1;
  32.     public static final int ERROR_DELETING_LIST = -2;
  33.     public static final int ERROR_RENAMING_LIST = -3;
  34.     public static final int ERROR_LOADING_LIST          = -4;
  35.     public static final int ERROR_LOADING_BLOCK_LIST    = -5;
  36.     public static final int ERROR_RETRIEVING_PRESENCE   = -6;
  37.     public static final int ERROR_ADDING_CONTACT    = -7;
  38.     public static final int ERROR_REMOVING_CONTACT  = -8;
  39.     public static final int ERROR_BLOCKING_CONTACT  = -9;
  40.     public static final int ERROR_UNBLOCKING_CONTACT = -10;
  41.     /**
  42.      * Called when:
  43.      *  <ul>
  44.      *  <li> a contact list has been created, deleted, renamed or loaded, or
  45.      *  <li> a contact has been added to or removed from a list, or
  46.      *  <li> a contact has been blocked or unblocked
  47.      *  </ul>
  48.      *
  49.      * @param type one of the following values:
  50.      *      <ul>
  51.      *      <li>{@link #LIST_CREATED} list: the newly created list;
  52.      *          contact: null
  53.      *      <li>{@link #LIST_DELETED} list: the delete list; contact: null
  54.      *      <li>{@link #LIST_LOADED}  list: the newly loaded list;
  55.      *          contact: null
  56.      *      <li>{@link #LIST_RENAMED} list: the list renamed; contact: null
  57.      *      <li>{@link #LIST_CONTACT_ADDED}   list: the list to which the
  58.      *          contact is added, contact: the added contact
  59.      *      <li>{@link #LIST_CONTACT_REMOVED} list: the list from which the
  60.      *          contact is removed, contact: the removed contact
  61.      *      <li>{@link #CONTACT_BLOCKED}   list: null, contact: the blocked
  62.      *          contact
  63.      *      <li>{@link #CONTACT_UNBLOCKED} list: null, contact: the unblocked
  64.      *          contact
  65.      *      </ul>
  66.      * @param list
  67.      * @param contact
  68.      */
  69.     public void onContactChange(int type, ContactList list, Contact contact);
  70.     /**
  71.      * Called when all the contact lists (including the block list) and
  72.      * contacts have been loaded from the server.
  73.      */
  74.     public void onAllContactListsLoaded();
  75.     /**
  76.      * Called when received one or more contacts' updated presence
  77.      * information from the server.
  78.      *
  79.      * @param contacts one or more contacts that have updated presence
  80.      *      information.
  81.      */
  82.     public void onContactsPresenceUpdate(Contact[] contacts);
  83.     /**
  84.      *
  85.      * @param errorType one of the following values:
  86.      *      <ul>
  87.      *      <li>{@link #ERROR_CREATING_LIST} listName: the name of the list
  88.      *          to be created; contact: null
  89.      *      <li>{@link #ERROR_DELETING_LIST} listName: the name of the list
  90.      *          to be deleted; contact: null
  91.      *      <li>{@link #ERROR_LOADING_LIST}  listName: the name of the list
  92.      *          to be loaded, or null if the error occurred while fetching
  93.      *          the list of contact lists; contact: null
  94.      *      <li>{@link #ERROR_RENAMING_LIST} listName: the original name of
  95.      *          the list to be renamed; contact: null
  96.      *      <li>{@link #ERROR_LOADING_BLOCK_LIST} list: null; contact: null
  97.      *      <li>{@link #ERROR_RETRIEVING_PRESENCE}
  98.      *          <ul>
  99.      *          <li>when retrieving presence for a list: listName: the name
  100.      *              of the list, or null, depending on the implementation;
  101.      *              contact: null
  102.      *          <li>when retrieving presence for a contact: listName: the
  103.      *              name of the list that the contact belongs to, or null,
  104.      *              depending on the implementation;
  105.      *              contact: the contact
  106.      *          </ul>
  107.      *      <li>{@link #ERROR_ADDING_CONTACT} listName: the name of the list
  108.      *          to which the contact was to be added;
  109.      *          contact: the contact to add
  110.      *      <li>{@link #ERROR_REMOVING_CONTACT} listName: the name of the
  111.      *          list from which the contact was to be removed;
  112.      *          contact: the contact to remove
  113.      *      <li>{@link #ERROR_BLOCKING_CONTACT} list: null;
  114.      *          contact: the contact to block
  115.      *      <li>{@link #ERROR_UNBLOCKING_CONTACT} list: null;
  116.      *          contact: the contact to be unblocked
  117.      *      </ul>
  118.      * @param error
  119.      * @param listName
  120.      * @param contact
  121.      */
  122.     public void onContactError(int errorType, ImErrorInfo error,
  123.             String listName, Contact contact);
  124. }