From f670dd970c405cb53804bf237903fd96a9be4eb6 Mon Sep 17 00:00:00 2001 From: KenChoi Date: Thu, 22 Mar 2018 15:41:01 +0800 Subject: [PATCH 1/4] fix rn refresh view bug --- Android/chatinput/build.gradle | 2 +- .../jiguang/imui/chatinput/ChatInputView.java | 36 +++++- .../listener/RecordVoiceListener.java | 12 ++ Android/messagelist/build.gradle | 2 +- .../cn/jiguang/imui/messages/MessageList.java | 16 +++ .../messages/MessageListActivity.java | 10 ++ .../jiguang/cn/imuisample/views/ChatView.java | 2 +- ReactNative/android/build.gradle | 4 +- .../viewmanager/ReactChatInputManager.java | 122 ++++++++---------- .../viewmanager/ReactMsgListManager.java | 3 +- ReactNative/sample/App.js | 4 +- 11 files changed, 138 insertions(+), 75 deletions(-) diff --git a/Android/chatinput/build.gradle b/Android/chatinput/build.gradle index 241716d2..e7f45876 100644 --- a/Android/chatinput/build.gradle +++ b/Android/chatinput/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.library' ext { PUBLISH_GROUP_ID = 'cn.jiguang.imui' PUBLISH_ARTIFACT_ID = 'chatinput' - PUBLISH_VERSION = '0.7.2' + PUBLISH_VERSION = '0.7.3' } android { diff --git a/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/ChatInputView.java b/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/ChatInputView.java index 46d78616..8387ba4b 100644 --- a/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/ChatInputView.java +++ b/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/ChatInputView.java @@ -73,6 +73,7 @@ import cn.jiguang.imui.chatinput.listener.OnClickEditTextListener; import cn.jiguang.imui.chatinput.listener.OnFileSelectedListener; import cn.jiguang.imui.chatinput.listener.OnMenuClickListener; +import cn.jiguang.imui.chatinput.listener.RecordVoiceListener; import cn.jiguang.imui.chatinput.model.FileItem; import cn.jiguang.imui.chatinput.model.VideoItem; import cn.jiguang.imui.chatinput.photo.SelectPhotoView; @@ -126,6 +127,7 @@ public class ChatInputView extends LinearLayout private OnCameraCallbackListener mCameraListener; private OnClickEditTextListener mEditTextListener; private CameraControllerListener mCameraControllerListener; + private RecordVoiceListener mRecordVoiceListener; private EmojiView mEmojiRl; @@ -373,6 +375,11 @@ public void setMenuClickListener(OnMenuClickListener listener) { mListener = listener; } + public void setRecordVoiceListener(RecordVoiceListener listener) { + this.mRecordVoiceBtn.setRecordVoiceListener(listener); + this.mRecordVoiceListener = listener; + } + public void setOnCameraCallbackListener(OnCameraCallbackListener listener) { mCameraListener = listener; } @@ -535,6 +542,9 @@ public void onClick(View view) { mRecordContentLl.setVisibility(VISIBLE); mRecordVoiceBtn.cancelRecord(); mChronometer.setText("00:00"); + if (mRecordVoiceListener != null) { + mRecordVoiceListener.onPreviewCancel(); + } } else if (view.getId() == R.id.aurora_btn_recordvoice_send) { // preview play audio widget send audio @@ -542,6 +552,9 @@ public void onClick(View view) { dismissMenuLayout(); mRecordVoiceBtn.finishRecord(); mChronometer.setText("00:00"); + if (mRecordVoiceListener != null) { + mRecordVoiceListener.onPreviewSend(); + } } else if (view.getId() == R.id.aurora_ib_camera_full_screen) { // full screen/recover screen button in texture view @@ -630,7 +643,9 @@ public void run() { mCameraControllerListener.onCloseCameraClick(); mMediaPlayer.stop(); mMediaPlayer.release(); - mCameraSupport.cancelRecordingVideo(); + if (mCameraSupport != null) { + mCameraSupport.cancelRecordingVideo(); + } } catch (IllegalStateException e) { e.printStackTrace(); } @@ -1317,6 +1332,25 @@ public int getDistanceFromInputToBottom() { return mHeight - mRect.bottom; } + private final Runnable measureAndLayout = new Runnable() { + @Override + public void run() { + measure( + MeasureSpec.makeMeasureSpec(getWidth(), MeasureSpec.EXACTLY), + MeasureSpec.makeMeasureSpec(getHeight(), MeasureSpec.EXACTLY)); + layout(getLeft(), getTop(), getRight(), getBottom()); + } + }; + + @Override + public void requestLayout() { + super.requestLayout(); + + // React Native Override requestLayout, since we refresh our layout in native, RN catch the + //requestLayout event, so that the view won't refresh at once, we simulate layout here. + post(measureAndLayout); + } + public int getSoftKeyboardHeight() { return this.mSoftKeyboardHeight; } diff --git a/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/listener/RecordVoiceListener.java b/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/listener/RecordVoiceListener.java index 0ba0ec11..9b670e6f 100644 --- a/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/listener/RecordVoiceListener.java +++ b/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/listener/RecordVoiceListener.java @@ -25,4 +25,16 @@ public interface RecordVoiceListener { * Fires when canceled recording, will delete the audio file. */ void onCancelRecord(); + + /** + * In preview record voice layout, click cancel button will fire this method. + * Add since 0.7.3 + */ + void onPreviewCancel(); + + /** + * In preview record voice layout, click send voice button will fire this method. + * Add since 0.7.3 + */ + void onPreviewSend(); } \ No newline at end of file diff --git a/Android/messagelist/build.gradle b/Android/messagelist/build.gradle index 8c8aeaf6..a9b3d078 100644 --- a/Android/messagelist/build.gradle +++ b/Android/messagelist/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.library' ext { PUBLISH_GROUP_ID = 'cn.jiguang.imui' PUBLISH_ARTIFACT_ID = 'messagelist' - PUBLISH_VERSION = '0.6.7' + PUBLISH_VERSION = '0.6.8' } android { diff --git a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MessageList.java b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MessageList.java index c4c663da..dfb71f14 100644 --- a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MessageList.java +++ b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MessageList.java @@ -280,4 +280,20 @@ public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float ve } return false; } + + @Override + public void requestLayout() { + super.requestLayout(); + post(measureAndLayout); + } + + private final Runnable measureAndLayout = new Runnable() { + @Override + public void run() { + measure( + MeasureSpec.makeMeasureSpec(getWidth(), MeasureSpec.EXACTLY), + MeasureSpec.makeMeasureSpec(getHeight(), MeasureSpec.EXACTLY)); + layout(getLeft(), getTop(), getRight(), getBottom()); + } + }; } diff --git a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java index 746e57c7..1095064e 100644 --- a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java +++ b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java @@ -239,6 +239,16 @@ public void onFinishRecord(File voiceFile, int duration) { public void onCancelRecord() { } + + @Override + public void onPreviewCancel() { + + } + + @Override + public void onPreviewSend() { + + } }); mChatView.setOnCameraCallbackListener(new OnCameraCallbackListener() { diff --git a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/views/ChatView.java b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/views/ChatView.java index e5a4f995..ff35f61b 100644 --- a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/views/ChatView.java +++ b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/views/ChatView.java @@ -112,7 +112,7 @@ public void setCameraCaptureFile(String path, String fileName) { } public void setRecordVoiceListener(RecordVoiceListener listener) { - mRecordVoiceBtn.setRecordVoiceListener(listener); + mChatInput.setRecordVoiceListener(listener); } public void setOnCameraCallbackListener(OnCameraCallbackListener listener) { diff --git a/ReactNative/android/build.gradle b/ReactNative/android/build.gradle index 6d37ed9a..be87e1cd 100644 --- a/ReactNative/android/build.gradle +++ b/ReactNative/android/build.gradle @@ -27,8 +27,8 @@ dependencies { androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'cn.jiguang.imui:messagelist:0.6.7' - compile 'cn.jiguang.imui:chatinput:0.7.2' + compile 'cn.jiguang.imui:messagelist:0.6.8' + compile 'cn.jiguang.imui:chatinput:0.7.3' compile 'pub.devrel:easypermissions:0.4.0' compile 'org.greenrobot:eventbus:3.0.0' implementation 'com.android.support:appcompat-v7:27.1.0' diff --git a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactChatInputManager.java b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactChatInputManager.java index 0452fb4e..53d810a5 100644 --- a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactChatInputManager.java +++ b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactChatInputManager.java @@ -262,15 +262,10 @@ public boolean switchToMicrophoneMode() { mShowMenu = true; mChatInput.setPendingShowMenu(true); EmoticonsKeyboardUtils.closeSoftKeyboard(editText); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - mChatInput.showMenuLayout(); - mChatInput.showRecordVoiceLayout(); - sendSizeChangedEvent(calculateMenuHeight()); - } - }, 100); - + mChatInput.showMenuLayout(); + mChatInput.showRecordVoiceLayout(); + sendSizeChangedEvent(calculateMenuHeight()); + mChatInput.requestLayout(); } mLastClickId = 0; return false; @@ -298,15 +293,10 @@ public boolean switchToGalleryMode() { mShowMenu = true; mChatInput.setPendingShowMenu(true); EmoticonsKeyboardUtils.closeSoftKeyboard(editText); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - sendSizeChangedEvent(calculateMenuHeight() + 1); - mChatInput.showMenuLayout(); - mChatInput.showSelectPhotoLayout(); - } - }, 100); - + sendSizeChangedEvent(calculateMenuHeight()); + mChatInput.showMenuLayout(); + mChatInput.showSelectPhotoLayout(); + mChatInput.requestLayout(); } mLastClickId = 1; return false; @@ -337,15 +327,10 @@ public boolean switchToCameraMode() { mChatInput.setPendingShowMenu(true); mChatInput.initCamera(); EmoticonsKeyboardUtils.closeSoftKeyboard(editText); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - mChatInput.showMenuLayout(); - mChatInput.showCameraLayout(); - sendSizeChangedEvent(calculateMenuHeight() + 2); - } - }, 100); - + mChatInput.showMenuLayout(); + mChatInput.showCameraLayout(); + sendSizeChangedEvent(calculateMenuHeight()); + mChatInput.requestLayout(); } mLastClickId = 2; return false; @@ -364,14 +349,10 @@ public boolean switchToEmojiMode() { mShowMenu = true; mChatInput.setPendingShowMenu(true); EmoticonsKeyboardUtils.closeSoftKeyboard(editText); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - mChatInput.showMenuLayout(); - mChatInput.showEmojiLayout(); - sendSizeChangedEvent(calculateMenuHeight() - 1); - } - }, 100); + mChatInput.showMenuLayout(); + mChatInput.showEmojiLayout(); + sendSizeChangedEvent(calculateMenuHeight()); + mChatInput.requestLayout(); } mLastClickId = 3; return false; @@ -411,16 +392,18 @@ public void onStartVideoRecord() { @Override public void onFinishVideoRecord(String videoPath) { - WritableMap event = Arguments.createMap(); - event.putString("mediaPath", videoPath); -// MediaPlayer mediaPlayer = MediaPlayer.create(reactContext, Uri.parse(videoPath)); -// int duration = mediaPlayer.getDuration() / 1000; // Millisecond to second. -// mediaPlayer.release(); - File file = new File(videoPath); - event.putDouble("size", file.length()); -// event.putInt("duration", duration); - reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(mChatInput.getId(), - FINISH_RECORD_VIDEO_EVENT, event); + if (videoPath != null) { + WritableMap event = Arguments.createMap(); + event.putString("mediaPath", videoPath); + MediaPlayer mediaPlayer = MediaPlayer.create(reactContext, Uri.parse(videoPath)); + int duration = mediaPlayer.getDuration() / 1000; // Millisecond to second. + mediaPlayer.release(); + File file = new File(videoPath); + event.putDouble("size", file.length()); + event.putInt("duration", duration); + reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(mChatInput.getId(), + FINISH_RECORD_VIDEO_EVENT, event); + } } @Override @@ -430,7 +413,7 @@ public void onCancelVideoRecord() { } }); - mChatInput.getRecordVoiceButton().setRecordVoiceListener(new RecordVoiceListener() { + mChatInput.setRecordVoiceListener(new RecordVoiceListener() { @Override public void onStartRecord() { reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(mChatInput.getId(), @@ -456,6 +439,17 @@ public void onCancelRecord() { reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(mChatInput.getId(), CANCEL_RECORD_VOICE_EVENT, null); } + + @Override + public void onPreviewCancel() { + + } + + @Override + public void onPreviewSend() { + sendSizeChangedEvent(mInitialChatInputHeight + mLineExpend); + mChatInput.requestLayout(); + } }); mChatInput.setCameraControllerListener(new CameraControllerListener() { @@ -494,25 +488,23 @@ public void onClick(View v) { reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(mChatInput.getId(), ON_CLICK_SELECT_ALBUM_EVENT, null); } }); -// mChatInput.getEmojiContainer().getEmoticonsFuncView().addOnPageChangeListener(new ViewPager.OnPageChangeListener() { -// @Override -// public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { -// -// } -// -// @Override -// public void onPageSelected(int position) { -// Log.e(REACT_CHAT_INPUT, "EmotionPage Position" + position); -// if (position > 0) { -// sendSizeChangedEvent(calculateMenuHeight() - 2); -// } -// } -// -// @Override -// public void onPageScrollStateChanged(int state) { -// -// } -// }); + mChatInput.getEmojiContainer().getEmoticonsFuncView().addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + Log.e(REACT_CHAT_INPUT, "EmotionPage Position" + position); + mChatInput.requestLayout(); + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); return mChatInput; } diff --git a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactMsgListManager.java b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactMsgListManager.java index 0baf6dc5..9ba21520 100644 --- a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactMsgListManager.java +++ b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/viewmanager/ReactMsgListManager.java @@ -270,7 +270,6 @@ public void onEvent(MessageEvent event) { Log.d("RCTMessageListManager", "Add message to start, message: " + rctMessage); if (activity != null) { mAdapter.addToStart(rctMessage, true); - mMessageList.smoothScrollToPosition(0); } } break; @@ -279,7 +278,6 @@ public void onEvent(MessageEvent event) { Log.d("RCTMessageListManager", "updating message, message: " + rctMessage); if (activity != null) { mAdapter.updateMessage(rctMessage.getMsgId(), rctMessage); - mMessageList.smoothScrollBy(0, 1); } break; case RCT_INSERT_MESSAGES_ACTION: @@ -294,6 +292,7 @@ public void onEvent(MessageEvent event) { default: mAdapter.clear(); } + mMessageList.requestLayout(); } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/ReactNative/sample/App.js b/ReactNative/sample/App.js index f06758ab..42ba04f4 100644 --- a/ReactNative/sample/App.js +++ b/ReactNative/sample/App.js @@ -37,7 +37,7 @@ function constructNormalMessage() { var message = {} message.msgId = themsgid.toString() themsgid += 1 - message.status = "send_going" + message.status = "send_succeed" message.isOutgoing = true var date = new Date() message.timeString = date.getHours() + ":" + date.getMinutes() @@ -429,7 +429,7 @@ export default class TestRNIMUI extends Component {
This is a custom message.
` - message.contentSize = { 'height': 400, 'width': 400 } + message.contentSize = { 'height': 100, 'width': 200 } message.extras = { "extras": "fdfsf" } var user = { userId: "1", From 4ef51e63822ad604563bb19c691e89f3266c6b3a Mon Sep 17 00:00:00 2001 From: KenChoi Date: Thu, 22 Mar 2018 15:42:40 +0800 Subject: [PATCH 2/4] prepare release 0.9.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1f1b883d..83a08f93 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurora-imui-react-native", - "version": "0.9.24", + "version": "0.9.3", "description": "aurora imui plugin for react native application", "main": "index.js", From 8b6be4811174e556b0cba9645450311fb8895235 Mon Sep 17 00:00:00 2001 From: KenChoi Date: Thu, 22 Mar 2018 15:44:28 +0800 Subject: [PATCH 3/4] prepare rn 0.9.25 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1f1b883d..73fb74e3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurora-imui-react-native", - "version": "0.9.24", + "version": "0.9.25", "description": "aurora imui plugin for react native application", "main": "index.js", From 785a47379985c8c8b4fce82837b3b82e10831d83 Mon Sep 17 00:00:00 2001 From: KenChoi Date: Thu, 22 Mar 2018 16:22:54 +0800 Subject: [PATCH 4/4] update ReadMe --- Android/chatinput/README.md | 27 ++++++++++++++++--- Android/chatinput/README_EN.md | 24 ++++++++++++++--- .../messages/MessageListActivity.java | 9 ++++++- docs/Android/message_list_usage.md | 6 ++--- docs/Android/message_list_usage_zh.md | 6 ++--- 5 files changed, 58 insertions(+), 14 deletions(-) diff --git a/Android/chatinput/README.md b/Android/chatinput/README.md index 4d95e7cc..78a32ed9 100644 --- a/Android/chatinput/README.md +++ b/Android/chatinput/README.md @@ -5,14 +5,14 @@ 这是一个聊天界面输入框组件,可以方便地结合 `MessageList` 使用,包含录音,选择图片,拍照等功能,提供了一些丰富的接口和回调供用户使用, 还可以选择自定义样式。 -> 该组件依赖了 Glide 3.7.0 +> 该组件依赖了 Glide 3.8.0 ## 集成 提供了以下几种方式添加依赖,只需要选择其中一种即可。 - Gradle ```groovy -compile 'cn.jiguang.imui:chatinput:0.7.2' +compile 'cn.jiguang.imui:chatinput:0.7.3' ``` - Maven @@ -20,7 +20,7 @@ compile 'cn.jiguang.imui:chatinput:0.7.2' cn.jiguang.imui chatinput - 0.7.2 + 0.7.3 pom ``` @@ -42,7 +42,7 @@ compile 'cn.jiguang.imui:chatinput:0.7.2' ```groovy dependencies { - compile 'com.github.jpush:imui:0.7.5' + compile 'com.github.jpush:imui:0.7.6' } ``` @@ -163,6 +163,24 @@ mRecordVoiceBtn.setRecordVoiceListener(new RecordVoiceListener() { public void onCancelRecord() { } + + /** + * 录音试听界面,点击取消按钮触发 + * 0.7.3 后添加此事件 + */ + @Override + public void onPreviewCancel() { + + } + + /** + * 录音试听界面,点击发送按钮触发 + * 0.7.3 后增加此事件 + */ + @Override + public void onPreviewSend() { + + } }); ``` @@ -198,6 +216,7 @@ mChatInput.setOnCameraCallbackListener(new OnCameraCallbackListener() { public void onCancelVideoRecord() { } + }); ``` diff --git a/Android/chatinput/README_EN.md b/Android/chatinput/README_EN.md index d9d9985a..6c3b97ff 100644 --- a/Android/chatinput/README_EN.md +++ b/Android/chatinput/README_EN.md @@ -11,7 +11,7 @@ Provides several ways to add dependency, you can choose one of them: - Via Gradle ```groovy -compile 'cn.jiguang.imui:chatinput:0.7.2' +compile 'cn.jiguang.imui:chatinput:0.7.3' ``` - Via Maven @@ -20,7 +20,7 @@ compile 'cn.jiguang.imui:chatinput:0.7.2' cn.jiguang.imui chatinput - 0.7.2 + 0.7.3 pom ``` @@ -41,7 +41,7 @@ allprojects { ```groovy dependencies { - compile 'com.github.jpush:imui:0.7.5' + compile 'com.github.jpush:imui:0.7.6' } ``` @@ -171,6 +171,24 @@ mRecordVoiceBtn.setRecordVoiceListener(new RecordVoiceListener() { @Override public void onCancelRecord() { + } + + /** + * In preview record voice layout, fires when click cancel button + * Add since 0.7.3 + */ + @Override + public void onPreviewCancel() { + } + + + /** + * In preview record voice layout, fires when click send button + * Add since chatinput 0.7.3 + */ + @Override + public void onPreviewSend() { + } }); ``` diff --git a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java index 1095064e..7b01f593 100644 --- a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java +++ b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/MessageListActivity.java @@ -240,11 +240,19 @@ public void onCancelRecord() { } + /** + * In preview record voice layout, fires when click cancel button + * Add since chatinput v0.7.3 + */ @Override public void onPreviewCancel() { } + /** + * In preview record voice layout, fires when click send button + * Add since chatinput v0.7.3 + */ @Override public void onPreviewSend() { @@ -376,7 +384,6 @@ public void onReceive(Context context, Intent intent) { } - @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { diff --git a/docs/Android/message_list_usage.md b/docs/Android/message_list_usage.md index 98291d00..77fb1631 100644 --- a/docs/Android/message_list_usage.md +++ b/docs/Android/message_list_usage.md @@ -10,7 +10,7 @@ We have support several ways to add dependency. You can choose one of them. - Gradle: ```groovy -compile 'cn.jiguang.imui:messagelist:0.6.7' +compile 'cn.jiguang.imui:messagelist:0.6.8' ``` - Maven: @@ -18,7 +18,7 @@ compile 'cn.jiguang.imui:messagelist:0.6.7' cn.jiguang.imui messagelist - 0.6.7 + 0.6.8 pom ``` @@ -35,7 +35,7 @@ allprojects { // Add in module's build.gradle dependencies { - compile 'com.github.jpush:imui:0.7.5' + compile 'com.github.jpush:imui:0.7.6' } ``` diff --git a/docs/Android/message_list_usage_zh.md b/docs/Android/message_list_usage_zh.md index a116887d..ed4e6e51 100644 --- a/docs/Android/message_list_usage_zh.md +++ b/docs/Android/message_list_usage_zh.md @@ -9,7 +9,7 @@ - Gradle ```groovy -compile 'cn.jiguang.imui:messagelist:0.6.7' +compile 'cn.jiguang.imui:messagelist:0.6.8' ``` - Maven @@ -17,7 +17,7 @@ compile 'cn.jiguang.imui:messagelist:0.6.7' cn.jiguang.imui messagelist - 0.6.7 + 0.6.8 pom ``` @@ -34,7 +34,7 @@ allprojects { // module/build.gradle dependencies { - compile 'com.github.jpush:imui:0.7.5' + compile 'com.github.jpush:imui:0.7.6' } ```