gitextract_em0rdfsy/ ├── .gitignore ├── .idea/ │ ├── .name │ ├── compiler.xml │ ├── copyright/ │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── libs/ │ │ └── BaiduLBS_Android.jar │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── rance/ │ │ └── chatui/ │ │ └── ApplicationTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── rance/ │ │ │ └── chatui/ │ │ │ ├── adapter/ │ │ │ │ ├── ChatAdapter.java │ │ │ │ ├── CommonFragmentPagerAdapter.java │ │ │ │ ├── ContactAdapter.java │ │ │ │ ├── EmotionGridViewAdapter.java │ │ │ │ ├── EmotionPagerAdapter.java │ │ │ │ └── holder/ │ │ │ │ ├── BaseViewHolder.java │ │ │ │ ├── ChatAcceptViewHolder.java │ │ │ │ └── ChatSendViewHolder.java │ │ │ ├── base/ │ │ │ │ ├── BaseFragment.java │ │ │ │ └── MyApplication.java │ │ │ ├── enity/ │ │ │ │ ├── FullImageInfo.java │ │ │ │ ├── IMContact.java │ │ │ │ ├── Link.java │ │ │ │ └── MessageInfo.java │ │ │ ├── ui/ │ │ │ │ ├── activity/ │ │ │ │ │ ├── ContactActivity.java │ │ │ │ │ ├── FullImageActivity.java │ │ │ │ │ └── IMActivity.java │ │ │ │ └── fragment/ │ │ │ │ ├── ChatEmotionFragment.java │ │ │ │ └── ChatFunctionFragment.java │ │ │ ├── util/ │ │ │ │ ├── AudioRecorderUtils.java │ │ │ │ ├── CheckPermissionUtils.java │ │ │ │ ├── Constants.java │ │ │ │ ├── EmotionUtils.java │ │ │ │ ├── FileUtils.java │ │ │ │ ├── GifOpenHelper.java │ │ │ │ ├── GlobalOnItemClickManagerUtils.java │ │ │ │ ├── MediaManager.java │ │ │ │ ├── MessageCenter.java │ │ │ │ ├── PhotoUtils.java │ │ │ │ ├── PopupWindowFactory.java │ │ │ │ └── Utils.java │ │ │ └── widget/ │ │ │ ├── BubbleDrawable.java │ │ │ ├── BubbleImageView.java │ │ │ ├── BubbleLinearLayout.java │ │ │ ├── ChatContextMenu.java │ │ │ ├── EmotionInputDetector.java │ │ │ ├── GifTextView.java │ │ │ ├── IndicatorView.java │ │ │ ├── NoScrollViewPager.java │ │ │ └── StateButton.java │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── bg_circle_gary.xml │ │ │ ├── bg_circle_white.xml │ │ │ ├── bg_surname.xml │ │ │ ├── corners_edit.xml │ │ │ ├── corners_edit_white.xml │ │ │ ├── divider.xml │ │ │ ├── record_microphone.xml │ │ │ ├── record_microphone_bj.xml │ │ │ ├── voice_left.xml │ │ │ └── voice_right.xml │ │ ├── layout/ │ │ │ ├── activity_contact.xml │ │ │ ├── activity_full_image.xml │ │ │ ├── activity_main.xml │ │ │ ├── dialog_contact.xml │ │ │ ├── fragment_chat_emotion.xml │ │ │ ├── fragment_chat_function.xml │ │ │ ├── include_reply_layout.xml │ │ │ ├── item_chat_accept.xml │ │ │ ├── item_chat_send.xml │ │ │ ├── item_contact.xml │ │ │ ├── layout_microphone.xml │ │ │ └── popup_context_menu.xml │ │ ├── values/ │ │ │ ├── attr.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── values-w820dp/ │ │ │ └── dimens.xml │ │ └── xml/ │ │ └── file_paths.xml │ └── test/ │ └── java/ │ └── com/ │ └── rance/ │ └── chatui/ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle