From 0d52db8edb43bfbea34c96cad2b639d79f35255a Mon Sep 17 00:00:00 2001 From: zlzw <583819556@qq.com> Date: Sat, 28 Oct 2023 18:13:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B5=8B=E8=AF=95=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneToOne/src/main/AndroidManifest.xml | 2 +- .../onetoone/activity/EndCallActivity.java | 26 ++++++++++++- .../message/ChatMessageFragment.java | 37 +++++++++++-------- .../fragments/message/MsgMessageFragment.java | 35 +++++++++++------- .../activity/login/CompleteActivity.java | 2 +- .../activity/message/CallVideoActivity.java | 26 +++++++------ .../message/MsgMoreGreetConfigActivity.java | 14 ++++--- .../onetoone/activity/user/AuthActivity.java | 2 +- .../activity/user/AuthBloggerActivity.java | 2 +- .../activity/user/EditProfileActivity.java | 2 +- .../adapter/HomeRecommendListAdapter.java | 1 - .../adapter/MsgGreetConfigAdapter.java | 8 +++- .../MsgMessageRecyclerViewAdapter.java | 14 ++++--- .../onetoone/manager/CallClientManager.java | 13 +++++++ .../shayu/onetoone/manager/OTONetManager.java | 15 ++++++-- .../shayu/onetoone/network/OneToOneApi.java | 2 +- .../onetoone/view/MsgInputPanelForAudio.java | 1 + .../res/drawable/rc_ext_toggle_voice_btn.xml | 5 +++ .../src/main/res/layout/activity_screen.xml | 2 +- OneToOne/src/main/res/layout/dialog_tips1.xml | 12 +++--- .../src/main/res/values-zh-rHK/strings.xml | 2 + .../src/main/res/values-zh-rTW/strings.xml | 2 + OneToOne/src/main/res/values/strings.xml | 6 +-- gradle.properties | 4 +- .../res/layout/rc_extension_input_panel.xml | 2 +- 25 files changed, 157 insertions(+), 80 deletions(-) create mode 100644 OneToOne/src/main/res/drawable/rc_ext_toggle_voice_btn.xml diff --git a/OneToOne/src/main/AndroidManifest.xml b/OneToOne/src/main/AndroidManifest.xml index cd40c6bd2..7938f62da 100644 --- a/OneToOne/src/main/AndroidManifest.xml +++ b/OneToOne/src/main/AndroidManifest.xml @@ -236,7 +236,7 @@ { - RouteManager.forwardActivity(extras.getString("path"), extras); + OTONetManager.getInstance(mContext) + .getTargetUserInfo(user.getUser().getId(), new HttpCallback() { + @Override + public void onSuccess(UserBean data) { + if (data.getInfo().getName_auth() == 2) { + RouteManager.forwardActivity(extras.getString("path"), extras); + } else { + ToastUtil.show(R.string.end_resume_call_not_auth); + } + + } + + @Override + public void onError(String error) { + Log.e(TAG, "onError: " + error); + } + }); + }); applyButton.setOnClickListener(v -> { }); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java index 1c753ac8a..4c62fde81 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java @@ -91,7 +91,7 @@ public class ChatMessageFragment extends AbsConversationFragment { View mInputPanel; View numLayout; EditText mEditText; - ImageView img, call, video, gift,mEmojiToggleBtn; + ImageView img, call, video, gift, mEmojiToggleBtn; ProcessImageUtil cameraUtil; String targetId; Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE; @@ -129,7 +129,7 @@ public class ChatMessageFragment extends AbsConversationFragment { initBtn(); initChat(); initPriceBean(); - cameraUtil = new ProcessImageUtil(getActivity(), "${packageName}.fileprovider"); + cameraUtil = new ProcessImageUtil(getActivity(), mContext.getPackageName() + ".fileprovider"); mRongExtension.setVisibility(View.VISIBLE); // img.setOnClickListener(v -> cameraUtil.getImageByCamera()); @@ -214,9 +214,9 @@ public class ChatMessageFragment extends AbsConversationFragment { field.setAccessible(true); mInputPanel = (View) field.get(mRongExtension.getInputPanel()); assert mInputPanel != null; - field=mRongExtension.getInputPanel().getClass().getDeclaredField("mExtensionViewModel"); + field = mRongExtension.getInputPanel().getClass().getDeclaredField("mExtensionViewModel"); field.setAccessible(true); - mExtensionViewModel= (RongExtensionViewModel) field.get(mRongExtension.getInputPanel()); + 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); @@ -250,11 +250,11 @@ public class ChatMessageFragment extends AbsConversationFragment { giftPanel.show(); }); mEmojiToggleBtn.setOnClickListener(v -> { - if(mExtensionViewModel.getInputModeLiveData().getValue()==InputMode.TextInput){ + if (mExtensionViewModel.getInputModeLiveData().getValue() == InputMode.TextInput) { audio.hide(); giftPanel.hide(); mExtensionViewModel.getInputModeLiveData().setValue(InputMode.EmoticonMode); - }else{ + } else { mExtensionViewModel.getInputModeLiveData().setValue(InputMode.TextInput); } }); @@ -303,9 +303,9 @@ public class ChatMessageFragment extends AbsConversationFragment { @Override public void onError(int status, String msg) { super.onError(status, msg); - if(status==1) { + if (status == 1) { sendAuthRequest(); - }else if(!StringUtil.isEmpty(msg)){ + } else if (!StringUtil.isEmpty(msg)) { ToastUtil.show(msg); } } @@ -354,9 +354,9 @@ public class ChatMessageFragment extends AbsConversationFragment { @Override public void onError(int status, String msg) { super.onError(status, msg); - if(status==1) { + if (status == 1) { sendAuthRequest(); - }else if(!StringUtil.isEmpty(msg)){ + } else if (!StringUtil.isEmpty(msg)) { ToastUtil.show(msg); } } @@ -412,10 +412,12 @@ public class ChatMessageFragment extends AbsConversationFragment { public void onSuccess(UserBean data) { if (data.getInfo().getName_auth() == 2) { listener.onSuccess("", null); - } else if(data.getInfo().getName_auth() == 3){ + } else if (data.getInfo().getName_auth() == 3) { listener.onError(data.getInfo().getName_auth(), "當前正在審核中,請耐心等待"); } - // listener.onSuccess("", null); + AppManager.runDebugCode(()->{ + listener.onSuccess("", null); + }); } @Override @@ -602,6 +604,11 @@ public class ChatMessageFragment extends AbsConversationFragment { video.setImageResource(R.mipmap.ic_msg_video_lock); call.setTag("true"); } + AppManager.runDebugCode(()->{ + call.setTag(null); + call.setImageResource(R.mipmap.ic_msg_call); + video.setImageResource(R.mipmap.ic_msg_video); + }); } @Override @@ -691,9 +698,9 @@ public class ChatMessageFragment extends AbsConversationFragment { 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()); + 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); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/MsgMessageFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/MsgMessageFragment.java index d091cb29a..fcd0fca7c 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/MsgMessageFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/MsgMessageFragment.java @@ -12,6 +12,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import com.alibaba.fastjson.JSONObject; @@ -25,9 +26,12 @@ import com.shayu.onetoone.event.MessageMsgBusEvent; import com.shayu.onetoone.manager.OTONetManager; import com.yanzhenjie.recyclerview.OnItemMenuClickListener; import com.yanzhenjie.recyclerview.OnItemMenuStateListener; +import com.yanzhenjie.recyclerview.SwipeMenu; import com.yanzhenjie.recyclerview.SwipeMenuBridge; import com.yanzhenjie.recyclerview.SwipeMenuCreator; import com.yanzhenjie.recyclerview.SwipeMenuItem; +import com.yanzhenjie.recyclerview.SwipeMenuLayout; +import com.yanzhenjie.recyclerview.SwipeMenuView; import com.yanzhenjie.recyclerview.SwipeRecyclerView; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.base.HttpCallback; @@ -108,16 +112,17 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt } private class SwipeRunnable { - private int menuPosition; + private SwipeMenuBridge bridge; private int adapterPosition; - public SwipeRunnable(int menuPosition, int adapterPosition) { - this.menuPosition = menuPosition; + public SwipeRunnable(SwipeMenuBridge bridge, int adapterPosition) { + this.bridge = bridge; this.adapterPosition = adapterPosition; } } private SwipeRunnable swipeRunnable = null; + SwipeMenuCreator creator; @Override public void initView(View itemView) { @@ -127,14 +132,16 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt mAdapter = new MsgMessageRecyclerViewAdapter(mList); list = new ArrayList<>(); mList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false)); - mList.setSwipeMenuCreator(initSwipeMenuCreator()); + creator = initSwipeMenuCreator(); + mList.setSwipeMenuCreator(creator); mList.setHasFixedSize(true); mList.setAutoMarginEnabled(true); mList.setOnItemMenuClickListener(new OnItemMenuClickListener() { @Override public void onItemClick(SwipeMenuBridge menuBridge, int adapterPosition) { - swipeRunnable = new SwipeRunnable(menuBridge.getPosition(), adapterPosition); + swipeRunnable = new SwipeRunnable(menuBridge, adapterPosition); menuBridge.closeMenu(); + } }); mList.setOnItemMenuStateListener(new OnItemMenuStateListener() { @@ -144,11 +151,9 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt if (menuState == CLOSED && swipeRunnable != null) { mHandler.postDelayed(() -> { BaseUiConversation conversation = mAdapter.getData().get(swipeRunnable.adapterPosition); - if (swipeRunnable.menuPosition == 0) { + if (swipeRunnable.bridge.getPosition() == 0) { topItem(conversation, swipeRunnable.adapterPosition); - top.setText(R.string.untop); } else { - top.setText(R.string.top); removeItem(conversation, swipeRunnable.adapterPosition); } swipeRunnable = null; @@ -353,6 +358,7 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt public void onResume() { super.onResume(); initSystemNotice(); + updateUserInfo(); if (this.mConversationListViewModel != null) { mConversationListViewModel.getConversationList(false, true, 0L); this.mConversationListViewModel.clearAllNotification(); @@ -504,15 +510,17 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt return false; } - SwipeMenuItem top=null; - SwipeMenuItem del=null; private SwipeMenuCreator initSwipeMenuCreator() { SwipeMenuCreator creator = (leftMenu, rightMenu, position) -> { - top = new SwipeMenuItem(getContext()); - del = new SwipeMenuItem(getContext()); + SwipeMenuItem top = new SwipeMenuItem(getContext()); + SwipeMenuItem del = new SwipeMenuItem(getContext()); top.setBackgroundColor(Color.parseColor("#D9D9D9")); del.setBackgroundColor(Color.parseColor("#FE5268")); - top.setText(R.string.top); + if(mAdapter.getItem(position).mCore.isTop()) { + top.setText(R.string.untop); + }else{ + top.setText(R.string.top); + } del.setText(R.string.delete); top.setHeight(ViewGroup.LayoutParams.MATCH_PARENT); top.setWidth(DpUtil.dp2px(71)); @@ -521,7 +529,6 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt rightMenu.addMenuItem(top); rightMenu.addMenuItem(del); - }; return creator; } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java index 87b314117..b74d068d9 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/login/CompleteActivity.java @@ -87,7 +87,7 @@ public class CompleteActivity extends AbsOTOActivity { } private void initCamera() { - cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider"); + cameraUtil = new ProcessImageUtil(this, getPackageName()+".fileprovider"); cameraUtil.setImageResultCallback(new ImageResultCallback() { @Override public void beforeCamera() { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java index 332a65c88..fcf9d78aa 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java @@ -124,8 +124,8 @@ public class CallVideoActivity extends AbsOTOActivity { }); } initButton(buttonView); - if (!StringUtil.isEmpty(callId)) { - CallClientManager.getManager().callVideo(callId); + if (!StringUtil.isEmpty(targetId)) { + CallClientManager.getManager().callVideo(targetId); initWaitView(); } } @@ -259,7 +259,7 @@ public class CallVideoActivity extends AbsOTOActivity { private void accept() { callLayout.setVisibility(View.GONE); - CallClientManager.getManager().acceptCall(targetId); + CallClientManager.getManager().acceptCall(callId); } private void closeCamera() { @@ -464,17 +464,19 @@ public class CallVideoActivity extends AbsOTOActivity { targetView.addView(CallClientManager.getManager().getLocalVideo()); myView.addView(buttonView); } - +// @Override public void onCallEnd() { - Bundle bundle = new Bundle(); - bundle.putString("model", CallClientManager.VIDEO_CALL); - bundle.putString("targetId", targetId); - bundle.putString("callId", targetId); - bundle.putString("user", JSONObject.toJSONString(userData)); - bundle.putString("time", callTime.getText().toString()); - bundle.putString("path", RouteManager.ACTIVITY_CALL_VIDEO); - RouteManager.forwardActivity(RouteManager.ACTIVITY_END_CALL, bundle); + if(model.equals(CallClientManager.AUDIO_CALL) ||model.equals(CallClientManager.VIDEO_CALL)) { + Bundle bundle = new Bundle(); + bundle.putString("model", CallClientManager.VIDEO_CALL); + bundle.putString("targetId", targetId); + bundle.putString("callId", callId); + bundle.putString("user", JSONObject.toJSONString(userData)); + bundle.putString("time", callTime.getText().toString()); + bundle.putString("path", RouteManager.ACTIVITY_CALL_VIDEO); + RouteManager.forwardActivity(RouteManager.ACTIVITY_END_CALL, bundle); + } finish(); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java index 39dcd00a3..c1853265f 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java @@ -89,7 +89,7 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity { }); apply.setOnClickListener(v -> { adapter.notifyDataSetChanged(); - new Handler(Looper.getMainLooper()).postDelayed(this::save,100); + new Handler(Looper.getMainLooper()).postDelayed(this::save, 100); }); cancel.setOnClickListener(v -> clearGreet()); recyclerView.setOnClickListener(v -> adapter.notifyDataSetChanged()); @@ -143,6 +143,8 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity { } private void clearGreet() { + adapter.clear(); + ((ImageView)findViewById(R.id.imageView5)).setImageResource(R.mipmap.ic_msg_more_config_add_image); OTONetManager.getInstance(mContext) .cleanMoreGreetConfig(new HttpCallback() { @Override @@ -152,7 +154,7 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity { @Override public void onError(String error) { - ToastUtil.show(error); + // ToastUtil.show(error); } }); } @@ -191,12 +193,12 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity { .getMessageMoreGreetConfig(new HttpCallback>() { @Override public void onSuccess(List data) { - List list=new ArrayList<>(); + List list = new ArrayList<>(); for (GreetBean item : data) { - if(item.getType()==0){ + if (item.getType() == 0) { list.add(item); - }else if(item.getType()==2){ - ImgLoader.display(mContext,item.getContent(), (ImageView) findViewById(R.id.imageView5)); + } else if (item.getType() == 2) { + ImgLoader.display(mContext, item.getContent(), (ImageView) findViewById(R.id.imageView5)); } } adapter.setList(list); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthActivity.java index b133dcc36..a137a5180 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthActivity.java @@ -149,7 +149,7 @@ public class AuthActivity extends AbsActivity { } private void initCamera() { - cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider"); + cameraUtil = new ProcessImageUtil(this, getPackageName()+".fileprovider"); cameraUtil.setImageResultCallback(new ImageResultCallback() { @Override public void beforeCamera() { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthBloggerActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthBloggerActivity.java index 5e38048dd..0d25fcd82 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthBloggerActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/AuthBloggerActivity.java @@ -172,7 +172,7 @@ public class AuthBloggerActivity extends AbsActivity { }; private void initCamera() { - cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider"); + cameraUtil = new ProcessImageUtil(this, getPackageName()+".fileprovider"); cameraUtil.setImageResultCallback(new ImageResultCallback() { @Override public void beforeCamera() { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java index ed193f0bd..ae2630add 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/user/EditProfileActivity.java @@ -138,7 +138,7 @@ public class EditProfileActivity extends AbsActivity { } private void initCamera() { - cameraUtil = new ProcessImageUtil(this, "${packageName}.fileprovider"); + cameraUtil = new ProcessImageUtil(this, getPackageName()+".fileprovider"); cameraUtil.setImageResultCallback(new ImageResultCallback() { @Override public void beforeCamera() { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java index d8c6d29d9..50bbd7d52 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java @@ -148,7 +148,6 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter top = new ArrayList<>(); List data2 = new ArrayList<>(); for (BaseUiConversation datum : data) { - System.out.println("接收到的Tid="+datum.mCore.getTargetId()); + System.out.println("接收到的Tid=" + datum.mCore.getTargetId()); try { int parseInt = Integer.parseInt(datum.mCore.getTargetId()); if (parseInt < 100) { @@ -68,10 +68,10 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter { continue; } if (datum.mCore.getConversationType() == Conversation.ConversationType.PRIVATE || datum.mCore.getConversationType() == Conversation.ConversationType.SYSTEM) { - if(datum.mCore.getLatestMessage() instanceof MessageChatGiftContent){ - datum.mConversationContent=new SpannableString(WordUtil.getNewString(R.string.gift)); - }else if(datum.mCore.getLatestMessage() instanceof MessageChatAuthContent){ - datum.mConversationContent=new SpannableString(WordUtil.getNewString(R.string.authentication)); + if (datum.mCore.getLatestMessage() instanceof MessageChatGiftContent) { + datum.mConversationContent = new SpannableString(WordUtil.getNewString(R.string.gift)); + } else if (datum.mCore.getLatestMessage() instanceof MessageChatAuthContent) { + datum.mConversationContent = new SpannableString(WordUtil.getNewString(R.string.authentication)); } if (datum.mCore.isTop()) { top.add(datum); @@ -103,6 +103,10 @@ public class MsgMessageRecyclerViewAdapter extends ConversationListAdapter { return map.get(position); } + public BaseUiConversation getItem(int position) { + return mDataList.get(position); + } + private class ListComparator implements Comparator { @Override diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java index ec851748a..9d4271233 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java @@ -249,6 +249,7 @@ public class CallClientManager { Handler handler = new Handler(Looper.getMainLooper()); private String targetId; + private String sessionId; private boolean isCallVideo = false; long warningTime; long activeTime; @@ -259,6 +260,10 @@ public class CallClientManager { @Override public boolean cancel() { + if(sessionId.equals(targetId)){ + System.err.println("接听方不计费 结束"); + return super.cancel(); + } long time = getTime(activeTime); time = time % 10; if (time == 0) { @@ -282,6 +287,7 @@ public class CallClientManager { } isCallVideo = callSession.getMediaType() == RongCallCommon.CallMediaType.VIDEO; activeTime = callSession.getActiveTime(); + sessionId=callSession.getCallerUserId(); long time = getTime(activeTime); checkTime(time); String extra; @@ -313,6 +319,13 @@ public class CallClientManager { if (StringUtil.isEmpty(targetId)) { return; } + if(sessionId.equals(targetId)){ + System.err.println("接听方不计费"); + return; + } + if(time==0){ + return; + } time = time % 10; if (time == 0) { time = 10; diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java index ac8ecdd31..a3cdd07f7 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java @@ -253,7 +253,14 @@ public class OTONetManager { @Override public void accept(ResponseModel model) throws Exception { if (callback != null) { - callback.onSuccess(new HttpCallbackModel(model.getData().getCode(), model.getData().getMsg())); + if (model.isError()) { + // {"ret":200,"data":{"code":0,"msg":"操作成功","info":[]},"msg":""} + JSONObject json = model.getSrcJSONOBject(); + callback.onSuccess(new HttpCallbackModel(json.getJSONObject("data").getInteger("code"), + json.getJSONObject("data").getString("msg"))); + } else { + callback.onSuccess(new HttpCallbackModel(model.getData().getCode(), model.getData().getMsg())); + } } } }, new Consumer() { @@ -457,7 +464,7 @@ public class OTONetManager { }).isDisposed(); } - public void getTargetUserInfo(int toUid, HttpCallback callback) { + public void getTargetUserInfo(long toUid, HttpCallback callback) { API.get().otoApi(mContext) .getTargetUserInfo(toUid) @@ -1401,11 +1408,11 @@ public class OTONetManager { .observeOn(AndroidSchedulers.mainThread()) .subscribe(listResponseModel -> { if (listResponseModel.getData().getCode() == 0) { - if(callback!=null) { + if (callback != null) { callback.onSuccess(new HttpCallbackModel(listResponseModel.getData().getCode(), listResponseModel.getData().getMsg())); } } else { - if(callback!=null) { + if (callback != null) { callback.onError(listResponseModel.getData().getMsg()); } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java index d58bc511d..b78ccc76c 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java @@ -121,7 +121,7 @@ public interface OneToOneApi { Observable>> getLists(); @GET("/api/public/?service=Friendappinfos.getOtherInfo") - Observable> getTargetUserInfo(@Query("tuid") int id); + Observable> getTargetUserInfo(@Query("tuid") long id); @GET("/api/public/?service=Friendappinfos.getOtherList") Observable>> getTargetUserInfoList(@Query("ids") String ids); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java index 2c3e81f10..387c7762e 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java @@ -123,6 +123,7 @@ public class MsgInputPanelForAudio extends AbsInputPanel { public void onSuccess(String token, SendConsumeBean bean) { super.onSuccess(token,bean); MsgInputPanelForAudio.this.token = token; + ToastUtil.showDebug(token); isAudio = true; onDown(v, mLastTouchY); } diff --git a/OneToOne/src/main/res/drawable/rc_ext_toggle_voice_btn.xml b/OneToOne/src/main/res/drawable/rc_ext_toggle_voice_btn.xml new file mode 100644 index 000000000..fca1127cf --- /dev/null +++ b/OneToOne/src/main/res/drawable/rc_ext_toggle_voice_btn.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/layout/activity_screen.xml b/OneToOne/src/main/res/layout/activity_screen.xml index 1cc88e456..898054cff 100644 --- a/OneToOne/src/main/res/layout/activity_screen.xml +++ b/OneToOne/src/main/res/layout/activity_screen.xml @@ -178,7 +178,7 @@ android:checked="true" android:gravity="center" android:tag="all" - android:text="@string/layout_screen_tip1" + android:text="@string/layout_screen_tip2" android:textColor="@drawable/bg_home_search_text" android:textSize="14sp" /> diff --git a/OneToOne/src/main/res/layout/dialog_tips1.xml b/OneToOne/src/main/res/layout/dialog_tips1.xml index 4fd5a15f3..6afd8d396 100644 --- a/OneToOne/src/main/res/layout/dialog_tips1.xml +++ b/OneToOne/src/main/res/layout/dialog_tips1.xml @@ -2,10 +2,10 @@ + android:visibility="visible" + tools:text="與TA語音聊天每分鐘續消耗999星幣您可通過充值獲取更多星幣以便繼續聊天" /> 收下獎勵 發送任意禮物后即可解鎖 余额不足,请充值后再进行尝试吧~ + 通话结束 + 对方未完成真人认证,暂时无法向对方发起通话 \ No newline at end of file diff --git a/OneToOne/src/main/res/values-zh-rTW/strings.xml b/OneToOne/src/main/res/values-zh-rTW/strings.xml index 4428e4731..3212b6ee9 100644 --- a/OneToOne/src/main/res/values-zh-rTW/strings.xml +++ b/OneToOne/src/main/res/values-zh-rTW/strings.xml @@ -266,4 +266,6 @@ 收下獎勵 發送任意禮物后即可解鎖 余额不足,请充值后再进行尝试吧~ + 通话结束 + 对方未完成真人认证,暂时无法向对方发起通话 \ No newline at end of file diff --git a/OneToOne/src/main/res/values/strings.xml b/OneToOne/src/main/res/values/strings.xml index 93c9833d0..da03bc4a4 100644 --- a/OneToOne/src/main/res/values/strings.xml +++ b/OneToOne/src/main/res/values/strings.xml @@ -114,10 +114,6 @@ 身份證背面 發起審核 - 帶*為必填項,為保障您的利益,請如實填寫 - 性別 - - 带*为必填项,為保障您的利益,請如實填寫 性别 @@ -273,5 +269,5 @@ 發送任意禮物后即可解鎖 余额不足,请充值后再进行尝试吧~ 通话结束 - 餘額不足,請充值后再進行嘗試吧~ + 对方未完成真人认证,暂时无法向对方发起通话 \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 6ca7163e3..3977dbb07 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,6 +22,6 @@ android.enableJetifier=true systemProp.http.proxyHost=127.0.0.1 systemProp.https.proxyHost=127.0.0.1 -systemProp.https.proxyPort=49957 -systemProp.http.proxyPort=49957 +systemProp.https.proxyPort=10809 +systemProp.http.proxyPort=10809 #android.enableR8.fullMode=true \ No newline at end of file diff --git a/live/src/main/res/layout/rc_extension_input_panel.xml b/live/src/main/res/layout/rc_extension_input_panel.xml index b80d6456e..09ba586a9 100644 --- a/live/src/main/res/layout/rc_extension_input_panel.xml +++ b/live/src/main/res/layout/rc_extension_input_panel.xml @@ -13,7 +13,7 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginBottom="6.5dp" - android:src="@drawable/rc_ext_toggle_voice1" + android:src="@drawable/rc_ext_toggle_voice" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />