├── CIM使用文档.doc ├── CIM客户端文档.doc ├── ichat-server ├── WebRoot │ ├── META-INF │ │ └── MANIFEST.MF │ ├── index.jsp │ ├── WEB-INF │ │ ├── lib │ │ │ ├── asm.jar │ │ │ ├── log4j.jar │ │ │ ├── gson-2.1.jar │ │ │ ├── jstl-1.2.jar │ │ │ ├── antlr-2.7.6.jar │ │ │ ├── ognl-2.7.3.jar │ │ │ ├── xstream-1.3.jar │ │ │ ├── aspectjweaver.jar │ │ │ ├── cim-core.1.0.jar │ │ │ ├── Spring.aop-3.0.2.jar │ │ │ ├── commons-io-2.4.jar │ │ │ ├── commons-lang-2.3.jar │ │ │ ├── mina-core-2.0.7.jar │ │ │ ├── slf4j-api-1.7.5.jar │ │ │ ├── slf4j-nop-1.7.5.jar │ │ │ ├── xwork-core-2.1.6.jar │ │ │ ├── freemarker-2.3.15.jar │ │ │ ├── commons-logging-1.0.4.jar │ │ │ ├── struts2-core-2.1.8.1.jar │ │ │ ├── spring-context-support.jar │ │ │ ├── Spring.asm-3.0.2.RELEASE.jar │ │ │ ├── Spring.beans-3.0.2.RELEASE.jar │ │ │ ├── Spring.core-3.0.2.RELEASE.jar │ │ │ ├── Spring.jdbc-3.0.2.RELEASE.jar │ │ │ ├── Spring.orm-3.0.2.RELEASE.jar │ │ │ ├── Spring.transaction-3.0.2.jar │ │ │ ├── Spring.web-3.0.2.RELEASE.jar │ │ │ ├── commons-fileupload-1.2.1.jar │ │ │ ├── Spring.context-3.0.2.RELEASE.jar │ │ │ ├── Spring.expression-3.0.2.RELEASE.jar │ │ │ └── mina-integration-beans-2.0.0-RC1.jar │ │ ├── classes │ │ │ ├── com │ │ │ │ └── farsunset │ │ │ │ │ └── ichat │ │ │ │ │ ├── common │ │ │ │ │ ├── Constants.class │ │ │ │ │ ├── Constants$User.class │ │ │ │ │ ├── Constants$Common.class │ │ │ │ │ ├── Constants$Number.class │ │ │ │ │ ├── Constants$MessageType.class │ │ │ │ │ └── Constants$RequestParam.class │ │ │ │ │ ├── api │ │ │ │ │ └── action │ │ │ │ │ │ └── MessageAction.class │ │ │ │ │ ├── cim │ │ │ │ │ ├── handler │ │ │ │ │ │ ├── AuthHandler.class │ │ │ │ │ │ ├── LogoutHandler.class │ │ │ │ │ │ └── SessionClosedHandler.class │ │ │ │ │ └── push │ │ │ │ │ │ └── MessageHandler.class │ │ │ │ │ └── admin │ │ │ │ │ └── action │ │ │ │ │ └── SessionAction.class │ │ │ ├── log4j.properties │ │ │ └── struts.xml │ │ └── web.xml │ ├── resource │ │ ├── img │ │ │ ├── icon.png │ │ │ ├── toolbar.png │ │ │ ├── top-bg.png │ │ │ ├── blue_line.jpg │ │ │ ├── disk-spr.png │ │ │ ├── icon_admin.png │ │ │ ├── icon_error.png │ │ │ ├── icon_hint.png │ │ │ ├── login-box.png │ │ │ ├── login_bg.png │ │ │ ├── step-spr.png │ │ │ ├── icon_success.png │ │ │ ├── wallpaper_a.jpg │ │ │ ├── avatar-hover-bg.png │ │ │ ├── nav_selected_bg.png │ │ │ ├── sprite_dialog.gif │ │ │ ├── icon_group_admin.png │ │ │ ├── icon_super_admin.png │ │ │ └── icon_loading_small.gif │ │ ├── bootstrap │ │ │ └── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ └── glyphicons-halflings-regular.woff │ │ └── css │ │ │ ├── dialog.css │ │ │ └── table.css │ └── console │ │ ├── nav.jsp │ │ └── index.jsp ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── farsunset │ │ │ └── ichat │ │ │ ├── cim │ │ │ ├── push │ │ │ │ └── MessageHandler.java │ │ │ └── handler │ │ │ │ ├── LogoutHandler.java │ │ │ │ ├── SessionClosedHandler.java │ │ │ │ └── AuthHandler.java │ │ │ ├── api │ │ │ └── action │ │ │ │ └── MessageAction.java │ │ │ ├── admin │ │ │ └── action │ │ │ │ └── SessionAction.java │ │ │ └── common │ │ │ └── Constants.java │ │ └── resource │ │ ├── log4j.properties │ │ └── struts.xml └── .mymetadata ├── mchat-simple ├── libs │ ├── gson-2.1.jar │ ├── cim-core.1.0.jar │ ├── httpmime-4.1.1.jar │ ├── mina-core-2.0.7.jar │ ├── slf4j-api-1.7.5.jar │ ├── slf4j-nop-1.7.5.jar │ └── android-support-v4.jar ├── res │ ├── raw │ │ └── classic.mp3 │ ├── drawable-hdpi │ │ ├── arrow.png │ │ ├── f000.gif │ │ ├── f001.gif │ │ ├── f002.gif │ │ ├── f003.gif │ │ ├── f004.gif │ │ ├── f005.gif │ │ ├── f006.gif │ │ ├── f007.png │ │ ├── f008.png │ │ ├── f009.gif │ │ ├── f010.gif │ │ ├── f011.gif │ │ ├── f012.gif │ │ ├── f013.gif │ │ ├── f014.gif │ │ ├── f015.gif │ │ ├── f016.png │ │ ├── f017.gif │ │ ├── f018.gif │ │ ├── f019.gif │ │ ├── f020.gif │ │ ├── f021.gif │ │ ├── f022.gif │ │ ├── f023.gif │ │ ├── f024.gif │ │ ├── f025.gif │ │ ├── f026.gif │ │ ├── f027.gif │ │ ├── f028.png │ │ ├── f029.gif │ │ ├── f030.gif │ │ ├── f031.gif │ │ ├── f032.png │ │ ├── f033.gif │ │ ├── f034.gif │ │ ├── f035.gif │ │ ├── f036.gif │ │ ├── f037.gif │ │ ├── f038.gif │ │ ├── f039.png │ │ ├── f040.gif │ │ ├── f041.gif │ │ ├── f042.gif │ │ ├── f043.gif │ │ ├── f044.gif │ │ ├── f045.gif │ │ ├── f046.gif │ │ ├── f047.png │ │ ├── f048.gif │ │ ├── f049.gif │ │ ├── f050.gif │ │ ├── f051.gif │ │ ├── f052.gif │ │ ├── f053.gif │ │ ├── f054.gif │ │ ├── f055.gif │ │ ├── f056.gif │ │ ├── f057.png │ │ ├── f058.png │ │ ├── f059.gif │ │ ├── f060.png │ │ ├── f061.gif │ │ ├── f062.gif │ │ ├── f063.gif │ │ ├── f064.png │ │ ├── f065.gif │ │ ├── f066.gif │ │ ├── f067.png │ │ ├── f068.png │ │ ├── f069.png │ │ ├── f070.gif │ │ ├── f071.png │ │ ├── f072.gif │ │ ├── f073.gif │ │ ├── f074.gif │ │ ├── f075.png │ │ ├── f076.png │ │ ├── f077.gif │ │ ├── f078.png │ │ ├── f079.gif │ │ ├── f080.png │ │ ├── f081.gif │ │ ├── f082.gif │ │ ├── f083.gif │ │ ├── f084.gif │ │ ├── f085.gif │ │ ├── f086.gif │ │ ├── f087.gif │ │ ├── f088.gif │ │ ├── f089.gif │ │ ├── f090.gif │ │ ├── f091.gif │ │ ├── f092.gif │ │ ├── f093.gif │ │ ├── f094.gif │ │ ├── f095.gif │ │ ├── f096.gif │ │ ├── f097.gif │ │ ├── f098.gif │ │ ├── f099.gif │ │ ├── f100.gif │ │ ├── f101.gif │ │ ├── f102.gif │ │ ├── f103.gif │ │ ├── f104.gif │ │ ├── f105.gif │ │ ├── f106.gif │ │ ├── h033.png │ │ ├── icon.png │ │ ├── show.png │ │ ├── bottom.9.png │ │ ├── cutline.png │ │ ├── input.9.png │ │ ├── login_bg.jpg │ │ ├── narrow.9.png │ │ ├── success.png │ │ ├── close_del.png │ │ ├── icon_away.png │ │ ├── icon_error.png │ │ ├── icon_logo.png │ │ ├── icon_share.png │ │ ├── loading_1.png │ │ ├── loading_10.png │ │ ├── loading_11.png │ │ ├── loading_12.png │ │ ├── loading_13.png │ │ ├── loading_14.png │ │ ├── loading_15.png │ │ ├── loading_16.png │ │ ├── loading_17.png │ │ ├── loading_18.png │ │ ├── loading_19.png │ │ ├── loading_2.png │ │ ├── loading_20.png │ │ ├── loading_21.png │ │ ├── loading_22.png │ │ ├── loading_23.png │ │ ├── loading_24.png │ │ ├── loading_3.png │ │ ├── loading_4.png │ │ ├── loading_5.png │ │ ├── loading_6.png │ │ ├── loading_7.png │ │ ├── loading_8.png │ │ ├── loading_9.png │ │ ├── loading_bg.png │ │ ├── splash_bg.jpg │ │ ├── tab2_over.png │ │ ├── tab3_over.png │ │ ├── toast_bg.9.png │ │ ├── aicon_error.png │ │ ├── app_main_bg.png │ │ ├── bodylisttop.9.png │ │ ├── btn_check_off.png │ │ ├── btn_check_on.png │ │ ├── close_pressed.png │ │ ├── colorful_line.png │ │ ├── edittext_bg.9.png │ │ ├── f_static_000.png │ │ ├── f_static_001.png │ │ ├── f_static_002.png │ │ ├── f_static_003.png │ │ ├── f_static_004.png │ │ ├── f_static_005.png │ │ ├── f_static_006.png │ │ ├── f_static_007.png │ │ ├── f_static_008.png │ │ ├── f_static_009.png │ │ ├── f_static_010.png │ │ ├── f_static_011.png │ │ ├── f_static_012.png │ │ ├── f_static_013.png │ │ ├── f_static_014.png │ │ ├── f_static_015.png │ │ ├── f_static_016.png │ │ ├── f_static_017.png │ │ ├── f_static_018.png │ │ ├── f_static_019.png │ │ ├── f_static_020.png │ │ ├── f_static_021.png │ │ ├── f_static_022.png │ │ ├── f_static_023.png │ │ ├── f_static_024.png │ │ ├── f_static_025.png │ │ ├── f_static_026.png │ │ ├── f_static_027.png │ │ ├── f_static_028.png │ │ ├── f_static_029.png │ │ ├── f_static_030.png │ │ ├── f_static_031.png │ │ ├── f_static_032.png │ │ ├── f_static_033.png │ │ ├── f_static_034.png │ │ ├── f_static_035.png │ │ ├── f_static_036.png │ │ ├── f_static_037.png │ │ ├── f_static_038.png │ │ ├── f_static_039.png │ │ ├── f_static_040.png │ │ ├── f_static_041.png │ │ ├── f_static_042.png │ │ ├── f_static_043.png │ │ ├── f_static_044.png │ │ ├── f_static_045.png │ │ ├── f_static_046.png │ │ ├── f_static_047.png │ │ ├── f_static_048.png │ │ ├── f_static_049.png │ │ ├── f_static_050.png │ │ ├── f_static_051.png │ │ ├── f_static_052.png │ │ ├── f_static_053.png │ │ ├── f_static_054.png │ │ ├── f_static_055.png │ │ ├── f_static_056.png │ │ ├── f_static_057.png │ │ ├── f_static_058.png │ │ ├── f_static_059.png │ │ ├── f_static_060.png │ │ ├── f_static_061.png │ │ ├── f_static_062.png │ │ ├── f_static_063.png │ │ ├── f_static_064.png │ │ ├── f_static_065.png │ │ ├── f_static_066.png │ │ ├── f_static_067.png │ │ ├── f_static_068.png │ │ ├── f_static_069.png │ │ ├── f_static_070.png │ │ ├── f_static_071.png │ │ ├── f_static_072.png │ │ ├── f_static_073.png │ │ ├── f_static_074.png │ │ ├── f_static_075.png │ │ ├── f_static_076.png │ │ ├── f_static_077.png │ │ ├── f_static_078.png │ │ ├── f_static_079.png │ │ ├── f_static_080.png │ │ ├── f_static_081.png │ │ ├── f_static_082.png │ │ ├── f_static_083.png │ │ ├── f_static_084.png │ │ ├── f_static_085.png │ │ ├── f_static_086.png │ │ ├── f_static_087.png │ │ ├── f_static_088.png │ │ ├── f_static_089.png │ │ ├── f_static_090.png │ │ ├── f_static_091.png │ │ ├── f_static_092.png │ │ ├── f_static_093.png │ │ ├── f_static_094.png │ │ ├── f_static_095.png │ │ ├── f_static_096.png │ │ ├── f_static_097.png │ │ ├── f_static_098.png │ │ ├── f_static_099.png │ │ ├── f_static_100.png │ │ ├── f_static_101.png │ │ ├── f_static_102.png │ │ ├── f_static_103.png │ │ ├── f_static_104.png │ │ ├── f_static_105.png │ │ ├── f_static_106.png │ │ ├── icon_normal.png │ │ ├── icon_notify.png │ │ ├── icon_offline.png │ │ ├── icon_online.png │ │ ├── icon_success.png │ │ ├── image_empty.jpg │ │ ├── input_over.9.png │ │ ├── login_input.9.png │ │ ├── message_hint.png │ │ ├── scrollbar.9.png │ │ ├── tab2_normal.png │ │ ├── tab3_normal.png │ │ ├── table_arrow.png │ │ ├── topface_back.png │ │ ├── icon_invisiable.png │ │ ├── list_blockbg.9.png │ │ ├── loading_coffee.png │ │ ├── narrow_select.9.png │ │ ├── set_list_top.9.png │ │ ├── chat_time_block.9.png │ │ ├── grouphead_normal.png │ │ ├── list_divider_line.png │ │ ├── listitem_hover.9.png │ │ ├── set_list_bottom.9.png │ │ ├── set_list_middle.9.png │ │ ├── set_list_single.9.png │ │ ├── set_list_top_pre.9.png │ │ ├── ucenterwallpaper.jpg │ │ ├── blue_button_normal.9.png │ │ ├── msg_tips_bg_normal.9.png │ │ ├── skin_msgbox_bg_nor.9.png │ │ ├── skin_msgbox_bg_top.9.png │ │ ├── troop_default_head_1.png │ │ ├── troop_default_head_2.png │ │ ├── troop_default_head_3.png │ │ ├── blue_button_pressed.9.png │ │ ├── msg_tips_bg_pressed.9.png │ │ ├── set_list_bottom_pre.9.png │ │ ├── set_list_middle_pre.9.png │ │ ├── set_list_single_pre.9.png │ │ ├── conversation_loading_icon.png │ │ ├── skin_msgbox_bg_pressed.9.png │ │ ├── conversation_net_error_icon.png │ │ ├── skin_icon_arrow_right_normal.png │ │ └── skin_icon_arrow_right_pressed.png │ ├── drawable-320dpi │ │ ├── ic_read.png │ │ ├── tab_new.png │ │ ├── icon_more.png │ │ ├── card_avatar.9.png │ │ ├── ic_date_time.png │ │ ├── icon_face_nor.png │ │ ├── chat_tool_camera.png │ │ ├── chat_tool_photo.png │ │ ├── common_loading_0.png │ │ ├── common_loading_1.png │ │ ├── common_loading_2.png │ │ ├── common_loading_3.png │ │ ├── common_loading_4.png │ │ ├── common_loading_5.png │ │ ├── common_loading_6.png │ │ ├── common_loading_7.png │ │ ├── common_loading_8.png │ │ ├── common_loading_9.png │ │ ├── icon_addfriend.png │ │ ├── icon_face_click.png │ │ ├── icon_joinfroup.png │ │ ├── input_box_bg.9.png │ │ ├── aio_user_bg_nor.9.png │ │ ├── chat_tool_location.png │ │ ├── common_loading_10.png │ │ ├── common_loading_11.png │ │ ├── icon_recent_sysmsg.png │ │ ├── skin_aio_more_nor.png │ │ ├── action_sheet_base_9.9.png │ │ ├── aio_friend_bg_nor.9.png │ │ ├── aio_user_bg_pressed.9.png │ │ ├── chat_tool_send_file.png │ │ ├── login_default_avatar.png │ │ ├── skin_aio_more_pressed.png │ │ ├── skin_header_bar_bg.9.png │ │ ├── skin_tab_newmessage.png │ │ ├── aio_friend_bg_pressed.9.png │ │ ├── skin_aio_input_bar_bg.9.png │ │ ├── skin_header_btn_press.9.png │ │ ├── skin_header_icon_group.png │ │ ├── skin_header_icon_single.png │ │ ├── skin_tab_newmessage2.9.png │ │ ├── add_contacts_create_troop.png │ │ ├── list_head_border_whitebg.9.png │ │ ├── profile_photowall_bg_male.jpg │ │ ├── skin_bottom_bar_background.png │ │ ├── skin_header_btn_disable.9.png │ │ ├── skin_header_btn_normal.9.png │ │ ├── skin_tab_icon_setup_normal.png │ │ ├── skin_tabbar_tab_select.9.png │ │ ├── add_contacts_look_for_troop.png │ │ ├── mchat_navbar_tab_m_normal.9.png │ │ ├── mchat_navbar_tab_m_pressed.9.png │ │ ├── profile_photowall_bg_female.jpg │ │ ├── skin_contact_add_btn_press.9.png │ │ ├── skin_header_btn_back_press.9.png │ │ ├── skin_tab_icon_contact_normal.png │ │ ├── skin_tab_icon_plugin_normal.png │ │ ├── skin_tab_icon_setup_selected.png │ │ ├── skin_tabbar_tab_select_left.png │ │ ├── skin_tabbar_tab_select_right.png │ │ ├── skin_aio_send_button_normal.9.png │ │ ├── skin_aio_send_button_pressed.9.png │ │ ├── skin_common_btn_green_disable.9.png │ │ ├── skin_common_btn_green_normal.9.png │ │ ├── skin_common_btn_green_pressed.9.png │ │ ├── skin_common_btn_red_disabled.9.png │ │ ├── skin_common_btn_red_pressed.9.png │ │ ├── skin_common_btn_red_unpressed.9.png │ │ ├── skin_common_btn_white_pressed.9.png │ │ ├── skin_contact_add_btn_normal.9.png │ │ ├── skin_header_btn_back_normal.9.png │ │ ├── skin_header_tab_left_normal.9.png │ │ ├── skin_header_tab_left_pressed.9.png │ │ ├── skin_header_tab_right_normal.9.png │ │ ├── skin_header_tab_right_pressed.9.png │ │ ├── skin_tab_icon_contact_selected.png │ │ ├── skin_tab_icon_plugin_selected.png │ │ ├── add_contacts_look_for_similarity.png │ │ ├── skin_common_btn_blue_bg_pressed.9.png │ │ ├── skin_common_btn_blue_unpressed.9.png │ │ ├── skin_common_btn_white_disabled.9.png │ │ ├── skin_common_btn_white_unpressed.9.png │ │ ├── skin_tab_icon_conversation_normal.png │ │ ├── profile_photowall_avatar_frame_nor.9.png │ │ ├── skin_header_btn_indicative_normal.9.png │ │ ├── skin_header_btn_indicative_press.9.png │ │ └── skin_tab_icon_conversation_selected.png │ ├── anim │ │ ├── appear.xml │ │ ├── disappear.xml │ │ ├── activity_new.xml │ │ ├── activity_back.xml │ │ ├── activity_finish.xml │ │ ├── activity_out.xml │ │ ├── rotate.xml │ │ ├── slide_in_from_bottom.xml │ │ ├── slide_in_from_left.xml │ │ ├── slide_out_to_right.xml │ │ ├── slide_out_to_bottom.xml │ │ ├── extension_disappear_from_top_to_bottom.xml │ │ ├── extension_appear_from_bottom_to_top.xml │ │ └── disappear_del.xml │ ├── layout │ │ ├── activity_splansh.xml │ │ ├── activity_system_chat.xml │ │ └── layout_global_top_header.xml │ ├── drawable │ │ ├── common_msgbox_bg.xml │ │ ├── top_back_left_selector.xml │ │ └── common_button_blue.xml │ ├── color │ │ └── login_text_button_selector.xml │ └── values │ │ ├── attrs.xml │ │ ├── strings.xml │ │ └── color.xml ├── gen │ └── com │ │ └── farsunset │ │ └── ichat │ │ └── BuildConfig.java ├── lint.xml ├── project.properties ├── src │ └── com │ │ └── farsunset │ │ └── ichat │ │ ├── adapter │ │ ├── MessageTimeDescComparator.java │ │ └── SystemMsgListViewAdapter.java │ │ ├── util │ │ └── StringUtil.java │ │ ├── app │ │ ├── CommonBaseControl.java │ │ ├── Constant.java │ │ └── CIMMonitorActivity.java │ │ ├── ui │ │ └── SplanshActivity.java │ │ └── receiver │ │ └── CIMMessageBroadcastReceiver.java └── proguard.cfg ├── cim-core └── src │ └── com │ └── farsunset │ ├── cim │ ├── nio │ │ ├── handle │ │ │ ├── AbstractHandler.java │ │ │ └── HeartbeatHandler.java │ │ ├── filter │ │ │ ├── ServerMessageEncoder.java │ │ │ ├── ClientMessageEncoder.java │ │ │ ├── ServerMessageCodecFactory.java │ │ │ └── ClientMessageCodecFactory.java │ │ ├── session │ │ │ └── SessionManager.java │ │ ├── constant │ │ │ └── CIMConstant.java │ │ └── mutual │ │ │ └── SentBody.java │ └── client │ │ └── android │ │ ├── NetworkChangedReceiver.java │ │ ├── CIMEventHandlerContainer.java │ │ ├── OnCIMMessageListener.java │ │ ├── CIMConnectorService.java │ │ └── CIMMessageReceiveComparator.java │ └── framework │ ├── container │ └── ContextHolder.java │ ├── web │ ├── tag │ │ ├── Functions.java │ │ └── TimestampTag.java │ ├── listener │ │ └── ContainerBeanLoaderListener.java │ ├── Page.java │ ├── SuperAction.java │ └── DataMap.java │ ├── hibernate │ └── HibernateBaseDao.java │ └── tools │ ├── StringUtil.java │ └── ConfigManager.java ├── .gitattributes └── README.md /CIM使用文档.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/CIM使用文档.doc -------------------------------------------------------------------------------- /CIM客户端文档.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/CIM客户端文档.doc -------------------------------------------------------------------------------- /ichat-server/WebRoot/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /ichat-server/WebRoot/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" pageEncoding="utf-8"%> 2 | Hellow CIM! -------------------------------------------------------------------------------- /mchat-simple/libs/gson-2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/libs/gson-2.1.jar -------------------------------------------------------------------------------- /mchat-simple/res/raw/classic.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/raw/classic.mp3 -------------------------------------------------------------------------------- /mchat-simple/libs/cim-core.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/libs/cim-core.1.0.jar -------------------------------------------------------------------------------- /mchat-simple/libs/httpmime-4.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/libs/httpmime-4.1.1.jar -------------------------------------------------------------------------------- /mchat-simple/libs/mina-core-2.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/libs/mina-core-2.0.7.jar -------------------------------------------------------------------------------- /mchat-simple/libs/slf4j-api-1.7.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/libs/slf4j-api-1.7.5.jar -------------------------------------------------------------------------------- /mchat-simple/libs/slf4j-nop-1.7.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/libs/slf4j-nop-1.7.5.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/asm.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/asm.jar -------------------------------------------------------------------------------- /mchat-simple/libs/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/libs/android-support-v4.jar -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/arrow.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f000.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f000.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f001.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f001.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f002.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f002.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f003.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f003.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f004.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f004.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f005.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f005.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f006.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f006.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f007.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f008.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f009.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f009.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f010.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f010.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f011.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f011.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f012.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f012.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f013.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f013.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f014.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f014.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f015.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f015.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f016.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f017.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f017.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f018.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f018.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f019.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f019.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f020.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f020.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f021.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f021.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f022.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f022.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f023.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f023.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f024.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f024.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f025.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f025.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f026.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f026.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f027.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f027.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f028.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f029.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f029.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f030.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f030.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f031.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f031.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f032.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f033.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f033.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f034.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f034.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f035.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f035.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f036.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f036.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f037.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f037.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f038.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f038.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f039.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f040.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f040.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f041.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f041.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f042.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f042.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f043.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f043.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f044.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f044.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f045.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f045.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f046.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f046.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f047.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f048.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f048.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f049.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f049.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f050.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f050.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f051.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f051.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f052.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f052.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f053.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f053.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f054.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f054.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f055.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f055.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f056.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f056.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f057.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f058.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f059.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f059.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f060.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f061.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f061.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f062.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f062.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f063.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f063.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f064.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f065.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f065.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f066.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f066.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f067.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f068.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f069.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f070.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f070.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f071.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f072.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f072.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f073.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f073.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f074.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f074.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f075.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f075.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f076.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f077.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f077.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f078.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f078.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f079.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f079.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f080.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f081.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f081.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f082.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f082.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f083.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f083.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f084.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f084.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f085.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f085.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f086.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f086.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f087.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f087.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f088.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f088.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f089.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f089.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f090.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f090.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f091.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f091.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f092.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f092.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f093.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f093.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f094.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f094.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f095.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f095.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f096.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f096.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f097.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f097.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f098.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f098.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f099.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f099.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f100.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f101.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f101.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f102.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f102.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f103.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f103.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f104.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f104.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f105.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f105.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f106.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f106.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/h033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/h033.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/show.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/log4j.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/log4j.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/bottom.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/bottom.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/cutline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/cutline.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/input.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/input.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/login_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/login_bg.jpg -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/narrow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/narrow.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/success.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/gson-2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/gson-2.1.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/jstl-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/jstl-1.2.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/toolbar.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/top-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/top-bg.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/ic_read.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/ic_read.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/tab_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/tab_new.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/close_del.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/close_del.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_away.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_away.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_error.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_logo.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_share.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_1.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_10.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_11.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_12.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_13.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_14.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_15.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_16.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_17.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_18.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_19.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_2.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_20.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_21.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_22.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_23.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_24.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_3.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_4.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_5.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_6.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_7.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_8.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_bg.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/splash_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/splash_bg.jpg -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/tab2_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/tab2_over.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/tab3_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/tab3_over.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/toast_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/toast_bg.9.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/antlr-2.7.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/antlr-2.7.6.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/ognl-2.7.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/ognl-2.7.3.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/xstream-1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/xstream-1.3.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/blue_line.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/blue_line.jpg -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/disk-spr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/disk-spr.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon_admin.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon_error.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon_hint.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/login-box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/login-box.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/login_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/login_bg.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/step-spr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/step-spr.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/icon_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/icon_more.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/aicon_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/aicon_error.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/app_main_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/app_main_bg.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/bodylisttop.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/bodylisttop.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/btn_check_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/btn_check_off.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/btn_check_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/btn_check_on.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/close_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/close_pressed.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/colorful_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/colorful_line.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/edittext_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/edittext_bg.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_000.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_001.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_002.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_003.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_004.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_005.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_006.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_007.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_008.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_009.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_010.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_011.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_012.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_013.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_014.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_015.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_016.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_017.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_018.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_019.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_020.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_021.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_022.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_023.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_024.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_025.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_026.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_027.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_028.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_029.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_030.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_031.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_032.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_033.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_034.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_035.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_036.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_037.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_038.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_039.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_040.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_041.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_042.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_043.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_044.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_045.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_046.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_047.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_048.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_049.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_050.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_051.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_052.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_053.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_054.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_055.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_056.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_057.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_058.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_059.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_059.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_060.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_061.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_062.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_063.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_063.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_064.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_065.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_065.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_066.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_066.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_067.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_068.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_069.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_070.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_071.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_072.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_072.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_073.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_073.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_074.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_074.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_075.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_075.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_076.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_077.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_077.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_078.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_078.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_079.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_079.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_080.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_081.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_081.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_082.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_082.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_083.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_083.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_084.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_084.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_085.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_085.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_086.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_086.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_087.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_087.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_088.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_088.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_089.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_089.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_090.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_091.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_091.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_092.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_092.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_093.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_094.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_094.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_095.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_095.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_096.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_097.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_097.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_098.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_098.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_099.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_099.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_100.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_101.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_102.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_103.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_104.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_105.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/f_static_106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/f_static_106.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_notify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_notify.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_offline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_offline.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_online.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_online.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_success.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/image_empty.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/image_empty.jpg -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/input_over.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/input_over.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/login_input.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/login_input.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/message_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/message_hint.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/scrollbar.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/scrollbar.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/tab2_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/tab2_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/tab3_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/tab3_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/table_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/table_arrow.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/topface_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/topface_back.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/aspectjweaver.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/aspectjweaver.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/cim-core.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/cim-core.1.0.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon_success.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/wallpaper_a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/wallpaper_a.jpg -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/card_avatar.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/card_avatar.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/ic_date_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/ic_date_time.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/icon_face_nor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/icon_face_nor.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/icon_invisiable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/icon_invisiable.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/list_blockbg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/list_blockbg.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/loading_coffee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/loading_coffee.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/narrow_select.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/narrow_select.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_top.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_top.9.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.aop-3.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.aop-3.0.2.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/commons-io-2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/commons-io-2.4.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/commons-lang-2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/commons-lang-2.3.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/mina-core-2.0.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/mina-core-2.0.7.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/slf4j-api-1.7.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/slf4j-api-1.7.5.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/slf4j-nop-1.7.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/slf4j-nop-1.7.5.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/xwork-core-2.1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/xwork-core-2.1.6.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/avatar-hover-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/avatar-hover-bg.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/nav_selected_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/nav_selected_bg.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/sprite_dialog.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/sprite_dialog.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/chat_tool_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/chat_tool_camera.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/chat_tool_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/chat_tool_photo.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_0.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_1.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_2.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_3.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_4.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_5.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_6.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_7.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_8.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/icon_addfriend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/icon_addfriend.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/icon_face_click.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/icon_face_click.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/icon_joinfroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/icon_joinfroup.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/input_box_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/input_box_bg.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/chat_time_block.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/chat_time_block.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/grouphead_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/grouphead_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/list_divider_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/list_divider_line.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/listitem_hover.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/listitem_hover.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_bottom.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_bottom.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_middle.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_middle.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_single.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_single.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_top_pre.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_top_pre.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/ucenterwallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/ucenterwallpaper.jpg -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/freemarker-2.3.15.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/freemarker-2.3.15.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon_group_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon_group_admin.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon_super_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon_super_admin.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/aio_user_bg_nor.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/aio_user_bg_nor.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/chat_tool_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/chat_tool_location.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_10.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/common_loading_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/common_loading_11.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/icon_recent_sysmsg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/icon_recent_sysmsg.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_aio_more_nor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_aio_more_nor.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/blue_button_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/blue_button_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/msg_tips_bg_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/msg_tips_bg_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/skin_msgbox_bg_nor.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/skin_msgbox_bg_nor.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/skin_msgbox_bg_top.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/skin_msgbox_bg_top.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/troop_default_head_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/troop_default_head_1.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/troop_default_head_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/troop_default_head_2.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/troop_default_head_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/troop_default_head_3.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/struts2-core-2.1.8.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/struts2-core-2.1.8.1.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/img/icon_loading_small.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/img/icon_loading_small.gif -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/action_sheet_base_9.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/action_sheet_base_9.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/aio_friend_bg_nor.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/aio_friend_bg_nor.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/aio_user_bg_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/aio_user_bg_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/chat_tool_send_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/chat_tool_send_file.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/login_default_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/login_default_avatar.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_aio_more_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_aio_more_pressed.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_bar_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_bar_bg.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_newmessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_newmessage.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/blue_button_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/blue_button_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/msg_tips_bg_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/msg_tips_bg_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_bottom_pre.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_bottom_pre.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_middle_pre.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_middle_pre.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/set_list_single_pre.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/set_list_single_pre.9.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/spring-context-support.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/spring-context-support.jar -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/aio_friend_bg_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/aio_friend_bg_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_aio_input_bar_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_aio_input_bar_bg.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_btn_press.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_btn_press.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_icon_group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_icon_group.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_icon_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_icon_single.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_newmessage2.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_newmessage2.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/conversation_loading_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/conversation_loading_icon.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/skin_msgbox_bg_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/skin_msgbox_bg_pressed.9.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.asm-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.asm-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.beans-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.beans-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.core-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.core-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.jdbc-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.jdbc-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.orm-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.orm-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.transaction-3.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.transaction-3.0.2.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.web-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.web-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/commons-fileupload-1.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/commons-fileupload-1.2.1.jar -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/add_contacts_create_troop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/add_contacts_create_troop.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/list_head_border_whitebg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/list_head_border_whitebg.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/profile_photowall_bg_male.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/profile_photowall_bg_male.jpg -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_bottom_bar_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_bottom_bar_background.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_btn_disable.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_btn_disable.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_btn_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_btn_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_setup_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_setup_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tabbar_tab_select.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tabbar_tab_select.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/conversation_net_error_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/conversation_net_error_icon.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/skin_icon_arrow_right_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/skin_icon_arrow_right_normal.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.context-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.context-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/add_contacts_look_for_troop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/add_contacts_look_for_troop.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/mchat_navbar_tab_m_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/mchat_navbar_tab_m_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/mchat_navbar_tab_m_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/mchat_navbar_tab_m_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/profile_photowall_bg_female.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/profile_photowall_bg_female.jpg -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_contact_add_btn_press.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_contact_add_btn_press.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_btn_back_press.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_btn_back_press.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_contact_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_contact_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_plugin_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_plugin_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_setup_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_setup_selected.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tabbar_tab_select_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tabbar_tab_select_left.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tabbar_tab_select_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tabbar_tab_select_right.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-hdpi/skin_icon_arrow_right_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-hdpi/skin_icon_arrow_right_pressed.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/Spring.expression-3.0.2.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/Spring.expression-3.0.2.RELEASE.jar -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_aio_send_button_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_aio_send_button_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_aio_send_button_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_aio_send_button_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_green_disable.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_green_disable.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_green_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_green_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_green_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_green_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_red_disabled.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_red_disabled.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_red_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_red_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_red_unpressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_red_unpressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_white_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_white_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_contact_add_btn_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_contact_add_btn_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_btn_back_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_btn_back_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_tab_left_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_tab_left_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_tab_left_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_tab_left_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_tab_right_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_tab_right_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_tab_right_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_tab_right_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_contact_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_contact_selected.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_plugin_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_plugin_selected.png -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/lib/mina-integration-beans-2.0.0-RC1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/lib/mina-integration-beans-2.0.0-RC1.jar -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/add_contacts_look_for_similarity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/add_contacts_look_for_similarity.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_blue_bg_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_blue_bg_pressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_blue_unpressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_blue_unpressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_white_disabled.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_white_disabled.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_common_btn_white_unpressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_common_btn_white_unpressed.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_conversation_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_conversation_normal.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/profile_photowall_avatar_frame_nor.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/profile_photowall_avatar_frame_nor.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_btn_indicative_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_btn_indicative_normal.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_header_btn_indicative_press.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_header_btn_indicative_press.9.png -------------------------------------------------------------------------------- /mchat-simple/res/drawable-320dpi/skin_tab_icon_conversation_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/mchat-simple/res/drawable-320dpi/skin_tab_icon_conversation_selected.png -------------------------------------------------------------------------------- /ichat-server/src/main/java/com/farsunset/ichat/cim/push/MessageHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/src/main/java/com/farsunset/ichat/cim/push/MessageHandler.java -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /ichat-server/src/main/java/com/farsunset/ichat/api/action/MessageAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/src/main/java/com/farsunset/ichat/api/action/MessageAction.java -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/resource/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$User.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$User.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/api/action/MessageAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/api/action/MessageAction.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/handler/AuthHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/handler/AuthHandler.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/handler/LogoutHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/handler/LogoutHandler.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/push/MessageHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/push/MessageHandler.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$Common.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$Common.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$Number.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$Number.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/admin/action/SessionAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/admin/action/SessionAction.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$MessageType.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$MessageType.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$RequestParam.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/common/Constants$RequestParam.class -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/handler/SessionClosedHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caprice/cim/HEAD/ichat-server/WebRoot/WEB-INF/classes/com/farsunset/ichat/cim/handler/SessionClosedHandler.class -------------------------------------------------------------------------------- /mchat-simple/gen/com/farsunset/ichat/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** Automatically generated file. DO NOT MODIFY */ 2 | package com.farsunset.ichat; 3 | 4 | public final class BuildConfig { 5 | public final static boolean DEBUG = true; 6 | } -------------------------------------------------------------------------------- /mchat-simple/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/appear.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/disappear.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /mchat-simple/res/layout/activity_splansh.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /mchat-simple/res/drawable/common_msgbox_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/activity_new.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/activity_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/activity_finish.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/activity_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /mchat-simple/res/drawable/top_back_left_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/rotate.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /mchat-simple/res/color/login_text_button_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ichat-server/.mymetadata: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/slide_in_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/slide_in_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/slide_out_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | -------------------------------------------------------------------------------- /mchat-simple/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | # Project target. 11 | target=android-10 12 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/slide_out_to_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /mchat-simple/res/drawable/common_button_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /mchat-simple/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/adapter/MessageTimeDescComparator.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.adapter; 2 | 3 | import java.util.Comparator; 4 | 5 | import com.farsunset.cim.nio.mutual.Message; 6 | 7 | public class MessageTimeDescComparator implements Comparator{ 8 | 9 | @Override 10 | public int compare(Message arg0, Message arg1) { 11 | 12 | return (int) (arg1.getTimestamp() - arg0.getTimestamp()) ; 13 | } 14 | 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/handle/AbstractHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.cim.nio.handle; 3 | 4 | /** 5 | * 请求处理接口,所有的请求实现必须继承于此 6 | * @author 3979434@qq.com 7 | */ 8 | import org.apache.mina.core.session.IoSession; 9 | 10 | import com.farsunset.cim.nio.mutual.ReplyBody; 11 | import com.farsunset.cim.nio.mutual.SentBody; 12 | 13 | public interface AbstractHandler { 14 | 15 | public abstract ReplyBody process(IoSession ios,SentBody message); 16 | } -------------------------------------------------------------------------------- /mchat-simple/res/anim/extension_disappear_from_top_to_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/extension_appear_from_bottom_to_top.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 这套IM系统为我个人自主开发 使用了 apache mina ,主要功能为 服务端和客户端,客户端 到客户端的即时通信,可以支持包括文字 图片,语音等任何消息形式 2 | 服务端使用的 struts2+spring3和 apache mina 3 | android端 也使用的apache mina 4 | 5 | 前言: 6 | 现在市面上有很多 xmpp协议的即时通讯方案,openfire androidpn,等等。它们都是使用了apache mina开发,但是这些东西基本都需要二次改造开发。而且改动还很大,我也看过这些东西的源码,发现代码结构不太理想,耦合的情况太多,实在不好扩展。所谓XMPP 协议。只不过是别人使用mina 自定义了一个消息编码解码协议。通俗的讲就是,xml形式消息的编码与解码,我们完全没有必要在国外这套不成熟的openfire 与xmpp 上耗费过多的精力去研究,我们完全可以通过apache mina 自定义自己的通讯协议,并可以为它使用自己的名字。我们不要盲目崇拜国外的有些东西,自己掌握原理,才是最重要的,各位切记~ 7 | 8 | 这套IM系统结构还是非常清晰合理的,非常容易扩展和改造,下面是android版本 的 demo的目的是只是一个演示 ,可以参照它的代码,使用这套系统开发自己的东西,核心价值是一套高灵活性,相对标准化的 即时通讯解决方案,即时聊天只是它的一种运用途径! 9 | 10 | -------------------------------------------------------------------------------- /mchat-simple/res/anim/disappear_del.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 23 | -------------------------------------------------------------------------------- /ichat-server/WebRoot/console/nav.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | String navBasePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ request.getContextPath(); 3 | %> 4 | <%@ page language="java" pageEncoding="UTF-8"%> 5 |
6 | 18 | 19 | 20 |
-------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/container/ContextHolder.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.container; 2 | 3 | import org.springframework.context.ApplicationContext; 4 | 5 | public class ContextHolder { 6 | 7 | private static ApplicationContext context; 8 | 9 | 10 | 11 | public static void setContext(ApplicationContext ac) 12 | { 13 | 14 | context =ac; 15 | } 16 | 17 | 18 | public static Object getBean(String name) 19 | { 20 | 21 | return context.getBean(name); 22 | } 23 | 24 | public static T getBean(Class c) 25 | { 26 | 27 | return context.getBean(c); 28 | } 29 | } -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/css/dialog.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------dialog------------------------*/ 2 | 3 | .gdialog { 4 | 5 | -webkit-box-shadow: 0 0 20px -2px rgba(0, 0, 0, 0.5); 6 | -moz-box-shadow: 0 0 20px -2px rgba(0,0,0,0.5); 7 | -ms-box-shadow: 0 0 20px -2px rgba(0,0,0,0.5); 8 | box-shadow: 0 0 20px -2px rgba(0, 0, 0, 0.5); 9 | border: 1px solid #6D7A89; 10 | border-radius: 0px; 11 | } 12 | 13 | .gdialog div{ 14 | 15 | border-radius: 0px; 16 | } 17 | 18 | .gdialog .close{ 19 | 20 | background-color: white; 21 | border-radius: 99px; 22 | opacity: .5; 23 | filter: alpha(opacity=50); 24 | } 25 | 26 | .gdialog .close:hover, .gdialog .close:focus{ 27 | opacity: .93; 28 | filter: alpha(opacity=93); 29 | } -------------------------------------------------------------------------------- /ichat-server/src/main/resource/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=warn,console, file 2 | 3 | #----------console---------------- 4 | log4j.appender.console=org.apache.log4j.ConsoleAppender 5 | log4j.appender.console.layout=org.apache.log4j.PatternLayout 6 | log4j.appender.console.Target=System.out 7 | log4j.appender.console.layout.ConversionPattern=%C %p %d{yyyy-MM-dd HH:mm:ss}%n%m%n--------------------------------------------------------------------------------------------------------------------------%n 8 | #----------file---------------- 9 | log4j.appender.file=org.apache.log4j.FileAppender 10 | log4j.appender.file.File=cim.log 11 | log4j.appender.file.layout=org.apache.log4j.PatternLayout 12 | log4j.appender.file.layout.ConversionPattern=%C %p %d{yyyy-MM-dd HH\:mm\:ss} - %m%n 13 | 14 | -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=warn,console, file 2 | 3 | #----------console---------------- 4 | log4j.appender.console=org.apache.log4j.ConsoleAppender 5 | log4j.appender.console.layout=org.apache.log4j.PatternLayout 6 | log4j.appender.console.Target=System.out 7 | log4j.appender.console.layout.ConversionPattern=%C %p %d{yyyy-MM-dd HH:mm:ss}%n%m%n--------------------------------------------------------------------------------------------------------------------------%n 8 | #----------file---------------- 9 | log4j.appender.file=org.apache.log4j.FileAppender 10 | log4j.appender.file.File=cim.log 11 | log4j.appender.file.layout=org.apache.log4j.PatternLayout 12 | log4j.appender.file.layout.ConversionPattern=%C %p %d{yyyy-MM-dd HH\:mm\:ss} - %m%n 13 | 14 | -------------------------------------------------------------------------------- /mchat-simple/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ichat 4 | 分钟前 5 | 小时前 6 | 天前 7 | 松开获取更多 8 | 下拉可以刷新 9 | 上次更新: 10 | 重新加载 11 | 网络连接失败 12 | 查看更多 13 | 正在检查更新...... 14 | 当前已是最新版本 15 | 发现新版本 16 | 刚刚 17 | 18 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/client/android/NetworkChangedReceiver.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.cim.client.android; 2 | 3 | import android.content.BroadcastReceiver; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | import android.net.ConnectivityManager; 7 | import android.net.NetworkInfo; 8 | /** 9 | * 手机网络状态变化时激发 10 | * @author xiajun 11 | * 12 | */ 13 | public class NetworkChangedReceiver extends BroadcastReceiver { 14 | 15 | @Override 16 | public void onReceive(Context content, Intent intent) { 17 | String action = intent.getAction(); 18 | if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { 19 | ConnectivityManager connectivityManager = (ConnectivityManager)content.getSystemService(Context.CONNECTIVITY_SERVICE); 20 | NetworkInfo info = connectivityManager.getActiveNetworkInfo(); 21 | CIMConnectorManager.getManager(content).onNetworkChanged(info); 22 | } 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /mchat-simple/res/layout/activity_system_chat.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | 22 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/filter/ServerMessageEncoder.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.cim.nio.filter; 2 | 3 | 4 | 5 | import org.apache.mina.core.buffer.IoBuffer; 6 | import org.apache.mina.core.session.IoSession; 7 | import org.apache.mina.filter.codec.ProtocolEncoderAdapter; 8 | import org.apache.mina.filter.codec.ProtocolEncoderOutput; 9 | 10 | import com.farsunset.cim.nio.constant.CIMConstant; 11 | 12 | /** 13 | * 14 | * @author 3979434@qq.com 15 | * 16 | */ 17 | public class ServerMessageEncoder extends ProtocolEncoderAdapter { 18 | 19 | 20 | @Override 21 | public void encode(IoSession iosession, Object message, ProtocolEncoderOutput out) throws Exception { 22 | 23 | 24 | IoBuffer buff = IoBuffer.allocate(320).setAutoExpand(true); 25 | //buff.putString(message.toString(), charset.newEncoder()); 26 | buff.put(message.toString().getBytes("UTF-8")); 27 | buff.put(CIMConstant.MESSAGE_SEPARATE); 28 | buff.flip(); 29 | out.write(buff); 30 | } 31 | 32 | 33 | 34 | } 35 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/filter/ClientMessageEncoder.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.cim.nio.filter; 2 | 3 | 4 | 5 | import org.apache.mina.core.buffer.IoBuffer; 6 | import org.apache.mina.core.session.IoSession; 7 | import org.apache.mina.filter.codec.ProtocolEncoderAdapter; 8 | import org.apache.mina.filter.codec.ProtocolEncoderOutput; 9 | 10 | import com.farsunset.cim.nio.constant.CIMConstant; 11 | /** 12 | * 13 | * @author 3979434@qq.com 14 | * 15 | */ 16 | public class ClientMessageEncoder extends ProtocolEncoderAdapter { 17 | 18 | 19 | @Override 20 | public void encode(IoSession iosession, Object message, ProtocolEncoderOutput out) throws Exception { 21 | 22 | IoBuffer buff = IoBuffer.allocate(320).setAutoExpand(true); 23 | //buff.putString( message.toString(), charset.newEncoder()); 24 | buff.put(message.toString().getBytes("UTF-8")); 25 | buff.put(CIMConstant.MESSAGE_SEPARATE); 26 | buff.flip(); 27 | out.write(buff); 28 | } 29 | 30 | 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/web/tag/Functions.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.web.tag; 2 | 3 | import com.farsunset.framework.web.DataMap;; 4 | 5 | public class Functions { 6 | 7 | 8 | public static String chatAt(String source,int index) 9 | { 10 | if(source==null || index >source.length() -1 || index<0) 11 | { 12 | return ""; 13 | } 14 | return String.valueOf(source.charAt(index)); 15 | } 16 | 17 | public static String powers(String power) 18 | { 19 | StringBuffer buffer = new StringBuffer(); 20 | if(power!=null) 21 | { 22 | for(int i=0;i 2 | 3 | #f89636 4 | #ffffff 5 | #3399CC 6 | #A5CD4E 7 | #ff789089 8 | #000000 9 | #E20C0C 10 | #fff4f6f8 11 | #c8ffffff 12 | #ffeef1f3 13 | #00000000 14 | 15 | #050917 16 | #59687C 17 | 18 | #050917 19 | 20 | #DDDDFF 21 | #AAAAAA 22 | #00000000 23 | #0D3EDE 24 | #519A2D 25 | 26 | #00ffffff 27 | 28 | -------------------------------------------------------------------------------- /ichat-server/src/main/java/com/farsunset/ichat/cim/handler/LogoutHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.ichat.cim.handler; 3 | 4 | import java.util.HashMap; 5 | import java.util.List; 6 | import org.apache.mina.core.session.IoSession; 7 | 8 | import com.farsunset.cim.nio.handle.AbstractHandler; 9 | import com.farsunset.cim.nio.mutual.ReplyBody; 10 | import com.farsunset.cim.nio.mutual.SentBody; 11 | import com.farsunset.cim.nio.session.DefaultSessionManager; 12 | import com.farsunset.framework.container.ContextHolder; 13 | 14 | 15 | /** 16 | * 退出连接实现 17 | * 18 | * @author 3979434@qq.com 19 | */ 20 | public class LogoutHandler implements AbstractHandler { 21 | 22 | public ReplyBody process(IoSession ios, SentBody message) { 23 | 24 | 25 | 26 | String account = message.get("account"); 27 | ios =((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).getSession(account); 28 | 29 | if (ios != null) { 30 | ios.close(true); 31 | ((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).removeSession(account); 32 | } 33 | 34 | return null; 35 | } 36 | 37 | 38 | } -------------------------------------------------------------------------------- /ichat-server/src/main/java/com/farsunset/ichat/cim/handler/SessionClosedHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.ichat.cim.handler; 3 | 4 | import org.apache.log4j.Logger; 5 | import org.apache.mina.core.session.IoSession; 6 | 7 | import com.farsunset.cim.nio.handle.AbstractHandler; 8 | import com.farsunset.cim.nio.mutual.ReplyBody; 9 | import com.farsunset.cim.nio.mutual.SentBody; 10 | import com.farsunset.cim.nio.session.DefaultSessionManager; 11 | import com.farsunset.framework.container.ContextHolder; 12 | 13 | /** 14 | * 断开连接,清除session 15 | * 16 | * @author 17 | */ 18 | public class SessionClosedHandler implements AbstractHandler { 19 | 20 | protected final Logger logger = Logger.getLogger(SessionClosedHandler.class); 21 | 22 | public ReplyBody process(IoSession ios, SentBody message) { 23 | 24 | String account = ((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).getAccount(ios); 25 | 26 | if(account != null) 27 | { 28 | ((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).removeSession(account); 29 | 30 | } 31 | return null; 32 | } 33 | 34 | 35 | 36 | } -------------------------------------------------------------------------------- /ichat-server/src/main/resource/struts.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | /console/session/manage.jsp 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/classes/struts.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | /console/session/manage.jsp 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/hibernate/HibernateBaseDao.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.hibernate; 2 | 3 | import java.io.Serializable; 4 | import java.lang.reflect.ParameterizedType; 5 | import java.lang.reflect.Type; 6 | import java.util.List; 7 | 8 | import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 9 | 10 | 11 | public class HibernateBaseDao extends HibernateDaoSupport { 12 | private Class entityClass; 13 | 14 | public HibernateBaseDao() { 15 | Type genType = getClass().getGenericSuperclass(); 16 | Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); 17 | entityClass = (Class) params[0]; 18 | } 19 | 20 | public T get(Serializable id) { 21 | return (T) getHibernateTemplate().get(entityClass, id); 22 | } 23 | 24 | 25 | public List getAll() { 26 | return getHibernateTemplate().loadAll(entityClass); 27 | } 28 | 29 | public void save(Object o) { 30 | getHibernateTemplate().save(o); 31 | } 32 | 33 | public void delete(Object o) { 34 | getHibernateTemplate().delete(o); 35 | } 36 | 37 | public void update(Object o) { 38 | 39 | 40 | 41 | getHibernateTemplate().update(o); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/util/StringUtil.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.util; 2 | 3 | import java.text.SimpleDateFormat; 4 | import java.util.Date; 5 | 6 | 7 | public class StringUtil { 8 | 9 | 10 | public static boolean isEmpty(Object obj) 11 | { 12 | 13 | return null == obj || "".equals(obj.toString().trim()); 14 | } 15 | 16 | public static boolean isNotEmpty(Object obj) 17 | { 18 | 19 | return !isEmpty(obj); 20 | } 21 | public static String getSequenceId() 22 | { 23 | String mark = String.valueOf(System.currentTimeMillis()); 24 | return mark; 25 | } 26 | 27 | public static String getCurrentlyDateTime() { 28 | SimpleDateFormat dateFormat = new SimpleDateFormat( 29 | "yyyyMMddHHmmss"); 30 | return dateFormat.format(new Date()); 31 | } 32 | 33 | public static String transformDateTime(long t) { 34 | Date date = new Date(t); 35 | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 36 | return dateFormat.format(date); 37 | } 38 | 39 | public static String getCurrentlyDate() { 40 | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); 41 | return dateFormat.format(new Date()); 42 | } 43 | 44 | 45 | } 46 | -------------------------------------------------------------------------------- /ichat-server/WebRoot/resource/css/table.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | /*---------------------------------toppage------------------------------*/ 3 | 4 | 5 | /*---------------------------------table------------------------------*/ 6 | .utable { 7 | border-collapse: collapse; 8 | border-spacing: 0; 9 | border-top: solid 1px #D4D4D4; 10 | border-left: solid 1px #D4D4D4; 11 | text-align: center; 12 | font-size: 12px; 13 | background: #ffffff; 14 | word-break:break-all; 15 | margin-right: 10px; 16 | } 17 | .utable tr th { 18 | background-color: #d8dce5; 19 | border: solid 1px #D4D4D4; 20 | color: #463E5E; 21 | line-height: 40px; 22 | font-size: 14px; 23 | text-align: center; 24 | } 25 | 26 | 27 | 28 | .utable tr:hover { 29 | background-color: #F1F1F1; 30 | } 31 | 32 | 33 | .utable tr td { 34 | border-right: solid 1px #D4D4D4; 35 | border-bottom: solid 1px #D4D4D4; 36 | color: #666; 37 | max-height: 80px; 38 | line-height: 35px; 39 | height:35px; 40 | padding-left: 5px; 41 | padding-right: 5px; 42 | overflow: hidden; 43 | white-space: nowrap; 44 | } 45 | 46 | 47 | .datarecord { 48 | text-align:center; 49 | line-height: 30px; 50 | background-color: #14A7D5; 51 | margin-right:10px; 52 | } 53 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/filter/ServerMessageCodecFactory.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.cim.nio.filter; 3 | 4 | import org.apache.mina.core.session.IoSession; 5 | import org.apache.mina.filter.codec.ProtocolCodecFactory; 6 | import org.apache.mina.filter.codec.ProtocolDecoder; 7 | import org.apache.mina.filter.codec.ProtocolEncoder; 8 | 9 | /** 10 | * @author 3979434@qq.com 11 | */ 12 | public class ServerMessageCodecFactory implements ProtocolCodecFactory { 13 | 14 | private final ServerMessageEncoder encoder; 15 | 16 | private final ServerMessageDecoder decoder; 17 | 18 | /** 19 | * Constructor. 20 | */ 21 | public ServerMessageCodecFactory() { 22 | encoder = new ServerMessageEncoder(); 23 | decoder = new ServerMessageDecoder(); 24 | } 25 | 26 | /** 27 | * Returns a new (or reusable) instance of ProtocolEncoder. 28 | */ 29 | public ProtocolEncoder getEncoder(IoSession session) throws Exception { 30 | return encoder; 31 | } 32 | 33 | /** 34 | * Returns a new (or reusable) instance of ProtocolDecoder. 35 | */ 36 | public ProtocolDecoder getDecoder(IoSession session) throws Exception { 37 | return decoder; 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/session/SessionManager.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.cim.nio.session; 3 | 4 | import java.util.Collection; 5 | 6 | import org.apache.mina.core.session.IoSession; 7 | 8 | /** 9 | * 客户端的 session管理接口 10 | * 可自行实现此接口管理session 11 | * @author 3979434@qq.com 12 | */ 13 | 14 | public interface SessionManager { 15 | 16 | 17 | /** 18 | * 添加新的session 19 | */ 20 | public void addSession(String account,IoSession session); 21 | 22 | /** 23 | * 24 | * @param account 客户端session的 key 一般可用 用户账号来对应session 25 | * @return 26 | */ 27 | IoSession getSession(String account); 28 | 29 | /** 30 | * 获取所有session 31 | * @return 32 | */ 33 | public Collection getSessions(); 34 | 35 | /** 36 | * 删除session 37 | * @param session 38 | */ 39 | public void removeSession(IoSession session) ; 40 | 41 | 42 | /** 43 | * 删除session 44 | * @param session 45 | */ 46 | public void removeSession(String account); 47 | 48 | /** 49 | * session是否存在 50 | * @param session 51 | */ 52 | public boolean containsIoSession(IoSession ios); 53 | 54 | /** 55 | * session获取对应的 用户 key 56 | * @param session 57 | */ 58 | public String getAccount(IoSession ios); 59 | } -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/filter/ClientMessageCodecFactory.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.cim.nio.filter; 3 | 4 | import org.apache.mina.core.session.IoSession; 5 | import org.apache.mina.filter.codec.ProtocolCodecFactory; 6 | import org.apache.mina.filter.codec.ProtocolDecoder; 7 | import org.apache.mina.filter.codec.ProtocolEncoder; 8 | 9 | /** 10 | *java | android 客户端编码工厂 11 | * @author 3979434@qq.com 12 | */ 13 | public class ClientMessageCodecFactory implements ProtocolCodecFactory { 14 | 15 | private final ClientMessageEncoder encoder; 16 | 17 | private final ClientMessageDecoder decoder; 18 | 19 | /** 20 | * Constructor. 21 | */ 22 | public ClientMessageCodecFactory() { 23 | encoder = new ClientMessageEncoder(); 24 | decoder = new ClientMessageDecoder(); 25 | } 26 | 27 | /** 28 | * Returns a new (or reusable) instance of ProtocolEncoder. 29 | */ 30 | public ProtocolEncoder getEncoder(IoSession session) throws Exception { 31 | return encoder; 32 | } 33 | 34 | /** 35 | * Returns a new (or reusable) instance of ProtocolDecoder. 36 | */ 37 | public ProtocolDecoder getDecoder(IoSession session) throws Exception { 38 | return decoder; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /ichat-server/src/main/java/com/farsunset/ichat/admin/action/SessionAction.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.admin.action; 2 | 3 | 4 | import java.io.IOException; 5 | 6 | import com.farsunset.cim.nio.mutual.Message; 7 | import com.farsunset.cim.nio.session.DefaultSessionManager; 8 | import com.farsunset.framework.container.ContextHolder; 9 | import com.farsunset.framework.web.SuperAction; 10 | public class SessionAction extends SuperAction { 11 | 12 | /** 13 | * 14 | */ 15 | private static final long serialVersionUID = 1L; 16 | 17 | 18 | 19 | 20 | 21 | public String list() 22 | { 23 | request.setAttribute("sessionList", ((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).getSessions()); 24 | 25 | return "list"; 26 | } 27 | 28 | public void offline() throws IOException 29 | { 30 | 31 | String account = request.getParameter("account"); 32 | Message msg = new Message(); 33 | msg.setType("999");//强行下线消息类型 34 | msg.setReceiver(account); 35 | 36 | ((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).getSession(account).write(msg); 37 | 38 | ((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).removeSession(account); 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/tools/StringUtil.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.tools; 2 | 3 | import java.text.SimpleDateFormat; 4 | import java.util.Date; 5 | 6 | 7 | public class StringUtil { 8 | 9 | 10 | public static boolean isEmpty(Object obj) 11 | { 12 | if(null == obj) 13 | return true; 14 | if("".equals(obj.toString().trim())) 15 | { 16 | return true; 17 | } 18 | return false; 19 | } 20 | 21 | public static boolean isNotEmpty(Object obj) 22 | { 23 | 24 | return !isEmpty(obj); 25 | } 26 | public static String getSequenceId() 27 | { 28 | String mark = String.valueOf(System.currentTimeMillis()); 29 | return mark; 30 | } 31 | 32 | public static String getCurrentlyDateTime() { 33 | SimpleDateFormat dateFormat = new SimpleDateFormat( 34 | "yyyyMMddHHmmss"); 35 | return dateFormat.format(new Date()); 36 | } 37 | 38 | public static String transformDateTime(long t) { 39 | Date date = new Date(t); 40 | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 41 | return dateFormat.format(date); 42 | } 43 | 44 | public static String getCurrentlyDate() { 45 | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); 46 | return dateFormat.format(new Date()); 47 | } 48 | 49 | 50 | } 51 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/client/android/CIMEventHandlerContainer.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.cim.client.android; 3 | 4 | import android.os.Handler; 5 | 6 | /** 7 | * 消息处理,用于ui线程处理消息事件 8 | * @author 3979434@qq.com 9 | * 10 | */ 11 | public abstract class CIMEventHandlerContainer { 12 | 13 | protected Handler messageReceivedHandler; 14 | 15 | protected Handler replyReceivedHandler; 16 | 17 | protected Handler messageSentSuccessfulHandler; 18 | 19 | protected Handler exceptionCaughtHandler; 20 | 21 | protected Handler sessionClosedHandler; 22 | 23 | protected Handler sessionCreatedHandler; 24 | 25 | protected Handler messageSentFailedHandler; 26 | 27 | protected Handler connectionFailedHandler; 28 | 29 | protected Handler networkChangedHandler; 30 | 31 | 32 | public abstract void createMessageReceivedHandler(); 33 | 34 | public abstract void createConnectionFailedHandler(); 35 | 36 | public abstract void createReplyReceivedHandler(); 37 | 38 | public abstract void createMessageSentSuccessfulHandler(); 39 | 40 | public abstract void createExceptionCaughtHandler(); 41 | 42 | public abstract void createSessionClosedHandler(); 43 | 44 | public abstract void createSessionCreatedHandler(); 45 | 46 | public abstract void createMessageSentFailedHandler(); 47 | 48 | 49 | } 50 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/client/android/OnCIMMessageListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * @author (3979434@qq.com) 3 | */ 4 | package com.farsunset.cim.client.android; 5 | 6 | import android.net.NetworkInfo; 7 | 8 | import com.farsunset.cim.nio.mutual.Message; 9 | import com.farsunset.cim.nio.mutual.ReplyBody; 10 | import com.farsunset.cim.nio.mutual.SentBody; 11 | 12 | /** 13 | * 连接 会话事件 接口 14 | * @author xiajun 15 | * 16 | */ 17 | public interface OnCIMMessageListener { 18 | 19 | /** 20 | * 当客户端和服务端连接断开时调用 21 | */ 22 | public void onConnectionClosed(); 23 | /** 24 | * 当客户端和服务端连接成功时调用 25 | */ 26 | public void onConnectionSuccessful(); 27 | /** 28 | * 当客户端和服务端连接失败时调用 29 | */ 30 | public void onConnectionFailed(Exception e); 31 | /** 32 | * 当客户端和服务端通信过程中出现异常调用 33 | */ 34 | public void onExceptionCaught(Throwable throwable); 35 | /** 36 | * 当客户端收到消息后调用 37 | */ 38 | public void onMessageReceived(Message message); 39 | /** 40 | * 当客户端收到请求的回复时调用 41 | */ 42 | public void onReplyReceived(ReplyBody reply); 43 | /** 44 | * 当客户端发送请求成功时 45 | */ 46 | public void onSentSuccessful(SentBody sentbody); 47 | /** 48 | * 当客户端发送请求失败时 49 | */ 50 | public void onSentFailed(Exception e,SentBody sent); 51 | 52 | /** 53 | * 当手机网络状态发生变化 54 | */ 55 | public void onNetworkChanged(NetworkInfo info); 56 | } 57 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/web/listener/ContainerBeanLoaderListener.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.web.listener; 2 | 3 | 4 | import javax.servlet.ServletContextEvent; 5 | import javax.servlet.ServletContextListener; 6 | 7 | import org.apache.log4j.Logger; 8 | import org.springframework.web.context.ContextLoader; 9 | 10 | import com.farsunset.framework.container.ContextHolder; 11 | 12 | public class ContainerBeanLoaderListener implements ServletContextListener{ 13 | 14 | ContextLoader contextLoader; 15 | protected final Logger logger = Logger.getLogger(ContainerBeanLoaderListener.class); 16 | @Override 17 | public void contextDestroyed(ServletContextEvent event) { 18 | if(contextLoader != null) 19 | contextLoader.closeWebApplicationContext(event.getServletContext()); 20 | ContextHolder.setContext( null); 21 | } 22 | 23 | @Override 24 | public void contextInitialized(ServletContextEvent event) { 25 | 26 | if(contextLoader == null){ 27 | contextLoader = new ContextLoader(); 28 | } 29 | 30 | logger.debug("******************* container start begin ******************************"); 31 | ContextHolder.setContext(contextLoader.initWebApplicationContext(event.getServletContext())); 32 | logger.debug("******************* container start successfull ************************"); 33 | 34 | } 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/app/CommonBaseControl.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.app; 2 | 3 | 4 | 5 | import android.app.ProgressDialog; 6 | import android.content.Context; 7 | import android.view.LayoutInflater; 8 | import android.view.View; 9 | import android.widget.TextView; 10 | import android.widget.Toast; 11 | 12 | import com.farsunset.ichat.R; 13 | 14 | 15 | public class CommonBaseControl { 16 | 17 | private ProgressDialog progressDialog; 18 | 19 | Context mMontent; 20 | 21 | 22 | public CommonBaseControl(Context content) 23 | { 24 | this.mMontent = content; 25 | } 26 | 27 | 28 | 29 | public void showProgressDialog(String title,String message) 30 | { 31 | if(progressDialog==null) 32 | { 33 | 34 | progressDialog = ProgressDialog.show(mMontent, title, message, true, false); 35 | }else if(progressDialog.isShowing()) 36 | { 37 | progressDialog.setTitle(title); 38 | progressDialog.setMessage(message); 39 | } 40 | 41 | progressDialog.show(); 42 | 43 | } 44 | 45 | public void hideProgressDialog() 46 | { 47 | 48 | if(progressDialog!=null&&progressDialog.isShowing()) 49 | { 50 | progressDialog.dismiss(); 51 | } 52 | 53 | } 54 | 55 | public void showToask(String hint){ 56 | 57 | Toast toast=Toast.makeText(mMontent,hint,Toast.LENGTH_LONG); 58 | toast.show(); 59 | } 60 | 61 | 62 | } 63 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/web/Page.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.web; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | public class Page { 6 | private int count; 7 | public int size=10; 8 | private int currentPage = 1; 9 | private int countPage; 10 | private String order; 11 | private List dataList; 12 | public int getCount() { 13 | return count; 14 | } 15 | 16 | public void setCount(int count) { 17 | 18 | countPage = (count-1)/size+1; 19 | this.count = count; 20 | } 21 | 22 | public int getCurrentPage() { 23 | return currentPage; 24 | } 25 | 26 | public void setCurrentPage(int currentPage) { 27 | this.currentPage = currentPage; 28 | } 29 | 30 | 31 | public String getOrder() { 32 | return order; 33 | } 34 | 35 | public void setOrder(String order) { 36 | this.order = order; 37 | } 38 | 39 | public int getCountPage() { 40 | 41 | countPage = (count-1)/size+1; 42 | return countPage; 43 | } 44 | 45 | public boolean hasNextPage(){ 46 | return currentPage getDataList() { 56 | if(dataList== null) 57 | return new ArrayList(); 58 | return dataList; 59 | } 60 | 61 | public void setDataList(List dataList) { 62 | this.dataList = dataList; 63 | } 64 | 65 | 66 | } -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/constant/CIMConstant.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.cim.nio.constant; 3 | 4 | /** 5 | * 常量 6 | * 7 | * @author 3979434@qq.com 8 | */ 9 | public interface CIMConstant { 10 | 11 | public static class ReturnCode{ 12 | 13 | public static String CODE_404 ="404"; 14 | 15 | public static String CODE_403 ="403"; 16 | 17 | public static String CODE_405 ="405"; 18 | 19 | public static String CODE_200 ="200"; 20 | 21 | public static String CODE_206 ="206"; 22 | 23 | public static String CODE_500 ="500"; 24 | 25 | 26 | } 27 | 28 | public static byte MESSAGE_SEPARATE='\b'; 29 | 30 | 31 | public static int CIM_DEFAULT_MESSAGE_ORDER=1; 32 | 33 | /** 34 | * 对应ichat 中 spring-cim.xml > bean:mainIoHandler >handlers 35 | * 为 服务端处理对应的handlers,应该继承与com.farsunset.cim.nio.handle.AbstractHandler 36 | * @author xiajun 37 | * 38 | */ 39 | public static class RequestKey{ 40 | 41 | 42 | public static String CLIENT_AUTH ="client_auth"; 43 | 44 | public static String CLIENT_HEARTBEAT="client_heartbeat"; 45 | 46 | public static String CLIENT_LOGOUT ="client_logout"; 47 | 48 | public static String CLIENT_DIY ="client_diy"; 49 | 50 | public static String CLIENT_OFFLINE_MESSAGE ="client_get_offline_message"; 51 | 52 | } 53 | 54 | public static class SessionStatus{ 55 | 56 | public static int STATUS_OK =0; 57 | 58 | public static int STATUS_CLOSED =1; 59 | 60 | 61 | 62 | } 63 | } -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/client/android/CIMConnectorService.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.cim.client.android; 3 | 4 | import java.util.concurrent.ExecutorService; 5 | import java.util.concurrent.Executors; 6 | 7 | import android.app.Service; 8 | import android.content.Intent; 9 | import android.os.IBinder; 10 | 11 | 12 | 13 | public class CIMConnectorService extends Service { 14 | 15 | 16 | CIMConnectorManager manager; 17 | 18 | private ExecutorService connectExecutor; 19 | 20 | @Override 21 | public void onCreate() { 22 | 23 | manager = CIMConnectorManager.getManager(this.getApplicationContext()); 24 | 25 | connectExecutor = Executors.newSingleThreadExecutor(); 26 | } 27 | 28 | @Override 29 | public void onStart(Intent intent, int startId) { 30 | 31 | manager.createExceptionCaughtHandler(); 32 | manager.createMessageReceivedHandler(); 33 | manager.createMessageSentFailedHandler(); 34 | manager.createMessageSentSuccessfulHandler(); 35 | manager.createReplyReceivedHandler(); 36 | manager.createSessionClosedHandler(); 37 | manager.createSessionCreatedHandler(); 38 | manager.createConnectionFailedHandler(); 39 | 40 | connectExecutor.execute(new Runnable() { 41 | @Override 42 | public void run() { 43 | manager.connect(); 44 | } 45 | }); 46 | 47 | 48 | 49 | } 50 | 51 | @Override 52 | public void onDestroy() { 53 | manager.close(); 54 | } 55 | 56 | @Override 57 | public IBinder onBind(Intent arg0) { 58 | return null; 59 | } 60 | 61 | 62 | } 63 | -------------------------------------------------------------------------------- /ichat-server/src/main/java/com/farsunset/ichat/cim/handler/AuthHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.ichat.cim.handler; 3 | 4 | 5 | import org.apache.log4j.Logger; 6 | import org.apache.mina.core.session.IoSession; 7 | 8 | import com.farsunset.cim.nio.constant.CIMConstant; 9 | import com.farsunset.cim.nio.handle.AbstractHandler; 10 | import com.farsunset.cim.nio.mutual.ReplyBody; 11 | import com.farsunset.cim.nio.mutual.SentBody; 12 | import com.farsunset.cim.nio.session.DefaultSessionManager; 13 | import com.farsunset.framework.container.ContextHolder; 14 | 15 | /** 16 | * 鉴权实现 17 | * 18 | * @author 19 | */ 20 | public class AuthHandler implements AbstractHandler { 21 | 22 | protected final Logger logger = Logger.getLogger(AuthHandler.class); 23 | 24 | public ReplyBody process(IoSession ios, SentBody message) { 25 | 26 | 27 | logger.debug("begin auth :account:" +message.get("account")+"-----------------------------" ); 28 | ReplyBody reply = new ReplyBody(); 29 | try { 30 | String account = message.get("account"); 31 | 32 | 33 | ios.setAttribute("channel", message.get("channel")); 34 | ios.setAttribute("loginTime", System.currentTimeMillis()); 35 | ((DefaultSessionManager) ContextHolder.getBean("defaultSessionManager")).addSession(account, ios); 36 | 37 | 38 | reply.setCode(CIMConstant.ReturnCode.CODE_200); 39 | } catch (Exception e) { 40 | reply.setCode(CIMConstant.ReturnCode.CODE_500); 41 | e.printStackTrace(); 42 | } 43 | logger.debug("end auth :account:" +message.get("account")+"-----------------------------" +reply.getCode()); 44 | return reply; 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/web/SuperAction.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.web; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | import javax.servlet.http.HttpSession; 6 | 7 | import org.apache.struts2.interceptor.ServletRequestAware; 8 | import org.apache.struts2.interceptor.ServletResponseAware; 9 | 10 | import com.farsunset.framework.tools.StringUtil; 11 | import com.opensymphony.xwork2.ActionSupport; 12 | 13 | public class SuperAction extends ActionSupport implements ServletRequestAware,ServletResponseAware { 14 | 15 | /** 16 | * 17 | */ 18 | private static final long serialVersionUID = 1L; 19 | public HttpServletRequest request; 20 | public HttpServletResponse response; 21 | public HttpSession session; 22 | public Page page ; 23 | 24 | @Override 25 | public void setServletRequest(HttpServletRequest arg0) { 26 | // TODO Auto-generated method stub 27 | request = arg0; 28 | session = request.getSession(); 29 | 30 | 31 | page = new Page(); 32 | String pageIndex = request.getParameter("currentPage"); 33 | String pageSize = request.getParameter("pageSize"); 34 | int currentPage = 1; 35 | if(!StringUtil.isEmpty(pageIndex)) 36 | { 37 | currentPage = Integer.parseInt(pageIndex); 38 | } 39 | if(!StringUtil.isEmpty(pageSize)) 40 | { 41 | page.size = Integer.parseInt(pageSize); 42 | } 43 | page.setCurrentPage(currentPage); 44 | 45 | } 46 | @Override 47 | public void setServletResponse(HttpServletResponse arg0) { 48 | // TODO Auto-generated method stub 49 | response = arg0; 50 | } 51 | 52 | 53 | } -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/client/android/CIMMessageReceiveComparator.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.cim.client.android; 2 | 3 | import java.util.Comparator; 4 | 5 | import android.app.Activity; 6 | import android.content.Context; 7 | import android.content.pm.ActivityInfo; 8 | import android.content.pm.PackageManager; 9 | 10 | import com.farsunset.cim.nio.constant.CIMConstant; 11 | 12 | public class CIMMessageReceiveComparator implements Comparator{ 13 | 14 | Context mcontext; 15 | public CIMMessageReceiveComparator(Context ctx) 16 | { 17 | mcontext = ctx; 18 | } 19 | 20 | @Override 21 | public int compare(OnCIMMessageListener arg1, OnCIMMessageListener arg2) { 22 | 23 | Integer order1 = CIMConstant.CIM_DEFAULT_MESSAGE_ORDER; 24 | Integer order2 = CIMConstant.CIM_DEFAULT_MESSAGE_ORDER; 25 | ActivityInfo info; 26 | if (arg1 instanceof Activity ) { 27 | 28 | try { 29 | info = mcontext.getPackageManager() .getActivityInfo(((Activity)(arg1)).getComponentName(), PackageManager.GET_META_DATA); 30 | if(info.metaData!=null) 31 | { 32 | order1 = info.metaData.getInt("CIM_RECEIVE_ORDER"); 33 | } 34 | 35 | } catch (Exception e) {} 36 | } 37 | 38 | if (arg1 instanceof Activity ) { 39 | try { 40 | info = mcontext.getPackageManager() .getActivityInfo(((Activity)(arg2)).getComponentName(), PackageManager.GET_META_DATA); 41 | if(info.metaData!=null) 42 | { 43 | order2 = info.metaData.getInt("CIM_RECEIVE_ORDER"); 44 | } 45 | 46 | } catch (Exception e) {} 47 | } 48 | 49 | return order2.compareTo(order1); 50 | } 51 | 52 | 53 | } 54 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/web/DataMap.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.web; 2 | 3 | import java.util.ArrayList; 4 | import java.util.HashMap; 5 | import java.util.LinkedHashMap; 6 | import java.util.List; 7 | 8 | import org.dom4j.Document; 9 | import org.dom4j.DocumentException; 10 | import org.dom4j.Node; 11 | import org.dom4j.io.SAXReader; 12 | import org.dom4j.tree.DefaultElement; 13 | 14 | 15 | public class DataMap { 16 | 17 | final static LinkedHashMap powerMap = new LinkedHashMap(); 18 | final static List> powerList =new ArrayList>() ; 19 | public static void loadPowerMap() 20 | { 21 | SAXReader sax = new SAXReader(); 22 | Document root ; 23 | try { 24 | root = sax.read(DataMap.class.getResourceAsStream("/power.xml")); 25 | List nodeList = root.selectNodes("/powers/power"); 26 | for(Node node : nodeList) 27 | { 28 | DefaultElement element = (DefaultElement) node; 29 | powerMap.put(element.attributeValue("index"),element.attributeValue("name")); 30 | HashMap map = new HashMap(); 31 | map.put("index", element.attributeValue("index")); 32 | map.put("name", element.attributeValue("name")); 33 | powerList.add(map); 34 | } 35 | } catch (DocumentException e) { 36 | // TODO Auto-generated catch block 37 | e.printStackTrace(); 38 | } 39 | 40 | } 41 | 42 | public static LinkedHashMap getPowerMap() { 43 | return powerMap; 44 | } 45 | 46 | public static List> getPowerList() { 47 | return powerList; 48 | } 49 | 50 | 51 | 52 | 53 | 54 | } 55 | -------------------------------------------------------------------------------- /ichat-server/WebRoot/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | ichat 6 | 7 | 8 | 9 | contextConfigLocation 10 | 11 | classpath*:spring-*.xml 12 | 13 | 14 | 15 | log4jConfigLocation 16 | classpath:/log4j.properties 17 | 18 | 19 | 20 | 21 | com.farsunset.framework.web.listener.ContainerBeanLoaderListener 22 | 23 | 24 | 25 | 26 | struts2 27 | org.apache.struts2.dispatcher.FilterDispatcher 28 | 29 | 30 | struts2 31 | *.action 32 | 33 | 34 | struts2 35 | *.do 36 | 37 | 38 | struts2 39 | *.api 40 | 41 | 42 | -1 43 | 44 | 45 | 46 | 47 | 48 | /console/index.jsp 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/tools/ConfigManager.java: -------------------------------------------------------------------------------- 1 | 2 | package com.farsunset.framework.tools; 3 | 4 | import java.util.Properties; 5 | 6 | import org.apache.commons.logging.Log; 7 | import org.apache.commons.logging.LogFactory; 8 | 9 | /** 10 | * 11 | * @author farsunset (3979434@qq.com) 12 | */ 13 | public class ConfigManager { 14 | 15 | private static final Log log = LogFactory.getLog(ConfigManager.class); 16 | 17 | private Properties config; 18 | 19 | private static ConfigManager instance; 20 | 21 | private ConfigManager() { 22 | loadConfig(); 23 | } 24 | 25 | /** 26 | * Returns the singleton instance of ConfigManger. 27 | * 28 | * @return the instance 29 | */ 30 | public static ConfigManager getInstance() { 31 | if (instance == null) { 32 | synchronized (ConfigManager.class) { 33 | instance = new ConfigManager(); 34 | } 35 | } 36 | return instance; 37 | } 38 | 39 | 40 | 41 | /** 42 | * Loads the specific configuration file. 43 | * 44 | * @param configFileName the file name 45 | */ 46 | public void loadConfig() { 47 | try { 48 | config = new Properties(); 49 | config.load(ConfigManager.class.getClassLoader().getResourceAsStream("config.properties")); 50 | } catch (Exception ex) { 51 | log.error(ex.getMessage(), ex); 52 | 53 | } 54 | } 55 | 56 | /** 57 | * Returns the loaded configuration object. 58 | * 59 | * @return the configuration 60 | */ 61 | public String get(String key) { 62 | return config.getProperty(key); 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /ichat-server/WebRoot/console/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" pageEncoding="utf-8"%> 2 | <% 3 | String path = request.getContextPath(); 4 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path; 5 | %> 6 | 7 | 8 | 9 | 10 | 11 | CIM管理系统 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
<
<%@include file="header.jsp"%> 27 | 28 | <%@include file="nav.jsp"%> 29 | 30 |
31 | 32 |
33 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/framework/web/tag/TimestampTag.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.framework.web.tag; 2 | 3 | import java.io.IOException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.Date; 6 | 7 | import javax.servlet.jsp.JspWriter; 8 | import javax.servlet.jsp.tagext.Tag; 9 | import javax.servlet.jsp.tagext.TagSupport; 10 | 11 | 12 | public class TimestampTag extends TagSupport { 13 | 14 | /** 15 | * 16 | */ 17 | private static final long serialVersionUID = 1L; 18 | 19 | private long timestamp; 20 | private String format; 21 | public int doStartTag(){ 22 | return EVAL_BODY_INCLUDE; 23 | } 24 | public int doEndTag() { 25 | 26 | JspWriter out = pageContext.getOut(); 27 | Date date = new Date(timestamp); 28 | if(timestamp==0l) 29 | { 30 | try { 31 | out.print(""); 32 | } catch (IOException e) { 33 | // TODO Auto-generated catch block 34 | e.printStackTrace(); 35 | } 36 | 37 | return Tag.EVAL_PAGE; 38 | } 39 | if(format == null ) 40 | { 41 | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 42 | try { 43 | out.print(dateFormat.format(date)); 44 | } catch (IOException e) { 45 | // TODO Auto-generated catch block 46 | e.printStackTrace(); 47 | } 48 | }else 49 | { 50 | SimpleDateFormat dateFormat = new SimpleDateFormat(format); 51 | try { 52 | out.print(dateFormat.format(date)); 53 | } catch (IOException e) { 54 | // TODO Auto-generated catch block 55 | e.printStackTrace(); 56 | } 57 | } 58 | return Tag.EVAL_PAGE; 59 | } 60 | public void setTimestamp(long timestamp) { 61 | this.timestamp = timestamp; 62 | } 63 | public void setFormat(String format) { 64 | this.format = format; 65 | } 66 | 67 | 68 | 69 | 70 | } 71 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/ui/SplanshActivity.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.ui; 2 | 3 | 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.view.View; 8 | import android.view.animation.AlphaAnimation; 9 | import android.view.animation.Animation; 10 | import android.view.animation.Animation.AnimationListener; 11 | 12 | import com.farsunset.cim.client.android.CIMConnectorManager; 13 | import com.farsunset.cim.client.android.CIMConnectorService; 14 | import com.farsunset.ichat.R; 15 | import com.farsunset.ichat.app.CIMMonitorActivity; 16 | 17 | public class SplanshActivity extends CIMMonitorActivity{ 18 | 19 | boolean initComplete = false; 20 | public void onCreate(Bundle savedInstanceState) 21 | { 22 | 23 | startService(new Intent(SplanshActivity.this, CIMConnectorService.class)); 24 | 25 | super.onCreate(savedInstanceState); 26 | 27 | final View view = View.inflate(this, R.layout.activity_splansh, null); 28 | setContentView(view); 29 | 30 | AlphaAnimation aa = new AlphaAnimation(0.5f,1.0f); 31 | aa.setDuration(2000); 32 | view.startAnimation(aa); 33 | } 34 | @Override 35 | public void onConnectionSuccessful() { 36 | 37 | Intent intent = new Intent(SplanshActivity.this,LoginActivity.class); 38 | startActivity(intent); 39 | finish(); 40 | } 41 | 42 | 43 | /** 44 | * 当与服务端连接失败的时候,再次重新连接 45 | */ 46 | @Override 47 | public void onConnectionFailed(Exception e) { 48 | 49 | 50 | showToask("与服务端连接失败,请检查IP和端口是否设置正确"); 51 | 52 | super.onDestroy(); 53 | stopService(new Intent(this, CIMConnectorService.class)); 54 | this.finish(); 55 | 56 | } 57 | 58 | 59 | @Override 60 | public void onBackPressed() { 61 | 62 | stopService(new Intent(this, CIMConnectorService.class)); 63 | this.finish(); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/receiver/CIMMessageBroadcastReceiver.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.receiver; 2 | 3 | import android.app.Notification; 4 | import android.app.NotificationManager; 5 | import android.app.PendingIntent; 6 | import android.content.BroadcastReceiver; 7 | import android.content.Context; 8 | import android.content.Intent; 9 | 10 | import com.farsunset.cim.nio.mutual.Message; 11 | import com.farsunset.ichat.R; 12 | import com.farsunset.ichat.ui.SystemMessageActivity; 13 | /** 14 | *新 消息广告 15 | * @author xiajun 16 | * 17 | */ 18 | public final class CIMMessageBroadcastReceiver extends BroadcastReceiver { 19 | 20 | private NotificationManager notificationManager; 21 | 22 | 23 | @Override 24 | public void onReceive(Context context, Intent it) { 25 | 26 | 27 | this.notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 28 | Message msg = (Message) it.getSerializableExtra("message"); 29 | 30 | 31 | 32 | String title = "系统消息: "+ msg.getContent(); 33 | 34 | 35 | Notification notification = new Notification(); 36 | notification.icon = R.drawable.icon_notify; 37 | notification.defaults = Notification.DEFAULT_LIGHTS; 38 | notification.defaults |= Notification.DEFAULT_SOUND; 39 | notification.flags |= Notification.FLAG_AUTO_CANCEL; 40 | notification.when = Long.valueOf(msg.getTimestamp()); 41 | notification.tickerText = title; 42 | 43 | Intent notificationIntent = new Intent(context,SystemMessageActivity.class); 44 | 45 | PendingIntent contentIntent = PendingIntent.getActivity(context,1, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 46 | 47 | notification.setLatestEventInfo(context,"系统消息", msg.getContent(),contentIntent); 48 | notificationManager.notify(1, notification); 49 | 50 | 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /mchat-simple/proguard.cfg: -------------------------------------------------------------------------------- 1 | -optimizationpasses 5 2 | -dontusemixedcaseclassnames 3 | -dontskipnonpubliclibraryclasses 4 | -dontpreverify 5 | -verbose 6 | -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 7 | 8 | -dontwarn 9 | -keep public class com.adview.** {*;} 10 | -keeppackagenames com.madhouse.android.ads 11 | -keepclassmembers class * {public *;} 12 | -keep public class com.wqmobile.sdk.** {*;} 13 | -keep public class * {public *;} 14 | -keep public class com.adwo.adsdk.AdwoAdBrowserActivity 15 | -keep public class com.wooboo.** {*;} 16 | -keep public class cn.aduu.adsdk.**{*;} 17 | -keep class net.youmi.android.** {*;} 18 | -keep public class * extends android.app.Activity 19 | -keep public class * extends android.app.Application 20 | -keep public class * extends android.app.Service 21 | -keep public class * extends android.content.BroadcastReceiver 22 | -keep public class * extends android.content.ContentProvider 23 | -keep public class com.android.vending.licensing.ILicensingService 24 | -keep public class MobWin.* 25 | -keep public class MobWin.cnst.* 26 | -keep class com.tencent.lbsapi.* 27 | -keep class com.tencent.lbsapi.core.* 28 | -keep class LBSAPIProtocol.* 29 | -keep class com.tencent.lbsapi.core.QLBSJNI { 30 | *; 31 | } 32 | -keepclasseswithmembernames class * { 33 | native ; 34 | } 35 | 36 | -keepclasseswithmembernames class * { 37 | public (android.content.Context, android.util.AttributeSet); 38 | } 39 | 40 | -keepclasseswithmembernames class * { 41 | public (android.content.Context, android.util.AttributeSet, int); 42 | } 43 | 44 | -keepclassmembers enum * { 45 | public static **[] values(); 46 | public static ** valueOf(java.lang.String); 47 | } 48 | 49 | -keep class * implements android.os.Parcelable { 50 | public static final android.os.Parcelable$Creator *; 51 | } -------------------------------------------------------------------------------- /ichat-server/src/main/java/com/farsunset/ichat/common/Constants.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.common; 2 | 3 | public interface Constants { 4 | 5 | 6 | public class Common{ 7 | public final static String STATUS_1="1"; 8 | public final static String STATUS_0="0"; 9 | public final static String STATUS_2="2"; 10 | public final static String STATUS_3="3"; 11 | public final static String TYPR_1="1"; 12 | public final static String TYPR_2="2"; 13 | public final static String TYPR_9 = "9"; 14 | 15 | } 16 | public class User{ 17 | public final static Integer SUCCESS_CODE=1; 18 | public final static Integer ERROR_CODE=0; 19 | public final static String User="User"; 20 | 21 | } 22 | 23 | public class RequestParam 24 | { 25 | public final static String CURRENTPAGE="currentPage"; 26 | public final static String TYPE="type"; 27 | public static final String SIZE = "size"; 28 | 29 | } 30 | 31 | public class Number{ 32 | 33 | public final static Integer INT_0=0; 34 | public final static Integer INT_10=10; 35 | public final static Integer INT_403=403; 36 | 37 | } 38 | 39 | public static interface MessageType{ 40 | 41 | 42 | //用户之间的普通消息 43 | public static final String TYPE_0 = "0"; 44 | 45 | public static final String TYPE_1 = "1"; 46 | 47 | //系统向用户发送的普通消息 48 | public static final String TYPE_2 = "2"; 49 | 50 | //群里用户发送的 消息 51 | public static final String TYPE_3 = "3"; 52 | 53 | //系统定制消息---好友验证请求 54 | String TYPE_100 = "100"; 55 | 56 | //系统定制消息---同意好友请求 57 | String TYPE_101 = "101"; 58 | 59 | //系统定制消息---进群请求 60 | String TYPE_102 = "102"; 61 | 62 | //系统定制消息---同意进群请求 63 | String TYPE_103 = "103"; 64 | 65 | 66 | //系统定制消息---好友下线消息 67 | String TYPE_900 = "900"; 68 | 69 | //系统定制消息---好友上线消息 70 | String TYPE_901 = "901"; 71 | } 72 | 73 | } 74 | -------------------------------------------------------------------------------- /mchat-simple/res/layout/layout_global_top_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 26 | 27 | 36 | 37 | 47 | 48 | -------------------------------------------------------------------------------- /cim-core/src/com/farsunset/cim/nio/mutual/SentBody.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.cim.nio.mutual; 2 | 3 | import java.io.Serializable; 4 | import java.util.HashMap; 5 | /** 6 | * java |android 客户端请求结构 7 | * @author 3979434@qq.com 8 | * 9 | */ 10 | public class SentBody implements Serializable { 11 | 12 | /** 13 | * @author 3979434@qq.com 客户端发送消息对象 14 | */ 15 | private static final long serialVersionUID = 1L; 16 | 17 | private String key; 18 | 19 | private HashMap data; 20 | 21 | private long timestamp; 22 | 23 | public SentBody() { 24 | 25 | data = new HashMap(); 26 | timestamp = System.currentTimeMillis(); 27 | } 28 | 29 | public String getKey() { 30 | return key; 31 | } 32 | 33 | public String get(String k) { 34 | return data.get(k); 35 | } 36 | 37 | public long getTimestamp() { 38 | return timestamp; 39 | } 40 | 41 | public void setTimestamp(long timestamp) { 42 | this.timestamp = timestamp; 43 | } 44 | 45 | public void setKey(String key) { 46 | this.key = key; 47 | } 48 | 49 | public void put(String k, String v) { 50 | data.put(k, v); 51 | } 52 | 53 | public void remove(String k) { 54 | data.remove(k); 55 | } 56 | 57 | public HashMap getData() { 58 | return data; 59 | } 60 | 61 | @Override 62 | public String toString() { 63 | StringBuffer buffer = new StringBuffer(); 64 | buffer.append(""); 65 | buffer.append(""); 66 | buffer.append("").append(key).append(""); 67 | buffer.append("").append(timestamp).append(""); 68 | buffer.append(""); 69 | for (String key : data.keySet()) { 70 | buffer.append("<" + key + ">").append(data.get(key)).append( 71 | ""); 72 | } 73 | buffer.append(""); 74 | buffer.append(""); 75 | return buffer.toString(); 76 | } 77 | 78 | public String toXmlString() { 79 | 80 | return toString(); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/app/Constant.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.app; 2 | 3 | import android.os.Environment; 4 | 5 | 6 | 7 | 8 | 9 | /** 10 | * 11 | * @version 1.0 12 | */ 13 | public interface Constant { 14 | 15 | 16 | public static final String SERVER_URL = "http://192.168.1.11:8080/ichat"; 17 | 18 | // public static final String SERVER_URL = "http://124.237.121.75:8989/ichat"; 19 | 20 | 21 | 22 | public static final String SENDER_SPLIT_CHAR = "[|]"; 23 | 24 | public static final String USER_CION_IMAGE_URL = SERVER_URL+"/userIcon"; 25 | public static final String GROUP_CION_IMAGE_URL = SERVER_URL+"/groupIcon"; 26 | public static final String CACHE_DIR=Environment.getExternalStorageDirectory().getPath()+"/com.farsunset.ichat.cache"; 27 | 28 | 29 | public int MESSAGE_PAGE_SIZE = 20; 30 | 31 | 32 | public static final String SYSTEM = "system"; 33 | 34 | 35 | public static interface ReturnCode{ 36 | 37 | //账号已经存在 38 | public static final String CODE_101 = "101"; 39 | } 40 | 41 | 42 | public static interface MessageType{ 43 | 44 | 45 | //用户之间的普通消息 46 | public static final String TYPE_0 = "0"; 47 | 48 | public static final String TYPE_1 = "1"; 49 | 50 | //系统向用户发送的普通消息 51 | public static final String TYPE_2 = "2"; 52 | 53 | //群里用户发送的 消息 54 | public static final String TYPE_3 = "3"; 55 | 56 | //系统定制消息---好友验证请求 57 | String TYPE_100 = "100"; 58 | 59 | //系统定制消息---同意好友请求 60 | String TYPE_101 = "101"; 61 | 62 | //系统定制消息---进群请求 63 | String TYPE_102 = "102"; 64 | 65 | //系统定制消息---同意进群请求 66 | String TYPE_103 = "103"; 67 | 68 | 69 | //系统定制消息---好友下线消息 70 | String TYPE_900 = "900"; 71 | 72 | //系统定制消息---好友上线消息 73 | String TYPE_901 = "901"; 74 | 75 | //下线类型 76 | String TYPE_999 = "999"; 77 | } 78 | 79 | 80 | public static interface MessageStatus{ 81 | 82 | //消息未读 83 | public static final String STATUS_0 = "0"; 84 | //消息已经读取 85 | public static final String STATUS_1 = "1"; 86 | 87 | 88 | //消息已经解码 89 | public static final String STATUS_999 = "999"; 90 | 91 | 92 | 93 | 94 | } 95 | 96 | } 97 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/app/CIMMonitorActivity.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.app; 2 | 3 | 4 | 5 | import android.app.Activity; 6 | import android.net.NetworkInfo; 7 | import android.os.Bundle; 8 | 9 | import com.farsunset.cim.client.android.CIMConnectorManager; 10 | import com.farsunset.cim.client.android.OnCIMMessageListener; 11 | import com.farsunset.cim.nio.mutual.Message; 12 | import com.farsunset.cim.nio.mutual.ReplyBody; 13 | import com.farsunset.cim.nio.mutual.SentBody; 14 | 15 | public abstract class CIMMonitorActivity extends Activity implements OnCIMMessageListener{ 16 | 17 | 18 | CommonBaseControl commonBaseControl; 19 | public void onCreate(Bundle savedInstanceState) 20 | { 21 | super.onCreate(savedInstanceState); 22 | CIMConnectorManager.getManager(this).registerMessageListener(this); 23 | 24 | commonBaseControl = new CommonBaseControl(this); 25 | 26 | 27 | } 28 | 29 | @Override 30 | public void onDestroy() { 31 | super.onDestroy(); 32 | CIMConnectorManager.getManager(this).removeMessageListener(this); 33 | 34 | } 35 | 36 | @Override 37 | public void onRestart() { 38 | super.onRestart(); 39 | CIMConnectorManager.getManager(this).registerMessageListener(this); 40 | } 41 | 42 | 43 | public void showProgressDialog(String title,String content) 44 | { 45 | commonBaseControl.showProgressDialog(title, content); 46 | } 47 | 48 | public void hideProgressDialog() 49 | { 50 | commonBaseControl.hideProgressDialog(); 51 | } 52 | 53 | public void showToask(String hint){ 54 | 55 | commonBaseControl.showToask(hint); 56 | } 57 | 58 | 59 | 60 | 61 | 62 | 63 | @Override 64 | public void onConnectionFailed(Exception e) { } 65 | 66 | @Override 67 | public void onConnectionClosed() {} 68 | 69 | @Override 70 | public void onConnectionSuccessful() {} 71 | 72 | @Override 73 | public void onReplyReceived(ReplyBody reply) {} 74 | 75 | @Override 76 | public void onMessageReceived(Message arg0) {} 77 | 78 | @Override 79 | public void onSentSuccessful(SentBody sentbody) {} 80 | 81 | @Override 82 | public void onSentFailed(Exception exception, SentBody sentbody) {} 83 | 84 | @Override 85 | public void onExceptionCaught(Throwable throwable) {} 86 | 87 | @Override 88 | public void onNetworkChanged(NetworkInfo info){}; 89 | } 90 | -------------------------------------------------------------------------------- /mchat-simple/src/com/farsunset/ichat/adapter/SystemMsgListViewAdapter.java: -------------------------------------------------------------------------------- 1 | package com.farsunset.ichat.adapter; 2 | 3 | import java.text.SimpleDateFormat; 4 | import java.util.Collections; 5 | import java.util.Date; 6 | import java.util.List; 7 | 8 | import android.view.LayoutInflater; 9 | import android.view.View; 10 | import android.view.ViewGroup; 11 | import android.widget.BaseAdapter; 12 | import android.widget.ImageView; 13 | import android.widget.TextView; 14 | 15 | import com.farsunset.cim.nio.mutual.Message; 16 | import com.farsunset.ichat.R; 17 | import com.farsunset.ichat.ui.SystemMessageActivity; 18 | 19 | 20 | public class SystemMsgListViewAdapter extends BaseAdapter { 21 | 22 | protected List list; 23 | protected SystemMessageActivity scactivity; 24 | int faceSize = 30; 25 | 26 | public SystemMsgListViewAdapter(SystemMessageActivity context, List list) { 27 | super(); 28 | this.scactivity = context; 29 | this.list = list; 30 | } 31 | 32 | @Override 33 | public int getCount() { 34 | return list.size(); 35 | } 36 | 37 | @Override 38 | public Message getItem(int position) { 39 | return list.get(position); 40 | } 41 | 42 | @Override 43 | public long getItemId(int position) { 44 | return 0; 45 | } 46 | 47 | @Override 48 | public void notifyDataSetChanged() 49 | { 50 | //Collections.sort(list, new MessageTimeDescComparator()); 51 | } 52 | @Override 53 | public View getView(int position, View chatItemView, ViewGroup parent) { 54 | 55 | final Message msg = getItem(position); 56 | 57 | 58 | chatItemView =LayoutInflater.from(scactivity).inflate(R.layout.item_chat_sysmsg, null); 59 | 60 | 61 | ((TextView) chatItemView.findViewById(R.id.textMsgType)).setText("系统消息"); 62 | 63 | ((TextView) chatItemView.findViewById(R.id.time)).setText(getDateTimeString(Long.valueOf(msg.getTimestamp()))); 64 | 65 | ((TextView) chatItemView.findViewById(R.id.content)).setText(msg.getContent() ); 66 | ((ImageView) chatItemView.findViewById(R.id.headImageView)).setImageResource(R.drawable.icon_recent_sysmsg); 67 | 68 | return chatItemView; 69 | } 70 | 71 | public List getList() { 72 | return list; 73 | } 74 | 75 | public void setList(List list) { 76 | this.list = list; 77 | } 78 | public static String getDateTimeString(long t) 79 | { 80 | SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); 81 | return sdf.format(new Date(t)); 82 | } 83 | 84 | } 85 | --------------------------------------------------------------------------------