/* * Copyright (C) 2008 Esmertec AG. * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.im.plugin.demo; import com.android.im.plugin.BrandingResourceIDs; import com.android.im.plugin.ImPlugin; import com.android.im.plugin.ImConfigNames; import com.android.im.plugin.ImpsConfigNames; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.RemoteException; import java.util.HashMap; import java.util.Map; /** * Simple example of writing a plug-in for the IM application. * */ public class DemoImPlugin extends Service implements ImPlugin { @Override public IBinder onBind(Intent intent) { return null; } public Map getProviderConfig() { HashMap<String, String> config = new HashMap<String, String>(); // The protocol name MUST be IMPS now. config.put(ImConfigNames.PROTOCOL_NAME, "IMPS"); config.put(ImpsConfigNames.HOST, "http://xxx.xxxx.xxx"); config.put(ImpsConfigNames.CLIENT_ID, "Jimmy"); config.put(ImpsConfigNames.DATA_CHANNEL, "HTTP"); config.put(ImpsConfigNames.DATA_ENCODING, "WBXML"); config.put(ImpsConfigNames.CIR_CHANNEL, "STCP"); config.put(ImpsConfigNames.CUSTOM_PRESENCE_MAPPING, "com.android.im.plugin.demo.DemoPresenceMapping"); return config; } public Map getResourceMap() { HashMap<Integer, Integer> resMapping = new HashMap<Integer, Integer>(); /* resMapping.put(BrandingResourceIDs.DRAWABLE_LOGO, R.drawable.im_logo); resMapping.put(BrandingResourceIDs.DRAWABLE_PRESENCE_ONLINE, android.R.drawable.presence_online); resMapping.put(BrandingResourceIDs.DRAWABLE_PRESENCE_AWAY, android.R.drawable.presence_away); resMapping.put(BrandingResourceIDs.DRAWABLE_PRESENCE_BUSY, android.R.drawable.presence_busy); resMapping.put(BrandingResourceIDs.DRAWABLE_PRESENCE_INVISIBLE, android.R.drawable.presence_invisible); resMapping.put(BrandingResourceIDs.DRAWABLE_PRESENCE_OFFLINE, android.R.drawable.presence_offline); resMapping.put(BrandingResourceIDs.DRAWABLE_SPLASH_SCREEN, R.drawable.im_logo_splashscr); resMapping.put(BrandingResourceIDs.DRAWABLE_READ_CHAT, R.drawable.chat); resMapping.put(BrandingResourceIDs.DRAWABLE_UNREAD_CHAT, R.drawable.chat_new); resMapping.put(BrandingResourceIDs.STRING_BUDDY_LIST_TITLE, R.string.buddy_list_title); resMapping.put(BrandingResourceIDs.STRING_ARRAY_SMILEY_NAMES, R.array.smiley_names); resMapping.put(BrandingResourceIDs.STRING_ARRAY_SMILEY_TEXTS, R.array.smiley_texts); resMapping.put(BrandingResourceIDs.STRING_PRESENCE_AVAILABLE, R.string.presence_available); resMapping.put(BrandingResourceIDs.STRING_LABEL_USERNAME, R.string.label_username); resMapping.put(BrandingResourceIDs.STRING_ONGOING_CONVERSATION, R.string.ongoing_conversation); resMapping.put(BrandingResourceIDs.STRING_ADD_CONTACT_TITLE, R.string.add_contact_title); resMapping.put(BrandingResourceIDs.STRING_LABEL_INPUT_CONTACT, R.string.input_contact_label); resMapping.put(BrandingResourceIDs.STRING_BUTTON_ADD_CONTACT, R.string.invite_label); resMapping.put(BrandingResourceIDs.STRING_CONTACT_INFO_TITLE, R.string.contact_profile_title); resMapping.put(BrandingResourceIDs.STRING_MENU_ADD_CONTACT, R.string.menu_add_contact); resMapping.put(BrandingResourceIDs.STRING_MENU_BLOCK_CONTACT, R.string.menu_block_contact); resMapping.put(BrandingResourceIDs.STRING_MENU_CONTACT_LIST, R.string.menu_contact_list); resMapping.put(BrandingResourceIDs.STRING_MENU_DELETE_CONTACT, R.string.menu_remove_contact); resMapping.put(BrandingResourceIDs.STRING_MENU_END_CHAT, R.string.menu_end_conversation); resMapping.put(BrandingResourceIDs.STRING_MENU_INSERT_SMILEY, R.string.menu_insert_smiley); resMapping.put(BrandingResourceIDs.STRING_MENU_START_CHAT, R.string.menu_start_chat); resMapping.put(BrandingResourceIDs.STRING_MENU_VIEW_PROFILE, R.string.menu_view_profile); resMapping.put(BrandingResourceIDs.STRING_MENU_SWITCH_CHATS, R.string.menu_switch_chats); resMapping.put(BrandingResourceIDs.STRING_TOAST_CHECK_SAVE_PASSWORD, R.string.check_save_password); resMapping.put(BrandingResourceIDs.STRING_LABEL_SIGN_UP, R.string.sign_up);*/ return resMapping; } public int[] getSmileyIconIds() { return SMILEY_RES_IDS; } /** * An array of the smiley icon IDs. Note that the sequence of the array MUST * match the smiley texts and smiley names defined in strings.xml. */ static final int[] SMILEY_RES_IDS = { /* R.drawable.emo_im_happy, R.drawable.emo_im_sad, R.drawable.emo_im_winking, R.drawable.emo_im_tongue_sticking_out, R.drawable.emo_im_surprised, R.drawable.emo_im_kissing, R.drawable.emo_im_yelling, R.drawable.emo_im_cool, R.drawable.emo_im_money_mouth, R.drawable.emo_im_foot_in_mouth, R.drawable.emo_im_embarrassed, R.drawable.emo_im_angel, R.drawable.emo_im_undecided, R.drawable.emo_im_crying, R.drawable.emo_im_lips_are_sealed, R.drawable.emo_im_laughing, R.drawable.emo_im_wtf */ }; }