修复测试反馈问题
This commit is contained in:
parent
4bd1e8eccc
commit
9d0f8cb060
@ -15,6 +15,74 @@ android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
pickFirst "lib/armeabi-v7a/libyuvutils.so"
|
||||
pickFirst "lib/armeabi/libyuvtools.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvtools.so"
|
||||
pickFirst "lib/armeabi-v7a/libyuvtools.so"
|
||||
exclude "lib/arm64-v8a/libmmcv_api_handgesture.so"
|
||||
exclude "lib/arm64-v8a/libmmcv_api_express.so"
|
||||
exclude "lib/arm64-v8a/libMediaEncoder.so"
|
||||
exclude "lib/arm64-v8a/libarcore_sdk_c.so"
|
||||
exclude "lib/arm64-v8a/libmediadecoder.so"
|
||||
exclude "lib/arm64-v8a/libMediaMuxer.so"
|
||||
exclude "lib/arm64-v8a/libarcore_sdk_jni.so"
|
||||
exclude "lib/arm64-v8a/libMediaUtils.so"
|
||||
exclude "lib/arm64-v8a/libcosmosffmpeg.so"
|
||||
//旧美颜so
|
||||
exclude 'lib/arm64-v8a/libxeengine.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_base.so'
|
||||
exclude 'lib/arm64-v8a/libmmcrypto.so'
|
||||
exclude 'lib/arm64-v8a/libMNN.so'
|
||||
// exclude 'lib/arm64-v8a/libc++_shared.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_base.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_beauty.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_bodylandmark.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_express.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_faceattributes.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_facefeatures.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_faceprocessor.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_facerecognition.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_handgesture.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_imagequality.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_objectdetect.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_segmentation.so'
|
||||
exclude 'lib/arm64-v8a/libmmcv_api_videoprocessor.so'
|
||||
exclude 'lib/arm64-v8a/libmmlic.so'
|
||||
exclude 'lib/arm64-v8a/libMNN_CL.so'
|
||||
exclude 'lib/arm64-v8a/libMNN_Express.so'
|
||||
exclude 'lib/armeabi-v7a/libxeengine.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_base.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcrypto.so'
|
||||
exclude 'lib/armeabi-v7a/libMNN.so'
|
||||
// exclude 'lib/armeabi-v7a/libc++_shared.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_base.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_beauty.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_bodylandmark.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_express.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_faceattributes.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_facefeatures.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_faceprocessor.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_facerecognition.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_handgesture.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_imagequality.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_objectdetect.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_segmentation.so'
|
||||
exclude 'lib/armeabi-v7a/libmmcv_api_videoprocessor.so'
|
||||
exclude 'lib/armeabi-v7a/libmmlic.so'
|
||||
exclude 'lib/armeabi-v7a/libMNN_CL.so'
|
||||
exclude 'lib/armeabi-v7a/libMNN_Express.so'
|
||||
//美颜
|
||||
if (rootProject.ext.manifestPlaceholders.isPluginModel) {
|
||||
exclude 'lib/armeabi-v7a/libCNamaSDK.so'
|
||||
exclude 'lib/arm64-v8a/libCNamaSDK.so'
|
||||
exclude 'lib/armeabi-v7a/libfuai.so'
|
||||
exclude 'lib/arm64-v8a/libfuai.so'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.shayu.onetoonenew"
|
||||
|
@ -236,7 +236,7 @@
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="com.shayu.onetoone.fileprovider"
|
||||
android:authorities="${packageName}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
@ -20,6 +20,7 @@ import com.shayu.onetoone.provider.MessageChatAutoItemProvider;
|
||||
import com.shayu.onetoone.provider.MessageChatReceiveGiftItemProvider;
|
||||
import com.shayu.onetoone.provider.MessageChatTipsItemProvider;
|
||||
import com.shayu.onetoone.provider.OTOCallEndMessageItemProvider;
|
||||
import com.shayu.onetoone.utils.ChatPluginExtensionConfig;
|
||||
import com.shayu.onetoone.utils.NeverCrashUtils;
|
||||
import com.yunbao.common.BuildConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
@ -38,6 +39,8 @@ import java.util.ArrayList;
|
||||
import io.rong.callkit.CallEndMessageItemProvider;
|
||||
import io.rong.imkit.RongIM;
|
||||
import io.rong.imkit.config.RongConfigCenter;
|
||||
import io.rong.imkit.conversation.extension.RongExtension;
|
||||
import io.rong.imkit.conversation.extension.RongExtensionManager;
|
||||
import io.rong.imkit.conversationlist.model.BaseUiConversation;
|
||||
import io.rong.imkit.conversationlist.provider.PrivateConversationProvider;
|
||||
import io.rong.imkit.utils.RouteUtils;
|
||||
@ -124,6 +127,7 @@ public class AppContext extends CommonAppContext {
|
||||
|
||||
|
||||
RongConfigCenter.conversationConfig().replaceMessageProvider(CallEndMessageItemProvider.class,new OTOCallEndMessageItemProvider());
|
||||
RongExtensionManager.getInstance().setExtensionConfig(new ChatPluginExtensionConfig());
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.shayu.onetoone.activity;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
@ -20,30 +19,23 @@ import com.shayu.onetoone.activity.fragments.DynamicFragment;
|
||||
import com.shayu.onetoone.activity.fragments.FriendsFragment;
|
||||
import com.shayu.onetoone.activity.fragments.MessageFragment;
|
||||
import com.shayu.onetoone.activity.fragments.MyFragment;
|
||||
import com.shayu.onetoone.activity.fragments.message.MsgMessageFragment;
|
||||
import com.shayu.onetoone.activity.message.ChatActivity;
|
||||
import com.shayu.onetoone.bean.JoinAnchorBean;
|
||||
import com.shayu.onetoone.bean.MatchingItemSizeBean;
|
||||
import com.shayu.onetoone.bean.OfficialNoticeBean;
|
||||
import com.shayu.onetoone.bean.SendConsumeBean;
|
||||
import com.shayu.onetoone.dialog.FirstTipsDialog;
|
||||
import com.shayu.onetoone.dialog.TipsDialog;
|
||||
import com.shayu.onetoone.event.HomeBusEvent;
|
||||
import com.shayu.onetoone.event.MessageMsgBusEvent;
|
||||
import com.shayu.onetoone.listener.OnDialogClickListener;
|
||||
import com.shayu.onetoone.listener.OnSendMessageListener;
|
||||
import com.shayu.onetoone.manager.CallClientManager;
|
||||
import com.shayu.onetoone.manager.OTONetManager;
|
||||
import com.shayu.onetoone.manager.RouteManager;
|
||||
import com.shayu.onetoone.manager.SendMessageManager;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.NoviceInstructorManager;
|
||||
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
@ -52,12 +44,9 @@ import org.greenrobot.eventbus.ThreadMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.rong.imkit.RongIM;
|
||||
import io.rong.imkit.manager.UnReadMessageManager;
|
||||
import io.rong.imkit.userinfo.RongUserInfoManager;
|
||||
import io.rong.imlib.RongIMClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.UserInfo;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.functions.Function4;
|
||||
@ -173,10 +162,10 @@ public class MainActivity extends AbsOTOActivity {
|
||||
RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING);
|
||||
}
|
||||
});
|
||||
OTONetManager.getInstance(mContext).setFiled("is_login","1",null);
|
||||
OTONetManager.getInstance(mContext).setFiled("is_login", "1", null);
|
||||
} else {
|
||||
viewPager.setCurrentItem(2);
|
||||
OTONetManager.getInstance(mContext).setFiled("is_chat","1",null);
|
||||
OTONetManager.getInstance(mContext).setFiled("is_chat", "1", null);
|
||||
}
|
||||
dialog.dismiss();
|
||||
}
|
||||
@ -197,6 +186,7 @@ public class MainActivity extends AbsOTOActivity {
|
||||
super.onResume();
|
||||
checkUserInfoIsSet();
|
||||
initFirstLoginTips();
|
||||
ToastUtil.showDebug("2");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -219,35 +209,21 @@ public class MainActivity extends AbsOTOActivity {
|
||||
}
|
||||
|
||||
private void showRedPoint(int count) {
|
||||
OTONetManager.getInstance(mContext).getMessageSystemLists(new HttpCallback<List<OfficialNoticeBean>>() {
|
||||
int point = 0;
|
||||
|
||||
//大于0则是通过会话未读监听器获取到的数,则不用再调用获取未读数接口了
|
||||
if (count >= 0) {
|
||||
updateUnreadCount(MsgMessageFragment.systemPoint + count);
|
||||
Bus.get().post(new MessageMsgBusEvent(MessageMsgBusEvent.TYPE_UPDATE_POINT, MsgMessageFragment.systemPoint + count));
|
||||
return;
|
||||
}
|
||||
RongIMClient.getInstance().getTotalUnreadCount(new RongIMClient.ResultCallback<Integer>() {
|
||||
@Override
|
||||
public void onSuccess(List<OfficialNoticeBean> data) {
|
||||
for (OfficialNoticeBean datum : data) {
|
||||
point += datum.getNum();
|
||||
}
|
||||
Bus.get().post(new MessageMsgBusEvent(MessageMsgBusEvent.TYPE_UPDATE_SYSTEM, point + count));
|
||||
//大于0则是通过会话未读监听器获取到的数,则不用再调用获取未读数接口了
|
||||
if (count >= 0) {
|
||||
updateUnreadCount(point + count);
|
||||
return;
|
||||
}
|
||||
RongIMClient.getInstance().getTotalUnreadCount(new RongIMClient.ResultCallback<Integer>() {
|
||||
@Override
|
||||
public void onSuccess(Integer integer) {
|
||||
updateUnreadCount(point + integer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(RongIMClient.ErrorCode e) {
|
||||
|
||||
}
|
||||
});
|
||||
public void onSuccess(Integer integer) {
|
||||
updateUnreadCount(MsgMessageFragment.systemPoint + integer);
|
||||
Bus.get().post(new MessageMsgBusEvent(MessageMsgBusEvent.TYPE_UPDATE_POINT, MsgMessageFragment.systemPoint + integer));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
public void onError(RongIMClient.ErrorCode e) {
|
||||
|
||||
}
|
||||
});
|
||||
@ -278,6 +254,10 @@ public class MainActivity extends AbsOTOActivity {
|
||||
public void busEvent(MessageMsgBusEvent event) {
|
||||
if (event.getType() == MessageMsgBusEvent.TYPE_ALL_READ) {
|
||||
updateUnreadCount(0);
|
||||
} else if (event.getType() == MessageMsgBusEvent.TYPE_UPDATE_POINT) {
|
||||
if (event.getNum() == -1) {
|
||||
showRedPoint(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -190,6 +190,7 @@ public class HomeRankFragment extends BaseFragment {
|
||||
|
||||
void setData(HomeRankBean user, int position) {
|
||||
getItem(position,mItem1,mItem2,mItem3).setVisibility(View.VISIBLE);
|
||||
getItem(position,diamond1,diamond2,diamond3).setVisibility(View.VISIBLE);
|
||||
getItem(position, mName1, mName2, mName3).setText(user.getUserNicename());
|
||||
getItem(position, mVotes1, mVotes2, mVotes3).setText(user.getMoney());
|
||||
if (user.isFollow()) {
|
||||
|
@ -7,6 +7,7 @@ import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
@ -19,6 +20,7 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.FileProvider;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
@ -27,9 +29,7 @@ import com.shayu.onetoone.adapter.MsgChatMessageListAdapter;
|
||||
import com.shayu.onetoone.bean.FollowBean;
|
||||
import com.shayu.onetoone.bean.GiftBean;
|
||||
import com.shayu.onetoone.bean.MessageChatAuthContent;
|
||||
import com.shayu.onetoone.bean.MessageChatTipsContent;
|
||||
import com.shayu.onetoone.bean.MessageConsumeConfigBean;
|
||||
import com.shayu.onetoone.bean.OfficialNoticeBean;
|
||||
import com.shayu.onetoone.bean.SendConsumeBean;
|
||||
import com.shayu.onetoone.bean.UserBean;
|
||||
import com.shayu.onetoone.dialog.BottomListDialog;
|
||||
@ -53,7 +53,6 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.ProcessImageUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
@ -70,6 +69,8 @@ import java.util.List;
|
||||
import io.rong.imkit.IMCenter;
|
||||
import io.rong.imkit.config.RongConfigCenter;
|
||||
import io.rong.imkit.conversation.MessageListAdapter;
|
||||
import io.rong.imkit.conversation.extension.InputMode;
|
||||
import io.rong.imkit.conversation.extension.RongExtensionViewModel;
|
||||
import io.rong.imkit.model.UiMessage;
|
||||
import io.rong.imkit.picture.PictureSelector;
|
||||
import io.rong.imkit.picture.config.PictureMimeType;
|
||||
@ -89,7 +90,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
View mInputPanel;
|
||||
View numLayout;
|
||||
EditText mEditText;
|
||||
ImageView img, call, video, gift;
|
||||
ImageView img, call, video, gift,mEmojiToggleBtn;
|
||||
ProcessImageUtil cameraUtil;
|
||||
String targetId;
|
||||
Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
|
||||
@ -103,6 +104,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
ImageView status;
|
||||
TextView num;
|
||||
Button follow;
|
||||
RongExtensionViewModel mExtensionViewModel;
|
||||
|
||||
|
||||
private String token;
|
||||
@ -126,7 +128,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
initBtn();
|
||||
initChat();
|
||||
initPriceBean();
|
||||
cameraUtil = new ProcessImageUtil(getActivity(), "com.shayu.onetoone.fileprovider");
|
||||
cameraUtil = new ProcessImageUtil(getActivity(), "${packageName}.fileprovider");
|
||||
|
||||
mRongExtension.setVisibility(View.VISIBLE);
|
||||
// img.setOnClickListener(v -> cameraUtil.getImageByCamera());
|
||||
@ -202,19 +204,25 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
MsgInputPanelForAudio audio;
|
||||
MsgInputPanelForGift giftPanel;
|
||||
|
||||
/**
|
||||
* 反射拿融云的view
|
||||
*/
|
||||
private void initBtn() {
|
||||
try {
|
||||
Field field = mRongExtension.getInputPanel().getClass().getDeclaredField("mInputPanel");
|
||||
field.setAccessible(true);
|
||||
mInputPanel = (View) field.get(mRongExtension.getInputPanel());
|
||||
assert mInputPanel != null;
|
||||
field=mRongExtension.getInputPanel().getClass().getDeclaredField("mExtensionViewModel");
|
||||
field.setAccessible(true);
|
||||
mExtensionViewModel= (RongExtensionViewModel) field.get(mRongExtension.getInputPanel());
|
||||
mSendBtn = mInputPanel.getRootView().findViewById(R.id.send_btn);
|
||||
|
||||
img = mInputPanel.getRootView().findViewById(R.id.input_panel_image_btn);
|
||||
video = mInputPanel.getRootView().findViewById(R.id.input_panel_video_btn);
|
||||
call = mInputPanel.getRootView().findViewById(R.id.input_panel_call_btn);
|
||||
gift = mInputPanel.getRootView().findViewById(R.id.input_panel_gift_btn);
|
||||
mEditText = mInputPanel.getRootView().findViewById(R.id.edit_btn);
|
||||
mEmojiToggleBtn = mInputPanel.findViewById(R.id.input_panel_emoji_btn);
|
||||
ImageView mVoiceToggleBtn = (ImageView) mInputPanel.getRootView().findViewById(R.id.input_panel_voice_toggle);
|
||||
assert mVoiceToggleBtn != null;
|
||||
audio = new MsgInputPanelForAudio(targetId, getActivity(), mRongExtension);
|
||||
@ -230,12 +238,25 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
}
|
||||
});
|
||||
mVoiceToggleBtn.setOnClickListener(view -> {
|
||||
mExtensionViewModel.getInputModeLiveData().setValue(InputMode.TextInput);
|
||||
giftPanel.hide();
|
||||
audio.show();
|
||||
});
|
||||
|
||||
gift.setOnClickListener(v -> {
|
||||
mExtensionViewModel.getInputModeLiveData().setValue(InputMode.TextInput);
|
||||
audio.hide();
|
||||
giftPanel.show();
|
||||
});
|
||||
mEmojiToggleBtn.setOnClickListener(v -> {
|
||||
if(mExtensionViewModel.getInputModeLiveData().getValue()==InputMode.TextInput){
|
||||
audio.hide();
|
||||
giftPanel.hide();
|
||||
mExtensionViewModel.getInputModeLiveData().setValue(InputMode.EmoticonMode);
|
||||
}else{
|
||||
mExtensionViewModel.getInputModeLiveData().setValue(InputMode.TextInput);
|
||||
}
|
||||
});
|
||||
|
||||
video.setOnClickListener(v -> {
|
||||
if (call.getTag() != null) {
|
||||
@ -281,7 +302,9 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
@Override
|
||||
public void onError(int status, String msg) {
|
||||
super.onError(status, msg);
|
||||
sendAuthRequest();
|
||||
if(status==1) {
|
||||
sendAuthRequest();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -328,7 +351,9 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
@Override
|
||||
public void onError(int status, String msg) {
|
||||
super.onError(status, msg);
|
||||
sendAuthRequest();
|
||||
if(status==1) {
|
||||
sendAuthRequest();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -380,10 +405,10 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
.getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback<UserBean>() {
|
||||
@Override
|
||||
public void onSuccess(UserBean data) {
|
||||
if (data.getInfo().getName_auth() == 1) {
|
||||
listener.onError(0, "");
|
||||
} else {
|
||||
if (data.getInfo().getName_auth() == 2) {
|
||||
listener.onSuccess("", null);
|
||||
} else {
|
||||
listener.onError(data.getInfo().getName_auth(), "");
|
||||
}
|
||||
}
|
||||
|
||||
@ -657,7 +682,14 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
for (LocalMedia item : selectList) {
|
||||
String mimeType = item.getMimeType();
|
||||
if (mimeType.startsWith("image")) {
|
||||
ImageMessage imageMessage = ImageMessage.obtain(Uri.parse(item.getPath()), sendOrigin);
|
||||
Uri uri;
|
||||
//判断安卓版本小于10
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
|
||||
uri= FileProvider.getUriForFile(mContext,mContext.getPackageName()+".fileprovider",new File(item.getPath()));
|
||||
}else{
|
||||
uri=Uri.parse(item.getPath());
|
||||
}
|
||||
ImageMessage imageMessage = ImageMessage.obtain(uri, sendOrigin);
|
||||
Message message = Message.obtain(targetId, conversationType, imageMessage);
|
||||
message.setSenderUserId(CommonAppConfig.getInstance().getUid());
|
||||
message.setObjectName("RC:ImgMsg");
|
||||
@ -714,35 +746,20 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
}
|
||||
|
||||
private void showRedPoint() {
|
||||
OTONetManager.getInstance(mContext).getMessageSystemLists(new HttpCallback<List<OfficialNoticeBean>>() {
|
||||
int point = 0;
|
||||
|
||||
RongIMClient.getInstance().getTotalUnreadCount(new RongIMClient.ResultCallback<Integer>() {
|
||||
@Override
|
||||
public void onSuccess(List<OfficialNoticeBean> data) {
|
||||
for (OfficialNoticeBean datum : data) {
|
||||
point += datum.getNum();
|
||||
public void onSuccess(Integer integer) {
|
||||
Integer tmp = integer + MsgMessageFragment.systemPoint;
|
||||
if (tmp <= 0) {
|
||||
numLayout.setVisibility(View.INVISIBLE);
|
||||
return;
|
||||
}
|
||||
RongIMClient.getInstance().getTotalUnreadCount(new RongIMClient.ResultCallback<Integer>() {
|
||||
@Override
|
||||
public void onSuccess(Integer integer) {
|
||||
Integer tmp = integer + point;
|
||||
if (tmp <= 0) {
|
||||
numLayout.setVisibility(View.INVISIBLE);
|
||||
return;
|
||||
}
|
||||
numLayout.setVisibility(View.VISIBLE);
|
||||
num.setText(tmp + "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(RongIMClient.ErrorCode e) {
|
||||
|
||||
}
|
||||
});
|
||||
numLayout.setVisibility(View.VISIBLE);
|
||||
num.setText(tmp + "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
public void onError(RongIMClient.ErrorCode e) {
|
||||
|
||||
}
|
||||
});
|
||||
@ -757,7 +774,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
|
||||
|
||||
@Subscribe
|
||||
public void event(MessageMsgBusEvent event) {
|
||||
if (event.getType() == MessageMsgBusEvent.TYPE_UPDATE_SYSTEM) {
|
||||
if (event.getType() == MessageMsgBusEvent.TYPE_UPDATE_POINT) {
|
||||
if (event.getNum() <= 0) {
|
||||
numLayout.setVisibility(View.INVISIBLE);
|
||||
return;
|
||||
|
@ -48,6 +48,13 @@ public class MessageInteractiveFragment extends AbsConversationFragment {
|
||||
.getSystemMessageList(noticeBean.getType(), new HttpCallback<List<SystemMessageBean>>() {
|
||||
@Override
|
||||
public void onSuccess(List<SystemMessageBean> data) {
|
||||
if(data.isEmpty()){
|
||||
mList.setVisibility(View.GONE);
|
||||
findViewById(R.id.view_empty).setVisibility(View.VISIBLE);
|
||||
return;
|
||||
}
|
||||
mList.setVisibility(View.VISIBLE);
|
||||
findViewById(R.id.view_empty).setVisibility(View.GONE);
|
||||
List<UiMessage> list = new ArrayList<>();
|
||||
for (SystemMessageBean item : data) {
|
||||
SystemNoticeUiMessage message = new SystemNoticeUiMessage(new Message());
|
||||
|
@ -46,6 +46,13 @@ public class MessageNoticeFragment extends AbsConversationFragment {
|
||||
.getSystemMessageList(noticeBean.getType(), new HttpCallback<List<SystemMessageBean>>() {
|
||||
@Override
|
||||
public void onSuccess(List<SystemMessageBean> data) {
|
||||
if(data.isEmpty()){
|
||||
mList.setVisibility(View.GONE);
|
||||
findViewById(R.id.view_empty).setVisibility(View.VISIBLE);
|
||||
return;
|
||||
}
|
||||
mList.setVisibility(View.VISIBLE);
|
||||
findViewById(R.id.view_empty).setVisibility(View.GONE);
|
||||
List<UiMessage> list = new ArrayList<>();
|
||||
for (SystemMessageBean item : data) {
|
||||
SystemNoticeUiMessage message = new SystemNoticeUiMessage(new Message());
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.shayu.onetoone.activity.fragments.message;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.view.LayoutInflater;
|
||||
@ -12,15 +11,12 @@ import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.shayu.onetoone.R;
|
||||
import com.shayu.onetoone.activity.fragments.BaseFragment;
|
||||
import com.shayu.onetoone.adapter.MsgMessageRecyclerViewAdapter;
|
||||
import com.shayu.onetoone.bean.HomeItemBean;
|
||||
import com.shayu.onetoone.bean.OfficialNoticeBean;
|
||||
import com.shayu.onetoone.event.MessageMsgBusEvent;
|
||||
import com.shayu.onetoone.manager.OTONetManager;
|
||||
import com.yanzhenjie.recyclerview.OnItemClickListener;
|
||||
import com.yanzhenjie.recyclerview.OnItemMenuClickListener;
|
||||
import com.yanzhenjie.recyclerview.OnItemMenuStateListener;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenuBridge;
|
||||
@ -31,7 +27,6 @@ import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
|
||||
@ -55,8 +50,6 @@ import io.rong.imkit.widget.refresh.listener.OnRefreshListener;
|
||||
import io.rong.imkit.widget.refresh.wrapper.RongRefreshHeader;
|
||||
import io.rong.imlib.RongIMClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.Message;
|
||||
import io.rong.imlib.model.UserInfo;
|
||||
|
||||
/**
|
||||
* 消息-好友
|
||||
@ -238,7 +231,7 @@ public class MsgFriendFragment extends BaseFragment implements BaseAdapter.OnIte
|
||||
|
||||
@Subscribe
|
||||
public void event(MessageMsgBusEvent event) {
|
||||
if (event.getType() == MessageMsgBusEvent.TYPE_UPDATE_SYSTEM) {
|
||||
if (event.getType() == MessageMsgBusEvent.TYPE_UPDATE_POINT) {
|
||||
page = 1;
|
||||
initData();
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.shayu.onetoone.activity.fragments.message;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
@ -24,19 +23,16 @@ import com.shayu.onetoone.bean.OfficialNoticeBean;
|
||||
import com.shayu.onetoone.bean.TargetUserInfoBean;
|
||||
import com.shayu.onetoone.event.MessageMsgBusEvent;
|
||||
import com.shayu.onetoone.manager.OTONetManager;
|
||||
import com.shayu.onetoone.manager.RouteManager;
|
||||
import com.yanzhenjie.recyclerview.OnItemMenuClickListener;
|
||||
import com.yanzhenjie.recyclerview.OnItemMenuStateListener;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenuBridge;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenuCreator;
|
||||
import com.yanzhenjie.recyclerview.SwipeMenuItem;
|
||||
import com.yanzhenjie.recyclerview.SwipeRecyclerView;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.RandomUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@ -90,6 +86,7 @@ import io.rong.imlib.model.UserInfo;
|
||||
* copy {@link io.rong.imkit.conversationlist.ConversationListFragment}
|
||||
*/
|
||||
public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnItemClickListener {
|
||||
public static int systemPoint = 0;
|
||||
private static final String TAG = MsgMessageFragment.class.getSimpleName();
|
||||
SwipeRecyclerView mList;
|
||||
SmartRefreshLayout mRefreshLayout;
|
||||
@ -174,13 +171,13 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
|
||||
|
||||
|
||||
private void initSystemNotice() {
|
||||
|
||||
|
||||
systemPoint = 0;
|
||||
OTONetManager.getInstance(mContext)
|
||||
.getMessageSystemLists(new HttpCallback<List<OfficialNoticeBean>>() {
|
||||
@Override
|
||||
public void onSuccess(List<OfficialNoticeBean> data) {
|
||||
for (OfficialNoticeBean datum : data) {
|
||||
systemPoint += datum.getNum();
|
||||
if (datum.getType() == 3) {
|
||||
SpUtil.setStringValue("customerService", JSONObject.toJSONString(datum));
|
||||
continue;
|
||||
@ -196,6 +193,7 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
|
||||
}
|
||||
onConversationListRefresh(mRefreshLayout);
|
||||
mAdapter.notifyDataSetChanged();
|
||||
Bus.get().post(new MessageMsgBusEvent(MessageMsgBusEvent.TYPE_UPDATE_POINT, -1));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -209,7 +207,7 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
|
||||
}
|
||||
|
||||
private SingleConversation setTopData(String title, String content, long time, String avatar, int num, int id, String exp) {
|
||||
if(StringUtil.isEmpty(content)){
|
||||
if (StringUtil.isEmpty(content)) {
|
||||
content = "";
|
||||
}
|
||||
SingleConversation conversation = new SingleConversation(getContext(), new Conversation());
|
||||
@ -241,7 +239,9 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
|
||||
* 全部标记已读
|
||||
*/
|
||||
public void allRead() {
|
||||
// clearTopData();
|
||||
// clearTopData();
|
||||
OTONetManager.getInstance(mContext)
|
||||
.messageReadAll(null);
|
||||
RongCoreClient.getInstance().getUnreadConversationList(new IRongCoreCallback.ResultCallback<List<Conversation>>() {
|
||||
@Override
|
||||
public void onSuccess(List<Conversation> conversations) {
|
||||
@ -350,7 +350,9 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
|
||||
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
initSystemNotice();
|
||||
if (this.mConversationListViewModel != null) {
|
||||
mConversationListViewModel.getConversationList(false, true, 0L);
|
||||
this.mConversationListViewModel.clearAllNotification();
|
||||
}
|
||||
|
||||
@ -426,6 +428,7 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
|
||||
|
||||
protected void onConversationListRefresh(RefreshLayout refreshLayout) {
|
||||
if (this.mConversationListViewModel != null) {
|
||||
Bus.get().post(new MessageMsgBusEvent(MessageMsgBusEvent.TYPE_UPDATE_POINT, -1));
|
||||
this.mConversationListViewModel.getConversationList(false, true, 0L);
|
||||
}
|
||||
}
|
||||
@ -489,7 +492,7 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("model", noticeBean.getType());
|
||||
bundle.putString("data", JSONObject.toJSONString(noticeBean));
|
||||
RouteUtils.routeToConversationActivity(getContext(), conversationIdentifier,bundle);
|
||||
RouteUtils.routeToConversationActivity(getContext(), conversationIdentifier, bundle);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,6 +93,13 @@ public class SystemMessageFragment extends AbsConversationFragment {
|
||||
.getSystemMessageList(SystemMessageBean.TYPE_SYSTEM, new HttpCallback<List<SystemMessageBean>>() {
|
||||
@Override
|
||||
public void onSuccess(List<SystemMessageBean> data) {
|
||||
if(data.isEmpty()){
|
||||
mList.setVisibility(View.GONE);
|
||||
findViewById(R.id.view_empty).setVisibility(View.VISIBLE);
|
||||
return;
|
||||
}
|
||||
mList.setVisibility(View.VISIBLE);
|
||||
findViewById(R.id.view_empty).setVisibility(View.GONE);
|
||||
for (SystemMessageBean item : data) {
|
||||
sendMessage(item);
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ public class CompleteActivity extends AbsOTOActivity {
|
||||
}
|
||||
|
||||
private void initCamera() {
|
||||
cameraUtil = new ProcessImageUtil(this, "com.shayu.onetoone.fileprovider");
|
||||
cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider");
|
||||
cameraUtil.setImageResultCallback(new ImageResultCallback() {
|
||||
@Override
|
||||
public void beforeCamera() {
|
||||
|
@ -18,51 +18,29 @@ import android.widget.TextView;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.blankj.utilcode.util.DeviceUtils;
|
||||
import com.blankj.utilcode.util.GsonUtils;
|
||||
import com.fm.openinstall.OpenInstall;
|
||||
import com.fm.openinstall.listener.AppInstallAdapter;
|
||||
import com.fm.openinstall.model.AppData;
|
||||
import com.lzy.okgo.model.Response;
|
||||
import com.shayu.onetoone.R;
|
||||
import com.shayu.onetoone.activity.AbsOTOActivity;
|
||||
import com.shayu.onetoone.activity.MainActivity;
|
||||
import com.shayu.onetoone.bean.JoinAnchorBean;
|
||||
import com.shayu.onetoone.manager.OTONetManager;
|
||||
import com.shayu.onetoone.manager.RouteManager;
|
||||
import com.shayu.onetoone.utils.MainHttpUtil;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.UserAreaBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.fragment.LoadingDialog;
|
||||
import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.HttpClient;
|
||||
import com.yunbao.common.http.JsonBean;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.NoviceInstructorManager;
|
||||
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
@ -160,7 +138,7 @@ public class LoginActivity extends AbsOTOActivity {
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
String phone = mEditPhone.getText().toString();
|
||||
String pwd = mEditPwd.getText().toString();
|
||||
mBtnLogin.setEnabled(!TextUtils.isEmpty(phone) && !TextUtils.isEmpty(pwd));
|
||||
// mBtnLogin.setEnabled(!TextUtils.isEmpty(phone) && !TextUtils.isEmpty(pwd));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -373,6 +351,6 @@ public class LoginActivity extends AbsOTOActivity {
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
RouteUtil.forwardEntry2();
|
||||
RouteManager.forwardEntryActivity();
|
||||
}
|
||||
}
|
||||
|
@ -104,6 +104,10 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
|
||||
CallClientManager.getManager().removeOnVoIPCallListener(onCallStatusListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
// 获取全局变量
|
||||
vague = findViewById(R.id.vague);
|
||||
|
@ -149,7 +149,7 @@ public class AuthActivity extends AbsActivity {
|
||||
}
|
||||
|
||||
private void initCamera() {
|
||||
cameraUtil = new ProcessImageUtil(this, "com.shayu.onetoone.fileprovider");
|
||||
cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider");
|
||||
cameraUtil.setImageResultCallback(new ImageResultCallback() {
|
||||
@Override
|
||||
public void beforeCamera() {
|
||||
|
@ -172,7 +172,7 @@ public class AuthBloggerActivity extends AbsActivity {
|
||||
};
|
||||
|
||||
private void initCamera() {
|
||||
cameraUtil = new ProcessImageUtil(this, "com.shayu.onetoone.fileprovider");
|
||||
cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider");
|
||||
cameraUtil.setImageResultCallback(new ImageResultCallback() {
|
||||
@Override
|
||||
public void beforeCamera() {
|
||||
|
@ -138,7 +138,7 @@ public class EditProfileActivity extends AbsActivity {
|
||||
}
|
||||
|
||||
private void initCamera() {
|
||||
cameraUtil = new ProcessImageUtil(this, "com.shayu.onetoone.fileprovider");
|
||||
cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider");
|
||||
cameraUtil.setImageResultCallback(new ImageResultCallback() {
|
||||
@Override
|
||||
public void beforeCamera() {
|
||||
|
@ -57,6 +57,9 @@ public class OfficialNoticeBean extends BaseModel {
|
||||
}
|
||||
|
||||
public int getNum() {
|
||||
if (num < 0) {
|
||||
num = 0;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ public class UserBean extends BaseModel {
|
||||
private int b_y;
|
||||
private int b_ym;
|
||||
private int b_ymd;
|
||||
private int name_auth;
|
||||
private int name_auth;//1 未提交 2 已认证 3已提交
|
||||
private long name_auth_time;
|
||||
private String auth_front;
|
||||
private String auth_back;
|
||||
|
@ -2,7 +2,8 @@ package com.shayu.onetoone.event;
|
||||
|
||||
public class MessageMsgBusEvent extends AbsBusEvent {
|
||||
public static final int TYPE_ALL_READ = 0;
|
||||
public static final int TYPE_UPDATE_SYSTEM=1;
|
||||
public static final int TYPE_UPDATE_POINT =1;
|
||||
public static final int TYPE_UPDATE_SYSTEM =2;
|
||||
|
||||
private int num;
|
||||
|
||||
|
@ -85,6 +85,37 @@ public class CallClientManager {
|
||||
|
||||
public void addOnVoIPCallListener(OnCallStatusListener statusListener) {
|
||||
listeners.add(statusListener);
|
||||
RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() {
|
||||
@Override
|
||||
public void onCallWait(SurfaceView localVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onCallWait(localVideo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallStart(String userId, SurfaceView remoteVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onCallStart(userId, remoteVideo);
|
||||
}
|
||||
startTimer(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallEnd() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onCallEnd();
|
||||
}
|
||||
endTimer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartFirstFrame() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onStartFirstFrame();
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
public void removeOnVoIPCallListener(OnCallStatusListener statusListener) {
|
||||
@ -193,37 +224,6 @@ public class CallClientManager {
|
||||
}
|
||||
|
||||
public void acceptCall(String callId) {
|
||||
RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() {
|
||||
@Override
|
||||
public void onCallWait(SurfaceView localVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onCallWait(localVideo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallStart(String userId, SurfaceView remoteVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onCallStart(userId, remoteVideo);
|
||||
}
|
||||
startTimer(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallEnd() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onCallEnd();
|
||||
}
|
||||
endTimer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartFirstFrame() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
listener.onStartFirstFrame();
|
||||
}
|
||||
}
|
||||
}));
|
||||
RongCallClient.getInstance().acceptCall(callId);
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,7 @@ public class OTONetManager {
|
||||
@Override
|
||||
public void accept(ResponseModel<IMLoginModel> imLoginModelResponseModel) throws Exception {
|
||||
if (callback != null) {
|
||||
if(imLoginModelResponseModel.isError()){
|
||||
if (imLoginModelResponseModel.isError()) {
|
||||
JSONObject jsonSrc = imLoginModelResponseModel.getSrcJSONOBject();
|
||||
callback.onError(jsonSrc.getJSONObject("data").getString("msg"));
|
||||
return;
|
||||
@ -1370,7 +1370,7 @@ public class OTONetManager {
|
||||
}
|
||||
|
||||
|
||||
public void getMenu( HttpCallback<List<UserItemBean>> callback) {
|
||||
public void getMenu(HttpCallback<List<UserItemBean>> callback) {
|
||||
API.get().otoApi(mContext).
|
||||
getMenu()
|
||||
.subscribeOn(Schedulers.io())
|
||||
@ -1394,5 +1394,27 @@ public class OTONetManager {
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
public void messageReadAll(HttpCallback<HttpCallbackModel> callback) {
|
||||
API.get().otoApi(mContext).
|
||||
messageReadAll()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(listResponseModel -> {
|
||||
if (listResponseModel.getData().getCode() == 0) {
|
||||
if(callback!=null) {
|
||||
callback.onSuccess(new HttpCallbackModel(listResponseModel.getData().getCode(), listResponseModel.getData().getMsg()));
|
||||
}
|
||||
} else {
|
||||
if(callback!=null) {
|
||||
callback.onError(listResponseModel.getData().getMsg());
|
||||
}
|
||||
}
|
||||
}, throwable -> {
|
||||
if (callback != null) {
|
||||
callback.onError(mContext.getString(com.yunbao.common.R.string.net_error));
|
||||
}
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -363,6 +363,8 @@ public interface OneToOneApi {
|
||||
*/
|
||||
@GET("/api/public/?service=Friendappinfos.getMenu")
|
||||
Observable<ResponseModel<List<UserItemBean>>> getMenu();
|
||||
@GET("/api/public/?service=Message.setMessageReadAll")
|
||||
Observable<ResponseModel<List<BaseModel>>> messageReadAll();
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,15 @@
|
||||
package com.shayu.onetoone.utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.rong.imkit.conversation.extension.DefaultExtensionConfig;
|
||||
import io.rong.imkit.conversation.extension.component.plugin.IPluginModule;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
|
||||
public class ChatPluginExtensionConfig extends DefaultExtensionConfig {
|
||||
@Override
|
||||
public List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType, String targetId) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
@ -10,6 +10,7 @@ import com.yunbao.common.utils.ToastUtil;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import io.rong.imkit.conversation.extension.RongExtension;
|
||||
|
||||
public abstract class AbsInputPanel {
|
||||
@ -19,6 +20,7 @@ public abstract class AbsInputPanel {
|
||||
String targetId;
|
||||
ViewGroup rootLayout;
|
||||
View rootView;
|
||||
boolean isShow = false;
|
||||
|
||||
public AbsInputPanel(String targetId, FragmentActivity mContext, RongExtension mRongExtension, int layout) {
|
||||
this.mContext = mContext;
|
||||
@ -38,16 +40,23 @@ public abstract class AbsInputPanel {
|
||||
}
|
||||
|
||||
public int show() {
|
||||
if (rootLayout.getVisibility() == View.VISIBLE) {
|
||||
rootLayout.removeAllViews();
|
||||
if (isShow) {
|
||||
rootLayout.setVisibility(View.GONE);
|
||||
isShow = false;
|
||||
return View.GONE;
|
||||
}
|
||||
rootLayout.removeAllViews();
|
||||
isShow = true;
|
||||
rootLayout.addView(rootView);
|
||||
|
||||
rootLayout.setVisibility(View.VISIBLE);
|
||||
return View.VISIBLE;
|
||||
}
|
||||
|
||||
public void hide() {
|
||||
rootLayout.removeAllViews();
|
||||
rootLayout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
public abstract void init(View viewGroup);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.shayu.onetoone.view;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
@ -16,6 +17,7 @@ import com.shayu.onetoone.bean.PurseBean;
|
||||
import com.shayu.onetoone.bean.SendConsumeBean;
|
||||
import com.shayu.onetoone.dialog.TipsDialog;
|
||||
import com.shayu.onetoone.event.MoneyUpdateEvent;
|
||||
import com.shayu.onetoone.listener.OnDialogClickListener;
|
||||
import com.shayu.onetoone.listener.OnSendMessageListener;
|
||||
import com.shayu.onetoone.manager.OTONetManager;
|
||||
import com.shayu.onetoone.manager.SendMessageManager;
|
||||
@ -96,8 +98,15 @@ public class MsgInputPanelForGift extends AbsInputPanel {
|
||||
public void onError(int status, String msg) {
|
||||
super.onError(status, msg);
|
||||
new TipsDialog(mContext)
|
||||
.setTitle(WordUtil.getNewString(R.string.not_money))
|
||||
.setApplyText(WordUtil.getNewString(R.string.dialog_apply))
|
||||
.setTitle(WordUtil.getNewString(R.string.gift_not_money))
|
||||
.setApplyText(WordUtil.getNewString(R.string.money_apply))
|
||||
.setOnDialogClickListener(new OnDialogClickListener() {
|
||||
@Override
|
||||
public void onApply(Dialog dialog) {
|
||||
super.onApply(dialog);
|
||||
ToastUtil.showDebug("沒有H5頁面!");
|
||||
}
|
||||
})
|
||||
.showDialog();
|
||||
}
|
||||
});
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
@ -132,7 +132,7 @@
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="15dp"
|
||||
android:src="@mipmap/diamond"
|
||||
android:visibility="invisible"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
|
@ -113,5 +113,14 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<include
|
||||
android:id="@+id/view_empty"
|
||||
layout="@layout/view_inter_empty"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -112,5 +112,14 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<include
|
||||
android:id="@+id/view_empty"
|
||||
layout="@layout/view_notice_empty"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -55,12 +55,14 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
android:orientation="horizontal"> 0
|
||||
|
||||
<TextView
|
||||
android:id="@+id/user_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
tools:text="TextView"
|
||||
android:textColor="#333333"
|
||||
android:textSize="16sp"
|
||||
|
@ -51,7 +51,6 @@
|
||||
android:id="@+id/rc_unread_message_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/rc_unread_height"
|
||||
android:layout_marginStart="3dp"
|
||||
android:layout_marginTop="@dimen/rc_margin_size_30"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/rc_unread_msg_bg_style"
|
||||
@ -72,7 +71,6 @@
|
||||
android:id="@+id/rc_mention_message_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/rc_unread_height"
|
||||
android:layout_marginStart="3dp"
|
||||
android:layout_marginTop="@dimen/rc_margin_size_80"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/rc_unread_msg_bg_style"
|
||||
|
@ -9,15 +9,15 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/input_panel_voice_toggle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="81dp"
|
||||
android:layout_height="87dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/linearLayout2"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/rc_ext_toggle_voice" />
|
||||
app:srcCompat="@drawable/rc_ext_toggle_voice1" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_btn"
|
||||
@ -153,11 +153,11 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/input_panel_add_btn"
|
||||
android:background="@color/yellow"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:visibility="gone"
|
||||
android:src="@mipmap/ic_msg_add" />
|
||||
android:background="@color/yellow"
|
||||
android:src="@mipmap/ic_msg_add"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -43,6 +43,7 @@
|
||||
android:gravity="center"
|
||||
android:paddingBottom="5dp"
|
||||
android:textColor="#ffffff"
|
||||
android:visibility="gone"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/rc_refresh"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@ -122,4 +123,15 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<include
|
||||
android:id="@+id/view_empty"
|
||||
layout="@layout/view_system_empty"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
28
OneToOne/src/main/res/layout/view_inter_empty.xml
Normal file
28
OneToOne/src/main/res/layout/view_inter_empty.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView7"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/img_mess" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView10"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/view_friend_empty_text"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageView7"
|
||||
app:layout_constraintHorizontal_bias="0.433"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageView7"
|
||||
app:layout_constraintTop_toBottomOf="@+id/imageView7" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
28
OneToOne/src/main/res/layout/view_notice_empty.xml
Normal file
28
OneToOne/src/main/res/layout/view_notice_empty.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView7"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/img_no_new" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView10"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/view_friend_empty_text"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageView7"
|
||||
app:layout_constraintHorizontal_bias="0.433"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageView7"
|
||||
app:layout_constraintTop_toBottomOf="@+id/imageView7" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
28
OneToOne/src/main/res/layout/view_system_empty.xml
Normal file
28
OneToOne/src/main/res/layout/view_system_empty.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView7"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/img_on_official" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView10"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/view_friend_empty_text"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageView7"
|
||||
app:layout_constraintHorizontal_bias="0.433"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageView7"
|
||||
app:layout_constraintTop_toBottomOf="@+id/imageView7" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
BIN
OneToOne/src/main/res/mipmap-xxhdpi/diamond.png
Normal file
BIN
OneToOne/src/main/res/mipmap-xxhdpi/diamond.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 7.6 KiB |
@ -35,11 +35,11 @@
|
||||
<string name="choose_img_max">最多選 %1$s 張圖片哦</string>
|
||||
<string name="view_friend_empty_text">暫無好友消息~</string>
|
||||
<string name="not_money">餘額不足</string>
|
||||
<string name="not_money_tips">文字聊天每條續消耗%s鑽,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_tips">文字聊天每條續消耗%s鑽,您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
|
||||
<string name="not_money_video_tips">與TA視頻聊天每分鐘續消耗%s鑽石,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_audio_tips">與TA語音聊天每分鐘續消耗%s鑽石,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_text_tips">聊天每條續消耗%s鑽,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_video_tips">與TA視頻聊天每分鐘續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="not_money_audio_tips">與TA語音聊天每分鐘續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="not_money_text_tips">聊天每條續消耗%s鑽,您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="dialog_cancel_tip">離開</string>
|
||||
<string name="dialog_to_money_tip">去充值</string>
|
||||
<string name="chat_video_tips">發起視頻通話\n%s鑽/分鐘</string>
|
||||
@ -263,4 +263,5 @@
|
||||
|
||||
<string name="dialog_call_prop_apply">收下獎勵</string>
|
||||
<string name="toast_call_not_unlock">發送任意禮物后即可解鎖</string>
|
||||
<string name="gift_not_money">余额不足,请充值后再进行尝试吧~</string>
|
||||
</resources>
|
@ -35,11 +35,11 @@
|
||||
<string name="choose_img_max">最多選 %1$s 張圖片哦</string>
|
||||
<string name="view_friend_empty_text">暫無好友消息~</string>
|
||||
<string name="not_money">餘額不足</string>
|
||||
<string name="not_money_tips">文字聊天每條續消耗%s鑽,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_tips">文字聊天每條續消耗%s鑽,您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
|
||||
<string name="not_money_video_tips">與TA視頻聊天每分鐘續消耗%s鑽石,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_audio_tips">與TA語音聊天每分鐘續消耗%s鑽石,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_text_tips">聊天每條續消耗%s鑽,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_video_tips">與TA視頻聊天每分鐘續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="not_money_audio_tips">與TA語音聊天每分鐘續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="not_money_text_tips">聊天每條續消耗%s鑽,您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="dialog_cancel_tip">離開</string>
|
||||
<string name="dialog_to_money_tip">去充值</string>
|
||||
<string name="chat_video_tips">發起視頻通話\n%s鑽/分鐘</string>
|
||||
@ -263,4 +263,5 @@
|
||||
|
||||
<string name="dialog_call_prop_apply">收下獎勵</string>
|
||||
<string name="toast_call_not_unlock">發送任意禮物后即可解鎖</string>
|
||||
<string name="gift_not_money">余额不足,请充值后再进行尝试吧~</string>
|
||||
</resources>
|
@ -36,12 +36,12 @@
|
||||
|
||||
<string name="view_friend_empty_text">friend empty</string>
|
||||
<string name="not_money">餘額不足</string>
|
||||
<string name="not_money_tips">"文字聊天每條續消耗%s鑽,您可通過充值獲取更多鑽石,以便繼續聊天"</string>
|
||||
<string name="not_money_tips">"文字聊天每條續消耗%s鑽,您可通過充值獲取更多星幣以便繼續聊天"</string>
|
||||
|
||||
|
||||
<string name="not_money_video_tips">與TA視頻聊天每分鐘續消耗%s鑽石,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_audio_tips">與TA语音聊天每分鐘續消耗%s鑽石,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_text_tips">聊天每條續消耗%s鑽,您可通過充值獲取更多鑽石,以便繼續聊天</string>
|
||||
<string name="not_money_video_tips">與TA視頻聊天每分鐘續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="not_money_audio_tips">與TA语音聊天每分鐘續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="not_money_text_tips">聊天每條續消耗%s鑽,您可通過充值獲取更多星幣以便繼續聊天</string>
|
||||
<string name="dialog_cancel_tip">離開</string>
|
||||
<string name="dialog_to_money_tip">去充值</string>
|
||||
<string name="chat_video_tips">发起视频通话\n%s钻/分钟</string>
|
||||
@ -265,4 +265,5 @@
|
||||
|
||||
<string name="dialog_call_prop_apply">收下獎勵</string>
|
||||
<string name="toast_call_not_unlock">發送任意禮物后即可解鎖</string>
|
||||
<string name="gift_not_money">余额不足,请充值后再进行尝试吧~</string>
|
||||
</resources>
|
@ -3,8 +3,9 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:layout_height="wrap_content">
|
||||
tools:visibility="visible">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/input_panel_voice_toggle"
|
||||
@ -12,7 +13,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginBottom="6.5dp"
|
||||
android:src="@drawable/rc_ext_toggle_voice"
|
||||
android:src="@drawable/rc_ext_toggle_voice1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@ -32,7 +33,8 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/input_panel_emoji_btn"
|
||||
app:layout_constraintStart_toEndOf="@+id/input_panel_voice_toggle"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/press_to_speech_btn"
|
||||
@ -40,8 +42,8 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/rc_ext_input_panel_editbox_height"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginTop="6.5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginBottom="6.5dp"
|
||||
android:background="@drawable/rc_ext_voice_idle_button"
|
||||
android:gravity="center"
|
||||
@ -59,12 +61,12 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6.5dp"
|
||||
android:layout_marginBottom="6.5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginBottom="6.5dp"
|
||||
android:src="@drawable/rc_ext_input_panel_emoji"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/input_panel_add_or_send" />
|
||||
app:layout_constraintEnd_toStartOf="@+id/input_panel_add_or_send"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/input_panel_add_or_send"
|
||||
|
Loading…
x
Reference in New Issue
Block a user