diff --git a/Android/chatinput/README.md b/Android/chatinput/README.md
index 79efab81..c4010927 100644
--- a/Android/chatinput/README.md
+++ b/Android/chatinput/README.md
@@ -12,7 +12,7 @@
- Gradle
```groovy
-compile 'cn.jiguang.imui:chatinput:0.6.3'
+compile 'cn.jiguang.imui:chatinput:0.6.5'
```
- Maven
@@ -20,7 +20,7 @@ compile 'cn.jiguang.imui:chatinput:0.6.3'
cn.jiguang.imui
chatinput
- 0.6.3
+ 0.6.5
pom
```
@@ -42,7 +42,7 @@ compile 'cn.jiguang.imui:chatinput:0.6.3'
```groovy
dependencies {
- compile 'com.github.jpush:imui:0.6.9'
+ compile 'com.github.jpush:imui:0.7.3'
}
```
diff --git a/Android/chatinput/README_EN.md b/Android/chatinput/README_EN.md
index 252dfea1..98c9f10e 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.6.3'
+compile 'cn.jiguang.imui:chatinput:0.6.5'
```
- Via Maven
@@ -20,7 +20,7 @@ compile 'cn.jiguang.imui:chatinput:0.6.3'
cn.jiguang.imui
chatinput
- 0.6.3
+ 0.6.5
pom
```
@@ -41,7 +41,7 @@ allprojects {
```groovy
dependencies {
- compile 'com.github.jpush:imui:0.6.9'
+ compile 'com.github.jpush:imui:0.7.3'
}
```
diff --git a/Android/chatinput/build.gradle b/Android/chatinput/build.gradle
index 6d735e88..3d754a0d 100644
--- a/Android/chatinput/build.gradle
+++ b/Android/chatinput/build.gradle
@@ -3,15 +3,15 @@ apply plugin: 'com.android.library'
ext {
PUBLISH_GROUP_ID = 'cn.jiguang.imui'
PUBLISH_ARTIFACT_ID = 'chatinput'
- PUBLISH_VERSION = '0.6.4'
+ PUBLISH_VERSION = '0.6.5'
}
android {
- compileSdkVersion 25
- buildToolsVersion "26.0.2"
+ compileSdkVersion 27
+ buildToolsVersion "27.0.3"
defaultConfig {
minSdkVersion 16
- targetSdkVersion 25
+ targetSdkVersion 27
versionCode 2
versionName "0.1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -34,11 +34,11 @@ dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
- compile 'com.android.support:appcompat-v7:25.3.1'
- compile 'com.android.support:design:25.3.1'
+ implementation 'com.android.support:appcompat-v7:27.1.0'
+ implementation 'com.android.support:design:27.1.0'
compile 'com.google.android:flexbox:0.2.5'
- compile 'com.github.bumptech.glide:glide:3.7.0'
- compile 'com.android.support:support-v4:25.3.1'
+ implementation 'com.github.bumptech.glide:glide:4.6.1'
+ implementation 'com.android.support:support-v4:27.1.0'
testCompile 'junit:junit:4.12'
}
diff --git a/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/photo/PhotoAdapter.java b/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/photo/PhotoAdapter.java
index 675c6210..93ed1a52 100644
--- a/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/photo/PhotoAdapter.java
+++ b/Android/chatinput/src/main/java/cn/jiguang/imui/chatinput/photo/PhotoAdapter.java
@@ -14,6 +14,7 @@
import android.widget.TextView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import java.util.ArrayList;
import java.util.List;
@@ -77,9 +78,11 @@ public void onBindViewHolder(final PhotoViewHolder holder, int position) {
}
FileItem item = mMedias.get(position);
+ RequestOptions requestOptions = new RequestOptions();
+ requestOptions.placeholder(R.drawable.aurora_picture_not_found);
Glide.with(mContext)
+ .setDefaultRequestOptions(requestOptions)
.load(item.getFilePath())
- .placeholder(R.drawable.aurora_picture_not_found)
.into(holder.ivPhoto);
if (mSelectedItems.contains(position)) { // Current photo is selected
diff --git a/Android/chatinput/src/main/res/drawable-xhdpi/aurora_picture_not_found.png b/Android/chatinput/src/main/res/drawable-xhdpi/aurora_picture_not_found.png
index 2f7ef1d3..9dfb76db 100644
Binary files a/Android/chatinput/src/main/res/drawable-xhdpi/aurora_picture_not_found.png and b/Android/chatinput/src/main/res/drawable-xhdpi/aurora_picture_not_found.png differ
diff --git a/Android/chatinput/src/main/res/values/styles.xml b/Android/chatinput/src/main/res/values/styles.xml
index 05ebd564..9a61dd76 100644
--- a/Android/chatinput/src/main/res/values/styles.xml
+++ b/Android/chatinput/src/main/res/values/styles.xml
@@ -1,10 +1,5 @@
-
-
-
diff --git a/Android/messagelist/build.gradle b/Android/messagelist/build.gradle
index 041ff49d..0a1c7c9f 100644
--- a/Android/messagelist/build.gradle
+++ b/Android/messagelist/build.gradle
@@ -3,15 +3,15 @@ apply plugin: 'com.android.library'
ext {
PUBLISH_GROUP_ID = 'cn.jiguang.imui'
PUBLISH_ARTIFACT_ID = 'messagelist'
- PUBLISH_VERSION = '0.6.3'
+ PUBLISH_VERSION = '0.6.4'
}
android {
- compileSdkVersion 25
- buildToolsVersion "26.0.2"
+ compileSdkVersion 27
+ buildToolsVersion "27.0.3"
defaultConfig {
minSdkVersion 16
- targetSdkVersion 25
+ targetSdkVersion 27
versionCode 2
versionName "0.1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -27,9 +27,9 @@ dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
- compile 'com.android.support:appcompat-v7:25.3.1'
- compile 'com.android.support:design:25.3.1'
- compile 'com.android.support:support-v4:25.3.1'
+ implementation 'com.android.support:appcompat-v7:27.1.0'
+ implementation 'com.android.support:design:27.1.0'
+ implementation 'com.android.support:support-v4:27.1.0'
testCompile 'junit:junit:4.12'
}
diff --git a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MsgListAdapter.java b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MsgListAdapter.java
index 3ae336a7..61b34942 100644
--- a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MsgListAdapter.java
+++ b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/MsgListAdapter.java
@@ -572,7 +572,7 @@ private View.OnLongClickListener getMessageLongClickListener(final Wrapper {
* @param
*/
public interface OnMsgLongClickListener {
- void onMessageLongClick(MESSAGE message);
+ void onMessageLongClick(View view, MESSAGE message);
}
public interface OnAvatarClickListener {
diff --git a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/PhotoViewHolder.java b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/PhotoViewHolder.java
index bfb70f7b..cc431927 100644
--- a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/PhotoViewHolder.java
+++ b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/PhotoViewHolder.java
@@ -1,6 +1,7 @@
package cn.jiguang.imui.messages;
+import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
@@ -45,8 +46,9 @@ public PhotoViewHolder(View itemView, boolean isSender) {
@Override
public void onBind(final MESSAGE message) {
- if (message.getTimeString() != null) {
- mDateTv.setText(message.getTimeString());
+ String timeString = message.getTimeString();
+ if (timeString != null && !TextUtils.isEmpty(timeString)) {
+ mDateTv.setText(timeString);
} else {
mDateTv.setVisibility(View.GONE);
}
@@ -85,7 +87,7 @@ public void onClick(View view) {
@Override
public boolean onLongClick(View view) {
if (mMsgLongClickListener != null) {
- mMsgLongClickListener.onMessageLongClick(message);
+ mMsgLongClickListener.onMessageLongClick(view, message);
} else {
if (BuildConfig.DEBUG) {
Log.w("MsgListAdapter", "Didn't set long click listener! Drop event.");
diff --git a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/TxtViewHolder.java b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/TxtViewHolder.java
index 4c471842..47c84516 100644
--- a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/TxtViewHolder.java
+++ b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/TxtViewHolder.java
@@ -1,5 +1,6 @@
package cn.jiguang.imui.messages;
+import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
@@ -43,8 +44,9 @@ public TxtViewHolder(View itemView, boolean isSender) {
@Override
public void onBind(final MESSAGE message) {
mMsgTv.setText(message.getText());
- if (message.getTimeString() != null) {
- mDateTv.setText(message.getTimeString());
+ String timeString = message.getTimeString();
+ if (timeString != null && !TextUtils.isEmpty(timeString)) {
+ mDateTv.setText(timeString);
} else {
mDateTv.setVisibility(View.GONE);
}
@@ -99,7 +101,7 @@ public void onClick(View view) {
@Override
public boolean onLongClick(View view) {
if (mMsgLongClickListener != null) {
- mMsgLongClickListener.onMessageLongClick(message);
+ mMsgLongClickListener.onMessageLongClick(view, message);
} else {
if (BuildConfig.DEBUG) {
Log.w("MsgListAdapter", "Didn't set long click listener! Drop event.");
diff --git a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VideoViewHolder.java b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VideoViewHolder.java
index f663efa4..7489b431 100644
--- a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VideoViewHolder.java
+++ b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VideoViewHolder.java
@@ -3,6 +3,7 @@
import android.graphics.Bitmap;
import android.media.ThumbnailUtils;
import android.provider.MediaStore;
+import android.text.TextUtils;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;
@@ -22,7 +23,7 @@
public class VideoViewHolder extends BaseMessageViewHolder
implements MsgListAdapter.DefaultMessageViewHolder {
- private final RoundTextView mTextDate;
+ private final RoundTextView mDateTv;
private final RoundImageView mImageAvatar;
private TextView mDisplayNameTv;
private final ImageView mImageCover;
@@ -35,7 +36,7 @@ public class VideoViewHolder extends BaseMessageViewHo
public VideoViewHolder(View itemView, boolean isSender) {
super(itemView);
this.mIsSender = isSender;
- mTextDate = (RoundTextView) itemView.findViewById(R.id.aurora_tv_msgitem_date);
+ mDateTv = (RoundTextView) itemView.findViewById(R.id.aurora_tv_msgitem_date);
mImageAvatar = (RoundImageView) itemView.findViewById(R.id.aurora_iv_msgitem_avatar);
mImageCover = (ImageView) itemView.findViewById(R.id.aurora_iv_msgitem_cover);
mImagePlay = (ImageView) itemView.findViewById(R.id.aurora_iv_msgitem_play);
@@ -51,10 +52,11 @@ public VideoViewHolder(View itemView, boolean isSender) {
@Override
public void onBind(final Message message) {
- if (message.getTimeString() != null) {
- mTextDate.setText(message.getTimeString());
+ String timeString = message.getTimeString();
+ if (timeString != null && !TextUtils.isEmpty(timeString)) {
+ mDateTv.setText(timeString);
} else {
- mTextDate.setVisibility(View.GONE);
+ mDateTv.setVisibility(View.GONE);
}
boolean isAvatarExists = message.getFromUser().getAvatarFilePath() != null
&& !message.getFromUser().getAvatarFilePath().isEmpty();
@@ -75,7 +77,7 @@ public void onClick(View view) {
@Override
public boolean onLongClick(View view) {
- mMsgLongClickListener.onMessageLongClick(message);
+ mMsgLongClickListener.onMessageLongClick(view, message);
return false;
}
});
@@ -130,12 +132,12 @@ public void onClick(View view) {
@Override
public void applyStyle(MessageListStyle style) {
- mTextDate.setTextSize(style.getDateTextSize());
- mTextDate.setTextColor(style.getDateTextColor());
- mTextDate.setPadding(style.getDatePaddingLeft(), style.getDatePaddingTop(),
+ mDateTv.setTextSize(style.getDateTextSize());
+ mDateTv.setTextColor(style.getDateTextColor());
+ mDateTv.setPadding(style.getDatePaddingLeft(), style.getDatePaddingTop(),
style.getDatePaddingRight(), style.getDatePaddingBottom());
- mTextDate.setBgCornerRadius(style.getDateBgCornerRadius());
- mTextDate.setBgColor(style.getDateBgColor());
+ mDateTv.setBgCornerRadius(style.getDateBgCornerRadius());
+ mDateTv.setBgColor(style.getDateBgColor());
if (mIsSender) {
if (style.getSendingProgressDrawable() != null) {
mSendingPb.setProgressDrawable(style.getSendingProgressDrawable());
diff --git a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VoiceViewHolder.java b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VoiceViewHolder.java
index f9caa91a..44b6e12b 100644
--- a/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VoiceViewHolder.java
+++ b/Android/messagelist/src/main/java/cn/jiguang/imui/messages/VoiceViewHolder.java
@@ -3,6 +3,7 @@
import android.graphics.drawable.AnimationDrawable;
import android.media.AudioManager;
import android.media.MediaPlayer;
+import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
@@ -71,8 +72,9 @@ public boolean onError(MediaPlayer mp, int what, int extra) {
return false;
}
});
- if (message.getTimeString() != null) {
- mDateTv.setText(message.getTimeString());
+ String timeString = message.getTimeString();
+ if (timeString != null && !TextUtils.isEmpty(timeString)) {
+ mDateTv.setText(timeString);
} else {
mDateTv.setVisibility(View.GONE);
}
@@ -180,7 +182,7 @@ public void onClick(View view) {
@Override
public boolean onLongClick(View view) {
if (mMsgLongClickListener != null) {
- mMsgLongClickListener.onMessageLongClick(message);
+ mMsgLongClickListener.onMessageLongClick(view, message);
} else {
if (BuildConfig.DEBUG) {
Log.w("MsgListAdapter", "Didn't set long click listener! Drop event.");
diff --git a/Android/messagelist/src/main/java/cn/jiguang/imui/utils/BitmapCache.java b/Android/messagelist/src/main/java/cn/jiguang/imui/utils/BitmapCache.java
index 116169bd..daf2eb5c 100644
--- a/Android/messagelist/src/main/java/cn/jiguang/imui/utils/BitmapCache.java
+++ b/Android/messagelist/src/main/java/cn/jiguang/imui/utils/BitmapCache.java
@@ -3,9 +3,6 @@
import android.graphics.Bitmap;
import android.util.LruCache;
-/**
- * Created by caiyaoguan on 2017/7/6.
- */
public class BitmapCache {
@@ -28,11 +25,6 @@ protected int sizeOf(String key, Bitmap bitmap) {
};
}
- /**
- * 通过此方法来获取NativeImageLoader的实例
- *
- * @return NativeImageLoader
- */
public static BitmapCache getInstance() {
return mInstance;
}
diff --git a/Android/messagelist/src/main/res/drawable-xhdpi/aurora_picture_not_found.png b/Android/messagelist/src/main/res/drawable-xhdpi/aurora_picture_not_found.png
index 2f7ef1d3..9dfb76db 100644
Binary files a/Android/messagelist/src/main/res/drawable-xhdpi/aurora_picture_not_found.png and b/Android/messagelist/src/main/res/drawable-xhdpi/aurora_picture_not_found.png differ
diff --git a/Android/messagelist/src/main/res/layout/item_receive_photo.xml b/Android/messagelist/src/main/res/layout/item_receive_photo.xml
index a0331250..f191592a 100644
--- a/Android/messagelist/src/main/res/layout/item_receive_photo.xml
+++ b/Android/messagelist/src/main/res/layout/item_receive_photo.xml
@@ -10,7 +10,7 @@
+ android:layout_marginTop="10dp">
+ android:layout_marginTop="10dp">
+ android:layout_marginTop="10dp">
+ android:layout_marginTop="10dp">
diff --git a/Android/messagelist/src/main/res/layout/item_send_text.xml b/Android/messagelist/src/main/res/layout/item_send_text.xml
index 300045df..6d6ce7c3 100644
--- a/Android/messagelist/src/main/res/layout/item_send_text.xml
+++ b/Android/messagelist/src/main/res/layout/item_send_text.xml
@@ -10,7 +10,7 @@
diff --git a/Android/messagelist/src/main/res/layout/item_send_video.xml b/Android/messagelist/src/main/res/layout/item_send_video.xml
index d759bce0..681ca4a4 100644
--- a/Android/messagelist/src/main/res/layout/item_send_video.xml
+++ b/Android/messagelist/src/main/res/layout/item_send_video.xml
@@ -11,7 +11,7 @@
+ android:layout_marginTop="10dp">
+ android:layout_marginTop="10dp">
-
-
-
-
diff --git a/Android/sample/build.gradle b/Android/sample/build.gradle
index 303cdf9c..9c933253 100644
--- a/Android/sample/build.gradle
+++ b/Android/sample/build.gradle
@@ -12,6 +12,7 @@ buildscript {
maven {
url 'https://dl.google.com/dl/android/maven2/'
}
+ google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
@@ -25,6 +26,7 @@ allprojects {
mavenCentral()
jcenter()
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
+ google()
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
diff --git a/Android/sample/exampleui/build.gradle b/Android/sample/exampleui/build.gradle
index e4ace821..76f4e0bb 100644
--- a/Android/sample/exampleui/build.gradle
+++ b/Android/sample/exampleui/build.gradle
@@ -2,14 +2,14 @@ apply plugin: 'com.android.application'
apply from: "$project.rootDir/tools/script-git-version.gradle"
android {
- compileSdkVersion 25
- buildToolsVersion "26.0.2"
+ compileSdkVersion 27
+ buildToolsVersion "27.0.3"
flavorDimensions "versionCode"
defaultConfig {
applicationId "imui.jiguang.cn.imuisample"
minSdkVersion 16
- targetSdkVersion 19
+ targetSdkVersion 27
versionCode 1
versionName "1.0"
@@ -58,8 +58,9 @@ dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
- compile 'com.android.support:appcompat-v7:25.3.1'
- compile 'com.android.support:design:25.3.1'
+ implementation 'com.android.support:appcompat-v7:27.1.0'
+ implementation 'com.android.support:design:27.1.0'
+ implementation 'com.github.bumptech.glide:glide:4.6.1'
compile 'pub.devrel:easypermissions:0.4.0'
compile project(':messagelist')
compile project(':chatinput')
diff --git a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/BrowserImageActivity.java b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/BrowserImageActivity.java
index 56158043..3fc5172a 100644
--- a/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/BrowserImageActivity.java
+++ b/Android/sample/exampleui/src/main/java/imui/jiguang/cn/imuisample/messages/BrowserImageActivity.java
@@ -10,6 +10,7 @@
import android.util.LruCache;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ImageView;
import java.io.File;
import java.util.ArrayList;
@@ -93,6 +94,7 @@ public boolean isViewFromObject(View view, Object object) {
@Override
public Object instantiateItem(ViewGroup container, int position) {
PhotoView photoView = new PhotoView(true, BrowserImageActivity.this);
+ photoView.setScaleType(ImageView.ScaleType.CENTER_CROP);
photoView.setTag(position);
String path = mPathList.get(position);
if (path != null) {
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 6c4062cd..f94dba8f 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
@@ -30,7 +30,7 @@
import android.widget.Toast;
import com.bumptech.glide.Glide;
-import com.bumptech.glide.request.target.Target;
+import com.bumptech.glide.request.RequestOptions;
import java.io.File;
import java.text.SimpleDateFormat;
@@ -423,7 +423,7 @@ public void loadAvatarImage(ImageView avatarImageView, String string) {
} else {
Glide.with(getApplicationContext())
.load(string)
- .placeholder(R.drawable.aurora_headicon_default)
+ .apply(new RequestOptions().placeholder(R.drawable.aurora_headicon_default))
.into(avatarImageView);
}
}
@@ -433,9 +433,7 @@ public void loadImage(ImageView imageView, String string) {
// You can use other image load libraries.
Glide.with(getApplicationContext())
.load(string)
- .fitCenter()
- .placeholder(R.drawable.aurora_picture_not_found)
- .override(400, Target.SIZE_ORIGINAL)
+ .apply(new RequestOptions().fitCenter().placeholder(R.drawable.aurora_picture_not_found))
.into(imageView);
}
};
@@ -477,7 +475,7 @@ public void onMessageClick(MyMessage message) {
mAdapter.setMsgLongClickListener(new MsgListAdapter.OnMsgLongClickListener() {
@Override
- public void onMessageLongClick(MyMessage message) {
+ public void onMessageLongClick(View view, MyMessage message) {
Toast.makeText(getApplicationContext(),
getApplicationContext().getString(R.string.message_long_click_hint),
Toast.LENGTH_SHORT).show();
diff --git a/ReactNative/android/build.gradle b/ReactNative/android/build.gradle
index efad38ad..67dfc0f1 100644
--- a/ReactNative/android/build.gradle
+++ b/ReactNative/android/build.gradle
@@ -1,13 +1,13 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 25
- buildToolsVersion "26.0.2"
+ compileSdkVersion 27
+ buildToolsVersion "27.0.3"
flavorDimensions "prod"
defaultConfig {
minSdkVersion 16
- targetSdkVersion 25
+ targetSdkVersion 27
versionCode 1
versionName "1.0"
@@ -27,12 +27,11 @@ 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.3'
- compile 'cn.jiguang.imui:chatinput:0.6.4'
+ compile 'cn.jiguang.imui:messagelist:0.6.4'
+ compile 'cn.jiguang.imui:chatinput:0.6.5'
compile 'org.greenrobot:eventbus:3.0.0'
- compile 'com.android.support:appcompat-v7:25.3.1'
- compile 'com.facebook.react:react-native:+'
+ implementation 'com.facebook.react:react-native:+'
compile 'com.google.code.gson:gson:2.8.0'
- compile 'com.github.bumptech.glide:glide:3.7.0'
+ compile 'com.github.bumptech.glide:glide:4.6.1'
testCompile 'junit:junit:4.12'
}
diff --git a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/CustomViewHolder.java b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/CustomViewHolder.java
index b58174db..2f21593e 100644
--- a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/CustomViewHolder.java
+++ b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/CustomViewHolder.java
@@ -9,7 +9,6 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.text.Editable;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
@@ -20,7 +19,6 @@
import android.widget.RelativeLayout;
import android.widget.TextView;
-import org.xml.sax.XMLReader;
import java.io.File;
@@ -29,13 +27,14 @@
import cn.jiguang.imui.messages.MessageListStyle;
import cn.jiguang.imui.messages.MsgListAdapter;
import cn.jiguang.imui.view.RoundImageView;
+import cn.jiguang.imui.view.RoundTextView;
public class CustomViewHolder extends BaseMessageViewHolder
implements MsgListAdapter.DefaultMessageViewHolder {
private TextView mMsgTv;
- private TextView mDateTv;
+ private RoundTextView mDateTv;
private TextView mDisplayNameTv;
private RoundImageView mAvatarIv;
private ImageButton mResendIb;
@@ -47,7 +46,7 @@ public CustomViewHolder(View itemView, boolean isSender) {
super(itemView);
this.mIsSender = isSender;
mMsgTv = (TextView) itemView.findViewById(R.id.aurora_tv_msgitem_message);
- mDateTv = (TextView) itemView.findViewById(R.id.aurora_tv_msgitem_date);
+ mDateTv = (RoundTextView) itemView.findViewById(R.id.aurora_tv_msgitem_date);
mAvatarIv = (RoundImageView) itemView.findViewById(R.id.aurora_iv_msgitem_avatar);
if (isSender) {
mDisplayNameTv = (TextView) itemView.findViewById(R.id.aurora_tv_msgitem_sender_display_name);
@@ -63,8 +62,8 @@ public void onBind(final MESSAGE message) {
int memClass = ((ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();
mCache = new LruCache<>(1024 * 1024 * memClass / 8);
RCTMessage rctMessage = (RCTMessage) message;
- int width = rctMessage.getWidth();
- int height = rctMessage.getHeight();
+ int width = (int) (rctMessage.getWidth() * mDensity + 0.5);
+ int height = (int) (rctMessage.getHeight() * mDensity + 0.5);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height);
if (mIsSender) {
params.addRule(RelativeLayout.LEFT_OF, mAvatarIv.getId());
@@ -84,8 +83,10 @@ public void onBind(final MESSAGE message) {
}
}
- if (message.getTimeString() != null) {
+ if (message.getTimeString() != null && !TextUtils.isEmpty(message.getTimeString())) {
mDateTv.setText(message.getTimeString());
+ } else {
+ mDateTv.setVisibility(View.GONE);
}
boolean isAvatarExists = message.getFromUser().getAvatarFilePath() != null
&& !message.getFromUser().getAvatarFilePath().isEmpty();
@@ -139,7 +140,7 @@ public void onClick(View view) {
@Override
public boolean onLongClick(View view) {
if (mMsgLongClickListener != null) {
- mMsgLongClickListener.onMessageLongClick(message);
+ mMsgLongClickListener.onMessageLongClick(view, message);
} else {
if (BuildConfig.DEBUG) {
Log.w("MsgListAdapter", "Didn't set long click listener! Drop event.");
@@ -224,7 +225,55 @@ public void draw(Canvas canvas) {
@Override
- public void applyStyle(MessageListStyle messageListStyle) {
+ public void applyStyle(MessageListStyle style) {
+ mMsgTv.setMaxWidth((int) (style.getWindowWidth() * style.getBubbleMaxWidth()));
+ mMsgTv.setLineSpacing(style.getLineSpacingExtra(), style.getLineSpacingMultiplier());
+ mDisplayNameTv.setTextSize(style.getDisplayNameTextSize());
+ mDisplayNameTv.setPadding(style.getDisplayNamePaddingLeft(), style.getDisplayNamePaddingTop(),
+ style.getDisplayNamePaddingRight(), style.getDisplayNamePaddingBottom());
+ mDisplayNameTv.setTextColor(style.getDisplayNameTextColor());
+ if (mIsSender) {
+ mMsgTv.setBackground(style.getSendBubbleDrawable());
+ mMsgTv.setTextColor(style.getSendBubbleTextColor());
+ mMsgTv.setTextSize(style.getSendBubbleTextSize());
+ mMsgTv.setPadding(style.getSendBubblePaddingLeft(),
+ style.getSendBubblePaddingTop(),
+ style.getSendBubblePaddingRight(),
+ style.getSendBubblePaddingBottom());
+ if (style.getSendingProgressDrawable() != null) {
+ mSendingPb.setProgressDrawable(style.getSendingProgressDrawable());
+ }
+ if (style.getSendingIndeterminateDrawable() != null) {
+ mSendingPb.setIndeterminateDrawable(style.getSendingIndeterminateDrawable());
+ }
+ if (style.getShowSenderDisplayName()) {
+ mDisplayNameTv.setVisibility(View.VISIBLE);
+ } else {
+ mDisplayNameTv.setVisibility(View.GONE);
+ }
+ } else {
+ mMsgTv.setBackground(style.getReceiveBubbleDrawable());
+ mMsgTv.setTextColor(style.getReceiveBubbleTextColor());
+ mMsgTv.setTextSize(style.getReceiveBubbleTextSize());
+ mMsgTv.setPadding(style.getReceiveBubblePaddingLeft(),
+ style.getReceiveBubblePaddingTop(),
+ style.getReceiveBubblePaddingRight(),
+ style.getReceiveBubblePaddingBottom());
+ if (style.getShowReceiverDisplayName()) {
+ mDisplayNameTv.setVisibility(View.VISIBLE);
+ } else {
+ mDisplayNameTv.setVisibility(View.GONE);
+ }
+ }
+ mAvatarIv.setBorderRadius(style.getAvatarRadius());
+ android.view.ViewGroup.LayoutParams layoutParams = mAvatarIv.getLayoutParams();
+ layoutParams.width = style.getAvatarWidth();
+ layoutParams.height = style.getAvatarHeight();
+ mAvatarIv.setLayoutParams(layoutParams);
+ mDateTv.setTextSize(style.getDateTextSize());
+ mDateTv.setTextColor(style.getDateTextColor());
+ mDateTv.setBgColor(style.getDateBgColor());
+ mDateTv.setBgCornerRadius(style.getDateBgCornerRadius());
}
}
diff --git a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactChatInputManager.java b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactChatInputManager.java
index cf4a81ef..48fb072b 100644
--- a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactChatInputManager.java
+++ b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactChatInputManager.java
@@ -1,6 +1,7 @@
package cn.jiguang.imui.messagelist;
import android.app.Activity;
+import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.net.Uri;
@@ -188,14 +189,20 @@ public void onSendFiles(List list) {
}
WritableMap event = Arguments.createMap();
WritableArray array = new WritableNativeArray();
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ options.inJustDecodeBounds = true;
for (FileItem fileItem : list) {
WritableMap map = new WritableNativeMap();
if (fileItem.getType().ordinal() == 0) {
map.putString("mediaType", "image");
+ BitmapFactory.decodeFile(fileItem.getFilePath(), options);
+ map.putInt("width", options.outWidth);
+ map.putInt("height", options.outHeight);
} else {
map.putString("mediaType", "video");
map.putInt("duration", (int) ((VideoItem) fileItem).getDuration());
}
+ map.putDouble("size", fileItem.getLongFileSize());
map.putString("mediaPath", fileItem.getFilePath());
array.pushMap(map);
}
@@ -241,6 +248,13 @@ public boolean switchToEmojiMode() {
public void onTakePictureCompleted(String photoPath) {
WritableMap event = Arguments.createMap();
event.putString("mediaPath", photoPath);
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ options.inJustDecodeBounds = true;
+ BitmapFactory.decodeFile(photoPath, options);
+ event.putInt("width", options.outWidth);
+ event.putInt("height", options.outHeight);
+ File file = new File(photoPath);
+ event.putDouble("size", file.length());
reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(mChatInput.getId(),
TAKE_PICTURE_EVENT, event);
}
@@ -258,6 +272,8 @@ public void onFinishVideoRecord(String 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);
@@ -286,6 +302,7 @@ public void onFinishRecord(File voiceFile, int duration) {
WritableMap event = Arguments.createMap();
event.putString("mediaPath", voiceFile.getAbsolutePath());
event.putInt("duration", duration);
+ event.putDouble("size", voiceFile.length());
reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(mChatInput.getId(),
FINISH_RECORD_VOICE_EVENT, event);
}
diff --git a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactMsgListManager.java b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactMsgListManager.java
index 0ca25da1..7a3e9020 100644
--- a/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactMsgListManager.java
+++ b/ReactNative/android/src/main/java/cn/jiguang/imui/messagelist/ReactMsgListManager.java
@@ -24,6 +24,7 @@
import android.widget.ImageView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReactContext;
@@ -153,7 +154,7 @@ public void loadAvatarImage(ImageView avatarImageView, String string) {
} else {
Glide.with(reactContext)
.load(string)
- .placeholder(IdHelper.getDrawable(reactContext, "aurora_headicon_default"))
+ .apply(new RequestOptions().placeholder(IdHelper.getDrawable(reactContext, "aurora_headicon_default")))
.into(avatarImageView);
}
}
@@ -163,9 +164,7 @@ public void loadImage(ImageView imageView, String string) {
// You can use other image load libraries.
Glide.with(reactContext)
.load(string)
- .fitCenter()
- .placeholder(IdHelper.getDrawable(reactContext, "aurora_picture_not_found"))
- .override(400, Target.SIZE_ORIGINAL)
+ .apply(new RequestOptions().fitCenter().placeholder(IdHelper.getDrawable(reactContext, "aurora_picture_not_found")))
.into(imageView);
}
};
@@ -186,7 +185,7 @@ public void onMessageClick(RCTMessage message) {
mAdapter.setMsgLongClickListener(new MsgListAdapter.OnMsgLongClickListener() {
@Override
- public void onMessageLongClick(RCTMessage message) {
+ public void onMessageLongClick(View view, RCTMessage message) {
WritableMap event = Arguments.createMap();
event.putString("message", message.toString());
reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(rootView.getId(), ON_MSG_LONG_CLICK_EVENT, event);
@@ -270,7 +269,7 @@ public void onEvent(MessageEvent event) {
Log.d("RCTMessageListManager", "updating message, message: " + rctMessage);
if (activity != null) {
mAdapter.updateMessage(rctMessage.getMsgId(), rctMessage);
- mMessageList.smoothScrollToPosition(0);
+ mMessageList.smoothScrollBy(0, 1);
}
break;
case RCT_INSERT_MESSAGES_ACTION:
@@ -358,7 +357,7 @@ private float dip2sp(int dip) {
}
@ReactProp(name = "receiveBubblePadding")
- public void setReceiveBubblePaddingLeft(PullToRefreshLayout root, ReadableMap map) {
+ public void setReceiveBubblePadding(PullToRefreshLayout root, ReadableMap map) {
mMessageList.setReceiveBubblePaddingLeft(dip2px(map.getInt("left")));
mMessageList.setReceiveBubblePaddingTop(dip2px(map.getInt("top")));
mMessageList.setReceiveBubblePaddingRight(dip2px(map.getInt("right")));
@@ -403,7 +402,7 @@ public void setAvatarWidth(PullToRefreshLayout root, ReadableMap map) {
@ReactProp(name = "avatarCornerRadius")
public void setAvatarCornerRadius(PullToRefreshLayout root, int radius) {
- mMessageList.setAvatarRadius(radius);
+ mMessageList.setAvatarRadius(dip2px(radius));
}
/**
@@ -444,7 +443,7 @@ public void setDisplayNamePadding(PullToRefreshLayout root, ReadableMap map) {
int top = map.getInt("top");
int right = map.getInt("right");
int bottom = map.getInt("bottom");
- mMessageList.setDatePadding(dip2px(left), dip2px(top), dip2px(right), dip2px(bottom));
+ mMessageList.setDisplayNamePadding(dip2px(left), dip2px(top), dip2px(right), dip2px(bottom));
}
@ReactProp(name = "isAllowPullToRefresh")
@@ -504,25 +503,25 @@ public void setMessageTextLineSpacing(PullToRefreshLayout root, int spacing) {
mMessageList.setLineSpacingExtra(dip2px(spacing));
}
-// @ReactProp(name = "videoMessageRadius")
-// public void setVideoMessageRadius(PullToRefreshLayout root, int radius) {
-// mMessageList.setVideoMessageRadius(dip2px(radius));
-// }
-//
-// @ReactProp(name = "videoDurationTextColor")
-// public void setVideoDurationTextColor(PullToRefreshLayout root, String color) {
-// mMessageList.setVideoDurationTextColor(Color.parseColor(color));
-// }
-//
-// @ReactProp(name = "videoDurationTextSize")
-// public void setVideoDurationTextSize(PullToRefreshLayout root, int size) {
-// mMessageList.setVideoDurationTextSize(dip2sp(size));
-// }
-//
-// @ReactProp(name = "photoMessageRadius")
-// public void setPhotoMessageRadius(PullToRefreshLayout root, int radius) {
-// mMessageList.setPhotoMessageRadius(dip2px(radius));
-// }
+ @ReactProp(name = "videoMessageRadius")
+ public void setVideoMessageRadius(PullToRefreshLayout root, int radius) {
+ mMessageList.setVideoMessageRadius(dip2px(radius));
+ }
+
+ @ReactProp(name = "videoDurationTextColor")
+ public void setVideoDurationTextColor(PullToRefreshLayout root, String color) {
+ mMessageList.setVideoDurationTextColor(Color.parseColor(color));
+ }
+
+ @ReactProp(name = "videoDurationTextSize")
+ public void setVideoDurationTextSize(PullToRefreshLayout root, int size) {
+ mMessageList.setVideoDurationTextSize(dip2sp(size));
+ }
+
+ @ReactProp(name = "photoMessageRadius")
+ public void setPhotoMessageRadius(PullToRefreshLayout root, int radius) {
+ mMessageList.setPhotoMessageRadius(dip2px(radius));
+ }
@SuppressWarnings("unchecked")
private BroadcastReceiver RCTMsgListReceiver = new BroadcastReceiver() {
diff --git a/ReactNative/android/src/main/res/layout/ptr_layout.xml b/ReactNative/android/src/main/res/layout/ptr_layout.xml
index 589c4ef9..7ab1b8d8 100644
--- a/ReactNative/android/src/main/res/layout/ptr_layout.xml
+++ b/ReactNative/android/src/main/res/layout/ptr_layout.xml
@@ -28,6 +28,8 @@
app:sendBubblePaddingRight="16dp"
app:sendTextColor="#7587A8"
app:sendTextSize="16sp"
+ app:photoMessageRadius="5dp"
+ app:videoMessageRadius="5dp"
app:showReceiverDisplayName="false"
app:showSenderDisplayName="false">
diff --git a/ReactNative/chatinput.android.js b/ReactNative/chatinput.android.js
index 41b69145..cf8729cf 100644
--- a/ReactNative/chatinput.android.js
+++ b/ReactNative/chatinput.android.js
@@ -62,7 +62,7 @@ export default class ChatInput extends Component {
if (!this.props.onTakePicture) {
return;
}
- this.props.onTakePicture(event.nativeEvent.mediaPath);
+ this.props.onTakePicture(event.nativeEvent);
}
_startVideoRecord() {
@@ -76,7 +76,7 @@ export default class ChatInput extends Component {
if (!this.props.onFinishRecordVideo) {
return;
}
- this.props.onFinishRecordVideo(event.nativeEvent.mediaPath, event.nativeEvent.duration);
+ this.props.onFinishRecordVideo(event.nativeEvent);
}
_cancelVideoRecord() {
diff --git a/ReactNative/chatinput.ios.js b/ReactNative/chatinput.ios.js
index 8802156c..271a0009 100644
--- a/ReactNative/chatinput.ios.js
+++ b/ReactNative/chatinput.ios.js
@@ -52,7 +52,7 @@ export default class ChatInput extends Component {
if (!this.props.onTakePicture) {
return;
}
- this.props.onTakePicture(event.nativeEvent.mediaPath);
+ this.props.onTakePicture(event.nativeEvent);
}
_startVideoRecord() {
@@ -66,7 +66,7 @@ export default class ChatInput extends Component {
if (!this.props.onFinishRecordVideo) {
return;
}
- this.props.onFinishRecordVideo(event.nativeEvent.mediaPath,event.nativeEvent.durationTime);
+ this.props.onFinishRecordVideo(event.nativeEvent);
}
_onStartRecordVoice() {
diff --git a/ReactNative/ios/RCTAuroraIMUI.xcodeproj/project.pbxproj b/ReactNative/ios/RCTAuroraIMUI.xcodeproj/project.pbxproj
index d7aed628..f1cec4be 100644
--- a/ReactNative/ios/RCTAuroraIMUI.xcodeproj/project.pbxproj
+++ b/ReactNative/ios/RCTAuroraIMUI.xcodeproj/project.pbxproj
@@ -33,82 +33,83 @@
624B82DD1EE57653006C3C03 /* RCTAuroraIMUIModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 623EA9771EE55CB200EC43AE /* RCTAuroraIMUIModule.m */; };
624F239F1F039DBF00D11E4E /* MessageEventCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 624F239D1F039DBF00D11E4E /* MessageEventCollectionViewCell.swift */; };
624F23A01F039DBF00D11E4E /* MessageEventModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 624F239E1F039DBF00D11E4E /* MessageEventModel.swift */; };
- 626BCDD92001F5C4006F7C15 /* IMUIInputViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD802001F5C3006F7C15 /* IMUIInputViewDelegate.swift */; };
- 626BCDDA2001F5C4006F7C15 /* BundleInputViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD822001F5C3006F7C15 /* BundleInputViewExtension.swift */; };
- 626BCDDB2001F5C4006F7C15 /* IMUIFeatureIconModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD842001F5C3006F7C15 /* IMUIFeatureIconModel.swift */; };
- 626BCDDC2001F5C4006F7C15 /* IMUIEmojiModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD852001F5C3006F7C15 /* IMUIEmojiModel.swift */; };
- 626BCDDD2001F5C4006F7C15 /* IMUIRecordVoiceHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD872001F5C3006F7C15 /* IMUIRecordVoiceHelper.swift */; };
- 626BCDDE2001F5C4006F7C15 /* IMUIInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD882001F5C3006F7C15 /* IMUIInputView.swift */; };
- 626BCDDF2001F5C4006F7C15 /* IMUIGalleryDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD892001F5C3006F7C15 /* IMUIGalleryDataManager.swift */; };
- 626BCDE02001F5C4006F7C15 /* IMUIInputView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD8A2001F5C3006F7C15 /* IMUIInputView.xib */; };
- 626BCDE12001F5C4006F7C15 /* IMUICameraCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD8C2001F5C3006F7C15 /* IMUICameraCell.swift */; };
- 626BCDE22001F5C4006F7C15 /* IMUIFeatureListIconCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD8D2001F5C3006F7C15 /* IMUIFeatureListIconCell.swift */; };
- 626BCDE32001F5C4006F7C15 /* IMUIFeatureListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD8E2001F5C3006F7C15 /* IMUIFeatureListView.xib */; };
- 626BCDE42001F5C4006F7C15 /* IMUICameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD8F2001F5C3006F7C15 /* IMUICameraView.swift */; };
- 626BCDE52001F5C4006F7C15 /* IMUIGalleryContainerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD902001F5C3006F7C15 /* IMUIGalleryContainerCell.swift */; };
- 626BCDE62001F5C4006F7C15 /* IMUIRecordVoiceCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD912001F5C3006F7C15 /* IMUIRecordVoiceCell.swift */; };
- 626BCDE72001F5C4006F7C15 /* IMUIFeatureView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD922001F5C3006F7C15 /* IMUIFeatureView.xib */; };
- 626BCDE82001F5C4006F7C15 /* IMUIProgressButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD932001F5C3006F7C15 /* IMUIProgressButton.swift */; };
- 626BCDE92001F5C4006F7C15 /* IMUIFeatureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD942001F5C3006F7C15 /* IMUIFeatureView.swift */; };
- 626BCDEA2001F5C4006F7C15 /* IMUIEmojiCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD952001F5C3006F7C15 /* IMUIEmojiCell.xib */; };
- 626BCDEB2001F5C4006F7C15 /* IMUICameraCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD962001F5C3006F7C15 /* IMUICameraCell.xib */; };
- 626BCDEC2001F5C4006F7C15 /* IMUIEmojiCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD972001F5C3006F7C15 /* IMUIEmojiCell.swift */; };
- 626BCDED2001F5C4006F7C15 /* IMUICameraView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD982001F5C3006F7C15 /* IMUICameraView.xib */; };
- 626BCDEE2001F5C4006F7C15 /* IMUIGalleryContainerCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD992001F5C3006F7C15 /* IMUIGalleryContainerCell.xib */; };
- 626BCDEF2001F5C4006F7C15 /* IMUIPermissionDenyedView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD9A2001F5C3006F7C15 /* IMUIPermissionDenyedView.xib */; };
- 626BCDF02001F5C4006F7C15 /* IMUIGalleryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD9B2001F5C3006F7C15 /* IMUIGalleryCell.swift */; };
- 626BCDF12001F5C4006F7C15 /* IMUIEmojiItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD9C2001F5C3006F7C15 /* IMUIEmojiItemCell.swift */; };
- 626BCDF22001F5C4006F7C15 /* IMUIPermissionDenyedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD9D2001F5C3006F7C15 /* IMUIPermissionDenyedView.swift */; };
- 626BCDF32001F5C4006F7C15 /* IMUICameraPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCD9E2001F5C3006F7C15 /* IMUICameraPreviewView.swift */; };
- 626BCDF42001F5C4006F7C15 /* IMUIEmojiItemCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCD9F2001F5C3006F7C15 /* IMUIEmojiItemCell.xib */; };
- 626BCDF52001F5C4006F7C15 /* IMUIGalleryCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCDA02001F5C3006F7C15 /* IMUIGalleryCell.xib */; };
- 626BCDF62001F5C4006F7C15 /* IMUIPhotoCaptureDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDA12001F5C3006F7C15 /* IMUIPhotoCaptureDelegate.swift */; };
- 626BCDF72001F5C4006F7C15 /* IMUIRecordVoiceCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCDA22001F5C3006F7C15 /* IMUIRecordVoiceCell.xib */; };
- 626BCDF82001F5C4006F7C15 /* IMUIFeatureListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDA32001F5C3006F7C15 /* IMUIFeatureListView.swift */; };
- 626BCDF92001F5C4006F7C15 /* IMUIFeatureListIconCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCDA42001F5C3006F7C15 /* IMUIFeatureListIconCell.xib */; };
- 626BCDFA2001F5C4006F7C15 /* IMUIInputViewAssets.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 626BCDA62001F5C3006F7C15 /* IMUIInputViewAssets.bundle */; };
- 626BCDFB2001F5C4006F7C15 /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDA92001F5C4006F7C15 /* UIColorExtension.swift */; };
- 626BCDFC2001F5C4006F7C15 /* CMSampleBufferExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDAA2001F5C4006F7C15 /* CMSampleBufferExtension.swift */; };
- 626BCDFD2001F5C4006F7C15 /* CIImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDAB2001F5C4006F7C15 /* CIImageExtension.swift */; };
- 626BCDFE2001F5C4006F7C15 /* UIViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDAC2001F5C4006F7C15 /* UIViewExtension.swift */; };
- 626BCDFF2001F5C4006F7C15 /* CGRectExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDAD2001F5C4006F7C15 /* CGRectExtension.swift */; };
- 626BCE002001F5C4006F7C15 /* StringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDAE2001F5C4006F7C15 /* StringExtension.swift */; };
- 626BCE012001F5C4006F7C15 /* UIImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDAF2001F5C4006F7C15 /* UIImageExtension.swift */; };
- 626BCE022001F5C4006F7C15 /* DateExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDB02001F5C4006F7C15 /* DateExtension.swift */; };
- 626BCE032001F5C4006F7C15 /* IMUIAudioPlayerHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDB22001F5C4006F7C15 /* IMUIAudioPlayerHelper.swift */; };
- 626BCE042001F5C4006F7C15 /* IMUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 626BCDB42001F5C4006F7C15 /* IMUI.h */; };
- 626BCE052001F5C4006F7C15 /* BundleMessageListExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDB62001F5C4006F7C15 /* BundleMessageListExtension.swift */; };
- 626BCE062001F5C4006F7C15 /* UIImageMessageListExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDB72001F5C4006F7C15 /* UIImageMessageListExtension.swift */; };
- 626BCE072001F5C4006F7C15 /* IMUIMessageCellLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDB92001F5C4006F7C15 /* IMUIMessageCellLayout.swift */; };
- 626BCE082001F5C4006F7C15 /* IMUIMessageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDBB2001F5C4006F7C15 /* IMUIMessageModel.swift */; };
- 626BCE092001F5C4006F7C15 /* IMUIViewCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDBC2001F5C4006F7C15 /* IMUIViewCache.swift */; };
- 626BCE0A2001F5C4006F7C15 /* IMUIReuseViewCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDBD2001F5C4006F7C15 /* IMUIReuseViewCache.swift */; };
- 626BCE0B2001F5C4006F7C15 /* IMUIMessageContentViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDBF2001F5C4006F7C15 /* IMUIMessageContentViewProtocol.swift */; };
- 626BCE0C2001F5C4006F7C15 /* IMUIMessageProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC02001F5C4006F7C15 /* IMUIMessageProtocol.swift */; };
- 626BCE0D2001F5C4006F7C15 /* IMUIUserProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC12001F5C4006F7C15 /* IMUIUserProtocol.swift */; };
- 626BCE0E2001F5C4006F7C15 /* IMUIMessageMessageCollectionViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC22001F5C4006F7C15 /* IMUIMessageMessageCollectionViewDelegate.swift */; };
- 626BCE0F2001F5C4006F7C15 /* IMUIMessageCellProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC32001F5C4006F7C15 /* IMUIMessageCellProtocol.swift */; };
- 626BCE102001F5C4006F7C15 /* IMUIMessageStatusViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC42001F5C4006F7C15 /* IMUIMessageStatusViewProtocol.swift */; };
- 626BCE112001F5C4006F7C15 /* IMUIMessageModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC52001F5C4006F7C15 /* IMUIMessageModelProtocol.swift */; };
- 626BCE122001F5C4006F7C15 /* IMUIMessageCellLayoutProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC62001F5C4006F7C15 /* IMUIMessageCellLayoutProtocol.swift */; };
- 626BCE132001F5C4006F7C15 /* IMUIChatDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC82001F5C4006F7C15 /* IMUIChatDataManager.swift */; };
- 626BCE142001F5C4006F7C15 /* IMUIVideoFileLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDC92001F5C4006F7C15 /* IMUIVideoFileLoader.swift */; };
- 626BCE152001F5C4006F7C15 /* IMUIChatLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDCA2001F5C4006F7C15 /* IMUIChatLayout.swift */; };
- 626BCE162001F5C4006F7C15 /* IMUIMessageStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDCC2001F5C4006F7C15 /* IMUIMessageStatusView.swift */; };
- 626BCE172001F5C4006F7C15 /* IMUIMessageCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDCD2001F5C4006F7C15 /* IMUIMessageCollectionView.swift */; };
- 626BCE182001F5C4006F7C15 /* IMUIMessageBubbleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDCE2001F5C4006F7C15 /* IMUIMessageBubbleView.swift */; };
- 626BCE192001F5C4006F7C15 /* IMUITextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDCF2001F5C4006F7C15 /* IMUITextView.swift */; };
- 626BCE1A2001F5C4006F7C15 /* CIImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDD02001F5C4006F7C15 /* CIImageView.swift */; };
- 626BCE1B2001F5C4006F7C15 /* IMUIVoiceMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDD12001F5C4006F7C15 /* IMUIVoiceMessageContentView.swift */; };
- 626BCE1C2001F5C4006F7C15 /* IMUITextMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDD22001F5C4006F7C15 /* IMUITextMessageContentView.swift */; };
- 626BCE1D2001F5C4006F7C15 /* IMUIMessageCollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 626BCDD32001F5C4006F7C15 /* IMUIMessageCollectionView.xib */; };
- 626BCE1E2001F5C4006F7C15 /* IMUIVideoMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDD42001F5C4006F7C15 /* IMUIVideoMessageContentView.swift */; };
- 626BCE1F2001F5C4006F7C15 /* IMUIBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDD52001F5C4006F7C15 /* IMUIBaseMessageCell.swift */; };
- 626BCE202001F5C4006F7C15 /* IMUIImageMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626BCDD62001F5C4006F7C15 /* IMUIImageMessageContentView.swift */; };
- 626BCE212001F5C4006F7C15 /* IMUIAssets.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 626BCDD82001F5C4006F7C15 /* IMUIAssets.bundle */; };
6298E7F21FB40D3400E53CAF /* IMUICustomMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6298E7F11FB40D3400E53CAF /* IMUICustomMessageContentView.swift */; };
62B0CB35204E41C100D87F94 /* RCTAuroraIMUIFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB33204E41C100D87F94 /* RCTAuroraIMUIFileManager.m */; };
62B0CB36204E41C100D87F94 /* RCTAuroraIMUIFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 62B0CB34204E41C100D87F94 /* RCTAuroraIMUIFileManager.h */; };
+ 62B0CBD9204FC52C00D87F94 /* IMUIInputViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB7F204FC52C00D87F94 /* IMUIInputViewDelegate.swift */; };
+ 62B0CBDA204FC52C00D87F94 /* BundleInputViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB81204FC52C00D87F94 /* BundleInputViewExtension.swift */; };
+ 62B0CBDB204FC52C00D87F94 /* IMUIFeatureIconModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB83204FC52C00D87F94 /* IMUIFeatureIconModel.swift */; };
+ 62B0CBDC204FC52C00D87F94 /* IMUIEmojiModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB84204FC52C00D87F94 /* IMUIEmojiModel.swift */; };
+ 62B0CBDD204FC52C00D87F94 /* IMUIRecordVoiceHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB86204FC52C00D87F94 /* IMUIRecordVoiceHelper.swift */; };
+ 62B0CBDE204FC52C00D87F94 /* IMUIInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB87204FC52C00D87F94 /* IMUIInputView.swift */; };
+ 62B0CBDF204FC52C00D87F94 /* IMUIGalleryDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB88204FC52C00D87F94 /* IMUIGalleryDataManager.swift */; };
+ 62B0CBE0204FC52C00D87F94 /* IMUIInputView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB89204FC52C00D87F94 /* IMUIInputView.xib */; };
+ 62B0CBE1204FC52C00D87F94 /* IMUICameraCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB8B204FC52C00D87F94 /* IMUICameraCell.swift */; };
+ 62B0CBE2204FC52C00D87F94 /* IMUIFeatureListIconCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB8C204FC52C00D87F94 /* IMUIFeatureListIconCell.swift */; };
+ 62B0CBE3204FC52C00D87F94 /* IMUIFeatureListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB8D204FC52C00D87F94 /* IMUIFeatureListView.xib */; };
+ 62B0CBE4204FC52C00D87F94 /* IMUICameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB8E204FC52C00D87F94 /* IMUICameraView.swift */; };
+ 62B0CBE5204FC52C00D87F94 /* IMUIHidenStatusViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB8F204FC52C00D87F94 /* IMUIHidenStatusViewController.swift */; };
+ 62B0CBE6204FC52C00D87F94 /* IMUIGalleryContainerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB90204FC52C00D87F94 /* IMUIGalleryContainerCell.swift */; };
+ 62B0CBE7204FC52C00D87F94 /* IMUIRecordVoiceCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB91204FC52C00D87F94 /* IMUIRecordVoiceCell.swift */; };
+ 62B0CBE8204FC52C00D87F94 /* IMUIFeatureView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB92204FC52C00D87F94 /* IMUIFeatureView.xib */; };
+ 62B0CBE9204FC52C00D87F94 /* IMUIProgressButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB93204FC52C00D87F94 /* IMUIProgressButton.swift */; };
+ 62B0CBEA204FC52C00D87F94 /* IMUIFeatureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB94204FC52C00D87F94 /* IMUIFeatureView.swift */; };
+ 62B0CBEB204FC52C00D87F94 /* IMUIEmojiCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB95204FC52C00D87F94 /* IMUIEmojiCell.xib */; };
+ 62B0CBEC204FC52C00D87F94 /* IMUICameraCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB96204FC52C00D87F94 /* IMUICameraCell.xib */; };
+ 62B0CBED204FC52C00D87F94 /* IMUIEmojiCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB97204FC52C00D87F94 /* IMUIEmojiCell.swift */; };
+ 62B0CBEE204FC52C00D87F94 /* IMUICameraView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB98204FC52C00D87F94 /* IMUICameraView.xib */; };
+ 62B0CBEF204FC52C00D87F94 /* IMUIGalleryContainerCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB99204FC52C00D87F94 /* IMUIGalleryContainerCell.xib */; };
+ 62B0CBF0204FC52C00D87F94 /* IMUIPermissionDenyedView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB9A204FC52C00D87F94 /* IMUIPermissionDenyedView.xib */; };
+ 62B0CBF1204FC52C00D87F94 /* IMUIGalleryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB9B204FC52C00D87F94 /* IMUIGalleryCell.swift */; };
+ 62B0CBF2204FC52C00D87F94 /* IMUIEmojiItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB9C204FC52C00D87F94 /* IMUIEmojiItemCell.swift */; };
+ 62B0CBF3204FC52C00D87F94 /* IMUIPermissionDenyedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB9D204FC52C00D87F94 /* IMUIPermissionDenyedView.swift */; };
+ 62B0CBF4204FC52C00D87F94 /* IMUICameraPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB9E204FC52C00D87F94 /* IMUICameraPreviewView.swift */; };
+ 62B0CBF5204FC52C00D87F94 /* IMUIEmojiItemCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CB9F204FC52C00D87F94 /* IMUIEmojiItemCell.xib */; };
+ 62B0CBF6204FC52C00D87F94 /* IMUIGalleryCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CBA0204FC52C00D87F94 /* IMUIGalleryCell.xib */; };
+ 62B0CBF7204FC52C00D87F94 /* IMUIPhotoCaptureDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBA1204FC52C00D87F94 /* IMUIPhotoCaptureDelegate.swift */; };
+ 62B0CBF8204FC52C00D87F94 /* IMUIRecordVoiceCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CBA2204FC52C00D87F94 /* IMUIRecordVoiceCell.xib */; };
+ 62B0CBF9204FC52C00D87F94 /* IMUIFeatureListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBA3204FC52C00D87F94 /* IMUIFeatureListView.swift */; };
+ 62B0CBFA204FC52C00D87F94 /* IMUIFeatureListIconCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CBA4204FC52C00D87F94 /* IMUIFeatureListIconCell.xib */; };
+ 62B0CBFB204FC52C00D87F94 /* IMUIInputViewAssets.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CBA6204FC52C00D87F94 /* IMUIInputViewAssets.bundle */; };
+ 62B0CBFC204FC52C00D87F94 /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBA9204FC52C00D87F94 /* UIColorExtension.swift */; };
+ 62B0CBFD204FC52C00D87F94 /* CMSampleBufferExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBAA204FC52C00D87F94 /* CMSampleBufferExtension.swift */; };
+ 62B0CBFE204FC52C00D87F94 /* CIImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBAB204FC52C00D87F94 /* CIImageExtension.swift */; };
+ 62B0CBFF204FC52C00D87F94 /* UIViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBAC204FC52C00D87F94 /* UIViewExtension.swift */; };
+ 62B0CC00204FC52C00D87F94 /* CGRectExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBAD204FC52C00D87F94 /* CGRectExtension.swift */; };
+ 62B0CC01204FC52C00D87F94 /* StringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBAE204FC52C00D87F94 /* StringExtension.swift */; };
+ 62B0CC02204FC52C00D87F94 /* UIImageExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBAF204FC52C00D87F94 /* UIImageExtension.swift */; };
+ 62B0CC03204FC52C00D87F94 /* DateExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBB0204FC52C00D87F94 /* DateExtension.swift */; };
+ 62B0CC04204FC52C00D87F94 /* IMUIAudioPlayerHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBB2204FC52C00D87F94 /* IMUIAudioPlayerHelper.swift */; };
+ 62B0CC05204FC52C00D87F94 /* IMUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 62B0CBB4204FC52C00D87F94 /* IMUI.h */; };
+ 62B0CC06204FC52C00D87F94 /* BundleMessageListExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBB6204FC52C00D87F94 /* BundleMessageListExtension.swift */; };
+ 62B0CC07204FC52C00D87F94 /* UIImageMessageListExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBB7204FC52C00D87F94 /* UIImageMessageListExtension.swift */; };
+ 62B0CC08204FC52C00D87F94 /* IMUIMessageCellLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBB9204FC52C00D87F94 /* IMUIMessageCellLayout.swift */; };
+ 62B0CC09204FC52C00D87F94 /* IMUIMessageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBBB204FC52C00D87F94 /* IMUIMessageModel.swift */; };
+ 62B0CC0A204FC52C00D87F94 /* IMUIViewCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBBC204FC52C00D87F94 /* IMUIViewCache.swift */; };
+ 62B0CC0B204FC52C00D87F94 /* IMUIReuseViewCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBBD204FC52C00D87F94 /* IMUIReuseViewCache.swift */; };
+ 62B0CC0C204FC52C00D87F94 /* IMUIMessageContentViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBBF204FC52C00D87F94 /* IMUIMessageContentViewProtocol.swift */; };
+ 62B0CC0D204FC52C00D87F94 /* IMUIMessageProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC0204FC52C00D87F94 /* IMUIMessageProtocol.swift */; };
+ 62B0CC0E204FC52C00D87F94 /* IMUIUserProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC1204FC52C00D87F94 /* IMUIUserProtocol.swift */; };
+ 62B0CC0F204FC52C00D87F94 /* IMUIMessageMessageCollectionViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC2204FC52C00D87F94 /* IMUIMessageMessageCollectionViewDelegate.swift */; };
+ 62B0CC10204FC52C00D87F94 /* IMUIMessageCellProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC3204FC52C00D87F94 /* IMUIMessageCellProtocol.swift */; };
+ 62B0CC11204FC52C00D87F94 /* IMUIMessageStatusViewProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC4204FC52C00D87F94 /* IMUIMessageStatusViewProtocol.swift */; };
+ 62B0CC12204FC52C00D87F94 /* IMUIMessageModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC5204FC52C00D87F94 /* IMUIMessageModelProtocol.swift */; };
+ 62B0CC13204FC52C00D87F94 /* IMUIMessageCellLayoutProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC6204FC52C00D87F94 /* IMUIMessageCellLayoutProtocol.swift */; };
+ 62B0CC14204FC52C00D87F94 /* IMUIChatDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC8204FC52C00D87F94 /* IMUIChatDataManager.swift */; };
+ 62B0CC15204FC52C00D87F94 /* IMUIVideoFileLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBC9204FC52C00D87F94 /* IMUIVideoFileLoader.swift */; };
+ 62B0CC16204FC52C00D87F94 /* IMUIChatLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBCA204FC52C00D87F94 /* IMUIChatLayout.swift */; };
+ 62B0CC17204FC52C00D87F94 /* IMUIMessageStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBCC204FC52C00D87F94 /* IMUIMessageStatusView.swift */; };
+ 62B0CC18204FC52C00D87F94 /* IMUIMessageCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBCD204FC52C00D87F94 /* IMUIMessageCollectionView.swift */; };
+ 62B0CC19204FC52C00D87F94 /* IMUIMessageBubbleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBCE204FC52C00D87F94 /* IMUIMessageBubbleView.swift */; };
+ 62B0CC1A204FC52C00D87F94 /* IMUITextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBCF204FC52C00D87F94 /* IMUITextView.swift */; };
+ 62B0CC1B204FC52C00D87F94 /* CIImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBD0204FC52C00D87F94 /* CIImageView.swift */; };
+ 62B0CC1C204FC52C00D87F94 /* IMUIVoiceMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBD1204FC52C00D87F94 /* IMUIVoiceMessageContentView.swift */; };
+ 62B0CC1D204FC52C00D87F94 /* IMUITextMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBD2204FC52C00D87F94 /* IMUITextMessageContentView.swift */; };
+ 62B0CC1E204FC52C00D87F94 /* IMUIMessageCollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CBD3204FC52C00D87F94 /* IMUIMessageCollectionView.xib */; };
+ 62B0CC1F204FC52C00D87F94 /* IMUIVideoMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBD4204FC52C00D87F94 /* IMUIVideoMessageContentView.swift */; };
+ 62B0CC20204FC52C00D87F94 /* IMUIBaseMessageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBD5204FC52C00D87F94 /* IMUIBaseMessageCell.swift */; };
+ 62B0CC21204FC52C00D87F94 /* IMUIImageMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CBD6204FC52C00D87F94 /* IMUIImageMessageContentView.swift */; };
+ 62B0CC22204FC52C00D87F94 /* IMUIAssets.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 62B0CBD8204FC52C00D87F94 /* IMUIAssets.bundle */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -167,82 +168,83 @@
623EA9A81EE55D0800EC43AE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
624F239D1F039DBF00D11E4E /* MessageEventCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageEventCollectionViewCell.swift; sourceTree = ""; };
624F239E1F039DBF00D11E4E /* MessageEventModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageEventModel.swift; sourceTree = ""; };
- 626BCD802001F5C3006F7C15 /* IMUIInputViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIInputViewDelegate.swift; sourceTree = ""; };
- 626BCD822001F5C3006F7C15 /* BundleInputViewExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleInputViewExtension.swift; sourceTree = ""; };
- 626BCD842001F5C3006F7C15 /* IMUIFeatureIconModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureIconModel.swift; sourceTree = ""; };
- 626BCD852001F5C3006F7C15 /* IMUIEmojiModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIEmojiModel.swift; sourceTree = ""; };
- 626BCD872001F5C3006F7C15 /* IMUIRecordVoiceHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIRecordVoiceHelper.swift; sourceTree = ""; };
- 626BCD882001F5C3006F7C15 /* IMUIInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIInputView.swift; sourceTree = ""; };
- 626BCD892001F5C3006F7C15 /* IMUIGalleryDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIGalleryDataManager.swift; sourceTree = ""; };
- 626BCD8A2001F5C3006F7C15 /* IMUIInputView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIInputView.xib; sourceTree = ""; };
- 626BCD8C2001F5C3006F7C15 /* IMUICameraCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUICameraCell.swift; sourceTree = ""; };
- 626BCD8D2001F5C3006F7C15 /* IMUIFeatureListIconCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureListIconCell.swift; sourceTree = ""; };
- 626BCD8E2001F5C3006F7C15 /* IMUIFeatureListView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIFeatureListView.xib; sourceTree = ""; };
- 626BCD8F2001F5C3006F7C15 /* IMUICameraView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUICameraView.swift; sourceTree = ""; };
- 626BCD902001F5C3006F7C15 /* IMUIGalleryContainerCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIGalleryContainerCell.swift; sourceTree = ""; };
- 626BCD912001F5C3006F7C15 /* IMUIRecordVoiceCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIRecordVoiceCell.swift; sourceTree = ""; };
- 626BCD922001F5C3006F7C15 /* IMUIFeatureView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIFeatureView.xib; sourceTree = ""; };
- 626BCD932001F5C3006F7C15 /* IMUIProgressButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIProgressButton.swift; sourceTree = ""; };
- 626BCD942001F5C3006F7C15 /* IMUIFeatureView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureView.swift; sourceTree = ""; };
- 626BCD952001F5C3006F7C15 /* IMUIEmojiCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIEmojiCell.xib; sourceTree = ""; };
- 626BCD962001F5C3006F7C15 /* IMUICameraCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUICameraCell.xib; sourceTree = ""; };
- 626BCD972001F5C3006F7C15 /* IMUIEmojiCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIEmojiCell.swift; sourceTree = ""; };
- 626BCD982001F5C3006F7C15 /* IMUICameraView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUICameraView.xib; sourceTree = ""; };
- 626BCD992001F5C3006F7C15 /* IMUIGalleryContainerCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIGalleryContainerCell.xib; sourceTree = ""; };
- 626BCD9A2001F5C3006F7C15 /* IMUIPermissionDenyedView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIPermissionDenyedView.xib; sourceTree = ""; };
- 626BCD9B2001F5C3006F7C15 /* IMUIGalleryCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIGalleryCell.swift; sourceTree = ""; };
- 626BCD9C2001F5C3006F7C15 /* IMUIEmojiItemCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIEmojiItemCell.swift; sourceTree = ""; };
- 626BCD9D2001F5C3006F7C15 /* IMUIPermissionDenyedView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIPermissionDenyedView.swift; sourceTree = ""; };
- 626BCD9E2001F5C3006F7C15 /* IMUICameraPreviewView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUICameraPreviewView.swift; sourceTree = ""; };
- 626BCD9F2001F5C3006F7C15 /* IMUIEmojiItemCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIEmojiItemCell.xib; sourceTree = ""; };
- 626BCDA02001F5C3006F7C15 /* IMUIGalleryCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIGalleryCell.xib; sourceTree = ""; };
- 626BCDA12001F5C3006F7C15 /* IMUIPhotoCaptureDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIPhotoCaptureDelegate.swift; sourceTree = ""; };
- 626BCDA22001F5C3006F7C15 /* IMUIRecordVoiceCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIRecordVoiceCell.xib; sourceTree = ""; };
- 626BCDA32001F5C3006F7C15 /* IMUIFeatureListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureListView.swift; sourceTree = ""; };
- 626BCDA42001F5C3006F7C15 /* IMUIFeatureListIconCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIFeatureListIconCell.xib; sourceTree = ""; };
- 626BCDA62001F5C3006F7C15 /* IMUIInputViewAssets.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = IMUIInputViewAssets.bundle; sourceTree = ""; };
- 626BCDA92001F5C4006F7C15 /* UIColorExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = ""; };
- 626BCDAA2001F5C4006F7C15 /* CMSampleBufferExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CMSampleBufferExtension.swift; sourceTree = ""; };
- 626BCDAB2001F5C4006F7C15 /* CIImageExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CIImageExtension.swift; sourceTree = ""; };
- 626BCDAC2001F5C4006F7C15 /* UIViewExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewExtension.swift; sourceTree = ""; };
- 626BCDAD2001F5C4006F7C15 /* CGRectExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGRectExtension.swift; sourceTree = ""; };
- 626BCDAE2001F5C4006F7C15 /* StringExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringExtension.swift; sourceTree = ""; };
- 626BCDAF2001F5C4006F7C15 /* UIImageExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageExtension.swift; sourceTree = ""; };
- 626BCDB02001F5C4006F7C15 /* DateExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateExtension.swift; sourceTree = ""; };
- 626BCDB22001F5C4006F7C15 /* IMUIAudioPlayerHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIAudioPlayerHelper.swift; sourceTree = ""; };
- 626BCDB42001F5C4006F7C15 /* IMUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMUI.h; sourceTree = ""; };
- 626BCDB62001F5C4006F7C15 /* BundleMessageListExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleMessageListExtension.swift; sourceTree = ""; };
- 626BCDB72001F5C4006F7C15 /* UIImageMessageListExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageMessageListExtension.swift; sourceTree = ""; };
- 626BCDB92001F5C4006F7C15 /* IMUIMessageCellLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCellLayout.swift; sourceTree = ""; };
- 626BCDBB2001F5C4006F7C15 /* IMUIMessageModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageModel.swift; sourceTree = ""; };
- 626BCDBC2001F5C4006F7C15 /* IMUIViewCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIViewCache.swift; sourceTree = ""; };
- 626BCDBD2001F5C4006F7C15 /* IMUIReuseViewCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIReuseViewCache.swift; sourceTree = ""; };
- 626BCDBF2001F5C4006F7C15 /* IMUIMessageContentViewProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageContentViewProtocol.swift; sourceTree = ""; };
- 626BCDC02001F5C4006F7C15 /* IMUIMessageProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageProtocol.swift; sourceTree = ""; };
- 626BCDC12001F5C4006F7C15 /* IMUIUserProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIUserProtocol.swift; sourceTree = ""; };
- 626BCDC22001F5C4006F7C15 /* IMUIMessageMessageCollectionViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageMessageCollectionViewDelegate.swift; sourceTree = ""; };
- 626BCDC32001F5C4006F7C15 /* IMUIMessageCellProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCellProtocol.swift; sourceTree = ""; };
- 626BCDC42001F5C4006F7C15 /* IMUIMessageStatusViewProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageStatusViewProtocol.swift; sourceTree = ""; };
- 626BCDC52001F5C4006F7C15 /* IMUIMessageModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageModelProtocol.swift; sourceTree = ""; };
- 626BCDC62001F5C4006F7C15 /* IMUIMessageCellLayoutProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCellLayoutProtocol.swift; sourceTree = ""; };
- 626BCDC82001F5C4006F7C15 /* IMUIChatDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIChatDataManager.swift; sourceTree = ""; };
- 626BCDC92001F5C4006F7C15 /* IMUIVideoFileLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIVideoFileLoader.swift; sourceTree = ""; };
- 626BCDCA2001F5C4006F7C15 /* IMUIChatLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIChatLayout.swift; sourceTree = ""; };
- 626BCDCC2001F5C4006F7C15 /* IMUIMessageStatusView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageStatusView.swift; sourceTree = ""; };
- 626BCDCD2001F5C4006F7C15 /* IMUIMessageCollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCollectionView.swift; sourceTree = ""; };
- 626BCDCE2001F5C4006F7C15 /* IMUIMessageBubbleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageBubbleView.swift; sourceTree = ""; };
- 626BCDCF2001F5C4006F7C15 /* IMUITextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUITextView.swift; sourceTree = ""; };
- 626BCDD02001F5C4006F7C15 /* CIImageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CIImageView.swift; sourceTree = ""; };
- 626BCDD12001F5C4006F7C15 /* IMUIVoiceMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIVoiceMessageContentView.swift; sourceTree = ""; };
- 626BCDD22001F5C4006F7C15 /* IMUITextMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUITextMessageContentView.swift; sourceTree = ""; };
- 626BCDD32001F5C4006F7C15 /* IMUIMessageCollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIMessageCollectionView.xib; sourceTree = ""; };
- 626BCDD42001F5C4006F7C15 /* IMUIVideoMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIVideoMessageContentView.swift; sourceTree = ""; };
- 626BCDD52001F5C4006F7C15 /* IMUIBaseMessageCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIBaseMessageCell.swift; sourceTree = ""; };
- 626BCDD62001F5C4006F7C15 /* IMUIImageMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIImageMessageContentView.swift; sourceTree = ""; };
- 626BCDD82001F5C4006F7C15 /* IMUIAssets.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = IMUIAssets.bundle; sourceTree = ""; };
6298E7F11FB40D3400E53CAF /* IMUICustomMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUICustomMessageContentView.swift; sourceTree = ""; };
62B0CB33204E41C100D87F94 /* RCTAuroraIMUIFileManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAuroraIMUIFileManager.m; sourceTree = ""; };
62B0CB34204E41C100D87F94 /* RCTAuroraIMUIFileManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTAuroraIMUIFileManager.h; sourceTree = ""; };
+ 62B0CB7F204FC52C00D87F94 /* IMUIInputViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIInputViewDelegate.swift; sourceTree = ""; };
+ 62B0CB81204FC52C00D87F94 /* BundleInputViewExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleInputViewExtension.swift; sourceTree = ""; };
+ 62B0CB83204FC52C00D87F94 /* IMUIFeatureIconModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureIconModel.swift; sourceTree = ""; };
+ 62B0CB84204FC52C00D87F94 /* IMUIEmojiModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIEmojiModel.swift; sourceTree = ""; };
+ 62B0CB86204FC52C00D87F94 /* IMUIRecordVoiceHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIRecordVoiceHelper.swift; sourceTree = ""; };
+ 62B0CB87204FC52C00D87F94 /* IMUIInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIInputView.swift; sourceTree = ""; };
+ 62B0CB88204FC52C00D87F94 /* IMUIGalleryDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIGalleryDataManager.swift; sourceTree = ""; };
+ 62B0CB89204FC52C00D87F94 /* IMUIInputView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIInputView.xib; sourceTree = ""; };
+ 62B0CB8B204FC52C00D87F94 /* IMUICameraCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUICameraCell.swift; sourceTree = ""; };
+ 62B0CB8C204FC52C00D87F94 /* IMUIFeatureListIconCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureListIconCell.swift; sourceTree = ""; };
+ 62B0CB8D204FC52C00D87F94 /* IMUIFeatureListView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIFeatureListView.xib; sourceTree = ""; };
+ 62B0CB8E204FC52C00D87F94 /* IMUICameraView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUICameraView.swift; sourceTree = ""; };
+ 62B0CB8F204FC52C00D87F94 /* IMUIHidenStatusViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIHidenStatusViewController.swift; sourceTree = ""; };
+ 62B0CB90204FC52C00D87F94 /* IMUIGalleryContainerCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIGalleryContainerCell.swift; sourceTree = ""; };
+ 62B0CB91204FC52C00D87F94 /* IMUIRecordVoiceCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIRecordVoiceCell.swift; sourceTree = ""; };
+ 62B0CB92204FC52C00D87F94 /* IMUIFeatureView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIFeatureView.xib; sourceTree = ""; };
+ 62B0CB93204FC52C00D87F94 /* IMUIProgressButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIProgressButton.swift; sourceTree = ""; };
+ 62B0CB94204FC52C00D87F94 /* IMUIFeatureView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureView.swift; sourceTree = ""; };
+ 62B0CB95204FC52C00D87F94 /* IMUIEmojiCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIEmojiCell.xib; sourceTree = ""; };
+ 62B0CB96204FC52C00D87F94 /* IMUICameraCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUICameraCell.xib; sourceTree = ""; };
+ 62B0CB97204FC52C00D87F94 /* IMUIEmojiCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIEmojiCell.swift; sourceTree = ""; };
+ 62B0CB98204FC52C00D87F94 /* IMUICameraView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUICameraView.xib; sourceTree = ""; };
+ 62B0CB99204FC52C00D87F94 /* IMUIGalleryContainerCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIGalleryContainerCell.xib; sourceTree = ""; };
+ 62B0CB9A204FC52C00D87F94 /* IMUIPermissionDenyedView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIPermissionDenyedView.xib; sourceTree = ""; };
+ 62B0CB9B204FC52C00D87F94 /* IMUIGalleryCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIGalleryCell.swift; sourceTree = ""; };
+ 62B0CB9C204FC52C00D87F94 /* IMUIEmojiItemCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIEmojiItemCell.swift; sourceTree = ""; };
+ 62B0CB9D204FC52C00D87F94 /* IMUIPermissionDenyedView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIPermissionDenyedView.swift; sourceTree = ""; };
+ 62B0CB9E204FC52C00D87F94 /* IMUICameraPreviewView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUICameraPreviewView.swift; sourceTree = ""; };
+ 62B0CB9F204FC52C00D87F94 /* IMUIEmojiItemCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIEmojiItemCell.xib; sourceTree = ""; };
+ 62B0CBA0204FC52C00D87F94 /* IMUIGalleryCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIGalleryCell.xib; sourceTree = ""; };
+ 62B0CBA1204FC52C00D87F94 /* IMUIPhotoCaptureDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIPhotoCaptureDelegate.swift; sourceTree = ""; };
+ 62B0CBA2204FC52C00D87F94 /* IMUIRecordVoiceCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIRecordVoiceCell.xib; sourceTree = ""; };
+ 62B0CBA3204FC52C00D87F94 /* IMUIFeatureListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIFeatureListView.swift; sourceTree = ""; };
+ 62B0CBA4204FC52C00D87F94 /* IMUIFeatureListIconCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIFeatureListIconCell.xib; sourceTree = ""; };
+ 62B0CBA6204FC52C00D87F94 /* IMUIInputViewAssets.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = IMUIInputViewAssets.bundle; sourceTree = ""; };
+ 62B0CBA9204FC52C00D87F94 /* UIColorExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = ""; };
+ 62B0CBAA204FC52C00D87F94 /* CMSampleBufferExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CMSampleBufferExtension.swift; sourceTree = ""; };
+ 62B0CBAB204FC52C00D87F94 /* CIImageExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CIImageExtension.swift; sourceTree = ""; };
+ 62B0CBAC204FC52C00D87F94 /* UIViewExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewExtension.swift; sourceTree = ""; };
+ 62B0CBAD204FC52C00D87F94 /* CGRectExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGRectExtension.swift; sourceTree = ""; };
+ 62B0CBAE204FC52C00D87F94 /* StringExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringExtension.swift; sourceTree = ""; };
+ 62B0CBAF204FC52C00D87F94 /* UIImageExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageExtension.swift; sourceTree = ""; };
+ 62B0CBB0204FC52C00D87F94 /* DateExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateExtension.swift; sourceTree = ""; };
+ 62B0CBB2204FC52C00D87F94 /* IMUIAudioPlayerHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIAudioPlayerHelper.swift; sourceTree = ""; };
+ 62B0CBB4204FC52C00D87F94 /* IMUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMUI.h; sourceTree = ""; };
+ 62B0CBB6204FC52C00D87F94 /* BundleMessageListExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleMessageListExtension.swift; sourceTree = ""; };
+ 62B0CBB7204FC52C00D87F94 /* UIImageMessageListExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIImageMessageListExtension.swift; sourceTree = ""; };
+ 62B0CBB9204FC52C00D87F94 /* IMUIMessageCellLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCellLayout.swift; sourceTree = ""; };
+ 62B0CBBB204FC52C00D87F94 /* IMUIMessageModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageModel.swift; sourceTree = ""; };
+ 62B0CBBC204FC52C00D87F94 /* IMUIViewCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIViewCache.swift; sourceTree = ""; };
+ 62B0CBBD204FC52C00D87F94 /* IMUIReuseViewCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIReuseViewCache.swift; sourceTree = ""; };
+ 62B0CBBF204FC52C00D87F94 /* IMUIMessageContentViewProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageContentViewProtocol.swift; sourceTree = ""; };
+ 62B0CBC0204FC52C00D87F94 /* IMUIMessageProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageProtocol.swift; sourceTree = ""; };
+ 62B0CBC1204FC52C00D87F94 /* IMUIUserProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIUserProtocol.swift; sourceTree = ""; };
+ 62B0CBC2204FC52C00D87F94 /* IMUIMessageMessageCollectionViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageMessageCollectionViewDelegate.swift; sourceTree = ""; };
+ 62B0CBC3204FC52C00D87F94 /* IMUIMessageCellProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCellProtocol.swift; sourceTree = ""; };
+ 62B0CBC4204FC52C00D87F94 /* IMUIMessageStatusViewProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageStatusViewProtocol.swift; sourceTree = ""; };
+ 62B0CBC5204FC52C00D87F94 /* IMUIMessageModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageModelProtocol.swift; sourceTree = ""; };
+ 62B0CBC6204FC52C00D87F94 /* IMUIMessageCellLayoutProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCellLayoutProtocol.swift; sourceTree = ""; };
+ 62B0CBC8204FC52C00D87F94 /* IMUIChatDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIChatDataManager.swift; sourceTree = ""; };
+ 62B0CBC9204FC52C00D87F94 /* IMUIVideoFileLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIVideoFileLoader.swift; sourceTree = ""; };
+ 62B0CBCA204FC52C00D87F94 /* IMUIChatLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIChatLayout.swift; sourceTree = ""; };
+ 62B0CBCC204FC52C00D87F94 /* IMUIMessageStatusView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageStatusView.swift; sourceTree = ""; };
+ 62B0CBCD204FC52C00D87F94 /* IMUIMessageCollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageCollectionView.swift; sourceTree = ""; };
+ 62B0CBCE204FC52C00D87F94 /* IMUIMessageBubbleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIMessageBubbleView.swift; sourceTree = ""; };
+ 62B0CBCF204FC52C00D87F94 /* IMUITextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUITextView.swift; sourceTree = ""; };
+ 62B0CBD0204FC52C00D87F94 /* CIImageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CIImageView.swift; sourceTree = ""; };
+ 62B0CBD1204FC52C00D87F94 /* IMUIVoiceMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIVoiceMessageContentView.swift; sourceTree = ""; };
+ 62B0CBD2204FC52C00D87F94 /* IMUITextMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUITextMessageContentView.swift; sourceTree = ""; };
+ 62B0CBD3204FC52C00D87F94 /* IMUIMessageCollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIMessageCollectionView.xib; sourceTree = ""; };
+ 62B0CBD4204FC52C00D87F94 /* IMUIVideoMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIVideoMessageContentView.swift; sourceTree = ""; };
+ 62B0CBD5204FC52C00D87F94 /* IMUIBaseMessageCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIBaseMessageCell.swift; sourceTree = ""; };
+ 62B0CBD6204FC52C00D87F94 /* IMUIImageMessageContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMUIImageMessageContentView.swift; sourceTree = ""; };
+ 62B0CBD8204FC52C00D87F94 /* IMUIAssets.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = IMUIAssets.bundle; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -303,9 +305,9 @@
623EA99A1EE55D0800EC43AE /* RCTAuroraIMUI */ = {
isa = PBXGroup;
children = (
- 626BCDA72001F5C4006F7C15 /* IMUICommon */,
- 626BCD7E2001F5C3006F7C15 /* IMUIInputView */,
- 626BCDB32001F5C4006F7C15 /* IMUIMessageCollectionView */,
+ 62B0CBA7204FC52C00D87F94 /* IMUICommon */,
+ 62B0CB7D204FC52C00D87F94 /* IMUIInputView */,
+ 62B0CBB3204FC52C00D87F94 /* IMUIMessageCollectionView */,
623EA99B1EE55D0800EC43AE /* RCTAuroraIMUI.h */,
623EA99C1EE55D0800EC43AE /* Info.plist */,
);
@@ -341,219 +343,220 @@
name = Products;
sourceTree = "";
};
- 626BCD7E2001F5C3006F7C15 /* IMUIInputView */ = {
+ 62B0CB7D204FC52C00D87F94 /* IMUIInputView */ = {
isa = PBXGroup;
children = (
- 626BCD7F2001F5C3006F7C15 /* Protocal */,
- 626BCD812001F5C3006F7C15 /* Extension */,
- 626BCD832001F5C3006F7C15 /* Models */,
- 626BCD862001F5C3006F7C15 /* Controllers */,
- 626BCD8B2001F5C3006F7C15 /* Views */,
- 626BCDA52001F5C3006F7C15 /* Assets */,
+ 62B0CB7E204FC52C00D87F94 /* Protocal */,
+ 62B0CB80204FC52C00D87F94 /* Extension */,
+ 62B0CB82204FC52C00D87F94 /* Models */,
+ 62B0CB85204FC52C00D87F94 /* Controllers */,
+ 62B0CB8A204FC52C00D87F94 /* Views */,
+ 62B0CBA5204FC52C00D87F94 /* Assets */,
);
name = IMUIInputView;
path = ../../../iOS/IMUIInputView;
sourceTree = "";
};
- 626BCD7F2001F5C3006F7C15 /* Protocal */ = {
+ 62B0CB7E204FC52C00D87F94 /* Protocal */ = {
isa = PBXGroup;
children = (
- 626BCD802001F5C3006F7C15 /* IMUIInputViewDelegate.swift */,
+ 62B0CB7F204FC52C00D87F94 /* IMUIInputViewDelegate.swift */,
);
path = Protocal;
sourceTree = "";
};
- 626BCD812001F5C3006F7C15 /* Extension */ = {
+ 62B0CB80204FC52C00D87F94 /* Extension */ = {
isa = PBXGroup;
children = (
- 626BCD822001F5C3006F7C15 /* BundleInputViewExtension.swift */,
+ 62B0CB81204FC52C00D87F94 /* BundleInputViewExtension.swift */,
);
path = Extension;
sourceTree = "";
};
- 626BCD832001F5C3006F7C15 /* Models */ = {
+ 62B0CB82204FC52C00D87F94 /* Models */ = {
isa = PBXGroup;
children = (
- 626BCD842001F5C3006F7C15 /* IMUIFeatureIconModel.swift */,
- 626BCD852001F5C3006F7C15 /* IMUIEmojiModel.swift */,
+ 62B0CB83204FC52C00D87F94 /* IMUIFeatureIconModel.swift */,
+ 62B0CB84204FC52C00D87F94 /* IMUIEmojiModel.swift */,
);
path = Models;
sourceTree = "";
};
- 626BCD862001F5C3006F7C15 /* Controllers */ = {
+ 62B0CB85204FC52C00D87F94 /* Controllers */ = {
isa = PBXGroup;
children = (
- 626BCD872001F5C3006F7C15 /* IMUIRecordVoiceHelper.swift */,
- 626BCD882001F5C3006F7C15 /* IMUIInputView.swift */,
- 626BCD892001F5C3006F7C15 /* IMUIGalleryDataManager.swift */,
- 626BCD8A2001F5C3006F7C15 /* IMUIInputView.xib */,
+ 62B0CB86204FC52C00D87F94 /* IMUIRecordVoiceHelper.swift */,
+ 62B0CB87204FC52C00D87F94 /* IMUIInputView.swift */,
+ 62B0CB88204FC52C00D87F94 /* IMUIGalleryDataManager.swift */,
+ 62B0CB89204FC52C00D87F94 /* IMUIInputView.xib */,
);
path = Controllers;
sourceTree = "";
};
- 626BCD8B2001F5C3006F7C15 /* Views */ = {
+ 62B0CB8A204FC52C00D87F94 /* Views */ = {
isa = PBXGroup;
children = (
- 626BCD8C2001F5C3006F7C15 /* IMUICameraCell.swift */,
- 626BCD8D2001F5C3006F7C15 /* IMUIFeatureListIconCell.swift */,
- 626BCD8E2001F5C3006F7C15 /* IMUIFeatureListView.xib */,
- 626BCD8F2001F5C3006F7C15 /* IMUICameraView.swift */,
- 626BCD902001F5C3006F7C15 /* IMUIGalleryContainerCell.swift */,
- 626BCD912001F5C3006F7C15 /* IMUIRecordVoiceCell.swift */,
- 626BCD922001F5C3006F7C15 /* IMUIFeatureView.xib */,
- 626BCD932001F5C3006F7C15 /* IMUIProgressButton.swift */,
- 626BCD942001F5C3006F7C15 /* IMUIFeatureView.swift */,
- 626BCD952001F5C3006F7C15 /* IMUIEmojiCell.xib */,
- 626BCD962001F5C3006F7C15 /* IMUICameraCell.xib */,
- 626BCD972001F5C3006F7C15 /* IMUIEmojiCell.swift */,
- 626BCD982001F5C3006F7C15 /* IMUICameraView.xib */,
- 626BCD992001F5C3006F7C15 /* IMUIGalleryContainerCell.xib */,
- 626BCD9A2001F5C3006F7C15 /* IMUIPermissionDenyedView.xib */,
- 626BCD9B2001F5C3006F7C15 /* IMUIGalleryCell.swift */,
- 626BCD9C2001F5C3006F7C15 /* IMUIEmojiItemCell.swift */,
- 626BCD9D2001F5C3006F7C15 /* IMUIPermissionDenyedView.swift */,
- 626BCD9E2001F5C3006F7C15 /* IMUICameraPreviewView.swift */,
- 626BCD9F2001F5C3006F7C15 /* IMUIEmojiItemCell.xib */,
- 626BCDA02001F5C3006F7C15 /* IMUIGalleryCell.xib */,
- 626BCDA12001F5C3006F7C15 /* IMUIPhotoCaptureDelegate.swift */,
- 626BCDA22001F5C3006F7C15 /* IMUIRecordVoiceCell.xib */,
- 626BCDA32001F5C3006F7C15 /* IMUIFeatureListView.swift */,
- 626BCDA42001F5C3006F7C15 /* IMUIFeatureListIconCell.xib */,
+ 62B0CB8B204FC52C00D87F94 /* IMUICameraCell.swift */,
+ 62B0CB8C204FC52C00D87F94 /* IMUIFeatureListIconCell.swift */,
+ 62B0CB8D204FC52C00D87F94 /* IMUIFeatureListView.xib */,
+ 62B0CB8E204FC52C00D87F94 /* IMUICameraView.swift */,
+ 62B0CB8F204FC52C00D87F94 /* IMUIHidenStatusViewController.swift */,
+ 62B0CB90204FC52C00D87F94 /* IMUIGalleryContainerCell.swift */,
+ 62B0CB91204FC52C00D87F94 /* IMUIRecordVoiceCell.swift */,
+ 62B0CB92204FC52C00D87F94 /* IMUIFeatureView.xib */,
+ 62B0CB93204FC52C00D87F94 /* IMUIProgressButton.swift */,
+ 62B0CB94204FC52C00D87F94 /* IMUIFeatureView.swift */,
+ 62B0CB95204FC52C00D87F94 /* IMUIEmojiCell.xib */,
+ 62B0CB96204FC52C00D87F94 /* IMUICameraCell.xib */,
+ 62B0CB97204FC52C00D87F94 /* IMUIEmojiCell.swift */,
+ 62B0CB98204FC52C00D87F94 /* IMUICameraView.xib */,
+ 62B0CB99204FC52C00D87F94 /* IMUIGalleryContainerCell.xib */,
+ 62B0CB9A204FC52C00D87F94 /* IMUIPermissionDenyedView.xib */,
+ 62B0CB9B204FC52C00D87F94 /* IMUIGalleryCell.swift */,
+ 62B0CB9C204FC52C00D87F94 /* IMUIEmojiItemCell.swift */,
+ 62B0CB9D204FC52C00D87F94 /* IMUIPermissionDenyedView.swift */,
+ 62B0CB9E204FC52C00D87F94 /* IMUICameraPreviewView.swift */,
+ 62B0CB9F204FC52C00D87F94 /* IMUIEmojiItemCell.xib */,
+ 62B0CBA0204FC52C00D87F94 /* IMUIGalleryCell.xib */,
+ 62B0CBA1204FC52C00D87F94 /* IMUIPhotoCaptureDelegate.swift */,
+ 62B0CBA2204FC52C00D87F94 /* IMUIRecordVoiceCell.xib */,
+ 62B0CBA3204FC52C00D87F94 /* IMUIFeatureListView.swift */,
+ 62B0CBA4204FC52C00D87F94 /* IMUIFeatureListIconCell.xib */,
);
path = Views;
sourceTree = "";
};
- 626BCDA52001F5C3006F7C15 /* Assets */ = {
+ 62B0CBA5204FC52C00D87F94 /* Assets */ = {
isa = PBXGroup;
children = (
- 626BCDA62001F5C3006F7C15 /* IMUIInputViewAssets.bundle */,
+ 62B0CBA6204FC52C00D87F94 /* IMUIInputViewAssets.bundle */,
);
path = Assets;
sourceTree = "";
};
- 626BCDA72001F5C4006F7C15 /* IMUICommon */ = {
+ 62B0CBA7204FC52C00D87F94 /* IMUICommon */ = {
isa = PBXGroup;
children = (
- 626BCDA82001F5C4006F7C15 /* Extension */,
- 626BCDB12001F5C4006F7C15 /* Controllers */,
+ 62B0CBA8204FC52C00D87F94 /* Extension */,
+ 62B0CBB1204FC52C00D87F94 /* Controllers */,
);
name = IMUICommon;
path = ../../../iOS/IMUICommon;
sourceTree = "";
};
- 626BCDA82001F5C4006F7C15 /* Extension */ = {
+ 62B0CBA8204FC52C00D87F94 /* Extension */ = {
isa = PBXGroup;
children = (
- 626BCDA92001F5C4006F7C15 /* UIColorExtension.swift */,
- 626BCDAA2001F5C4006F7C15 /* CMSampleBufferExtension.swift */,
- 626BCDAB2001F5C4006F7C15 /* CIImageExtension.swift */,
- 626BCDAC2001F5C4006F7C15 /* UIViewExtension.swift */,
- 626BCDAD2001F5C4006F7C15 /* CGRectExtension.swift */,
- 626BCDAE2001F5C4006F7C15 /* StringExtension.swift */,
- 626BCDAF2001F5C4006F7C15 /* UIImageExtension.swift */,
- 626BCDB02001F5C4006F7C15 /* DateExtension.swift */,
+ 62B0CBA9204FC52C00D87F94 /* UIColorExtension.swift */,
+ 62B0CBAA204FC52C00D87F94 /* CMSampleBufferExtension.swift */,
+ 62B0CBAB204FC52C00D87F94 /* CIImageExtension.swift */,
+ 62B0CBAC204FC52C00D87F94 /* UIViewExtension.swift */,
+ 62B0CBAD204FC52C00D87F94 /* CGRectExtension.swift */,
+ 62B0CBAE204FC52C00D87F94 /* StringExtension.swift */,
+ 62B0CBAF204FC52C00D87F94 /* UIImageExtension.swift */,
+ 62B0CBB0204FC52C00D87F94 /* DateExtension.swift */,
);
path = Extension;
sourceTree = "";
};
- 626BCDB12001F5C4006F7C15 /* Controllers */ = {
+ 62B0CBB1204FC52C00D87F94 /* Controllers */ = {
isa = PBXGroup;
children = (
- 626BCDB22001F5C4006F7C15 /* IMUIAudioPlayerHelper.swift */,
+ 62B0CBB2204FC52C00D87F94 /* IMUIAudioPlayerHelper.swift */,
);
path = Controllers;
sourceTree = "";
};
- 626BCDB32001F5C4006F7C15 /* IMUIMessageCollectionView */ = {
+ 62B0CBB3204FC52C00D87F94 /* IMUIMessageCollectionView */ = {
isa = PBXGroup;
children = (
- 626BCDB42001F5C4006F7C15 /* IMUI.h */,
- 626BCDB52001F5C4006F7C15 /* Extension */,
- 626BCDB82001F5C4006F7C15 /* Layout */,
- 626BCDBA2001F5C4006F7C15 /* Models */,
- 626BCDBE2001F5C4006F7C15 /* Protocol */,
- 626BCDC72001F5C4006F7C15 /* Controllers */,
- 626BCDCB2001F5C4006F7C15 /* Views */,
- 626BCDD72001F5C4006F7C15 /* Assets */,
+ 62B0CBB4204FC52C00D87F94 /* IMUI.h */,
+ 62B0CBB5204FC52C00D87F94 /* Extension */,
+ 62B0CBB8204FC52C00D87F94 /* Layout */,
+ 62B0CBBA204FC52C00D87F94 /* Models */,
+ 62B0CBBE204FC52C00D87F94 /* Protocol */,
+ 62B0CBC7204FC52C00D87F94 /* Controllers */,
+ 62B0CBCB204FC52C00D87F94 /* Views */,
+ 62B0CBD7204FC52C00D87F94 /* Assets */,
);
name = IMUIMessageCollectionView;
path = ../../../iOS/IMUIMessageCollectionView;
sourceTree = "";
};
- 626BCDB52001F5C4006F7C15 /* Extension */ = {
+ 62B0CBB5204FC52C00D87F94 /* Extension */ = {
isa = PBXGroup;
children = (
- 626BCDB62001F5C4006F7C15 /* BundleMessageListExtension.swift */,
- 626BCDB72001F5C4006F7C15 /* UIImageMessageListExtension.swift */,
+ 62B0CBB6204FC52C00D87F94 /* BundleMessageListExtension.swift */,
+ 62B0CBB7204FC52C00D87F94 /* UIImageMessageListExtension.swift */,
);
path = Extension;
sourceTree = "";
};
- 626BCDB82001F5C4006F7C15 /* Layout */ = {
+ 62B0CBB8204FC52C00D87F94 /* Layout */ = {
isa = PBXGroup;
children = (
- 626BCDB92001F5C4006F7C15 /* IMUIMessageCellLayout.swift */,
+ 62B0CBB9204FC52C00D87F94 /* IMUIMessageCellLayout.swift */,
);
path = Layout;
sourceTree = "";
};
- 626BCDBA2001F5C4006F7C15 /* Models */ = {
+ 62B0CBBA204FC52C00D87F94 /* Models */ = {
isa = PBXGroup;
children = (
- 626BCDBB2001F5C4006F7C15 /* IMUIMessageModel.swift */,
- 626BCDBC2001F5C4006F7C15 /* IMUIViewCache.swift */,
- 626BCDBD2001F5C4006F7C15 /* IMUIReuseViewCache.swift */,
+ 62B0CBBB204FC52C00D87F94 /* IMUIMessageModel.swift */,
+ 62B0CBBC204FC52C00D87F94 /* IMUIViewCache.swift */,
+ 62B0CBBD204FC52C00D87F94 /* IMUIReuseViewCache.swift */,
);
path = Models;
sourceTree = "";
};
- 626BCDBE2001F5C4006F7C15 /* Protocol */ = {
+ 62B0CBBE204FC52C00D87F94 /* Protocol */ = {
isa = PBXGroup;
children = (
- 626BCDBF2001F5C4006F7C15 /* IMUIMessageContentViewProtocol.swift */,
- 626BCDC02001F5C4006F7C15 /* IMUIMessageProtocol.swift */,
- 626BCDC12001F5C4006F7C15 /* IMUIUserProtocol.swift */,
- 626BCDC22001F5C4006F7C15 /* IMUIMessageMessageCollectionViewDelegate.swift */,
- 626BCDC32001F5C4006F7C15 /* IMUIMessageCellProtocol.swift */,
- 626BCDC42001F5C4006F7C15 /* IMUIMessageStatusViewProtocol.swift */,
- 626BCDC52001F5C4006F7C15 /* IMUIMessageModelProtocol.swift */,
- 626BCDC62001F5C4006F7C15 /* IMUIMessageCellLayoutProtocol.swift */,
+ 62B0CBBF204FC52C00D87F94 /* IMUIMessageContentViewProtocol.swift */,
+ 62B0CBC0204FC52C00D87F94 /* IMUIMessageProtocol.swift */,
+ 62B0CBC1204FC52C00D87F94 /* IMUIUserProtocol.swift */,
+ 62B0CBC2204FC52C00D87F94 /* IMUIMessageMessageCollectionViewDelegate.swift */,
+ 62B0CBC3204FC52C00D87F94 /* IMUIMessageCellProtocol.swift */,
+ 62B0CBC4204FC52C00D87F94 /* IMUIMessageStatusViewProtocol.swift */,
+ 62B0CBC5204FC52C00D87F94 /* IMUIMessageModelProtocol.swift */,
+ 62B0CBC6204FC52C00D87F94 /* IMUIMessageCellLayoutProtocol.swift */,
);
path = Protocol;
sourceTree = "";
};
- 626BCDC72001F5C4006F7C15 /* Controllers */ = {
+ 62B0CBC7204FC52C00D87F94 /* Controllers */ = {
isa = PBXGroup;
children = (
- 626BCDC82001F5C4006F7C15 /* IMUIChatDataManager.swift */,
- 626BCDC92001F5C4006F7C15 /* IMUIVideoFileLoader.swift */,
- 626BCDCA2001F5C4006F7C15 /* IMUIChatLayout.swift */,
+ 62B0CBC8204FC52C00D87F94 /* IMUIChatDataManager.swift */,
+ 62B0CBC9204FC52C00D87F94 /* IMUIVideoFileLoader.swift */,
+ 62B0CBCA204FC52C00D87F94 /* IMUIChatLayout.swift */,
);
path = Controllers;
sourceTree = "";
};
- 626BCDCB2001F5C4006F7C15 /* Views */ = {
+ 62B0CBCB204FC52C00D87F94 /* Views */ = {
isa = PBXGroup;
children = (
- 626BCDCC2001F5C4006F7C15 /* IMUIMessageStatusView.swift */,
- 626BCDCD2001F5C4006F7C15 /* IMUIMessageCollectionView.swift */,
- 626BCDCE2001F5C4006F7C15 /* IMUIMessageBubbleView.swift */,
- 626BCDCF2001F5C4006F7C15 /* IMUITextView.swift */,
- 626BCDD02001F5C4006F7C15 /* CIImageView.swift */,
- 626BCDD12001F5C4006F7C15 /* IMUIVoiceMessageContentView.swift */,
- 626BCDD22001F5C4006F7C15 /* IMUITextMessageContentView.swift */,
- 626BCDD32001F5C4006F7C15 /* IMUIMessageCollectionView.xib */,
- 626BCDD42001F5C4006F7C15 /* IMUIVideoMessageContentView.swift */,
- 626BCDD52001F5C4006F7C15 /* IMUIBaseMessageCell.swift */,
- 626BCDD62001F5C4006F7C15 /* IMUIImageMessageContentView.swift */,
+ 62B0CBCC204FC52C00D87F94 /* IMUIMessageStatusView.swift */,
+ 62B0CBCD204FC52C00D87F94 /* IMUIMessageCollectionView.swift */,
+ 62B0CBCE204FC52C00D87F94 /* IMUIMessageBubbleView.swift */,
+ 62B0CBCF204FC52C00D87F94 /* IMUITextView.swift */,
+ 62B0CBD0204FC52C00D87F94 /* CIImageView.swift */,
+ 62B0CBD1204FC52C00D87F94 /* IMUIVoiceMessageContentView.swift */,
+ 62B0CBD2204FC52C00D87F94 /* IMUITextMessageContentView.swift */,
+ 62B0CBD3204FC52C00D87F94 /* IMUIMessageCollectionView.xib */,
+ 62B0CBD4204FC52C00D87F94 /* IMUIVideoMessageContentView.swift */,
+ 62B0CBD5204FC52C00D87F94 /* IMUIBaseMessageCell.swift */,
+ 62B0CBD6204FC52C00D87F94 /* IMUIImageMessageContentView.swift */,
);
path = Views;
sourceTree = "";
};
- 626BCDD72001F5C4006F7C15 /* Assets */ = {
+ 62B0CBD7204FC52C00D87F94 /* Assets */ = {
isa = PBXGroup;
children = (
- 626BCDD82001F5C4006F7C15 /* IMUIAssets.bundle */,
+ 62B0CBD8204FC52C00D87F94 /* IMUIAssets.bundle */,
);
path = Assets;
sourceTree = "";
@@ -565,8 +568,8 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- 626BCE042001F5C4006F7C15 /* IMUI.h in Headers */,
623EA9A91EE55D0800EC43AE /* RCTAuroraIMUI.h in Headers */,
+ 62B0CC05204FC52C00D87F94 /* IMUI.h in Headers */,
62B0CB36204E41C100D87F94 /* RCTAuroraIMUIFileManager.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -678,23 +681,23 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 626BCDF52001F5C4006F7C15 /* IMUIGalleryCell.xib in Resources */,
- 626BCDE02001F5C4006F7C15 /* IMUIInputView.xib in Resources */,
+ 62B0CBF6204FC52C00D87F94 /* IMUIGalleryCell.xib in Resources */,
+ 62B0CBE0204FC52C00D87F94 /* IMUIInputView.xib in Resources */,
624B82DA1EE57482006C3C03 /* RCTInputView.xib in Resources */,
- 626BCDEA2001F5C4006F7C15 /* IMUIEmojiCell.xib in Resources */,
- 626BCDF72001F5C4006F7C15 /* IMUIRecordVoiceCell.xib in Resources */,
- 626BCDED2001F5C4006F7C15 /* IMUICameraView.xib in Resources */,
- 626BCDE72001F5C4006F7C15 /* IMUIFeatureView.xib in Resources */,
+ 62B0CBEB204FC52C00D87F94 /* IMUIEmojiCell.xib in Resources */,
+ 62B0CBF8204FC52C00D87F94 /* IMUIRecordVoiceCell.xib in Resources */,
+ 62B0CBEE204FC52C00D87F94 /* IMUICameraView.xib in Resources */,
+ 62B0CBE8204FC52C00D87F94 /* IMUIFeatureView.xib in Resources */,
624B82DB1EE57482006C3C03 /* RCTMessageListView.xib in Resources */,
- 626BCDF42001F5C4006F7C15 /* IMUIEmojiItemCell.xib in Resources */,
- 626BCDF92001F5C4006F7C15 /* IMUIFeatureListIconCell.xib in Resources */,
- 626BCDE32001F5C4006F7C15 /* IMUIFeatureListView.xib in Resources */,
- 626BCDFA2001F5C4006F7C15 /* IMUIInputViewAssets.bundle in Resources */,
- 626BCDEE2001F5C4006F7C15 /* IMUIGalleryContainerCell.xib in Resources */,
- 626BCDEF2001F5C4006F7C15 /* IMUIPermissionDenyedView.xib in Resources */,
- 626BCE1D2001F5C4006F7C15 /* IMUIMessageCollectionView.xib in Resources */,
- 626BCE212001F5C4006F7C15 /* IMUIAssets.bundle in Resources */,
- 626BCDEB2001F5C4006F7C15 /* IMUICameraCell.xib in Resources */,
+ 62B0CBF5204FC52C00D87F94 /* IMUIEmojiItemCell.xib in Resources */,
+ 62B0CBFA204FC52C00D87F94 /* IMUIFeatureListIconCell.xib in Resources */,
+ 62B0CBE3204FC52C00D87F94 /* IMUIFeatureListView.xib in Resources */,
+ 62B0CBFB204FC52C00D87F94 /* IMUIInputViewAssets.bundle in Resources */,
+ 62B0CBEF204FC52C00D87F94 /* IMUIGalleryContainerCell.xib in Resources */,
+ 62B0CBF0204FC52C00D87F94 /* IMUIPermissionDenyedView.xib in Resources */,
+ 62B0CC1E204FC52C00D87F94 /* IMUIMessageCollectionView.xib in Resources */,
+ 62B0CC22204FC52C00D87F94 /* IMUIAssets.bundle in Resources */,
+ 62B0CBEC204FC52C00D87F94 /* IMUICameraCell.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -723,82 +726,83 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 626BCE022001F5C4006F7C15 /* DateExtension.swift in Sources */,
- 626BCE062001F5C4006F7C15 /* UIImageMessageListExtension.swift in Sources */,
- 626BCE112001F5C4006F7C15 /* IMUIMessageModelProtocol.swift in Sources */,
+ 62B0CC08204FC52C00D87F94 /* IMUIMessageCellLayout.swift in Sources */,
+ 62B0CC0D204FC52C00D87F94 /* IMUIMessageProtocol.swift in Sources */,
+ 62B0CC15204FC52C00D87F94 /* IMUIVideoFileLoader.swift in Sources */,
+ 62B0CBD9204FC52C00D87F94 /* IMUIInputViewDelegate.swift in Sources */,
+ 62B0CC0C204FC52C00D87F94 /* IMUIMessageContentViewProtocol.swift in Sources */,
+ 62B0CC0B204FC52C00D87F94 /* IMUIReuseViewCache.swift in Sources */,
+ 62B0CC1B204FC52C00D87F94 /* CIImageView.swift in Sources */,
624B828D1EE5710E006C3C03 /* imuiDemo-Bridging-Header.h in Sources */,
- 626BCDF32001F5C4006F7C15 /* IMUICameraPreviewView.swift in Sources */,
- 626BCDD92001F5C4006F7C15 /* IMUIInputViewDelegate.swift in Sources */,
+ 62B0CC20204FC52C00D87F94 /* IMUIBaseMessageCell.swift in Sources */,
+ 62B0CC16204FC52C00D87F94 /* IMUIChatLayout.swift in Sources */,
+ 62B0CBF2204FC52C00D87F94 /* IMUIEmojiItemCell.swift in Sources */,
+ 62B0CC18204FC52C00D87F94 /* IMUIMessageCollectionView.swift in Sources */,
+ 62B0CC00204FC52C00D87F94 /* CGRectExtension.swift in Sources */,
624B828E1EE5710E006C3C03 /* IMUIInputViewManager.m in Sources */,
- 626BCE0B2001F5C4006F7C15 /* IMUIMessageContentViewProtocol.swift in Sources */,
- 626BCE172001F5C4006F7C15 /* IMUIMessageCollectionView.swift in Sources */,
- 626BCDDA2001F5C4006F7C15 /* BundleInputViewExtension.swift in Sources */,
- 626BCE052001F5C4006F7C15 /* BundleMessageListExtension.swift in Sources */,
+ 62B0CC01204FC52C00D87F94 /* StringExtension.swift in Sources */,
624B82901EE5710E006C3C03 /* MyMessageModel.swift in Sources */,
- 626BCDDE2001F5C4006F7C15 /* IMUIInputView.swift in Sources */,
+ 62B0CBDF204FC52C00D87F94 /* IMUIGalleryDataManager.swift in Sources */,
+ 62B0CC1D204FC52C00D87F94 /* IMUITextMessageContentView.swift in Sources */,
624B82911EE5710E006C3C03 /* MyUser.swift in Sources */,
+ 62B0CBF4204FC52C00D87F94 /* IMUICameraPreviewView.swift in Sources */,
+ 62B0CBFD204FC52C00D87F94 /* CMSampleBufferExtension.swift in Sources */,
6298E7F21FB40D3400E53CAF /* IMUICustomMessageContentView.swift in Sources */,
- 626BCDE82001F5C4006F7C15 /* IMUIProgressButton.swift in Sources */,
+ 62B0CBEA204FC52C00D87F94 /* IMUIFeatureView.swift in Sources */,
+ 62B0CBF1204FC52C00D87F94 /* IMUIGalleryCell.swift in Sources */,
+ 62B0CBE9204FC52C00D87F94 /* IMUIProgressButton.swift in Sources */,
+ 62B0CC06204FC52C00D87F94 /* BundleMessageListExtension.swift in Sources */,
+ 62B0CC21204FC52C00D87F94 /* IMUIImageMessageContentView.swift in Sources */,
+ 62B0CC04204FC52C00D87F94 /* IMUIAudioPlayerHelper.swift in Sources */,
+ 62B0CC0F204FC52C00D87F94 /* IMUIMessageMessageCollectionViewDelegate.swift in Sources */,
+ 62B0CBE5204FC52C00D87F94 /* IMUIHidenStatusViewController.swift in Sources */,
+ 62B0CC1C204FC52C00D87F94 /* IMUIVoiceMessageContentView.swift in Sources */,
+ 62B0CC12204FC52C00D87F94 /* IMUIMessageModelProtocol.swift in Sources */,
624B82921EE5710E006C3C03 /* RCTSwiftBridgeModule.h in Sources */,
- 626BCDF02001F5C4006F7C15 /* IMUIGalleryCell.swift in Sources */,
+ 62B0CBFF204FC52C00D87F94 /* UIViewExtension.swift in Sources */,
+ 62B0CBDB204FC52C00D87F94 /* IMUIFeatureIconModel.swift in Sources */,
624B82931EE5710E006C3C03 /* RCTAuroraIMUIModule.h in Sources */,
- 626BCE0D2001F5C4006F7C15 /* IMUIUserProtocol.swift in Sources */,
- 626BCDE92001F5C4006F7C15 /* IMUIFeatureView.swift in Sources */,
- 626BCDE22001F5C4006F7C15 /* IMUIFeatureListIconCell.swift in Sources */,
- 626BCE122001F5C4006F7C15 /* IMUIMessageCellLayoutProtocol.swift in Sources */,
624B82941EE5710E006C3C03 /* RCTAuroraIMUIModule.m in Sources */,
- 626BCDFE2001F5C4006F7C15 /* UIViewExtension.swift in Sources */,
624B82951EE5710E006C3C03 /* RCTAuroraIMUI-Bridging-Header.h in Sources */,
- 626BCDFD2001F5C4006F7C15 /* CIImageExtension.swift in Sources */,
- 626BCE0C2001F5C4006F7C15 /* IMUIMessageProtocol.swift in Sources */,
- 626BCDE62001F5C4006F7C15 /* IMUIRecordVoiceCell.swift in Sources */,
- 626BCE1B2001F5C4006F7C15 /* IMUIVoiceMessageContentView.swift in Sources */,
- 626BCDFC2001F5C4006F7C15 /* CMSampleBufferExtension.swift in Sources */,
- 626BCE202001F5C4006F7C15 /* IMUIImageMessageContentView.swift in Sources */,
- 626BCE0A2001F5C4006F7C15 /* IMUIReuseViewCache.swift in Sources */,
- 626BCDFF2001F5C4006F7C15 /* CGRectExtension.swift in Sources */,
- 626BCDF82001F5C4006F7C15 /* IMUIFeatureListView.swift in Sources */,
624B82961EE5710E006C3C03 /* RCTInputView.h in Sources */,
- 626BCDDD2001F5C4006F7C15 /* IMUIRecordVoiceHelper.swift in Sources */,
- 626BCE012001F5C4006F7C15 /* UIImageExtension.swift in Sources */,
- 626BCDE42001F5C4006F7C15 /* IMUICameraView.swift in Sources */,
- 626BCDDC2001F5C4006F7C15 /* IMUIEmojiModel.swift in Sources */,
- 626BCE082001F5C4006F7C15 /* IMUIMessageModel.swift in Sources */,
- 626BCE162001F5C4006F7C15 /* IMUIMessageStatusView.swift in Sources */,
- 626BCDDF2001F5C4006F7C15 /* IMUIGalleryDataManager.swift in Sources */,
+ 62B0CBE2204FC52C00D87F94 /* IMUIFeatureListIconCell.swift in Sources */,
624B82971EE5710E006C3C03 /* RCTInputView.m in Sources */,
- 626BCDDB2001F5C4006F7C15 /* IMUIFeatureIconModel.swift in Sources */,
624B82991EE5710E006C3C03 /* RCTInputViewManager.m in Sources */,
- 626BCDFB2001F5C4006F7C15 /* UIColorExtension.swift in Sources */,
- 626BCE002001F5C4006F7C15 /* StringExtension.swift in Sources */,
+ 62B0CBDC204FC52C00D87F94 /* IMUIEmojiModel.swift in Sources */,
+ 62B0CC11204FC52C00D87F94 /* IMUIMessageStatusViewProtocol.swift in Sources */,
+ 62B0CBE1204FC52C00D87F94 /* IMUICameraCell.swift in Sources */,
624B829A1EE5710E006C3C03 /* RCTMessageListView.h in Sources */,
- 626BCE072001F5C4006F7C15 /* IMUIMessageCellLayout.swift in Sources */,
- 626BCDE12001F5C4006F7C15 /* IMUICameraCell.swift in Sources */,
+ 62B0CBE4204FC52C00D87F94 /* IMUICameraView.swift in Sources */,
62B0CB35204E41C100D87F94 /* RCTAuroraIMUIFileManager.m in Sources */,
- 626BCDE52001F5C4006F7C15 /* IMUIGalleryContainerCell.swift in Sources */,
- 626BCE132001F5C4006F7C15 /* IMUIChatDataManager.swift in Sources */,
+ 62B0CC07204FC52C00D87F94 /* UIImageMessageListExtension.swift in Sources */,
624F23A01F039DBF00D11E4E /* MessageEventModel.swift in Sources */,
- 626BCE1A2001F5C4006F7C15 /* CIImageView.swift in Sources */,
- 626BCE0E2001F5C4006F7C15 /* IMUIMessageMessageCollectionViewDelegate.swift in Sources */,
- 626BCE102001F5C4006F7C15 /* IMUIMessageStatusViewProtocol.swift in Sources */,
624B829B1EE5710E006C3C03 /* RCTMessageListView.m in Sources */,
- 626BCDF12001F5C4006F7C15 /* IMUIEmojiItemCell.swift in Sources */,
- 626BCE152001F5C4006F7C15 /* IMUIChatLayout.swift in Sources */,
- 626BCE142001F5C4006F7C15 /* IMUIVideoFileLoader.swift in Sources */,
- 626BCE1F2001F5C4006F7C15 /* IMUIBaseMessageCell.swift in Sources */,
- 626BCE032001F5C4006F7C15 /* IMUIAudioPlayerHelper.swift in Sources */,
- 626BCDF62001F5C4006F7C15 /* IMUIPhotoCaptureDelegate.swift in Sources */,
+ 62B0CBFC204FC52C00D87F94 /* UIColorExtension.swift in Sources */,
+ 62B0CBDA204FC52C00D87F94 /* BundleInputViewExtension.swift in Sources */,
+ 62B0CC14204FC52C00D87F94 /* IMUIChatDataManager.swift in Sources */,
+ 62B0CC1A204FC52C00D87F94 /* IMUITextView.swift in Sources */,
+ 62B0CC09204FC52C00D87F94 /* IMUIMessageModel.swift in Sources */,
+ 62B0CBE6204FC52C00D87F94 /* IMUIGalleryContainerCell.swift in Sources */,
+ 62B0CC03204FC52C00D87F94 /* DateExtension.swift in Sources */,
+ 62B0CBFE204FC52C00D87F94 /* CIImageExtension.swift in Sources */,
624B829D1EE5710E006C3C03 /* RCTMessageListViewManager.m in Sources */,
- 626BCE192001F5C4006F7C15 /* IMUITextView.swift in Sources */,
- 626BCDEC2001F5C4006F7C15 /* IMUIEmojiCell.swift in Sources */,
- 626BCE0F2001F5C4006F7C15 /* IMUIMessageCellProtocol.swift in Sources */,
624F239F1F039DBF00D11E4E /* MessageEventCollectionViewCell.swift in Sources */,
- 626BCDF22001F5C4006F7C15 /* IMUIPermissionDenyedView.swift in Sources */,
- 626BCE092001F5C4006F7C15 /* IMUIViewCache.swift in Sources */,
- 626BCE1E2001F5C4006F7C15 /* IMUIVideoMessageContentView.swift in Sources */,
- 626BCE182001F5C4006F7C15 /* IMUIMessageBubbleView.swift in Sources */,
- 626BCE1C2001F5C4006F7C15 /* IMUITextMessageContentView.swift in Sources */,
+ 62B0CBF3204FC52C00D87F94 /* IMUIPermissionDenyedView.swift in Sources */,
+ 62B0CBDE204FC52C00D87F94 /* IMUIInputView.swift in Sources */,
+ 62B0CC10204FC52C00D87F94 /* IMUIMessageCellProtocol.swift in Sources */,
+ 62B0CBF9204FC52C00D87F94 /* IMUIFeatureListView.swift in Sources */,
+ 62B0CC17204FC52C00D87F94 /* IMUIMessageStatusView.swift in Sources */,
+ 62B0CBED204FC52C00D87F94 /* IMUIEmojiCell.swift in Sources */,
+ 62B0CC0E204FC52C00D87F94 /* IMUIUserProtocol.swift in Sources */,
+ 62B0CBE7204FC52C00D87F94 /* IMUIRecordVoiceCell.swift in Sources */,
624B82D61EE5710E006C3C03 /* RCTAuroraIMUI.h in Sources */,
+ 62B0CC0A204FC52C00D87F94 /* IMUIViewCache.swift in Sources */,
+ 62B0CBF7204FC52C00D87F94 /* IMUIPhotoCaptureDelegate.swift in Sources */,
+ 62B0CC19204FC52C00D87F94 /* IMUIMessageBubbleView.swift in Sources */,
+ 62B0CBDD204FC52C00D87F94 /* IMUIRecordVoiceHelper.swift in Sources */,
+ 62B0CC02204FC52C00D87F94 /* UIImageExtension.swift in Sources */,
+ 62B0CC1F204FC52C00D87F94 /* IMUIVideoMessageContentView.swift in Sources */,
+ 62B0CC13204FC52C00D87F94 /* IMUIMessageCellLayoutProtocol.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/ReactNative/ios/RCTAuroraIMUI/MyMessageModel.swift b/ReactNative/ios/RCTAuroraIMUI/MyMessageModel.swift
index 99a8e87a..0dc23776 100644
--- a/ReactNative/ios/RCTAuroraIMUI/MyMessageModel.swift
+++ b/ReactNative/ios/RCTAuroraIMUI/MyMessageModel.swift
@@ -229,10 +229,28 @@ open class RCTMessageModel: IMUIMessageModel {
}
@objc static func calculateTextContentSize(text: String, isOutGoing: Bool) -> CGSize {
+ let attributedString = NSMutableAttributedString(string: text)
+ let mutableParagraphStyle = NSMutableParagraphStyle()
+
if isOutGoing {
- return text.sizeWithConstrainedWidth(with: IMUIMessageCellLayout.bubbleMaxWidth, font: IMUITextMessageContentView.outGoingTextFont)
+ mutableParagraphStyle.lineSpacing = IMUITextMessageContentView.outGoingTextLineHeight
+ attributedString.addAttributes([
+ NSAttributedStringKey.font: IMUITextMessageContentView.outGoingTextFont,
+ NSAttributedStringKey.paragraphStyle: mutableParagraphStyle,
+ NSAttributedStringKey.foregroundColor: IMUITextMessageContentView.outGoingTextColor
+ ], range: NSMakeRange(0, text.count))
+
+ return attributedString.boundingRect(with: CGSize(width: IMUIMessageCellLayout.bubbleMaxWidth, height: 10000), options: .usesLineFragmentOrigin, context: nil).size
+
} else {
- return text.sizeWithConstrainedWidth(with: IMUIMessageCellLayout.bubbleMaxWidth, font: IMUITextMessageContentView.inComingTextFont)
+ mutableParagraphStyle.lineSpacing = IMUITextMessageContentView.inComingTextLineHeight
+ attributedString.addAttributes([
+ NSAttributedStringKey.font: IMUITextMessageContentView.inComingTextColor,
+ NSAttributedStringKey.paragraphStyle: mutableParagraphStyle,
+ NSAttributedStringKey.foregroundColor: IMUITextMessageContentView.inComingTextColor
+ ], range: NSMakeRange(0, text.count))
+ return attributedString.boundingRect(with: CGSize(width: IMUIMessageCellLayout.bubbleMaxWidth, height: 10000), options: .usesLineFragmentOrigin, context: nil).size
+
}
}
diff --git a/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.h b/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.h
index 773c959f..18b14f9e 100644
--- a/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.h
+++ b/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.h
@@ -11,4 +11,5 @@
@interface RCTAuroraIMUIFileManager : NSObject
+ (NSString *)getPath;
+ (void)createDirectory:(NSString *)directoryName atFilePath:(NSString *)filePath;
++ (int)getFileSize:(NSString *)path;
@end
diff --git a/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.m b/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.m
index 0afa37aa..ba8ebc09 100644
--- a/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.m
+++ b/ReactNative/ios/RCTAuroraIMUI/RCTAuroraIMUIFileManager.m
@@ -7,7 +7,7 @@
//
#import "RCTAuroraIMUIFileManager.h"
-
+#import
@implementation RCTAuroraIMUIFileManager
+ (NSString *)getPath {//"\(NSHomeDirectory())/Documents/RCTAuroraIMUI"
@@ -34,4 +34,14 @@ + (void)createDirectory:(NSString *)directoryName atFilePath:(NSString *)filePat
NSLog(@"Create directory error: %@", error);
}
}
+
++ (int)getFileSize:(NSString *)path {
+ if (![[NSFileManager defaultManager] fileExistsAtPath:path]) {
+ return 0;
+ }
+ NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfItemAtPath: path error: NULL];
+ int result = (int)[attrs fileSize];
+ return result;
+}
+
@end
diff --git a/ReactNative/ios/RCTAuroraIMUI/RCTInputViewManager.m b/ReactNative/ios/RCTAuroraIMUI/RCTInputViewManager.m
index 0e249655..78abe69f 100644
--- a/ReactNative/ios/RCTAuroraIMUI/RCTInputViewManager.m
+++ b/ReactNative/ios/RCTAuroraIMUI/RCTInputViewManager.m
@@ -92,11 +92,17 @@ - (UIView *)view
_rctInputView.imuiIntputView.inputTextViewLineHeight = height.floatValue;
}
-RCT_CUSTOM_VIEW_PROPERTY(galleryScale, NSString, RCTInputView) {
+RCT_CUSTOM_VIEW_PROPERTY(galleryScale, NSNumber, RCTInputView) {
NSNumber *galleryScale = [RCTConvert NSNumber: json];
_rctInputView.galleryScale = galleryScale;
}
+RCT_CUSTOM_VIEW_PROPERTY(compressionQuality, NSNumber, RCTInputView) {
+ NSNumber *compressionQuality = [RCTConvert NSNumber: json];
+ _rctInputView.compressionQuality = compressionQuality;
+}
+
+
/// Tells the delegate that user tap send button and text input string is not empty
- (void)sendTextMessage:(NSString * _Nonnull)messageText {
if(!_rctInputView.onSendText) { return; }
@@ -171,15 +177,23 @@ - (void)didSeletedGalleryWithAssetArr:(NSArray * _Nonnull)AssetArr {
options.synchronous = YES;
options.networkAccessAllowed = YES;
PHCachingImageManager *imageManage = [[PHCachingImageManager alloc] init];
+ CGFloat compressionQuality = _rctInputView.compressionQuality.floatValue;
[imageManage requestImageForAsset: asset
targetSize: CGSizeMake(asset.pixelWidth * scale, asset.pixelHeight * scale)
contentMode: PHImageContentModeAspectFill
options:options resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
- NSData *imageData = UIImagePNGRepresentation(result);
+ NSData *imageData = UIImageJPEGRepresentation(result, compressionQuality);
NSString *filePath = [RCTAuroraIMUIFileManager getPath];
if ([imageData writeToFile: filePath atomically: true]) {
- [imagePathArr addObject: @{@"mediaPath": filePath, @"mediaType": @"image"}];
+ int fileSize = [RCTAuroraIMUIFileManager getFileSize: filePath];
+
+ [imagePathArr addObject: @{@"mediaPath": filePath,
+ @"mediaType": @"image",
+ @"size": @(fileSize),
+ @"width": @(result.size.width),
+ @"height": @(result.size.height),
+ }];
}
}];
break;
@@ -191,7 +205,9 @@ - (void)didSeletedGalleryWithAssetArr:(NSArray * _Nonnull)AssetArr {
}
dispatch_async(dispatch_get_main_queue(), ^(void){
- _rctInputView.onSendGalleryFiles(@{@"mediaFiles": imagePathArr});
+ _rctInputView.onSendGalleryFiles(@{@"mediaFiles": imagePathArr,
+
+ });
});
});
}
@@ -219,8 +235,16 @@ - (void)didShootPictureWithPicture:(NSData * _Nonnull)picture {
// TODO: save to file
NSString *filePath = [RCTAuroraIMUIFileManager getPath];
- [picture writeToFile: filePath atomically: false];
- _rctInputView.onTakePicture(@{@"mediaPath": filePath});
+ [picture writeToFile: filePath atomically: true];
+
+ UIImage *image = [UIImage imageWithData:picture];
+ int size = (int)picture.length;
+ NSNumber *sizeNumber = @(size);
+ _rctInputView.onTakePicture(@{@"mediaPath": filePath,
+ @"size": sizeNumber,
+ @"width": @(image.size.width),
+ @"height": @(image.size.height)
+ });
}
/// Tells the delegate when starting record video
@@ -231,9 +255,12 @@ - (void)startRecordVideo {
/// Tells the delegate when user did shoot video in camera mode
- (void)finishRecordVideoWithVideoPath:(NSString * _Nonnull)videoPath durationTime:(double)durationTime {
-
+ int size = [RCTAuroraIMUIFileManager getFileSize:videoPath];
if(!_rctInputView.onFinishRecordVideo) { return; }
- _rctInputView.onFinishRecordVideo(@{@"mediaPath": videoPath, @"durationTime": @(durationTime)});
+ _rctInputView.onFinishRecordVideo(@{@"mediaPath": videoPath,
+ @"durationTime": @(durationTime),
+ @"size": @(size)
+ });
}
- (void)keyBoardWillShowWithHeight:(CGFloat)height durationTime:(double)durationTime {
diff --git a/ReactNative/messagelist.android.js b/ReactNative/messagelist.android.js
index 89c6fa69..30e1dbf2 100644
--- a/ReactNative/messagelist.android.js
+++ b/ReactNative/messagelist.android.js
@@ -130,6 +130,10 @@ MessageList.propTypes = {
isAllowPullToRefresh: PropTypes.bool,
maxBubbleWidth: PropTypes.number,
messageTextLineHeight: PropTypes.number,
+ videoMessageRadius: PropTypes.number,
+ videoDurationTextColor: PropTypes.string,
+ videoDurationTextSize: PropTypes.string,
+ photoMessageRadius: PropTypes.number,
...ViewPropTypes
};
diff --git a/ReactNative/sample/App.js b/ReactNative/sample/App.js
index 4e0dcc90..dc0e5ceb 100644
--- a/ReactNative/sample/App.js
+++ b/ReactNative/sample/App.js
@@ -37,13 +37,16 @@ function constructNormalMessage() {
themsgid += 1
message.status = "send_going"
message.isOutgoing = true
- message.timeString = ""
+ var date = new Date()
+ message.timeString = date.getHours() + ":" + date.getMinutes()
var user = {
userId: "",
displayName: "replace your nickname",
avatarPath: "images"
}
- // user.avatarPath = RNFS.MainBundlePath + '/default_header.png'
+ if (Platform.OS === "ios") {
+ user.avatarPath = RNFS.MainBundlePath + '/default_header.png'
+ }
message.fromUser = user
return message
@@ -231,7 +234,10 @@ export default class TestRNIMUI extends Component {
AuroraIController.insertMessagesToTop([message])
}
AuroraIController.insertMessagesToTop(messages)
- this.refs["MessageList"].refreshComplete()
+ if (Platform.OS === 'android') {
+ this.refs["MessageList"].refreshComplete()
+ }
+
}
onSendText = (text) => {
@@ -244,11 +250,11 @@ export default class TestRNIMUI extends Component {
AuroraIController.appendMessages([message])
}
- onTakePicture = (mediaPath) => {
-
+ onTakePicture = (media) => {
+ console.log("media " + JSON.stringify(media))
var message = constructNormalMessage()
message.msgType = 'image'
- message.mediaPath = mediaPath
+ message.mediaPath = media.mediaPath
AuroraIController.appendMessages([message])
this.resetMenu()
AuroraIController.scrollToBottom(true)
@@ -276,12 +282,12 @@ export default class TestRNIMUI extends Component {
console.log("on start record video")
}
- onFinishRecordVideo = (mediaPath, duration) => {
+ onFinishRecordVideo = (video) => {
var message = constructNormalMessage()
message.msgType = "video"
- message.mediaPath = mediaPath
- message.duration = duration
+ message.mediaPath = video.mediaPath
+ message.duration = video.duration
AuroraIController.appendMessages([message])
}
@@ -297,6 +303,7 @@ export default class TestRNIMUI extends Component {
*
* 代码用例不做裁剪操作。
*/
+ Alert.alert('fas',JSON.stringify(mediaFiles))
for (index in mediaFiles) {
var message = constructNormalMessage()
if (mediaFiles[index].mediaType == "image") {
@@ -395,7 +402,7 @@ export default class TestRNIMUI extends Component {
);
diff --git a/ReactNative/sample/android/app/build.gradle b/ReactNative/sample/android/app/build.gradle
index 55835eb1..2f761773 100644
--- a/ReactNative/sample/android/app/build.gradle
+++ b/ReactNative/sample/android/app/build.gradle
@@ -87,13 +87,13 @@ def enableSeparateBuildPerCPUArchitecture = false
def enableProguardInReleaseBuilds = false
android {
- compileSdkVersion 25
- buildToolsVersion "26.0.2"
+ compileSdkVersion 27
+ buildToolsVersion "27.0.3"
defaultConfig {
applicationId "com.testrnimuiexample"
minSdkVersion 16
- targetSdkVersion 19
+ targetSdkVersion 27
versionCode 1
versionName "1.0"
ndk {
@@ -131,6 +131,9 @@ android {
}
}
}
+ defaultConfig {
+ multiDexEnabled true
+ }
}
dependencies {
@@ -140,7 +143,13 @@ dependencies {
})
compile project(':aurora-imui-react-native')
compile project(':react-native-fs')
- compile 'com.android.support:appcompat-v7:25.3.1'
- compile 'com.facebook.react:react-native:+'
+ compile ('com.facebook.react:react-native:+') {
+ exclude group: 'com.android.support'
+ }
+ implementation 'com.android.support:appcompat-v7:27.1.0'
+ implementation 'com.android.support:design:27.1.0'
+ implementation 'com.android.support:support-v4:27.1.0'
+ implementation 'com.android.support:recyclerview-v7:27.1.0'
testCompile 'junit:junit:4.12'
}
+
diff --git a/ReactNative/sample/android/build.gradle b/ReactNative/sample/android/build.gradle
index bf0d6801..f3bc7c88 100644
--- a/ReactNative/sample/android/build.gradle
+++ b/ReactNative/sample/android/build.gradle
@@ -20,6 +20,7 @@ allprojects {
url "$rootDir/../node_modules/react-native/android"
}
maven { url "https://jitpack.io" }
+ google()
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
diff --git a/docs/Android/message_list_usage.md b/docs/Android/message_list_usage.md
index 923748a0..5c33d312 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.3'
+compile 'cn.jiguang.imui:messagelist:0.6.4'
```
- Maven:
@@ -18,7 +18,7 @@ compile 'cn.jiguang.imui:messagelist:0.6.3'
cn.jiguang.imui
messagelist
- 0.6.3
+ 0.6.4
pom
```
@@ -35,7 +35,7 @@ allprojects {
// Add in module's build.gradle
dependencies {
- compile 'com.github.jpush:imui:0.7.2'
+ compile 'com.github.jpush:imui:0.7.3'
}
```
@@ -352,11 +352,14 @@ mAdapter.setOnAvatarClickListener(new MsgListAdapter.OnAvatarClickListener() {
+ /**
+ *@param view The view been long clicked.
+ */
@Override
- public void onMessageLongClick(MyMessage message) {
+ public void onMessageLongClick(View view, MyMessage message){
// do something
}
});
diff --git a/docs/Android/message_list_usage_zh.md b/docs/Android/message_list_usage_zh.md
index b78b9d15..d34797b2 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.3'
+compile 'cn.jiguang.imui:messagelist:0.6.4'
```
- Maven
@@ -17,7 +17,7 @@ compile 'cn.jiguang.imui:messagelist:0.6.3'
cn.jiguang.imui
messagelist
- 0.6.3
+ 0.6.4
pom
```
@@ -34,7 +34,7 @@ allprojects {
// module/build.gradle
dependencies {
- compile 'com.github.jpush:imui:0.7.2'
+ compile 'com.github.jpush:imui:0.7.3'
}
```
@@ -351,11 +351,11 @@ mAdapter.setOnAvatarClickListener(new MsgListAdapter.OnAvatarClickListener() {
@Override
- public void onMessageLongClick(MyMessage message) {
+ public void onMessageLongClick(View view,MyMessage message) {
// do something
}
});
diff --git a/iOS/IMUIInputView/Views/IMUICameraCell.swift b/iOS/IMUIInputView/Views/IMUICameraCell.swift
index 95e4df02..4c168b1f 100644
--- a/iOS/IMUIInputView/Views/IMUICameraCell.swift
+++ b/iOS/IMUIInputView/Views/IMUICameraCell.swift
@@ -29,7 +29,7 @@ class IMUICameraCell: UICollectionViewCell, IMUIFeatureCellProtocol {
@IBOutlet weak var cameraView: IMUICameraView!
- open var cameraVC = UIViewController() // use to present full size mode viewcontroller
+ open var cameraVC = IMUIHidenStatusViewController() // use to present full size mode viewcontroller
var isFullScreenMode = false
var isActivity = true
var featureDelegate: IMUIFeatureViewDelegate?
diff --git a/iOS/IMUIInputView/Views/IMUIHidenStatusViewController.swift b/iOS/IMUIInputView/Views/IMUIHidenStatusViewController.swift
new file mode 100644
index 00000000..29ff0f55
--- /dev/null
+++ b/iOS/IMUIInputView/Views/IMUIHidenStatusViewController.swift
@@ -0,0 +1,39 @@
+//
+// IMUIHidenStatusViewController.swift
+// sample
+//
+// Created by oshumini on 2018/3/7.
+// Copyright © 2018年 HXHG. All rights reserved.
+//
+
+import UIKit
+
+class IMUIHidenStatusViewController: UIViewController {
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ // Do any additional setup after loading the view.
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+ override var prefersStatusBarHidden: Bool {
+ return true
+ }
+// override func stat
+ /*
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
+ // Get the new view controller using segue.destinationViewController.
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+}
diff --git a/iOS/IMUIMessageCollectionView/Layout/IMUIMessageCellLayout.swift b/iOS/IMUIMessageCollectionView/Layout/IMUIMessageCellLayout.swift
index 7f931a48..0a80161a 100644
--- a/iOS/IMUIMessageCollectionView/Layout/IMUIMessageCellLayout.swift
+++ b/iOS/IMUIMessageCollectionView/Layout/IMUIMessageCellLayout.swift
@@ -178,13 +178,13 @@ import UIKit
open var timeLabelFrame: CGRect {
if self.isNeedShowTime {
- let timeWidth = IMUIMessageCellLayout.timeLabelPadding.left +
+ let timeWidth = (IMUIMessageCellLayout.timeLabelPadding.left +
timeLabelContentSize.width +
- IMUIMessageCellLayout.timeLabelPadding.right
+ IMUIMessageCellLayout.timeLabelPadding.right + 0.5).rounded()
- let timeHeight = IMUIMessageCellLayout.timeLabelPadding.top +
+ let timeHeight = (IMUIMessageCellLayout.timeLabelPadding.top +
timeLabelContentSize.height +
- IMUIMessageCellLayout.timeLabelPadding.bottom
+ IMUIMessageCellLayout.timeLabelPadding.bottom + 0.5).rounded()
let timeX = (IMUIMessageCellLayout.cellWidth - timeWidth)/2
diff --git a/iOS/IMUIMessageCollectionView/Views/IMUITextMessageContentView.swift b/iOS/IMUIMessageCollectionView/Views/IMUITextMessageContentView.swift
index fccacea8..76d2ace2 100644
--- a/iOS/IMUIMessageCollectionView/Views/IMUITextMessageContentView.swift
+++ b/iOS/IMUIMessageCollectionView/Views/IMUITextMessageContentView.swift
@@ -14,6 +14,8 @@ import UIKit
@objc open static var outGoingTextFont = UIFont.systemFont(ofSize: 18)
@objc open static var inComingTextFont = UIFont.systemFont(ofSize: 18)
+ @objc open static var outGoingTextLineHeight: CGFloat = 2.0
+ @objc open static var inComingTextLineHeight: CGFloat = 2.0
var textMessageLable = IMUITextView()
@@ -35,13 +37,25 @@ import UIKit
}
func layoutToText(with text: String, isOutGoing: Bool) {
- textMessageLable.text = text
+ let attributedString = NSMutableAttributedString(string: text)
+ let mutableParagraphStyle = NSMutableParagraphStyle()
+
+
if isOutGoing {
- textMessageLable.textColor = IMUITextMessageContentView.outGoingTextColor
- textMessageLable.font = IMUITextMessageContentView.outGoingTextFont
+ mutableParagraphStyle.lineSpacing = IMUITextMessageContentView.outGoingTextLineHeight
+ attributedString.addAttributes([
+ NSAttributedStringKey.font: IMUITextMessageContentView.outGoingTextFont,
+ NSAttributedStringKey.paragraphStyle: mutableParagraphStyle,
+ NSAttributedStringKey.foregroundColor: IMUITextMessageContentView.outGoingTextColor
+ ], range: NSMakeRange(0, text.count))
} else {
- textMessageLable.textColor = IMUITextMessageContentView.inComingTextColor
- textMessageLable.font = IMUITextMessageContentView.inComingTextFont
+ mutableParagraphStyle.lineSpacing = IMUITextMessageContentView.inComingTextLineHeight
+ attributedString.addAttributes([
+ NSAttributedStringKey.font: IMUITextMessageContentView.inComingTextColor,
+ NSAttributedStringKey.paragraphStyle: mutableParagraphStyle,
+ NSAttributedStringKey.foregroundColor: IMUITextMessageContentView.inComingTextColor
+ ], range: NSMakeRange(0, text.count))
}
+ textMessageLable.attributedText = attributedString
}
}
diff --git a/iOS/sample/sample.xcodeproj/project.pbxproj b/iOS/sample/sample.xcodeproj/project.pbxproj
index 84098153..e6c55dd0 100644
--- a/iOS/sample/sample.xcodeproj/project.pbxproj
+++ b/iOS/sample/sample.xcodeproj/project.pbxproj
@@ -88,6 +88,7 @@
6284D92A1F7235400014C314 /* IMUIFeatureListIconCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6284D9281F7235400014C314 /* IMUIFeatureListIconCell.xib */; };
629BA82B1F8F02C600EB4FD5 /* IMUIGalleryContainerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629BA8291F8F02C600EB4FD5 /* IMUIGalleryContainerCell.swift */; };
629BA82C1F8F02C600EB4FD5 /* IMUIGalleryContainerCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 629BA82A1F8F02C600EB4FD5 /* IMUIGalleryContainerCell.xib */; };
+ 62B0CB7C204FC2F500D87F94 /* IMUIHidenStatusViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B0CB7B204FC2F500D87F94 /* IMUIHidenStatusViewController.swift */; };
62D26AA21F7A17EC0093FE3D /* IMUIEmojiCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62D26AA01F7A17EC0093FE3D /* IMUIEmojiCell.swift */; };
62D26AA31F7A17EC0093FE3D /* IMUIEmojiCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 62D26AA11F7A17EC0093FE3D /* IMUIEmojiCell.xib */; };
62D26AA61F7A21A60093FE3D /* IMUIEmojiItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62D26AA41F7A21A60093FE3D /* IMUIEmojiItemCell.swift */; };
@@ -201,6 +202,7 @@
6284D9281F7235400014C314 /* IMUIFeatureListIconCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IMUIFeatureListIconCell.xib; sourceTree = ""; };
629BA8291F8F02C600EB4FD5 /* IMUIGalleryContainerCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IMUIGalleryContainerCell.swift; sourceTree = ""; };
629BA82A1F8F02C600EB4FD5 /* IMUIGalleryContainerCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IMUIGalleryContainerCell.xib; sourceTree = ""; };
+ 62B0CB7B204FC2F500D87F94 /* IMUIHidenStatusViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IMUIHidenStatusViewController.swift; sourceTree = ""; };
62D26AA01F7A17EC0093FE3D /* IMUIEmojiCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IMUIEmojiCell.swift; sourceTree = ""; };
62D26AA11F7A17EC0093FE3D /* IMUIEmojiCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IMUIEmojiCell.xib; sourceTree = ""; };
62D26AA41F7A21A60093FE3D /* IMUIEmojiItemCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IMUIEmojiItemCell.swift; sourceTree = ""; };
@@ -337,6 +339,7 @@
625961161F6BA19900571467 /* IMUICameraView.xib */,
6255393C1EF28F8800F6A239 /* IMUICameraCell.swift */,
6255393D1EF28F8800F6A239 /* IMUICameraCell.xib */,
+ 62B0CB7B204FC2F500D87F94 /* IMUIHidenStatusViewController.swift */,
6255393E1EF28F8800F6A239 /* IMUICameraPreviewView.swift */,
629BA8291F8F02C600EB4FD5 /* IMUIGalleryContainerCell.swift */,
629BA82A1F8F02C600EB4FD5 /* IMUIGalleryContainerCell.xib */,
@@ -679,6 +682,7 @@
625539A81EF3870E00F6A239 /* IMUIMessageProtocol.swift in Sources */,
6255399B1EF28F8800F6A239 /* IMUIMessageBubbleView.swift in Sources */,
625539A61EF3853700F6A239 /* MessageEventModel.swift in Sources */,
+ 62B0CB7C204FC2F500D87F94 /* IMUIHidenStatusViewController.swift in Sources */,
62D26AA61F7A21A60093FE3D /* IMUIEmojiItemCell.swift in Sources */,
6255396F1EF28F8800F6A239 /* CMSampleBufferExtension.swift in Sources */,
6255397B1EF28F8800F6A239 /* IMUIInputViewDelegate.swift in Sources */,
diff --git a/package.json b/package.json
index 63205fae..07e7c42c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "aurora-imui-react-native",
- "version": "0.9.2",
+ "version": "0.9.8",
"description": "aurora imui plugin for react native application",
"main": "index.js",