diff --git a/OneToOne/src/main/AndroidManifest.xml b/OneToOne/src/main/AndroidManifest.xml index 5e49031b0..5de75be9a 100644 --- a/OneToOne/src/main/AndroidManifest.xml +++ b/OneToOne/src/main/AndroidManifest.xml @@ -86,7 +86,7 @@ + android:value="${otoServerHost}" /> diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java index 21fcd37c7..74f5a519f 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/EndCallActivity.java @@ -23,6 +23,7 @@ import com.yunbao.common.utils.AppManager; import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; +import com.yunbao.common.views.weight.ViewClicksAntiShake; @Route(path = RouteManager.ACTIVITY_END_CALL) public class EndCallActivity extends AbsOTOActivity { @@ -74,29 +75,34 @@ public class EndCallActivity extends AbsOTOActivity { followButton.setOnClickListener(view -> { follow(); }); + ViewClicksAntiShake.clicksAntiShake(cancelButton, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + 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); + EndCallActivity.this.finish(); + } else { + ToastUtil.show(R.string.end_resume_call_not_auth); + } - cancelButton.setOnClickListener(v -> { - 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); - } - }); - + @Override + public void onError(String error) { + Log.e(TAG, "onError: " + error); + } + }); + } }); - applyButton.setOnClickListener(v -> { - RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN)); + ViewClicksAntiShake.clicksAntiShake(applyButton, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN)); + } }); findViewById(R.id.close).setOnClickListener(v -> finish()); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java index e60acaa06..4bd7611c0 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java @@ -58,6 +58,9 @@ public class WebViewActivity extends AbsOTOActivity { if (!StringUtil.isEmpty(titleString)) { setTitle(titleString); } + if (!StringUtil.isEmpty(titleString) && titleString.equals("NoTitle")) { + findViewById(R.id.ft_title).setVisibility(View.GONE); + } initWebView(); } @@ -79,15 +82,15 @@ public class WebViewActivity extends AbsOTOActivity { settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } String url = getIntent().getStringExtra("url"); - if(StringUtil.isEmpty(url)){ + if (StringUtil.isEmpty(url)) { finish(); return; } - if (!url.contains("token")&&url.startsWith("http")) { + if (!url.contains("token") && url.startsWith("http")) { IMLoginModel userInfo = UserManager.getUserBean().getUser(); url += "&uid=" + userInfo.getId() + "&token=" + userInfo.getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0"); } - Log.i("WebView",url); + Log.i("WebView", url); webView.loadUrl(url); AndroidBug5497Workaround.assistActivity(this); @@ -133,15 +136,16 @@ public class WebViewActivity extends AbsOTOActivity { cm.setPrimaryClip(clipData); ToastUtil.show(getString(R.string.copy_success)); } + @Subscribe(threadMode = ThreadMode.MAIN) - public void event(JavascriptInterfaceEvent event){ - if(event.getMethod().equals("androidInviteShare")){ + public void event(JavascriptInterfaceEvent event) { + if (event.getMethod().equals("androidInviteShare")) { new InvitePopDialog(mContext) .setTitle("快來認識更多有趣的朋友吧!") .setUrl(event.getData()) .showDialog(); - }else if (event.getMethod().equals("androidCallChat")){ - ConversationUtils.startConversation(mContext,event.getData()); + } else if (event.getMethod().equals("androidCallChat")) { + ConversationUtils.startConversation(mContext, event.getData()); } } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java index 9e843066e..073a4a0de 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java @@ -36,6 +36,7 @@ import com.shayu.onetoone.activity.setting.SettingActivity; import com.shayu.onetoone.adapter.MainMeAdapter; import com.shayu.onetoone.bean.AuthBean; import com.shayu.onetoone.bean.PeopleNum; +import com.shayu.onetoone.bean.SlideBean; import com.shayu.onetoone.bean.UserBean; import com.shayu.onetoone.bean.UserItemBean; import com.shayu.onetoone.manager.OTONetManager; @@ -51,12 +52,12 @@ import com.yunbao.common.activity.MyWalletActivity; import com.yunbao.common.bean.GoogleBean; import com.yunbao.common.bean.IMLoginModel; import com.yunbao.common.bean.LevelBean; -import com.yunbao.common.bean.SlideModel; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.HttpCallback; import com.yunbao.common.interfaces.CommonCallback; import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.manager.APKManager; +import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.utils.SVGAViewUtils; import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.ToastUtil; @@ -299,19 +300,25 @@ public class MyFragment extends BaseFragment implements OnItemClickListener() { + MainHttpUtil.getBaseInfo(UserManager.getUserBean().getUser().getId() + "", UserManager.getUserBean().getUser().getToken(), new CommonCallback() { @Override - public void onSuccess(UserBean data) { - showData(data); - } + public void callback(com.yunbao.common.bean.UserBean oldUser) { + CommonAppConfig.getInstance().setUserBean(oldUser); + OTONetManager.getInstance(mContext).getBaseInfos(true, new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(UserBean data) { + showData(data); + } - @Override - public void onError(String error) { + @Override + public void onError(String error) { + } + }); } }); + OTONetManager.getInstance(mContext).getAuthInfo(new com.yunbao.common.http.base.HttpCallback() { @Override public void onSuccess(AuthBean data) { @@ -371,6 +378,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener mBannerListNew = new ArrayList<>(); + private List mBannerListNew = new ArrayList<>(); @SuppressLint("SetTextI18n") private void showData(UserBean u) { @@ -431,10 +439,11 @@ public class MyFragment extends BaseFragment implements OnItemClickListener mBannerList = new ArrayList<>(); + public static List mBannerList = new ArrayList<>(); private void showBanner() { if (mBannerList == null || mBannerList.size() <= 0 || banner_me == null) { @@ -593,10 +602,10 @@ public class MyFragment extends BaseFragment implements OnItemClickListener= 0 && p < mBannerList.size()) { - SlideModel bean = mBannerList.get(p); - if (!bean.getSlideUrl().equals("")) { + SlideBean bean = mBannerList.get(p); + if (!bean.getSlide_url().equals("")) { Constants.isTitle = true; - String url = bean.getSlideUrl() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); + String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); //WebViewActivity.forward(mContext, url, false, false); RouteManager.forwardWebViewActivity("", url); } @@ -610,10 +619,10 @@ public class MyFragment extends BaseFragment implements OnItemClickListener= 0 && p < mBannerList.size()) { - SlideModel bean = mBannerList.get(p); - if (!bean.getSlideUrl().equals("")) { + SlideBean bean = mBannerList.get(p); + if (!bean.getSlide_url().equals("")) { Constants.isTitle = true; - String url = bean.getSlideUrl() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); + String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); RouteManager.forwardWebViewActivity("", url); /*if(bean.getSlide_id().equals("95")){ RouteUtil.forwardCustomerService(url); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/home/HomeRankFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/home/HomeRankFragment.java index f5c3c1655..f84bfdd66 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/home/HomeRankFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/home/HomeRankFragment.java @@ -199,14 +199,14 @@ public class HomeRankFragment extends BaseFragment { 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()) { - getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.GONE); - } if (user.getUid().equals(UserManager.getUserBean().getUser().getId() + "")) { getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.GONE); } else { getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.VISIBLE); } + if (user.isFollow()) { + getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.GONE); + } if (user.getSex() == 1) { getItem(position, mSex1, mSex2, mSex3).setImageResource(R.mipmap.ic_message_tab_man); } else { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java index cd490b71e..065065833 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java @@ -136,6 +136,9 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis @Override protected void onDestroy() { super.onDestroy(); + if(!CallClientManager.getManager().isCalling()) { + EasyFloat.dismiss("call"); + } CallRingingUtil.getInstance().stopRinging(); CallClientManager.getManager().removeOnVoIPCallListener(CallAudioActivity.class); } @@ -264,6 +267,9 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis } private void showWindow(boolean toChatView, boolean toPay) { + if(!CallClientManager.getManager().isCalling()){ + return; + } if (!PermissionUtils.checkPermission(this)) { new TipsDialog(mContext) .setTitle(WordUtil.getNewString(R.string.permission_hint)) @@ -293,7 +299,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis icon.setLayoutParams(new ViewGroup.LayoutParams(DpUtil.dp2px(40), DpUtil.dp2px(40))); EasyFloat.with(this) .setLayout(icon) - .setShowPattern(ShowPattern.FOREGROUND) + .setShowPattern(ShowPattern.ALL_TIME) .setTag("call") .setDragEnable(true) .setBorder() @@ -479,6 +485,13 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis public void onStartFirstFrame() { } } + @Override + protected void onPause() { + super.onPause(); + if (!EasyFloat.isShow("call")) { + showWindow(false, false); + } + } @Override public void onClick(View v) { 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 eeafaacfb..12b89fbb9 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 @@ -158,10 +158,10 @@ public class CallVideoActivity extends AbsOTOActivity { CallClientManager.getManager().callVideo(targetId); initWaitView(); } - if(model.equals(CallClientManager.VIDEO_RECEIVED_CALL)){ - CallRingingUtil.getInstance().startRinging(this,RingingMode.Incoming); + if (model.equals(CallClientManager.VIDEO_RECEIVED_CALL)) { + CallRingingUtil.getInstance().startRinging(this, RingingMode.Incoming); close.setVisibility(View.GONE); - }else if(model.equals(CallClientManager.VIDEO_CALL)){ + } else if (model.equals(CallClientManager.VIDEO_CALL)) { CallRingingUtil.getInstance().startRinging(this, RingingMode.Outgoing); } } @@ -210,12 +210,12 @@ public class CallVideoActivity extends AbsOTOActivity { } initTargetData(); sessionId = CallClientManager.getManager().getSessionId(); - if(sessionId.equals(targetId)){ + if (sessionId.equals(targetId)) { gift.setVisibility(View.INVISIBLE); money.setVisibility(View.INVISIBLE); - model=CallClientManager.VIDEO_RECEIVED_CALL; - }else{ - model=CallClientManager.VIDEO_CALL; + model = CallClientManager.VIDEO_RECEIVED_CALL; + } else { + model = CallClientManager.VIDEO_CALL; } }, 300); @@ -364,6 +364,9 @@ public class CallVideoActivity extends AbsOTOActivity { } private void showWindow(boolean toChatView, boolean toPay) { + if(!CallClientManager.getManager().isCalling()){ + return; + } if (!PermissionUtils.checkPermission(this)) { new TipsDialog(mContext) .setTitle(WordUtil.getNewString(R.string.permission_hint)) @@ -403,7 +406,7 @@ public class CallVideoActivity extends AbsOTOActivity { floatWindows.setTag(getIntent().getExtras()); EasyFloat.with(this) .setLayout(floatWindows) - .setShowPattern(ShowPattern.FOREGROUND) + .setShowPattern(ShowPattern.ALL_TIME) .setTag("call") .setDragEnable(true) .setBorder() @@ -437,7 +440,6 @@ public class CallVideoActivity extends AbsOTOActivity { @Override public void dismiss() { - ToastUtil.showDebug("浮窗移除监听"); CallClientManager.getManager().removeOnVoIPCallListener(EasyFloat.class); } @@ -457,7 +459,7 @@ public class CallVideoActivity extends AbsOTOActivity { } }).show(); if (toPay) { - // RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN)); + // RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN)); mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 1)); } if (toChatView) { @@ -705,10 +707,21 @@ public class CallVideoActivity extends AbsOTOActivity { @Override protected void onDestroy() { super.onDestroy(); + if(!CallClientManager.getManager().isCalling()) { + EasyFloat.dismiss("call"); + } CallClientManager.getManager().removeOnVoIPCallListener(CallVideoActivity.class); CallRingingUtil.getInstance().stopRinging(); } + @Override + protected void onPause() { + super.onPause(); + if (!EasyFloat.isShow("call")) { + showWindow(false, false); + } + } + @Override public void onBackPressed() { } 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 599d84115..927aa42a3 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRecommendListAdapter.java @@ -94,7 +94,7 @@ public class HomeRecommendListAdapter extends RecyclerView.Adapter *
-         *                                                                                                                                                                                                                                                                                                                                                                               public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) {
-         *                                                                                                                                                                                                                                                                                                                                                                                    if (null != remoteVideo) {
-         *                                                                                                                                                                                                                                                                                                                                                                                        ((RongRTCVideoView) remoteVideo).setMirror( boolean);//观看对方视频流是否镜像处理
-         *                                                                                                                                                                                                                                                                                                                                                                                    }
-         *                                                                                                                                                                                                                                                                                                                                                                               }
-         *                                                                                                                                                                                                                                                                                                                                                                               
+ * public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) { + * if (null != remoteVideo) { + * ((RongRTCVideoView) remoteVideo).setMirror( boolean);//观看对方视频流是否镜像处理 + * } + * } + * */ @Override public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java index 7850f0597..b0c35722c 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java @@ -101,6 +101,35 @@ public class SendMessageManager { ); send(sendData, listener); } + public static void endVideoMessage(String toUid, String time, OnSendMessageListener listener) { + if ("0".equals(time)) { + listener.onError(504,"时间错误"); + return; + } + SendData sendData = new SendData(toUid, + 2, + "not", + "视频消息", + time, + 1, + "after", + false + ); + send(sendData, listener); + } + + public static void endAudioMessage(String toUid, String time, OnSendMessageListener listener) { + SendData sendData = new SendData(toUid, + 5, + "not", + "音频消息", + time, + 1, + "after", + false + ); + send(sendData, listener); + } public static void matching(OnSendMessageListener listener) { SendData sendData = new SendData("not", diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java index 1cf3393fd..84abbd977 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java @@ -135,7 +135,7 @@ public class UserManager { System.currentTimeMillis() + "", WordUtil.isNewZh() ? "1" : "0" ); - RouteManager.forwardWebViewActivity(null, url); + RouteManager.forwardWebViewActivity("NoTitle", url); } public static void logout() { diff --git a/OneToOne/src/main/res/layout/activity_call_audio.xml b/OneToOne/src/main/res/layout/activity_call_audio.xml index 25c6e9c85..b0c1d75df 100644 --- a/OneToOne/src/main/res/layout/activity_call_audio.xml +++ b/OneToOne/src/main/res/layout/activity_call_audio.xml @@ -66,7 +66,12 @@ diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/app_logo.png b/OneToOne/src/main/res/mipmap-xxhdpi/app_logo.png new file mode 100644 index 000000000..e453d729b Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/app_logo.png differ diff --git a/OneToOne/src/main/res/values-zh-rHK/strings.xml b/OneToOne/src/main/res/values-zh-rHK/strings.xml index 8f071b808..538edfc1b 100644 --- a/OneToOne/src/main/res/values-zh-rHK/strings.xml +++ b/OneToOne/src/main/res/values-zh-rHK/strings.xml @@ -1,6 +1,6 @@ - 1v1 + 友聊 選擇活動 【安全提示】為保障您的權益,慶提高警惕,不要輕易添加或提供第三方聯繫方式 成功 diff --git a/OneToOne/src/main/res/values-zh-rTW/strings.xml b/OneToOne/src/main/res/values-zh-rTW/strings.xml index 8f071b808..538edfc1b 100644 --- a/OneToOne/src/main/res/values-zh-rTW/strings.xml +++ b/OneToOne/src/main/res/values-zh-rTW/strings.xml @@ -1,6 +1,6 @@ - 1v1 + 友聊 選擇活動 【安全提示】為保障您的權益,慶提高警惕,不要輕易添加或提供第三方聯繫方式 成功 diff --git a/OneToOne/src/main/res/values/strings.xml b/OneToOne/src/main/res/values/strings.xml index 24c226d3f..6c3731c89 100644 --- a/OneToOne/src/main/res/values/strings.xml +++ b/OneToOne/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - 1v1 + 友聊 TagSelection_Activity [Safety Tips] success diff --git a/callkit/src/main/java/io/rong/callkit/SingleCallActivity.java b/callkit/src/main/java/io/rong/callkit/SingleCallActivity.java index f578e6382..2d7af9a4f 100644 --- a/callkit/src/main/java/io/rong/callkit/SingleCallActivity.java +++ b/callkit/src/main/java/io/rong/callkit/SingleCallActivity.java @@ -1,6 +1,7 @@ package io.rong.callkit; import android.annotation.TargetApi; +import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.media.AudioManager; @@ -23,7 +24,10 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; +import com.lzf.easyfloat.interfaces.OnPermissionResult; +import com.lzf.easyfloat.permission.PermissionUtils; import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.utils.WordUtil; import cn.rongcloud.rtc.api.RCRTCEngine; import cn.rongcloud.rtc.audioroute.RCAudioRouteType; @@ -49,6 +53,7 @@ import io.rong.imkit.userinfo.RongUserInfoManager; import io.rong.imlib.RongIMClient; import io.rong.imlib.model.Conversation; import io.rong.imlib.model.UserInfo; + import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -294,7 +299,8 @@ public class SingleCallActivity extends BaseCallActivity implements Handler.Call } @Override - public void onError(int errorCode) {} + public void onError(int errorCode) { + } }); } else if (callAction.equals(RongCallAction.ACTION_OUTGOING_CALL)) { if (intent.getAction().equals(RongVoIPIntent.RONG_INTENT_ACTION_VOIP_SINGLEAUDIO)) { @@ -401,11 +407,28 @@ public class SingleCallActivity extends BaseCallActivity implements Handler.Call protected void onPause() { super.onPause(); RLog.d(TAG, "---single activity onPause---"); + if (isCalling()) { + if (!PermissionUtils.checkPermission(this)) { + PermissionUtils.requestPermission(SingleCallActivity.this, new OnPermissionResult() { + @Override + public void permissionResult(boolean b) { + if (b) { + setShouldShowFloat(true); + } + } + }); + return; + } + } if (pickupDetector != null) { pickupDetector.unRegister(); } } + public boolean isCalling() { + return RongCallClient.getInstance() != null && RongCallClient.getInstance().getCallSession() != null && RongCallClient.getInstance().getCallSession().getSessionId() != null; + } + private void initView(RongCallCommon.CallMediaType mediaType, RongCallAction callAction) { RelativeLayout buttonLayout = (RelativeLayout) @@ -622,7 +645,9 @@ public class SingleCallActivity extends BaseCallActivity implements Handler.Call int userType; SurfaceView remoteVideo; String remoteUserId; - /** 远端首帧是否到来, 音频帧跟视频帧其中一个到来就更改该标记, 从而更新连接状态 */ + /** + * 远端首帧是否到来, 音频帧跟视频帧其中一个到来就更改该标记, 从而更新连接状态 + */ boolean isFirstRemoteFrame = false; @Override @@ -794,9 +819,9 @@ public class SingleCallActivity extends BaseCallActivity implements Handler.Call /** * 当通话中的某一个参与者切换通话类型,例如由 audio 切换至 video,回调 onMediaTypeChanged。 * - * @param userId 切换者的 userId。 + * @param userId 切换者的 userId。 * @param mediaType 切换者,切换后的媒体类型。 - * @param video 切换着,切换后的 camera 信息,如果由 video 切换至 audio,则为 null。 + * @param video 切换着,切换后的 camera 信息,如果由 video 切换至 audio,则为 null。 */ @Override public void onMediaTypeChanged( @@ -855,7 +880,9 @@ public class SingleCallActivity extends BaseCallActivity implements Handler.Call } } - /** 视频转语音 * */ + /** + * 视频转语音 * + */ private void initAudioCallView() { mLPreviewContainer.removeAllViews(); mLPreviewContainer.setVisibility(View.GONE); @@ -995,7 +1022,7 @@ public class SingleCallActivity extends BaseCallActivity implements Handler.Call mButtonContainer.removeAllViews(); mButtonContainer.addView(btnLayout); View view = findViewById(R.id.rc_voip_audio_chat); - // view.setVisibility(View.VISIBLE); + // view.setVisibility(View.VISIBLE); view.setVisibility(View.GONE); // 隐藏语音聊天按钮 view.setOnClickListener( new View.OnClickListener() { @@ -1003,7 +1030,7 @@ public class SingleCallActivity extends BaseCallActivity implements Handler.Call public void onClick(View v) { if (RongIMClient.getInstance().getCurrentConnectionStatus() == RongIMClient.ConnectionStatusListener.ConnectionStatus - .CONNECTED) { + .CONNECTED) { RongCallClient.getInstance() .changeCallMediaType(RongCallCommon.CallMediaType.AUDIO); callSession.setMediaType(RongCallCommon.CallMediaType.AUDIO); diff --git a/config.gradle b/config.gradle index 41b581ec3..72a0143c9 100644 --- a/config.gradle +++ b/config.gradle @@ -13,7 +13,14 @@ ext { //正式、 // serverHost : "https://napi.yaoulive.com", // 测试 - serverHost : " https://ceshi.yaoulive.com", + serverHost : "https://ceshi.yaoulive.com", + + //1v1社交正式服 + //otoServerHost : "https://napi.yaoulive.com", + //1v1社交测试服 + otoServerHost : "https://ceshi.yyouou.com", + +