gitextract_tzm_poya/ ├── .gitignore ├── README.md ├── app/ │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── build.gradle │ ├── res/ │ │ ├── anim/ │ │ │ ├── fade_in.xml │ │ │ ├── fade_out.xml │ │ │ ├── head_in.xml │ │ │ ├── head_out.xml │ │ │ ├── hold.xml │ │ │ ├── push_bottom_in.xml │ │ │ ├── push_bottom_out.xml │ │ │ ├── push_top_in.xml │ │ │ ├── push_top_in2.xml │ │ │ ├── push_top_out.xml │ │ │ ├── push_top_out2.xml │ │ │ ├── slide_in_from_left.xml │ │ │ ├── slide_in_from_right.xml │ │ │ ├── slide_out_to_left.xml │ │ │ └── slide_out_to_right.xml │ │ ├── drawable/ │ │ │ └── btn_login_selector.xml │ │ ├── layout/ │ │ │ ├── activity_conversation.xml │ │ │ ├── activity_login.xml │ │ │ └── conversation_message.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── dimen_font.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── src/ │ └── io/ │ └── gobelieve/ │ └── im/ │ └── demo/ │ ├── BaseActivity.java │ ├── ConversationView.java │ ├── IMDemoApplication.java │ ├── LoginActivity.java │ ├── MessageListActivity.java │ └── model/ │ ├── Conversation.java │ ├── ConversationDB.java │ ├── MessageDatabaseHelper.java │ └── SQLCreator.java ├── asynctcp/ │ ├── .gitignore │ ├── build.gradle │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── beetle/ │ │ └── asynctcp/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── beetle/ │ │ ├── AsyncSSLTCP.java │ │ ├── AsyncTCP.java │ │ ├── AsyncTCPInterface.java │ │ ├── AsyncTCPTest.java │ │ ├── TCPConnectCallback.java │ │ └── TCPReadCallback.java │ └── res/ │ └── values/ │ └── strings.xml ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── imkit/ │ ├── build.gradle │ ├── libs/ │ │ ├── AMap_Location_V5.1.0_20200708.jar │ │ ├── AMap_Search_V7.3.0_20200331.jar │ │ └── Amap_2DMap_V6.0.0_20191106.jar │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── assets/ │ │ └── emoticon │ ├── java/ │ │ └── com/ │ │ └── beetle/ │ │ └── bauhinia/ │ │ ├── ChatItemQuickAction.java │ │ ├── CustomerMessageActivity.java │ │ ├── GroupMessageActivity.java │ │ ├── MessageActivity.java │ │ ├── MessageAudioActivity.java │ │ ├── MessageBaseActivity.java │ │ ├── PeerMessageActivity.java │ │ ├── activity/ │ │ │ ├── CameraActivity.java │ │ │ ├── LocationPickerActivity.java │ │ │ ├── MapActivity.java │ │ │ ├── MessageFileActivity.java │ │ │ ├── OverlayActivity.java │ │ │ ├── PhotoActivity.java │ │ │ ├── PlayerActivity.java │ │ │ └── WebActivity.java │ │ ├── api/ │ │ │ ├── IMHttpAPI.java │ │ │ ├── body/ │ │ │ │ └── PostDeviceToken.java │ │ │ └── types/ │ │ │ ├── Audio.java │ │ │ ├── File.java │ │ │ ├── Image.java │ │ │ ├── Media.java │ │ │ └── Supporter.java │ │ ├── handler/ │ │ │ ├── CustomerMessageHandler.java │ │ │ ├── GroupMessageHandler.java │ │ │ ├── PeerMessageHandler.java │ │ │ └── SyncKeyHandler.java │ │ ├── outbox/ │ │ │ ├── CustomerOutbox.java │ │ │ ├── GroupOutbox.java │ │ │ ├── Outbox.java │ │ │ ├── OutboxObserver.java │ │ │ └── PeerOutbox.java │ │ ├── tools/ │ │ │ ├── AudioRecorder.java │ │ │ ├── AudioUtil.java │ │ │ ├── BinAscii.java │ │ │ ├── DeviceUtil.java │ │ │ ├── FileCache.java │ │ │ ├── FileDownloader.java │ │ │ ├── ImageMIME.java │ │ │ ├── MapUtil.java │ │ │ ├── TimeUtil.java │ │ │ └── VideoUtil.java │ │ └── view/ │ │ ├── InMessageView.java │ │ ├── MessageRowView.java │ │ ├── MiddleMessageView.java │ │ ├── OutMessageView.java │ │ └── TagView.java │ └── res/ │ ├── anim/ │ │ ├── fade_in.xml │ │ ├── fade_out.xml │ │ ├── head_in.xml │ │ ├── head_out.xml │ │ ├── hold.xml │ │ ├── push_bottom_in.xml │ │ ├── push_bottom_out.xml │ │ ├── push_top_in.xml │ │ ├── push_top_in2.xml │ │ ├── push_top_out.xml │ │ ├── push_top_out2.xml │ │ ├── slide_in_from_left.xml │ │ ├── slide_in_from_right.xml │ │ ├── slide_out_to_left.xml │ │ └── slide_out_to_right.xml │ ├── drawable/ │ │ ├── chat_send_btn.xml │ │ ├── chatting_setmode_msg_btn.xml │ │ ├── chatting_setmode_voice_btn.xml │ │ ├── conversation_recording_round.xml │ │ ├── ease_chat_file_selector.xml │ │ ├── ease_chat_image_selector.xml │ │ ├── ease_chat_location_selector.xml │ │ ├── ease_chat_press_speak_btn.xml │ │ ├── ease_chat_send_btn_selector.xml │ │ ├── ease_chat_takepic_selector.xml │ │ ├── ease_chat_video_call_selector.xml │ │ ├── ease_chatting_setmode_keyboard_btn.xml │ │ ├── ease_chatting_setmode_voice_btn.xml │ │ ├── ease_edit_text_bg.xml │ │ ├── ease_recording_text_hint_bg.xml │ │ ├── ease_type_select_btn.xml │ │ └── ic_back.xml │ ├── layout/ │ │ ├── activity_camera.xml │ │ ├── activity_file.xml │ │ ├── activity_overlay.xml │ │ ├── activity_photo.xml │ │ ├── activity_player.xml │ │ ├── activity_web.xml │ │ ├── chat.xml │ │ ├── chat_container_center.xml │ │ ├── chat_container_left.xml │ │ ├── chat_container_right.xml │ │ ├── chat_location.xml │ │ ├── conversation_recording_dialog.xml │ │ └── location_picker.xml │ ├── menu/ │ │ ├── chat.xml │ │ ├── location_picker.xml │ │ └── menu_photo.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── values-zh/ │ │ └── strings.xml │ └── xml/ │ └── file_paths.xml ├── imlib/ │ ├── build.gradle │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── beetle/ │ │ └── bauhinia/ │ │ ├── activity/ │ │ │ └── BaseActivity.java │ │ ├── db/ │ │ │ ├── ConversationIterator.java │ │ │ ├── CustomerMessageDB.java │ │ │ ├── CustomerPeerMessageDB.java │ │ │ ├── EPeerMessageDB.java │ │ │ ├── GroupMessageDB.java │ │ │ ├── ICustomerMessage.java │ │ │ ├── IMessage.java │ │ │ ├── IMessageDB.java │ │ │ ├── MessageFlag.java │ │ │ ├── MessageIterator.java │ │ │ ├── PeerMessageDB.java │ │ │ ├── SQLCustomerMessageDB.java │ │ │ ├── SQLGroupMessageDB.java │ │ │ ├── SQLPeerMessageDB.java │ │ │ └── message/ │ │ │ ├── ACK.java │ │ │ ├── Attachment.java │ │ │ ├── Audio.java │ │ │ ├── Classroom.java │ │ │ ├── Conference.java │ │ │ ├── File.java │ │ │ ├── GroupNotification.java │ │ │ ├── GroupVOIP.java │ │ │ ├── Headline.java │ │ │ ├── Image.java │ │ │ ├── Link.java │ │ │ ├── Location.java │ │ │ ├── MessageContent.java │ │ │ ├── Notification.java │ │ │ ├── P2PSession.java │ │ │ ├── Readed.java │ │ │ ├── Revoke.java │ │ │ ├── Secret.java │ │ │ ├── Tag.java │ │ │ ├── Text.java │ │ │ ├── TimeBase.java │ │ │ ├── Unknown.java │ │ │ ├── VOIP.java │ │ │ └── Video.java │ │ ├── gallery/ │ │ │ ├── GalleryImage.java │ │ │ ├── tool/ │ │ │ │ ├── Closeables.java │ │ │ │ ├── DisplayUtils.java │ │ │ │ ├── FileUtils.java │ │ │ │ ├── ImageUtils.java │ │ │ │ ├── Md5FileNameUtils.java │ │ │ │ └── StorageUtils.java │ │ │ ├── ui/ │ │ │ │ ├── GalleryAdapter.java │ │ │ │ ├── GalleryGridAdapter.java │ │ │ │ ├── GalleryGridUI.java │ │ │ │ ├── GalleryUI.java │ │ │ │ └── PhotoActionPopup.java │ │ │ └── view/ │ │ │ └── ScrollViewPager.java │ │ ├── toolbar/ │ │ │ ├── Contact.java │ │ │ ├── EaseChatExtendMenu.java │ │ │ ├── EaseChatInputMenu.java │ │ │ ├── EaseChatPrimaryMenu.java │ │ │ ├── EaseExpandRecylerView.java │ │ │ └── emoticon/ │ │ │ ├── Emoticon.java │ │ │ ├── EmoticonAdapter.java │ │ │ ├── EmoticonManager.java │ │ │ ├── EmoticonPanel.java │ │ │ ├── EmoticonUtils.java │ │ │ └── ViewPagerAdapter.java │ │ ├── tools/ │ │ │ └── DisplayUtils.java │ │ └── view/ │ │ ├── MessageAudioView.java │ │ ├── MessageClassroomView.java │ │ ├── MessageContentView.java │ │ ├── MessageFileView.java │ │ ├── MessageImageView.java │ │ ├── MessageLinkView.java │ │ ├── MessageLocationView.java │ │ ├── MessageNotificationView.java │ │ ├── MessageTextView.java │ │ ├── MessageUnknownView.java │ │ ├── MessageVOIPView.java │ │ └── MessageVideoView.java │ └── res/ │ ├── drawable/ │ │ ├── bg_indicator_dot.xml │ │ ├── bg_indicator_dot_disable.xml │ │ ├── bg_indicator_dot_enable.xml │ │ ├── chatfrom_bg.xml │ │ ├── chatto_bg.xml │ │ ├── circle_audio.xml │ │ ├── gallery_watch_more_picture_background.xml │ │ └── rounded_corner.xml │ ├── drawable-mdpi/ │ │ ├── voice_from_icon.xml │ │ └── voice_to_icon.xml │ ├── layout/ │ │ ├── chat_content_audio.xml │ │ ├── chat_content_file.xml │ │ ├── chat_content_image.xml │ │ ├── chat_content_link.xml │ │ ├── chat_content_location.xml │ │ ├── chat_content_small_text.xml │ │ ├── chat_content_text.xml │ │ ├── chat_content_video.xml │ │ ├── chat_content_voip.xml │ │ ├── ease_chat_menu_item.xml │ │ ├── ease_row_expression.xml │ │ ├── ease_widget_chat_input_menu.xml │ │ ├── ease_widget_chat_primary_menu.xml │ │ ├── ease_widget_emojicon.xml │ │ ├── emoticon_view.xml │ │ ├── gallery_activity_gallery.xml │ │ ├── gallery_activity_gallery_grid.xml │ │ ├── gallery_activity_gallery_grid_item.xml │ │ ├── gallery_select_dialog_item.xml │ │ ├── item_emoticon.xml │ │ └── item_emoticon_page.xml │ ├── values/ │ │ ├── attrs.xml │ │ ├── colors.xml │ │ └── strings.xml │ └── values-zh/ │ └── strings.xml ├── imsdk/ │ ├── build.gradle │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── beetle/ │ │ └── im/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── beetle/ │ │ └── im/ │ │ ├── BytePacket.java │ │ ├── CustomerMessage.java │ │ ├── CustomerMessageHandler.java │ │ ├── CustomerMessageObserver.java │ │ ├── GroupMessageHandler.java │ │ ├── GroupMessageObserver.java │ │ ├── IMMessage.java │ │ ├── IMService.java │ │ ├── IMServiceObserver.java │ │ ├── Message.java │ │ ├── MessageACK.java │ │ ├── PeerMessageHandler.java │ │ ├── PeerMessageObserver.java │ │ ├── RTMessage.java │ │ ├── RTMessageObserver.java │ │ ├── RoomMessage.java │ │ ├── RoomMessageObserver.java │ │ ├── SyncKeyHandler.java │ │ ├── SystemMessageObserver.java │ │ └── Timer.java │ └── res/ │ └── values/ │ └── strings.xml ├── push_demo/ │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── build.gradle │ ├── libs/ │ │ ├── HwPush_SDK_V2559.jar │ │ ├── MiPush_SDK_Client_2_2_16.jar │ │ ├── Xg_sdk_v2.38_20150405_2046.jar │ │ ├── jg_filter_sdk_1.1.jar │ │ ├── mid-sdk-2.10.jar │ │ └── wup-1.0.0-SNAPSHOT.jar │ ├── proguard-rules.txt │ ├── res/ │ │ ├── anim/ │ │ │ ├── fade_in.xml │ │ │ ├── fade_out.xml │ │ │ ├── head_in.xml │ │ │ ├── head_out.xml │ │ │ ├── hold.xml │ │ │ ├── push_bottom_in.xml │ │ │ ├── push_bottom_out.xml │ │ │ ├── push_top_in.xml │ │ │ ├── push_top_in2.xml │ │ │ ├── push_top_out.xml │ │ │ ├── push_top_out2.xml │ │ │ ├── slide_in_from_left.xml │ │ │ ├── slide_in_from_right.xml │ │ │ ├── slide_out_to_left.xml │ │ │ └── slide_out_to_right.xml │ │ ├── drawable/ │ │ │ ├── btn_login_selector.xml │ │ │ └── hwpush_btn_checkbox_list_star.xml │ │ ├── layout/ │ │ │ ├── activity_login.xml │ │ │ ├── hwpush_buttons_layout.xml │ │ │ ├── hwpush_collect_tip_dialog.xml │ │ │ ├── hwpush_collection_item.xml │ │ │ ├── hwpush_collection_listview.xml │ │ │ ├── hwpush_icons_layout.xml │ │ │ ├── hwpush_layout2.xml │ │ │ ├── hwpush_layout4.xml │ │ │ ├── hwpush_layout7.xml │ │ │ ├── hwpush_layout8.xml │ │ │ ├── hwpush_msg_show.xml │ │ │ └── hwpush_titlebar.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimen_font.xml │ │ │ ├── dimens.xml │ │ │ ├── hwpush_colors.xml │ │ │ ├── hwpush_strings.xml │ │ │ ├── hwpush_styles.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── values-w820dp/ │ │ │ └── dimens.xml │ │ └── values-zh-rCN/ │ │ └── hwpush_strings.xml │ └── src/ │ └── io/ │ └── gobelieve/ │ └── im/ │ └── demo/ │ ├── BaseActivity.java │ ├── HuaweiPushReceiver.java │ ├── LoginActivity.java │ ├── PushDemoApplication.java │ ├── XGMessageReceiver.java │ └── XiaomiPushReceiver.java ├── room_demo/ │ ├── .gitignore │ ├── AndroidManifest.xml │ ├── build.gradle │ ├── res/ │ │ ├── anim/ │ │ │ ├── fade_in.xml │ │ │ ├── fade_out.xml │ │ │ ├── head_in.xml │ │ │ ├── head_out.xml │ │ │ ├── hold.xml │ │ │ ├── push_bottom_in.xml │ │ │ ├── push_bottom_out.xml │ │ │ ├── push_top_in.xml │ │ │ ├── push_top_in2.xml │ │ │ ├── push_top_out.xml │ │ │ ├── push_top_out2.xml │ │ │ ├── slide_in_from_left.xml │ │ │ ├── slide_in_from_right.xml │ │ │ ├── slide_out_to_left.xml │ │ │ └── slide_out_to_right.xml │ │ ├── drawable/ │ │ │ └── btn_login_selector.xml │ │ ├── layout/ │ │ │ ├── activity_login.xml │ │ │ └── activity_room.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimen_font.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ └── src/ │ └── io/ │ └── gobelieve/ │ └── im/ │ └── demo/ │ ├── IMDemoApplication.java │ ├── LoginActivity.java │ └── RoomActivity.java └── settings.gradle