修复测试反馈问题

This commit is contained in:
zlzw 2023-11-01 18:29:23 +08:00
parent c2755cda8a
commit db8296543e
33 changed files with 398 additions and 148 deletions

View File

@ -170,6 +170,7 @@ dependencies {
//common
api project(path: ':common')
api project(path:':FaceUnity')//
api project(path:':Share')
api project(path:':TabLayout')
api project(path:':ViewPager2Delegate')

View File

@ -129,7 +129,7 @@ public class MainActivity extends AbsOTOActivity {
}
});
CallClientManager.getManager();
checkVersion();
//checkVersion();
}
/**

View File

@ -22,16 +22,22 @@ import com.shayu.onetoone.R;
import com.shayu.onetoone.manager.RouteManager;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.AndroidBug5497Workaround;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.share.ui.InvitePopDialog;
import androidx.annotation.RequiresApi;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@Route(path = RouteManager.ACTIVITY_WEB_VIEW)
public class WebViewActivity extends AbsOTOActivity {
WebView webView;
@ -44,6 +50,7 @@ public class WebViewActivity extends AbsOTOActivity {
@Override
protected void main(Bundle savedInstanceState) {
Bus.getOn(this);
webView = findViewById(R.id.webView);
titleString = getIntent().getStringExtra("title");
if (!StringUtil.isEmpty(titleString)) {
@ -52,6 +59,12 @@ public class WebViewActivity extends AbsOTOActivity {
initWebView();
}
@Override
protected void onDestroy() {
super.onDestroy();
Bus.getOff(this);
}
private void initWebView() {
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true); // 是否开启JS支持
@ -72,6 +85,7 @@ public class WebViewActivity extends AbsOTOActivity {
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
url += "&uid=" + userInfo.getId() + "&token=" + userInfo.getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
}
Log.i("WebView",url);
webView.loadUrl(url);
AndroidBug5497Workaround.assistActivity(this);
@ -117,4 +131,13 @@ 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")){
new InvitePopDialog(mContext)
.setTitle("快來認識更多有趣的朋友吧!")
.setUrl(event.getData())
.showDialog();
}
}
}

View File

@ -40,6 +40,7 @@ import com.shayu.onetoone.bean.SlideBean;
import com.shayu.onetoone.bean.UserItemBean;
import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.shayu.onetoone.utils.MainHttpConsts;
import com.shayu.onetoone.utils.MainHttpUtil;
import com.shayu.onetoone.view.CustomMyViewHolder;
@ -198,6 +199,9 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 10);
}
});
mAdapter = new MainMeAdapter(mContext, new ArrayList<>());
mAdapter.setOnItemClickListener(this);
mRecyclerView.setAdapter(mAdapter);
redPoint.setVisibility(APKManager.get().getApkVerNew() ? View.GONE : View.VISIBLE);
ViewClicksAntiShake.clicksAntiShake(itemView.findViewById(R.id.complete_information), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
@ -334,26 +338,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
* @param list
*/
private void initMenu(List<UserItemBean> list) {
if (list != null && list.size() > 0) {
/* List<UserItemBean> listNow = new ArrayList<>();
for (UserItemBean userItemBean : list) {
if (userItemBean.getId() != 21 && userItemBean.getId() != 13) {
listNow.add(userItemBean);
} else if (userItemBean.getId() == 21) {
beanKefu = userItemBean;
} else if (userItemBean.getId() == 13) {
beanStetting = userItemBean;
}
}*/
if (mAdapter == null) {
mAdapter = new MainMeAdapter(mContext, list);
mAdapter.setOnItemClickListener(this);
mAdapter.setList(list);
mRecyclerView.setAdapter(mAdapter);
} else {
mAdapter.setList(list);
}
}
mAdapter.setList(list);
}
@ -513,6 +498,9 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
RouteManager.forwardWebViewActivity(bean.getName(), bean.getHref());
} else {
switch (bean.getId()) {
case 2:
RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext,false,HtmlUrlUtils.URL_PAY_COIN));
break;
case 13:
forwardSetting();
break;
@ -584,12 +572,15 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
// mContext.startActivity(new Intent(mContext, EditProfileActivity.class));
} else if (i == R.id.lt_star_coin) {
// mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 1));
Bundle bundle = new Bundle();
bundle.putString("type", "yuanbao");
RouteManager.forwardActivity(RouteManager.ACTIVITY_DIAMOND_EXCHANGE, bundle);
} else if (i == R.id.btn_coin) {
// mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 0));
RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext,false,HtmlUrlUtils.URL_PAY_COIN));
} else if (i == R.id.btn_gold) {
// mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 2));
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index";
// RewardActivity.forward(mContext, url);
Bundle bundle = new Bundle();
bundle.putString("type", "coin");
RouteManager.forwardActivity(RouteManager.ACTIVITY_DIAMOND_EXCHANGE, bundle);
} else if (i == R.id.rt_kefu) {
//WebViewActivity.forward(mContext, beanKefu.getHref(), false);
RouteManager.forwardWebViewActivity(beanKefu.getName(), beanKefu.getHref());
@ -706,7 +697,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
if (!bean.getSlide_url().equals("")) {
Constants.isTitle = true;
String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
RouteUtil.forwardCustomerService(url);
RouteManager.forwardWebViewActivity("", url);
/*if(bean.getSlide_id().equals("95")){
RouteUtil.forwardCustomerService(url);
}else {

View File

@ -15,12 +15,15 @@ import com.opensource.svgaplayer.SVGAImageView;
import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.fragments.BaseFragment;
import com.shayu.onetoone.adapter.HomeRankListAdapter;
import com.shayu.onetoone.bean.FollowBean;
import com.shayu.onetoone.bean.HomeRankBean;
import com.shayu.onetoone.listener.OnAppbarListener;
import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.utils.UserManager;
import com.yanzhenjie.recyclerview.SwipeRecyclerView;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.ToastUtil;
import java.util.ArrayList;
@ -189,8 +192,8 @@ 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, 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()) {
@ -215,6 +218,16 @@ public class HomeRankFragment extends BaseFragment {
break;
}
ImgLoader.display(mContext, user.getAvatar(), getItem(position, mAvatar1, mAvatar2, mAvatar3));
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setOnClickListener(v -> {
UserManager.follow(mContext, user.getUid(), new OnItemClickListener<FollowBean>() {
@Override
public void onItemClick(FollowBean bean, int status) {
if (status == 0) {
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.INVISIBLE);
}
}
});
});
}
private <T> T getItem(int position, T... views) {
@ -232,7 +245,7 @@ public class HomeRankFragment extends BaseFragment {
}
public void clear() {
setVisibility(View.INVISIBLE,-1,mItem1,mItem2,mItem3);
setVisibility(View.INVISIBLE, -1, mItem1, mItem2, mItem3);
}
}
}

View File

@ -111,6 +111,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
TextView num;
Button follow;
RongExtensionViewModel mExtensionViewModel;
UserBean targetUser;
private String token;
@ -161,7 +162,8 @@ public class ChatMessageFragment extends AbsConversationFragment {
new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.not_money))
.setContent(String.format(WordUtil.getNewString(R.string.not_money_tips), bean.getPrice()))
.setApplyText(WordUtil.getNewString(R.string.dialog_apply))
.setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip))
.setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip))
.setOnDialogClickListener(new OnDialogClickListener() {
@Override
@ -277,11 +279,12 @@ public class ChatMessageFragment extends AbsConversationFragment {
ToastUtil.show(R.string.now_call_tips);
return;
}
MsgCheckUtils.checkAuth(mContext,targetId,new OnSendMessageListener() {
MsgCheckUtils.checkAuth(mContext, targetId, new OnSendMessageListener() {
@Override
public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, bean);
MsgCheckUtils.checkPrice(mContext,targetId,new OnItemClickListener<MessageConsumeConfigBean>() {
MsgCheckUtils.checkPrice(mContext, targetId, new OnItemClickListener<MessageConsumeConfigBean>() {
@Override
public void onItemClick(MessageConsumeConfigBean configBean, int position) {
new BottomListDialog(mContext).setSelect(new OnItemClickListener<String>() {
@ -338,11 +341,11 @@ public class ChatMessageFragment extends AbsConversationFragment {
return;
}
MsgCheckUtils.checkAuth(mContext,targetId,new OnSendMessageListener() {
MsgCheckUtils.checkAuth(mContext, targetId, new OnSendMessageListener() {
@Override
public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, bean);
MsgCheckUtils.checkPrice(mContext,targetId,new OnItemClickListener<MessageConsumeConfigBean>() {
MsgCheckUtils.checkPrice(mContext, targetId, new OnItemClickListener<MessageConsumeConfigBean>() {
@Override
public void onItemClick(MessageConsumeConfigBean configBean, int position) {
new BottomListDialog(mContext).setSelect(new OnItemClickListener<String>() {
@ -428,7 +431,8 @@ public class ChatMessageFragment extends AbsConversationFragment {
new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.not_money))
.setContent(String.format(WordUtil.getNewString(R.string.not_money_tips), bean.getPrice()))
.setApplyText(WordUtil.getNewString(R.string.dialog_apply))
.setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip))
.setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip))
.setOnDialogClickListener(new OnDialogClickListener() {
@Override
@ -455,7 +459,6 @@ public class ChatMessageFragment extends AbsConversationFragment {
}
private void sendAuthRequest() {
MessageChatAuthContent content = MessageChatAuthContent.obtain("");
IMCenter.getInstance().sendMessage(Message.obtain(targetId, Conversation.ConversationType.PRIVATE, content), null, null, new IRongCallback.ISendMessageCallback() {
@ -602,6 +605,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
.getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback<UserBean>() {
@Override
public void onSuccess(UserBean data) {
targetUser = data;
ImgLoader.display(mContext, data.getUser().getAvatar(), avatar);
uname.setText(data.getUser().getUserNicename());
sign.setText(data.getUser().getSignature());

View File

@ -3,6 +3,7 @@ package com.shayu.onetoone.activity.message;
import android.Manifest;
import android.app.Dialog;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceView;
import android.view.View;
@ -36,6 +37,7 @@ import com.shayu.onetoone.manager.CallClientManager;
import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.ConversationUtils;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
@ -47,6 +49,7 @@ import com.yunbao.common.utils.WordUtil;
@Route(path = RouteManager.ACTIVITY_CALL_AUDIO)
public class CallAudioActivity extends AbsOTOActivity implements View.OnClickListener {
private static final String TAG = "语音通话";
private ImageView vague;
private ImageView close;
private ImageView avatar;
@ -219,7 +222,34 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
});
}
private void showWindow(boolean toChatView) {
@Override
protected void onResume() {
super.onResume();
if (model.equals(CallClientManager.AUDIO_FLOAT)) {
EasyFloat.getFloatView("call").setOnClickListener(null);
//((ViewGroup) EasyFloat.getFloatView("call").getParent()).removeAllViews();
EasyFloat.dismiss("call");
String sessionId = CallClientManager.getManager().getSessionId();
if(StringUtil.isEmpty(sessionId)){
model=CallClientManager.AUDIO_CALL;
gift.setVisibility(View.INVISIBLE);
money.setVisibility(View.INVISIBLE);
return;
}
if (sessionId.equals(targetId)) {
gift.setVisibility(View.INVISIBLE);
money.setVisibility(View.INVISIBLE);
model=CallClientManager.AUDIO_RECEIVED_CALL;
} else {
gift.setVisibility(View.VISIBLE);
money.setVisibility(View.VISIBLE);
model=CallClientManager.AUDIO_CALL;
}
callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
}
}
private void showWindow(boolean toChatView, boolean toPay) {
if (!PermissionUtils.checkPermission(this)) {
new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.permission_hint))
@ -233,7 +263,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override
public void permissionResult(boolean b) {
if (b) {
showWindow(toChatView);
showWindow(toChatView,toPay);
}
}
});
@ -298,6 +328,11 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
}
}).show();
if(toPay){
Log.e(TAG,"调起支付界面");
RouteManager.forwardWebViewActivity(null, "https://www.baidu.com");
// RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext,false,HtmlUrlUtils.URL_PAY_COIN));
}
if (toChatView) {
ConversationUtils.startConversation(mContext, targetId);
}
@ -356,9 +391,15 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override
public void onTimeWarning(long msg) {
super.onTimeWarning(msg);
Log.i(TAG, "通话时间:" + msg);
if (tipsView == null) {
createShow(msg);
} else {
if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return;
}
tipsDialog.updateTips(String.format(WordUtil.getNewString(R.string.call_tips), msg));
}
@ -368,7 +409,10 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
if (model.equals(CallClientManager.AUDIO_RECEIVED_CALL)||model.equals(CallClientManager.VIDEO_RECEIVED_CALL)) {
return;
}
if(msg<=0){
if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return;
}
tipsDialog = new TipsTextDialog(mContext)
@ -422,16 +466,18 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
v.setTag(true);
callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
} else {
showWindow(true);
showWindow(true,false);
}
} else if (id == R.id.call_stop) {
stop();
} else if (id == R.id.gift) {
showGift();
} else if (id == R.id.close) {
showWindow(false);
showWindow(false,false);
} else if (id == R.id.follow) {
follow();
} else if(id ==R.id.money){
showWindow(false,true);
}
}
}

View File

@ -7,6 +7,7 @@ import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.SurfaceView;
@ -42,6 +43,7 @@ import com.shayu.onetoone.manager.CallClientManager;
import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.ConversationUtils;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
@ -57,7 +59,7 @@ import io.rong.calllib.StartIncomingPreviewCallback;
@Route(path = RouteManager.ACTIVITY_CALL_VIDEO)
public class CallVideoActivity extends AbsOTOActivity {
private static final String TAG = "视频通话";
private ViewGroup myView;
private ViewGroup targetView;
@ -111,7 +113,7 @@ public class CallVideoActivity extends AbsOTOActivity {
model = bundle.getString("model");
onCallStatusListener = new CallStatusListener();
CallClientManager.getManager().addOnVoIPCallListener(CallVideoActivity.class,onCallStatusListener);
CallClientManager.getManager().addOnVoIPCallListener(CallVideoActivity.class, onCallStatusListener);
if (!model.equals(CallClientManager.VIDEO_FLOAT)) {
RongCallClient.getInstance()
@ -130,7 +132,7 @@ public class CallVideoActivity extends AbsOTOActivity {
});
}
initButton(buttonView);
if(!com.blankj.utilcode.util.PermissionUtils.isGranted(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)) {
if (!com.blankj.utilcode.util.PermissionUtils.isGranted(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)) {
com.blankj.utilcode.util.PermissionUtils.permission(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO).callback(new com.blankj.utilcode.util.PermissionUtils.SimpleCallback() {
@Override
public void onGranted() {
@ -145,7 +147,7 @@ public class CallVideoActivity extends AbsOTOActivity {
finish();
}
}).request();
return;
return;
}
if (!StringUtil.isEmpty(targetId)) {
CallClientManager.getManager().callVideo(targetId);
@ -167,7 +169,7 @@ public class CallVideoActivity extends AbsOTOActivity {
.postDelayed(() -> {
SurfaceView localVideo = CallClientManager.getManager().getLocalVideo();
SurfaceView surfaceView = CallClientManager.getManager().getRemoteVideo();
if(localVideo.getParent()!=null){
if (localVideo.getParent() != null) {
((ViewGroup) localVideo.getParent()).removeAllViews();
}
if (surfaceView != null) {
@ -349,7 +351,7 @@ public class CallVideoActivity extends AbsOTOActivity {
micSwitch.setImageResource(!enabled ? R.mipmap.ic_call_audio_select : R.mipmap.ic_call_audio);
}
private void showWindow(boolean toChatView) {
private void showWindow(boolean toChatView, boolean toPay) {
if (!PermissionUtils.checkPermission(this)) {
new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.permission_hint))
@ -363,7 +365,7 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override
public void permissionResult(boolean b) {
if (b) {
showWindow(toChatView);
showWindow(toChatView, toPay);
}
}
});
@ -409,7 +411,10 @@ public class CallVideoActivity extends AbsOTOActivity {
RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_VIDEO, bundle);
});
windowListener = new WindowCallStatusListener(view);
CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class,windowListener);
CallClientManager.getManager().addOnVoIPCallListener(EasyFloat.class, windowListener);
if (toPay) {
RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN));
}
}
@Override
@ -501,11 +506,13 @@ public class CallVideoActivity extends AbsOTOActivity {
} else if (id == R.id.mic_switch) {
switchAudio();
} else if (id == R.id.close || id == R.id.close1) {
showWindow(false);
showWindow(false, false);
} else if (id == R.id.message) {
showWindow(true);
showWindow(true, false);
} else if (id == R.id.follow) {
follow();
} else if (id == R.id.money) {
showWindow(true, false);
}
}
};
@ -537,11 +544,11 @@ public class CallVideoActivity extends AbsOTOActivity {
surfaceView.setZOrderMediaOverlay(false);
surfaceView.invalidate();
});
if(surfaceView.getParent()!=null){
((ViewGroup)surfaceView.getParent()).removeAllViews();
if (surfaceView.getParent() != null) {
((ViewGroup) surfaceView.getParent()).removeAllViews();
}
if(CallClientManager.getManager().getLocalVideo().getParent()!=null){
((ViewGroup)CallClientManager.getManager().getLocalVideo().getParent()).removeAllViews();
if (CallClientManager.getManager().getLocalVideo().getParent() != null) {
((ViewGroup) CallClientManager.getManager().getLocalVideo().getParent()).removeAllViews();
}
myView.addView(surfaceView);
targetView.removeAllViews();
@ -558,7 +565,7 @@ public class CallVideoActivity extends AbsOTOActivity {
//
@Override
public void onCallEnd() {
if (sessionId!=null&&!sessionId.equals(targetId)){
if (sessionId != null && !sessionId.equals(targetId)) {
Bundle bundle = new Bundle();
bundle.putString("model", CallClientManager.VIDEO_CALL);
bundle.putString("targetId", targetId);
@ -590,9 +597,15 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override
public void onTimeWarning(long msg) {
super.onTimeWarning(msg);
Log.i(TAG, "通话时间:" + msg);
if (tipsView == null) {
createShow(msg);
} else {
if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return;
}
tipsDialog.updateTips(String.format(WordUtil.getNewString(R.string.call_tips), msg));
}
@ -602,7 +615,9 @@ public class CallVideoActivity extends AbsOTOActivity {
if (model.equals(CallClientManager.VIDEO_RECEIVED_CALL)) {
return;
}
if(msg<=0){
if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return;
}
tipsDialog = new TipsTextDialog(mContext)
@ -643,8 +658,8 @@ public class CallVideoActivity extends AbsOTOActivity {
Object tag = rootView.getTag();
ViewGroup parent = (ViewGroup) rootView.getParent();
parent.removeView(rootView);
if(surfaceView.getParent()!=null){
((ViewGroup)surfaceView.getParent()).removeAllViews();
if (surfaceView.getParent() != null) {
((ViewGroup) surfaceView.getParent()).removeAllViews();
}
surfaceView.setLayoutParams(new ViewGroup.LayoutParams(DpUtil.dp2px(114), DpUtil.dp2px(164)));
surfaceView.setTag(tag);
@ -672,4 +687,8 @@ public class CallVideoActivity extends AbsOTOActivity {
super.onDestroy();
CallClientManager.getManager().removeOnVoIPCallListener(CallVideoActivity.class);
}
@Override
public void onBackPressed() {
}
}

View File

@ -1,5 +1,6 @@
package com.shayu.onetoone.activity.message;
import android.app.Dialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@ -23,6 +24,7 @@ import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.ImageResultCallback;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.ProcessImageUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
@ -46,7 +48,7 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity {
Button cancel, apply;
ProcessImageUtil imageUtil;
Dialog uploadImgDialog;
@Override
protected int getLayoutId() {
return R.layout.activity_msg_config;
@ -55,6 +57,7 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity {
@Override
protected void main(Bundle savedInstanceState) {
setTitle(WordUtil.getNewString(R.string.title_greet_config));
uploadImgDialog=DialogUitl.loadingDialog(mContext);
imageUtil = new ProcessImageUtil(this);
recyclerView = findViewById(R.id.msg_recyclerView);
msgSwitch = findViewById(R.id.msg_switch);
@ -105,13 +108,14 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity {
@Override
public void onSuccess(File file) {
uploadImgDialog.show();
System.out.println("file = " + file.getAbsolutePath());
System.out.println("file.exists() = " + file.exists());
OTONetManager.getInstance(mContext)
.updateFile(file, new HttpCallback<AvatarBean>() {
@Override
public void onSuccess(AvatarBean data) {
System.out.println("头像地址:" + data);
System.out.println("头像地址:" + data.getAvatar());
OTONetManager.getInstance(mContext)
.addMessageMoreGreetConfig(data.getAvatar(), "2", new HttpCallback<HttpCallbackModel>() {
@Override
@ -119,18 +123,21 @@ public class MsgMoreGreetConfigActivity extends AbsOTOActivity {
if (upload.getCode() == 0) {
ImgLoader.display(mContext, data.getAvatar(), (ImageView) findViewById(R.id.imageView5));
}
uploadImgDialog.dismiss();
}
@Override
public void onError(String error) {
uploadImgDialog.dismiss();
ToastUtil.showDebug(error);
}
});
}
@Override
public void onError(String error) {
uploadImgDialog.dismiss();
ToastUtil.showDebug(error);
}
});
}

View File

@ -10,6 +10,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.login.EntryActivity;
import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.activity.AbsActivity;
@ -109,6 +110,24 @@ public class SettingActivity extends AbsActivity {
startActivity(new Intent(SettingActivity.this, OneMsgSettActivity.class));
}
});
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.qa), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getQAUrl());
}
});
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.user_agreement), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
RouteManager.forwardWebViewActivity(null,HtmlUrlUtils.getUserAgreement());
}
});
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.server_agreement), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
RouteManager.forwardWebViewActivity(null,HtmlUrlUtils.getServerAgreement());
}
});
intiData();
}

View File

@ -58,24 +58,8 @@ public class MainMeAdapter extends RecyclerView.Adapter<MainMeAdapter.Vh> {
public void setList(List<UserItemBean> list) {
if (list == null) {
return;
}
boolean changed = false;
if (mList.size() != list.size()) {
changed = true;
} else {
for (int i = 0, size = mList.size(); i < size; i++) {
if (!mList.get(i).equals(list.get(i))) {
changed = true;
break;
}
}
}
if (changed) {
mList = list;
notifyDataSetChanged();
}
mList = list;
notifyDataSetChanged();
}
@NonNull

View File

@ -1,6 +1,8 @@
package com.shayu.onetoone.adapter;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.text.Editable;
import android.text.InputFilter;
import android.text.TextWatcher;
@ -19,6 +21,7 @@ import com.shayu.onetoone.R;
import com.shayu.onetoone.bean.GreetBean;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import java.util.ArrayList;
import java.util.List;
@ -30,15 +33,18 @@ public class MsgGreetConfigAdapter extends RecyclerView.Adapter<MsgGreetConfigAd
List<GreetBean> mList;
Context mContext;
OnItemClickListener<GreetBean> deleteListener;
Handler handler;
public static final String TAG="打招呼列表";
public MsgGreetConfigAdapter(Context mContext) {
this.mContext = mContext;
this.mList = new ArrayList<>();
handler = new Handler(Looper.getMainLooper());
}
public void setList(List<GreetBean> mList) {
if(mList.isEmpty()){
GreetBean bean=new GreetBean();
if (mList.isEmpty()) {
GreetBean bean = new GreetBean();
mList.add(bean);
}
this.mList = mList;
@ -87,8 +93,11 @@ public class MsgGreetConfigAdapter extends RecyclerView.Adapter<MsgGreetConfigAd
public void clear() {
mList.clear();
mList.add(new GreetBean());
notifyDataSetChanged();
new Handler(Looper.getMainLooper()).postDelayed(() -> {
mList.add(new GreetBean());
notifyDataSetChanged();
}, 300);
}
public class ViewHolder extends RecyclerView.ViewHolder {
@ -106,15 +115,21 @@ public class MsgGreetConfigAdapter extends RecyclerView.Adapter<MsgGreetConfigAd
}
public void setData(GreetBean bean, int position) {
editText.clearFocus();
del.setOnClickListener(v -> {
mList.get(position).setContent(editText.getText().toString());
editText.setEnabled(false);
mList.remove(position);
if (deleteListener != null) {
deleteListener.onItemClick(bean, mList.size());
}
notifyDataSetChanged();
handler.postDelayed(() -> {
editText.setEnabled(false);
mList.remove(position);
if (deleteListener != null) {
deleteListener.onItemClick(bean, mList.size());
}
notifyDataSetChanged();
}, 50);
});
Log.i(TAG, position+"|"+bean.getContent()+"||"+mList.size());
edit.setOnClickListener(v -> {
mList.get(position).setEdit(true);
editText.setEnabled(true);
@ -135,6 +150,7 @@ public class MsgGreetConfigAdapter extends RecyclerView.Adapter<MsgGreetConfigAd
if (!hasFocus && editText.getText().toString().length() > 0 && mList.size() > position) {
mList.get(position).setContent(editText.getText().toString());
editText.setEnabled(false);
Log.d(TAG, "设置文本:"+position+""+editText.getText().toString());
}
}
});

View File

@ -10,6 +10,7 @@ public class SendConsumeBean extends BaseModel {
private UserBean mateUser;
@SerializedName("vodie_time")
private long videoTime;
@SerializedName("mp3_time")
private long mp3Time;
private int code;
private String msg;

View File

@ -39,7 +39,7 @@ public class MsgMoreDialog extends AttachPopupView implements View.OnClickListen
read.setOnClickListener(this);
UserBean bean = UserManager.getUserBean();
if (bean.getInfo().getSage_auth()!=2) {
config.setVisibility(GONE);
// config.setVisibility(GONE);
}
}

View File

@ -11,8 +11,11 @@ import androidx.annotation.NonNull;
import com.lxj.xpopup.XPopup;
import com.shayu.onetoone.R;
import com.shayu.onetoone.listener.OnDialogClickListener;
import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.yunbao.common.dialog.AbsDialogCenterPopupWindow;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.WordUtil;
public class TipsDialog extends AbsDialogCenterPopupWindow {
private String title, content;
@ -107,6 +110,11 @@ public class TipsDialog extends AbsDialogCenterPopupWindow {
dismiss();
});
mApply.setOnClickListener(v -> {
if (!StringUtil.isEmpty(applyText)&&(
applyText.equals(WordUtil.getNewString(R.string.money_apply))
|| applyText.equals(WordUtil.getNewString(R.string.dialog_to_money_tip)))) {
RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext, false, HtmlUrlUtils.URL_PAY_COIN));
}
if (onDialogClickListener != null) {
onDialogClickListener.onApply(dialog);
}

View File

@ -5,6 +5,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import android.view.SurfaceView;
import com.blankj.utilcode.util.PermissionUtils;
@ -42,6 +43,7 @@ import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
public class CallClientManager {
public static final String TAG="拨打控制器";
public static final String VIDEO_RECEIVED_CALL = "receivedVideoCall";//接听
public static final String VIDEO_CALL = "callVideo";//拨打
public static final String VIDEO_FLOAT = "videoFloatWindow";//浮窗
@ -256,7 +258,7 @@ public class CallClientManager {
private String targetId;
private String sessionId;
private boolean isCallVideo = false;
long warningTime;
long warningTime=-999;
long activeTime;
public CallTimeTask(String targetId) {
@ -312,7 +314,7 @@ public class CallClientManager {
handler.post(() -> {
for (OnCallStatusListener listener : listeners.values()) {
listener.onTime(extra);
if (warningTime <= 60) {
if (warningTime!=-999 && warningTime <= 60) {
listener.onTimeWarning(warningTime--);
}
}
@ -355,7 +357,7 @@ public class CallClientManager {
} else {
warningTime = bean.getMp3Time();
}
if (warningTime <= 60) {
if (warningTime!=-999 && warningTime <= 60) {
for (OnCallStatusListener listener : listeners.values()) {
listener.onTimeWarning(warningTime);
}
@ -605,7 +607,7 @@ public class CallClientManager {
@Override
public void onError(RongCallCommon.CallErrorCode errorCode) {
System.out.println("CallStatusListener.onError");
Log.e(TAG,"CallStatusListener.onError "+errorCode);
if (statusListener != null) {
statusListener.onCallEnd();
}

View File

@ -126,5 +126,4 @@ public class RouteManager {
ARouter.getInstance().build(path).withSerializable("data", serializable).navigation();
}
}

View File

@ -20,6 +20,7 @@ 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.utils.MsgCheckUtils;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.AppManager;
@ -85,7 +86,7 @@ public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
}
checkAuth(uiMessage.getMessage().getTargetId(), new OnSendMessageListener() {
MsgCheckUtils.checkAuth(context,uiMessage.getMessage().getTargetId(), new OnSendMessageListener() {
@Override
public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, bean);
@ -131,26 +132,6 @@ public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider {
}
}
private void checkAuth(String targetId, OnSendMessageListener listener) {
OTONetManager.getInstance(null)
.getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback<UserBean>() {
public void onSuccess(UserBean data) {
if (data.getInfo().getName_auth() == 2) {
listener.onSuccess("", null);
} else if (data.getInfo().getName_auth() == 3) {
listener.onError(data.getInfo().getName_auth(), "當前正在審核中,請耐心等待");
}
AppManager.runDebugCode(() -> {
//listener.onSuccess("", null);
});
}
@Override
public void onError(String error) {
Log.e(TAG, "onError: " + error);
}
});
}
private void sendAuthRequest(String targetId) {
MessageChatAuthContent content = MessageChatAuthContent.obtain("");

View File

@ -0,0 +1,91 @@
package com.shayu.onetoone.utils;
import android.content.Context;
import android.util.Log;
import android.view.View;
import androidx.fragment.app.Fragment;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.WordUtil;
import java.util.Locale;
public class HtmlUrlUtils {
public static final int URL_PAY_COIN = 0;
public static final int URL_PAY_GOLD = 1;
public static final int URL_PAY_BEAN = 2;
/**
* 获取支付链接
*
* @param isFirst 是否为首充
* @param type 类型 URL_PAY_COIN/URL_PAY_GOLD/URL_PAY_BEAN
*/
public static String getPayUrl(Context mContext, boolean isFirst, int type) {
if (isFirst) {
Log.i("tss", "首充");
if (!CommonAppConfig.IS_GOOGLE_PLAY) {
switch (type) {
case URL_PAY_COIN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&first_page=1&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_GOLD:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_BEAN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
}
} else {
switch (type) {
case URL_PAY_COIN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_GOLD:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_BEAN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
}
}
} else {
if (!CommonAppConfig.IS_GOOGLE_PLAY) {
Log.i("tss", "不是首充");
//链接版本
switch (type) {
case URL_PAY_COIN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_GOLD:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_BEAN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
}
} else {
switch (type) {
case URL_PAY_COIN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_GOLD:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
case URL_PAY_BEAN:
return CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
}
}
}
return null;
}
public static String getQAUrl() {
return CommonAppConfig.HOST + "/h5/FAQ/index.html?t=1";
}
/**
* 用户协议
*/
public static String getUserAgreement() {
return CommonAppConfig.HOST + "/index.php?g=portal&m=page&a=index&id=59";
}
/**
* 服务协议
*/
public static String getServerAgreement() {
return CommonAppConfig.HOST + "/index.php?g=portal&m=page&a=index&id=668";
}
}

View File

@ -39,7 +39,7 @@ public class MsgCheckUtils {
listener.onError(data.getInfo().getName_auth(), "");
}
AppManager.runDebugCode(() -> {
//listener.onSuccess("", null);
listener.onSuccess("", null);
});
}

