update 对话框,相册相机
This commit is contained in:
parent
427d10158b
commit
0c5533ffb3
@ -12,6 +12,7 @@ import android.util.Log;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
@ -44,6 +45,7 @@ import com.yunbao.common.glide.ImgLoader;
|
|||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.interfaces.ImageResultCallback;
|
import com.yunbao.common.interfaces.ImageResultCallback;
|
||||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||||
|
import com.yunbao.common.utils.DpUtil;
|
||||||
import com.yunbao.common.utils.ProcessImageUtil;
|
import com.yunbao.common.utils.ProcessImageUtil;
|
||||||
import com.yunbao.common.utils.SpUtil;
|
import com.yunbao.common.utils.SpUtil;
|
||||||
import com.yunbao.common.utils.StringUtil;
|
import com.yunbao.common.utils.StringUtil;
|
||||||
@ -54,15 +56,20 @@ import java.io.File;
|
|||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import io.rong.imkit.IMCenter;
|
import io.rong.imkit.IMCenter;
|
||||||
|
import io.rong.imkit.config.RongConfigCenter;
|
||||||
import io.rong.imkit.conversation.MessageListAdapter;
|
import io.rong.imkit.conversation.MessageListAdapter;
|
||||||
import io.rong.imkit.conversation.extension.component.plugin.IPluginModule;
|
import io.rong.imkit.conversation.extension.component.plugin.IPluginModule;
|
||||||
import io.rong.imkit.conversation.extension.component.plugin.ImagePlugin;
|
import io.rong.imkit.conversation.extension.component.plugin.ImagePlugin;
|
||||||
|
import io.rong.imkit.manager.SendImageManager;
|
||||||
import io.rong.imkit.model.UiMessage;
|
import io.rong.imkit.model.UiMessage;
|
||||||
|
import io.rong.imkit.picture.PictureSelectionModel;
|
||||||
import io.rong.imkit.picture.PictureSelector;
|
import io.rong.imkit.picture.PictureSelector;
|
||||||
import io.rong.imkit.picture.config.PictureMimeType;
|
import io.rong.imkit.picture.config.PictureMimeType;
|
||||||
|
import io.rong.imkit.picture.entity.LocalMedia;
|
||||||
import io.rong.imlib.IRongCallback;
|
import io.rong.imlib.IRongCallback;
|
||||||
import io.rong.imlib.RongIMClient;
|
import io.rong.imlib.RongIMClient;
|
||||||
import io.rong.imlib.model.Conversation;
|
import io.rong.imlib.model.Conversation;
|
||||||
@ -246,22 +253,22 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
|||||||
boolean isCamera = position == 1;
|
boolean isCamera = position == 1;
|
||||||
|
|
||||||
SendMessageManager.sendMessageForText(targetId, "图片信息", new OnSendMessageListener() {
|
SendMessageManager.sendMessageForText(targetId, "图片信息", new OnSendMessageListener() {
|
||||||
// PictureSelector.create(currentFragment)
|
|
||||||
// .openGallery(RongConfigCenter.conversationConfig().rc_media_selector_contain_video ? PictureMimeType.ofAll() : PictureMimeType.ofImage())
|
|
||||||
// .loadImageEngine(RongConfigCenter.featureConfig().getKitImageEngine())
|
|
||||||
// .setRequestedOrientation(1)
|
|
||||||
// .videoDurationLimit(RongIMClient.getInstance().getVideoLimitTime())
|
|
||||||
// .maxSelectNum(9)
|
|
||||||
// .imageSpanCount(3)
|
|
||||||
// .isGif(true)
|
|
||||||
// .forResult(this.mRequestCode);
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(String token) {
|
public void onSuccess(String token) {
|
||||||
super.onSuccess(token);
|
super.onSuccess(token);
|
||||||
|
ChatMessageFragment.this.token = token;
|
||||||
if (isCamera) {
|
if (isCamera) {
|
||||||
PictureSelector.create(ChatMessageFragment.this).openCamera(PictureMimeType.ofImage());
|
cameraUtil.getImageByCamera(false);
|
||||||
} else {
|
} else {
|
||||||
PictureSelector.create(ChatMessageFragment.this).openGallery(PictureMimeType.ofImage());
|
PictureSelector.create(ChatMessageFragment.this)
|
||||||
|
.openGallery(PictureMimeType.ofImage())
|
||||||
|
.loadImageEngine(RongConfigCenter.featureConfig().getKitImageEngine())
|
||||||
|
.setRequestedOrientation(1)
|
||||||
|
.videoDurationLimit(RongIMClient.getInstance().getVideoLimitTime())
|
||||||
|
.maxSelectNum(9)
|
||||||
|
.imageSpanCount(3)
|
||||||
|
.isGif(true)
|
||||||
|
.forResult(110);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -400,6 +407,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(Message message) {
|
public void onSuccess(Message message) {
|
||||||
|
SendMessageManager.onCallSuccess(token, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -560,6 +568,51 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
ToastUtil.show("收到回调");
|
if (requestCode == 110) {
|
||||||
|
List<LocalMedia> selectList = PictureSelector.obtainMultipleResult(data);
|
||||||
|
if (selectList != null && selectList.size() > 0) {
|
||||||
|
boolean sendOrigin = ((LocalMedia) selectList.get(0)).isOriginal();
|
||||||
|
for (LocalMedia item : selectList) {
|
||||||
|
String mimeType = item.getMimeType();
|
||||||
|
if (mimeType.startsWith("image")) {
|
||||||
|
ImageMessage imageMessage=ImageMessage.obtain(Uri.parse(item.getPath()),sendOrigin);
|
||||||
|
Message message = Message.obtain(targetId, conversationType, imageMessage);
|
||||||
|
message.setSenderUserId(CommonAppConfig.getInstance().getUid());
|
||||||
|
message.setObjectName("RC:ImgMsg");
|
||||||
|
message.setExtra("");
|
||||||
|
message.setSentTime(new Date().getTime());
|
||||||
|
message.setTargetId(targetId);
|
||||||
|
IMCenter.getInstance().sendMediaMessage(message, null, null, new IRongCallback.ISendMediaMessageCallback() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onProgress(Message message, int progress) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCanceled(Message message) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttached(Message message) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(Message message) {
|
||||||
|
SendMessageManager.onCallSuccess(token, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Message message, RongIMClient.ErrorCode errorCode) {
|
||||||
|
ToastUtil.show(R.string.system_tip_failure);
|
||||||
|
System.out.println("发送失败:" + errorCode.getMessage());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package com.shayu.onetoone.dialog;
|
package com.shayu.onetoone.dialog;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
@ -17,6 +19,9 @@ public class TipsDialog extends AbsDialogCenterPopupWindow {
|
|||||||
private OnDialogClickListener onDialogClickListener;
|
private OnDialogClickListener onDialogClickListener;
|
||||||
TextView mTitle, mContent;
|
TextView mTitle, mContent;
|
||||||
Button mCancel, mApply;
|
Button mCancel, mApply;
|
||||||
|
ViewGroup viewGroup;
|
||||||
|
View contentView;
|
||||||
|
String cancelText, applyText;
|
||||||
|
|
||||||
public TipsDialog(@NonNull Context context) {
|
public TipsDialog(@NonNull Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
@ -32,6 +37,21 @@ public class TipsDialog extends AbsDialogCenterPopupWindow {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TipsDialog setContentView(View contentView) {
|
||||||
|
this.contentView = contentView;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TipsDialog setCancelText(String cancelText) {
|
||||||
|
this.cancelText = cancelText;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TipsDialog setApplyText(String applyText) {
|
||||||
|
this.applyText = applyText;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public TipsDialog setOnDialogClickListener(OnDialogClickListener onDialogClickListener) {
|
public TipsDialog setOnDialogClickListener(OnDialogClickListener onDialogClickListener) {
|
||||||
this.onDialogClickListener = onDialogClickListener;
|
this.onDialogClickListener = onDialogClickListener;
|
||||||
return this;
|
return this;
|
||||||
@ -54,6 +74,7 @@ public class TipsDialog extends AbsDialogCenterPopupWindow {
|
|||||||
mContent = findViewById(R.id.content);
|
mContent = findViewById(R.id.content);
|
||||||
mCancel = findViewById(R.id.cancel);
|
mCancel = findViewById(R.id.cancel);
|
||||||
mApply = findViewById(R.id.apply);
|
mApply = findViewById(R.id.apply);
|
||||||
|
viewGroup = findViewById(R.id.content_layout);
|
||||||
|
|
||||||
if (StringUtil.isEmpty(title)) {
|
if (StringUtil.isEmpty(title)) {
|
||||||
mTitle.setVisibility(GONE);
|
mTitle.setVisibility(GONE);
|
||||||
@ -65,6 +86,14 @@ public class TipsDialog extends AbsDialogCenterPopupWindow {
|
|||||||
} else {
|
} else {
|
||||||
mContent.setText(content);
|
mContent.setText(content);
|
||||||
}
|
}
|
||||||
|
if (contentView != null) {
|
||||||
|
viewGroup.addView(contentView);
|
||||||
|
if (onDialogClickListener != null) {
|
||||||
|
onDialogClickListener.onCreateView(contentView);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mCancel.setText(cancelText);
|
||||||
|
mApply.setText(applyText);
|
||||||
mCancel.setOnClickListener(v -> {
|
mCancel.setOnClickListener(v -> {
|
||||||
if (onDialogClickListener != null) {
|
if (onDialogClickListener != null) {
|
||||||
onDialogClickListener.onCancel(dialog);
|
onDialogClickListener.onCancel(dialog);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.shayu.onetoone.listener;
|
package com.shayu.onetoone.listener;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
public abstract class OnDialogClickListener {
|
public abstract class OnDialogClickListener {
|
||||||
public void onCancel(Dialog dialog){
|
public void onCancel(Dialog dialog){
|
||||||
@ -8,5 +9,8 @@ public abstract class OnDialogClickListener {
|
|||||||
}
|
}
|
||||||
public void onApply(Dialog dialog){
|
public void onApply(Dialog dialog){
|
||||||
|
|
||||||
|
}
|
||||||
|
public void onCreateView(View itemView){
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import com.shayu.onetoone.bean.MessageConsumeConfigBean;
|
|||||||
import com.shayu.onetoone.listener.OnSendMessageListener;
|
import com.shayu.onetoone.listener.OnSendMessageListener;
|
||||||
import com.yunbao.common.bean.HttpCallbackModel;
|
import com.yunbao.common.bean.HttpCallbackModel;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -105,19 +106,27 @@ public class SendMessageManager {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(HttpCallbackModel sd) {
|
public void onSuccess(HttpCallbackModel sd) {
|
||||||
if (sd.getCode() != 0) {
|
if (sd.getCode() != 0) {
|
||||||
|
if(listener!=null) {
|
||||||
listener.onSuccess(sd.getMsg());
|
listener.onSuccess(sd.getMsg());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cache.remove(token);
|
cache.remove(token);
|
||||||
|
if(listener!=null) {
|
||||||
listener.onSuccess(null);
|
listener.onSuccess(null);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(String error) {
|
public void onError(String error) {
|
||||||
|
ToastUtil.show(error);
|
||||||
|
System.err.println(error);
|
||||||
|
if(listener!=null) {
|
||||||
listener.onError(OnSendMessageListener.STATUS_ERROR, error);
|
listener.onError(OnSendMessageListener.STATUS_ERROR, error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if (listener != null) {
|
if (listener != null) {
|
||||||
|
@ -17,6 +17,12 @@
|
|||||||
android:textColor="#333333"
|
android:textColor="#333333"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
<FrameLayout
|
||||||
|
android:id="@+id/content_layout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/content"
|
android:id="@+id/content"
|
||||||
@ -28,6 +34,7 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
tools:text="與TA視頻聊天每分鐘續消耗299鑽石,您可通過充值獲取更多鑽石,以便繼續聊天" />
|
tools:text="與TA視頻聊天每分鐘續消耗299鑽石,您可通過充值獲取更多鑽石,以便繼續聊天" />
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user