├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── amp1.png │ │ │ │ ├── amp2.png │ │ │ │ ├── amp3.png │ │ │ │ ├── amp4.png │ │ │ │ ├── amp5.png │ │ │ │ ├── amp6.png │ │ │ │ ├── amp7.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_arrow_left.png │ │ │ │ ├── chatting_emoji_l.png │ │ │ │ ├── chatting_emoji_n.png │ │ │ │ ├── chatting_extra_n.png │ │ │ │ ├── chatting_extra_p.png │ │ │ │ ├── chatting_voice_n.png │ │ │ │ ├── chatting_voice_p.png │ │ │ │ ├── rcd_cancel_bg.9.png │ │ │ │ ├── rcd_cancel_icon.png │ │ │ │ ├── voice_rcd_hint.png │ │ │ │ ├── voice_to_short.png │ │ │ │ ├── chatting_keyboard_n.png │ │ │ │ ├── chatting_keyboard_p.png │ │ │ │ └── voice_rcd_cancel_bg.png │ │ │ ├── drawable │ │ │ │ ├── rcd_cancel_bg.9.png │ │ │ │ ├── voice_rcd_hint_bg.9.png │ │ │ │ ├── chatting_emoji.xml │ │ │ │ ├── im_msg_text_send_bg_sel.xml │ │ │ │ ├── im_msg_text_receive_bg_sel.xml │ │ │ │ ├── chatting_send.xml │ │ │ │ └── im_progress_small_white.xml │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-hdpi │ │ │ │ ├── im_ic_failed.png │ │ │ │ ├── im_msg_time_bg_tip.9.png │ │ │ │ ├── im_loading_small_white.png │ │ │ │ ├── im_msg_text_send_bg_normal.9.png │ │ │ │ ├── im_msg_text_receive_bg_normal.9.png │ │ │ │ ├── im_msg_text_send_bg_pressed.9.png │ │ │ │ └── im_msg_text_receive_bg_pressed.9.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── layout │ │ │ │ ├── item_empty.xml │ │ │ │ ├── im_msg_item_picture.xml │ │ │ │ ├── content_main.xml │ │ │ │ ├── fragment_chatting.xml │ │ │ │ ├── im_extra_actions_item_layout.xml │ │ │ │ ├── im_msg_item_text.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── activity_chatting.xml │ │ │ │ ├── pop_chatting_voice.xml │ │ │ │ ├── chatting_footer.xml │ │ │ │ └── im_msg_item.xml │ │ │ ├── values-v21 │ │ │ │ └── styles.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── styles.xml │ │ │ │ └── dimens.xml │ │ │ └── menu │ │ │ │ └── menu_main.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── saysay │ │ │ │ └── ljh │ │ │ │ └── chattingui │ │ │ │ ├── message │ │ │ │ ├── model │ │ │ │ │ ├── MessageBody.java │ │ │ │ │ ├── ModuleProxy.java │ │ │ │ │ ├── MessagePictureBody.java │ │ │ │ │ ├── MessageTextBody.java │ │ │ │ │ ├── Container.java │ │ │ │ │ ├── IMessage.java │ │ │ │ │ ├── MsgDirectionEnum.java │ │ │ │ │ ├── MsgStatusEnum.java │ │ │ │ │ ├── MsgTypeEnum.java │ │ │ │ │ └── SimpleMessage.java │ │ │ │ ├── holder │ │ │ │ │ ├── UnknownHolder.java │ │ │ │ │ ├── MessageTextHolder.java │ │ │ │ │ ├── MessagePictureHolder.java │ │ │ │ │ └── BaseMessageHolder.java │ │ │ │ ├── actions │ │ │ │ │ ├── PickImageAction.java │ │ │ │ │ └── BaseAction.java │ │ │ │ └── adapter │ │ │ │ │ ├── ExtarActionsGridAdapter.java │ │ │ │ │ ├── ExtraActionsPagerAdapter.java │ │ │ │ │ └── MessageAdapter.java │ │ │ │ ├── utils │ │ │ │ ├── PrefUtils.java │ │ │ │ ├── BitmapDecoder.java │ │ │ │ ├── ScreenUtil.java │ │ │ │ ├── SampleSizeUtil.java │ │ │ │ └── TimeUtil.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── widgets │ │ │ │ ├── EditTextPreIme.java │ │ │ │ ├── PointIndicator.java │ │ │ │ └── ChattingFooter.java │ │ │ │ ├── ChattingActivity.java │ │ │ │ └── ChattingFragment.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── saysay │ │ │ └── ljh │ │ │ └── chattingui │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── saysay │ │ └── ljh │ │ └── chattingui │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── .idea ├── .web2png │ ├── webp-imageio.dll │ ├── libwebp-imageio.so │ ├── libwebp-imageio.dylib │ ├── webp-imageio-0.4.2.zip │ └── webp-imageio-0.4.2 │ │ ├── webp-imageio.jar │ │ ├── linux-x64 │ │ └── libwebp-imageio.so │ │ ├── linux-x86 │ │ └── libwebp-imageio.so │ │ ├── windows-x64 │ │ └── webp-imageio.dll │ │ ├── windows-x86 │ │ └── webp-imageio.dll │ │ └── macosx-universal │ │ └── libwebp-imageio.dylib ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── vcs.xml ├── inspectionProfiles │ ├── profiles_settings.xml │ └── Project_Default.xml ├── modules.xml ├── runConfigurations.xml ├── gradle.xml ├── compiler.xml └── misc.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── gradlew.bat └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio.dll -------------------------------------------------------------------------------- /.idea/.web2png/libwebp-imageio.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/libwebp-imageio.so -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /.idea/.web2png/libwebp-imageio.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/libwebp-imageio.dylib -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio-0.4.2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio-0.4.2.zip -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/amp1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/amp1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/amp2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/amp2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/amp3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/amp3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/amp4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/amp4.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/amp5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/amp5.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/amp6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/amp6.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/amp7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/amp7.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rcd_cancel_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable/rcd_cancel_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/im_ic_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable-hdpi/im_ic_failed.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/ic_arrow_left.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio-0.4.2/webp-imageio.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio-0.4.2/webp-imageio.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable/voice_rcd_hint_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable/voice_rcd_hint_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_emoji_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_emoji_l.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_emoji_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_emoji_n.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_extra_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_extra_n.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_extra_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_extra_p.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_voice_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_voice_n.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_voice_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_voice_p.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/rcd_cancel_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/rcd_cancel_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/rcd_cancel_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/rcd_cancel_icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/voice_rcd_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/voice_rcd_hint.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/voice_to_short.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/voice_to_short.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/im_msg_time_bg_tip.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable-hdpi/im_msg_time_bg_tip.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_keyboard_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_keyboard_n.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/chatting_keyboard_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/chatting_keyboard_p.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/voice_rcd_cancel_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/mipmap-xxhdpi/voice_rcd_cancel_bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/im_loading_small_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable-hdpi/im_loading_small_white.png -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio-0.4.2/linux-x64/libwebp-imageio.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio-0.4.2/linux-x64/libwebp-imageio.so -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio-0.4.2/linux-x86/libwebp-imageio.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio-0.4.2/linux-x86/libwebp-imageio.so -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio-0.4.2/windows-x64/webp-imageio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio-0.4.2/windows-x64/webp-imageio.dll -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio-0.4.2/windows-x86/webp-imageio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio-0.4.2/windows-x86/webp-imageio.dll -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/im_msg_text_send_bg_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable-hdpi/im_msg_text_send_bg_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/im_msg_text_receive_bg_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable-hdpi/im_msg_text_receive_bg_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/im_msg_text_send_bg_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable-hdpi/im_msg_text_send_bg_pressed.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/im_msg_text_receive_bg_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/app/src/main/res/drawable-hdpi/im_msg_text_receive_bg_pressed.9.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/.web2png/webp-imageio-0.4.2/macosx-universal/libwebp-imageio.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ljhgithub/ChattingUI/HEAD/.idea/.web2png/webp-imageio-0.4.2/macosx-universal/libwebp-imageio.dylib -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/model/MessageBody.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.model; 2 | 3 | /** 4 | * Created by ljh on 2016/10/19. 5 | */ 6 | 7 | public class MessageBody { 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_empty.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/model/ModuleProxy.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.model; 2 | 3 | /** 4 | * Created by ljh on 2016/10/19. 5 | */ 6 | 7 | public interface ModuleProxy { 8 | public void sendMessage(IMessage message); 9 | } 10 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 17 11:54:33 CST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chatting_emoji.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/im_msg_text_send_bg_sel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/im_msg_text_receive_bg_sel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | > 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ChattingUI 3 | Settings 4 | 5 | 手指上滑,取消发送 6 | 松开手指,取消发送 7 | 录音时间太短 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/holder/UnknownHolder.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.holder; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.View; 5 | 6 | /** 7 | * Created by ljh on 2015/12/17. 8 | */ 9 | public class UnknownHolder extends RecyclerView.ViewHolder { 10 | public UnknownHolder(View itemView) { 11 | super(itemView); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/test/java/com/saysay/ljh/chattingui/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/model/MessagePictureBody.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.model; 2 | 3 | /** 4 | * Created by ljh on 2016/10/19. 5 | */ 6 | 7 | public class MessagePictureBody extends MessageBody { 8 | 9 | private String path = ""; 10 | 11 | public String getPath() { 12 | return path; 13 | } 14 | 15 | public void setPath(String url) { 16 | this.path = url; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/saysay/ljh/chattingui/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/model/MessageTextBody.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.model; 2 | 3 | /** 4 | * Created by ljh on 2016/10/19. 5 | */ 6 | 7 | public class MessageTextBody extends MessageBody { 8 | 9 | private String content = ""; 10 | 11 | public void setContent(String content) { 12 | this.content = content; 13 | } 14 | 15 | public String getContent() { 16 | return content; 17 | } 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chatting_send.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | #00000000 7 | 8 | #00CD00 9 | #8000CD00 10 | 11 | #dddddd 12 | #fff 13 | 14 | #b3000000 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/model/Container.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.model; 2 | 3 | import android.app.Activity; 4 | 5 | /** 6 | * Created by ljh on 2016/10/19. 7 | */ 8 | 9 | public class Container { 10 | public final Activity activity; 11 | public final String account; 12 | public final ModuleProxy proxy; 13 | 14 | public Container(Activity activity, String account, ModuleProxy proxy) { 15 | this.activity = activity; 16 | this.account = account; 17 | this.proxy = proxy; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/actions/PickImageAction.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.actions; 2 | 3 | import android.util.Log; 4 | 5 | import com.saysay.ljh.chattingui.message.model.SimpleMessage; 6 | 7 | /** 8 | * Created by ljh on 2016/10/19. 9 | */ 10 | 11 | public class PickImageAction extends BaseAction { 12 | public PickImageAction(int iconResId, int titleId) { 13 | super(iconResId, titleId); 14 | } 15 | 16 | @Override 17 | public void onClick() { 18 | Log.d("tag","dddddddddddddddd"); 19 | sendMessage(new SimpleMessage()); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/im_msg_item_picture.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/saysay/ljh/chattingui/message/model/IMessage.java: -------------------------------------------------------------------------------- 1 | package com.saysay.ljh.chattingui.message.model; 2 | 3 | /** 4 | * Created by ljh on 2016/10/19. 5 | */ 6 | 7 | public interface IMessage { 8 | public void setMessageBody(MessageBody body); 9 | public MessageBody getMessageBody(); 10 | public long getTime(); 11 | 12 | public void setTime(Long time); 13 | 14 | public MsgDirectionEnum getDirection(); 15 | 16 | public void setDirection(MsgDirectionEnum direction); 17 | 18 | public MsgStatusEnum getStatus(); 19 | 20 | public void setStatus(MsgStatusEnum status); 21 | 22 | public MsgTypeEnum getType(); 23 | 24 | public void setType(MsgTypeEnum type); 25 | } 26 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in D:\Program Files\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/content_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 15 | 16 |