PresenceUtils.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.app;
  18. import android.provider.Im;
  19. import android.util.Log;
  20. import com.android.im.engine.Presence;
  21. import com.android.im.plugin.BrandingResourceIDs;
  22. public final class PresenceUtils {
  23.     private PresenceUtils() {}
  24.     public static int convertStatus(int status) {
  25.         switch (status) {
  26.         case Presence.AVAILABLE:
  27.             return Im.Presence.AVAILABLE;
  28.         case Presence.AWAY:
  29.             return Im.Presence.AWAY;
  30.         case Presence.DO_NOT_DISTURB:
  31.             return Im.Presence.DO_NOT_DISTURB;
  32.         case Presence.IDLE:
  33.             return Im.Presence.IDLE;
  34.         case Presence.OFFLINE:
  35.             return Im.Presence.OFFLINE;
  36.         default:
  37.             Log.w(ImApp.LOG_TAG, "[ContactView] Unknown presence status " + status);
  38.             return Im.Presence.AVAILABLE;
  39.         }
  40.     }
  41.     public static int getStatusStringRes(int status) {
  42.         switch (status) {
  43.         case Im.Presence.AVAILABLE:
  44.             return BrandingResourceIDs.STRING_PRESENCE_AVAILABLE;
  45.         case Im.Presence.AWAY:
  46.             return BrandingResourceIDs.STRING_PRESENCE_AWAY;
  47.         case Im.Presence.DO_NOT_DISTURB:
  48.             return BrandingResourceIDs.STRING_PRESENCE_BUSY;
  49.         case Im.Presence.IDLE:
  50.             return BrandingResourceIDs.STRING_PRESENCE_IDLE;
  51.         case Im.Presence.INVISIBLE:
  52.             return BrandingResourceIDs.STRING_PRESENCE_INVISIBLE;
  53.         case Im.Presence.OFFLINE:
  54.             return BrandingResourceIDs.STRING_PRESENCE_OFFLINE;
  55.         default:
  56.             return BrandingResourceIDs.STRING_PRESENCE_AVAILABLE;
  57.         }
  58.     }
  59.     public static int getStatusIconId(int status) {
  60.         switch (status) {
  61.         case Im.Presence.AVAILABLE:
  62.             return BrandingResourceIDs.DRAWABLE_PRESENCE_ONLINE;
  63.         case Im.Presence.IDLE:
  64.             return BrandingResourceIDs.DRAWABLE_PRESENCE_AWAY;
  65.         case Im.Presence.AWAY:
  66.             return BrandingResourceIDs.DRAWABLE_PRESENCE_AWAY;
  67.         case Im.Presence.DO_NOT_DISTURB:
  68.             return BrandingResourceIDs.DRAWABLE_PRESENCE_BUSY;
  69.         case Im.Presence.INVISIBLE:
  70.             return BrandingResourceIDs.DRAWABLE_PRESENCE_INVISIBLE;
  71.         default:
  72.             return BrandingResourceIDs.DRAWABLE_PRESENCE_OFFLINE;
  73.         }
  74.     }
  75. }