View File

@ -1,19 +1,53 @@
package com.shayu.onetoone.utils;
import android.content.Context;
import android.view.View;
import com.alibaba.fastjson.JSONObject;
import com.shayu.onetoone.R;
import com.shayu.onetoone.bean.FollowBean;
import com.shayu.onetoone.bean.UserBean;
import com.shayu.onetoone.listener.OnDialogClickListener;
import com.shayu.onetoone.listener.OnSendMessageListener;
import com.shayu.onetoone.manager.OTONetManager;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
public class UserManager {
public static UserBean userBean;
public static UserBean getUserBean(){
if(userBean==null){
userBean=JSONObject.parseObject(SpUtil.getStringValue("oto_user_info"),UserBean.class);
public static UserBean getUserBean() {
if (userBean == null) {
userBean = JSONObject.parseObject(SpUtil.getStringValue("oto_user_info"), UserBean.class);
}
return userBean;
}
public static void saveUserBean(UserBean bean){
userBean=bean;
public static void saveUserBean(UserBean bean) {
userBean = bean;
SpUtil.setStringValue("oto_user_info", JSONObject.toJSONString(bean));
}
public static void follow(Context mContext, String userId, OnItemClickListener<FollowBean> listener) {
OTONetManager.getInstance(mContext)
.follow(userId + "", new HttpCallback<FollowBean>() {
@Override
public void onSuccess(FollowBean data) {
ToastUtil.show(WordUtil.getNewString(R.string.system_tip_success));
if (listener != null) {
listener.onItemClick(data, 0);
}
}
@Override
public void onError(String error) {
if (listener != null) {
listener.onItemClick(null, -1);
}
}
});
}
}

View File

@ -152,6 +152,8 @@ public class MsgInputPanelForAudio extends AbsInputPanel {
new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.not_money))
.setContent(String.format(WordUtil.getNewString(R.string.not_money_text_tips), bean.getPrice()))
.setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip))
.setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip))
.setOnDialogClickListener(new OnDialogClickListener() {
@Override

View File

@ -104,7 +104,6 @@ public class MsgInputPanelForGift extends AbsInputPanel {
@Override
public void onApply(Dialog dialog) {
super.onApply(dialog);
ToastUtil.showDebug("沒有H5頁面");
}
})
.showDialog();

View File

@ -102,6 +102,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:visibility="gone"
android:paddingTop="10dp"
android:paddingBottom="10dp">
@ -188,6 +189,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:visibility="gone"
android:paddingTop="10dp"
android:paddingBottom="10dp">
@ -242,6 +244,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/qa"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -270,6 +273,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/server_agreement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@ -298,6 +302,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/user_agreement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"

View File

@ -43,8 +43,8 @@
<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>
<string name="chat_audio_tips">發起語音通話\n%s/分鐘</string>
<string name="chat_video_tips">發起視頻通話\n%s星幣/分鐘</string>
<string name="chat_audio_tips">發起語音通話\n%s星幣/分鐘</string>
<string name="album">相冊</string>
<string name="camera">拍照</string>
<string name="photo_info">圖片信息</string>

View File

@ -43,8 +43,8 @@
<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>
<string name="chat_audio_tips">發起語音通話\n%s/分鐘</string>
<string name="chat_video_tips">發起視頻通話\n%s星幣/分鐘</string>
<string name="chat_audio_tips">發起語音通話\n%s星幣/分鐘</string>
<string name="album">相冊</string>
<string name="camera">拍照</string>
<string name="photo_info">圖片信息</string>

View File

@ -45,8 +45,8 @@
<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>
<string name="chat_audio_tips">發起語音通話\n%s/分鐘</string>
<string name="chat_video_tips">發起視頻通話\n%s星幣/分鐘</string>
<string name="chat_audio_tips">發起語音通話\n%s星幣/分鐘</string>
<string name="album">相冊</string>
<string name="camera">拍照</string>
<string name="photo_info">圖片信息</string>

View File

@ -62,7 +62,7 @@ dependencies {
implementation rootProject.ext.dependencies["appcompat-androidx"]
implementation rootProject.ext.dependencies["recyclerview-androidx"]
//common
implementation project(path: ':common')
api project(path: ':common')
//Twitter
implementation 'com.twitter.sdk.android:twitter:3.1.1'
//facebook & Messenger

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.pdlive.shayu">
package="com.yunbao.share">
<queries>
<package android:name="com.pdlive.shayu"/>
<package android:name="com.yunbao.share"/>
<package android:name="com.facebook.orca"/>
<package
@ -26,10 +26,10 @@
android:label="@string/app_name"
android:screenOrientation="portrait" />
<provider
<!-- <provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider2011402032399020"
android:exported="true" />
android:exported="true" />-->
<receiver
android:name="com.yunbao.share.receiver.TwitterResultReceiver"
android:exported="false">

View File

@ -13,7 +13,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import androidx.recyclerview.widget.RecyclerView;
import com.pdlive.shayu.R;
import com.yunbao.share.R;
import com.yunbao.share.ICallback;
import com.yunbao.share.bean.ShareBuilder;
import com.yunbao.share.platform.FacebookShare;

View File

@ -2,14 +2,12 @@ package com.yunbao.share.ui;
import static android.content.Context.CLIPBOARD_SERVICE;
import android.app.Dialog;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Shader;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.TextView;
@ -19,14 +17,13 @@ import androidx.recyclerview.widget.RecyclerView;
import com.lxj.xpopup.XPopup;
import com.makeramen.roundedimageview.RoundedImageView;
import com.pdlive.shayu.R;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.share.bean.ShareBuilder;
import com.yunbao.share.R;
import com.yunbao.share.adapters.ShareAppAdapter;
import com.yunbao.share.bean.ShareBuilder;
import java.util.ArrayList;
import java.util.List;
@ -45,6 +42,7 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
private String anchorName;
private String anchorAvatar;
private String url;
private String titleStr;
public InvitePopDialog(@NonNull Context context) {
super(context);
@ -59,6 +57,10 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
this.anchorId = anchorId;
return this;
}
public InvitePopDialog setTitle(String title){
this.titleStr=title;
return this;
}
public InvitePopDialog setAnchorName(String anchorName) {
this.anchorName = anchorName;
@ -99,7 +101,11 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
list.setAdapter(adapter);
initData();
link.setText(url.substring(0, 40));
info.setText(R.string.dialog_invite_info);
if(StringUtil.isEmpty(titleStr)) {
info.setText(R.string.dialog_invite_info);
}else{
info.setText(titleStr);
}
avatar.setImageResource(R.mipmap.ic_launcher);
//title.setTextColor(getContext().getResources().getColorStateList(R.drawable.bg_invite_title));
title.setText(R.string.dialog_invite_title);
@ -123,7 +129,7 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
private void initData() {
data = new ArrayList<>();
data.add(builder(ShareBuilder.APP_FACEBOOK));
//data.add(builder(ShareBuilder.APP_FACEBOOK));
data.add(builder(ShareBuilder.APP_LINE));
data.add(builder(ShareBuilder.APP_TWITTER));
data.add(builder(ShareBuilder.APP_WHATSAPP));

View File

@ -13,14 +13,13 @@ import androidx.recyclerview.widget.RecyclerView;
import com.lxj.xpopup.XPopup;
import com.makeramen.roundedimageview.RoundedImageView;
import com.pdlive.shayu.R;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.share.bean.ShareBuilder;
import com.yunbao.share.R;
import com.yunbao.share.adapters.ShareAppAdapter;
import com.yunbao.share.bean.ShareBuilder;
import java.util.ArrayList;
import java.util.List;

View File

@ -6,7 +6,7 @@ ext {
targetSdkVersion : 33,
versionCode : 445,
versionName : "6.5.4",
otoversionCode : 100,
otoversionCode : 101,
otoversionName : "1.0"
]
manifestPlaceholders = [