修复测试反馈问题

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 //common
api project(path: ':common') api project(path: ':common')
api project(path:':FaceUnity')// api project(path:':FaceUnity')//
api project(path:':Share')
api project(path:':TabLayout') api project(path:':TabLayout')
api project(path:':ViewPager2Delegate') api project(path:':ViewPager2Delegate')

View File

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

View File

@ -22,16 +22,22 @@ import com.shayu.onetoone.R;
import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.manager.RouteManager;
import com.yunbao.common.Constants; import com.yunbao.common.Constants;
import com.yunbao.common.bean.IMLoginModel; import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.AndroidBug5497Workaround; import com.yunbao.common.utils.AndroidBug5497Workaround;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.JavascriptInterfaceUtils; import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L; import com.yunbao.common.utils.L;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil; import com.yunbao.common.utils.WordUtil;
import com.yunbao.share.ui.InvitePopDialog;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@Route(path = RouteManager.ACTIVITY_WEB_VIEW) @Route(path = RouteManager.ACTIVITY_WEB_VIEW)
public class WebViewActivity extends AbsOTOActivity { public class WebViewActivity extends AbsOTOActivity {
WebView webView; WebView webView;
@ -44,6 +50,7 @@ public class WebViewActivity extends AbsOTOActivity {
@Override @Override
protected void main(Bundle savedInstanceState) { protected void main(Bundle savedInstanceState) {
Bus.getOn(this);
webView = findViewById(R.id.webView); webView = findViewById(R.id.webView);
titleString = getIntent().getStringExtra("title"); titleString = getIntent().getStringExtra("title");
if (!StringUtil.isEmpty(titleString)) { if (!StringUtil.isEmpty(titleString)) {
@ -52,6 +59,12 @@ public class WebViewActivity extends AbsOTOActivity {
initWebView(); initWebView();
} }
@Override
protected void onDestroy() {
super.onDestroy();
Bus.getOff(this);
}
private void initWebView() { private void initWebView() {
WebSettings settings = webView.getSettings(); WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true); // 是否开启JS支持 settings.setJavaScriptEnabled(true); // 是否开启JS支持
@ -72,6 +85,7 @@ public class WebViewActivity extends AbsOTOActivity {
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo(); IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
url += "&uid=" + userInfo.getId() + "&token=" + userInfo.getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0"); url += "&uid=" + userInfo.getId() + "&token=" + userInfo.getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
} }
Log.i("WebView",url);
webView.loadUrl(url); webView.loadUrl(url);
AndroidBug5497Workaround.assistActivity(this); AndroidBug5497Workaround.assistActivity(this);
@ -117,4 +131,13 @@ public class WebViewActivity extends AbsOTOActivity {
cm.setPrimaryClip(clipData); cm.setPrimaryClip(clipData);
ToastUtil.show(getString(R.string.copy_success)); 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.bean.UserItemBean;
import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.shayu.onetoone.utils.MainHttpConsts; import com.shayu.onetoone.utils.MainHttpConsts;
import com.shayu.onetoone.utils.MainHttpUtil; import com.shayu.onetoone.utils.MainHttpUtil;
import com.shayu.onetoone.view.CustomMyViewHolder; 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); 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); redPoint.setVisibility(APKManager.get().getApkVerNew() ? View.GONE : View.VISIBLE);
ViewClicksAntiShake.clicksAntiShake(itemView.findViewById(R.id.complete_information), new ViewClicksAntiShake.ViewClicksCallBack() { ViewClicksAntiShake.clicksAntiShake(itemView.findViewById(R.id.complete_information), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override @Override
@ -334,26 +338,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
* @param list * @param list
*/ */
private void initMenu(List<UserItemBean> 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); mAdapter.setList(list);
mRecyclerView.setAdapter(mAdapter);
} else {
mAdapter.setList(list);
}
}
} }
@ -513,6 +498,9 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
RouteManager.forwardWebViewActivity(bean.getName(), bean.getHref()); RouteManager.forwardWebViewActivity(bean.getName(), bean.getHref());
} else { } else {
switch (bean.getId()) { switch (bean.getId()) {
case 2:
RouteManager.forwardWebViewActivity(null, HtmlUrlUtils.getPayUrl(mContext,false,HtmlUrlUtils.URL_PAY_COIN));
break;
case 13: case 13:
forwardSetting(); forwardSetting();
break; break;
@ -584,12 +572,15 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
// mContext.startActivity(new Intent(mContext, EditProfileActivity.class)); // mContext.startActivity(new Intent(mContext, EditProfileActivity.class));
} else if (i == R.id.lt_star_coin) { } else if (i == R.id.lt_star_coin) {
// mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 1)); // 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) { } 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) { } else if (i == R.id.btn_gold) {
// mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 2)); Bundle bundle = new Bundle();
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index"; bundle.putString("type", "coin");
// RewardActivity.forward(mContext, url); RouteManager.forwardActivity(RouteManager.ACTIVITY_DIAMOND_EXCHANGE, bundle);
} else if (i == R.id.rt_kefu) { } else if (i == R.id.rt_kefu) {
//WebViewActivity.forward(mContext, beanKefu.getHref(), false); //WebViewActivity.forward(mContext, beanKefu.getHref(), false);
RouteManager.forwardWebViewActivity(beanKefu.getName(), beanKefu.getHref()); RouteManager.forwardWebViewActivity(beanKefu.getName(), beanKefu.getHref());
@ -706,7 +697,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener<User
if (!bean.getSlide_url().equals("")) { if (!bean.getSlide_url().equals("")) {
Constants.isTitle = true; Constants.isTitle = true;
String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); 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")){ /*if(bean.getSlide_id().equals("95")){
RouteUtil.forwardCustomerService(url); RouteUtil.forwardCustomerService(url);
}else { }else {

View File

@ -15,12 +15,15 @@ import com.opensource.svgaplayer.SVGAImageView;
import com.shayu.onetoone.R; import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.fragments.BaseFragment; import com.shayu.onetoone.activity.fragments.BaseFragment;
import com.shayu.onetoone.adapter.HomeRankListAdapter; import com.shayu.onetoone.adapter.HomeRankListAdapter;
import com.shayu.onetoone.bean.FollowBean;
import com.shayu.onetoone.bean.HomeRankBean; import com.shayu.onetoone.bean.HomeRankBean;
import com.shayu.onetoone.listener.OnAppbarListener; import com.shayu.onetoone.listener.OnAppbarListener;
import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.utils.UserManager;
import com.yanzhenjie.recyclerview.SwipeRecyclerView; import com.yanzhenjie.recyclerview.SwipeRecyclerView;
import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ToastUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -215,6 +218,16 @@ public class HomeRankFragment extends BaseFragment {
break; break;
} }
ImgLoader.display(mContext, user.getAvatar(), getItem(position, mAvatar1, mAvatar2, mAvatar3)); 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) { private <T> T getItem(int position, T... views) {

View File

@ -111,6 +111,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
TextView num; TextView num;
Button follow; Button follow;
RongExtensionViewModel mExtensionViewModel; RongExtensionViewModel mExtensionViewModel;
UserBean targetUser;
private String token; private String token;
@ -161,7 +162,8 @@ public class ChatMessageFragment extends AbsConversationFragment {
new TipsDialog(mContext) new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.not_money)) .setTitle(WordUtil.getNewString(R.string.not_money))
.setContent(String.format(WordUtil.getNewString(R.string.not_money_tips), bean.getPrice())) .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() { .setOnDialogClickListener(new OnDialogClickListener() {
@Override @Override
@ -277,6 +279,7 @@ public class ChatMessageFragment extends AbsConversationFragment {
ToastUtil.show(R.string.now_call_tips); ToastUtil.show(R.string.now_call_tips);
return; return;
} }
MsgCheckUtils.checkAuth(mContext, targetId, new OnSendMessageListener() { MsgCheckUtils.checkAuth(mContext, targetId, new OnSendMessageListener() {
@Override @Override
public void onSuccess(String token, SendConsumeBean bean) { public void onSuccess(String token, SendConsumeBean bean) {
@ -428,7 +431,8 @@ public class ChatMessageFragment extends AbsConversationFragment {
new TipsDialog(mContext) new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.not_money)) .setTitle(WordUtil.getNewString(R.string.not_money))
.setContent(String.format(WordUtil.getNewString(R.string.not_money_tips), bean.getPrice())) .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() { .setOnDialogClickListener(new OnDialogClickListener() {
@Override @Override
@ -455,7 +459,6 @@ public class ChatMessageFragment extends AbsConversationFragment {
} }
private void sendAuthRequest() { private void sendAuthRequest() {
MessageChatAuthContent content = MessageChatAuthContent.obtain(""); MessageChatAuthContent content = MessageChatAuthContent.obtain("");
IMCenter.getInstance().sendMessage(Message.obtain(targetId, Conversation.ConversationType.PRIVATE, content), null, null, new IRongCallback.ISendMessageCallback() { 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>() { .getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback<UserBean>() {
@Override @Override
public void onSuccess(UserBean data) { public void onSuccess(UserBean data) {
targetUser = data;
ImgLoader.display(mContext, data.getUser().getAvatar(), avatar); ImgLoader.display(mContext, data.getUser().getAvatar(), avatar);
uname.setText(data.getUser().getUserNicename()); uname.setText(data.getUser().getUserNicename());
sign.setText(data.getUser().getSignature()); sign.setText(data.getUser().getSignature());

View File

@ -3,6 +3,7 @@ package com.shayu.onetoone.activity.message;
import android.Manifest; import android.Manifest;
import android.app.Dialog; import android.app.Dialog;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.SurfaceView; import android.view.SurfaceView;
import android.view.View; 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.OTONetManager;
import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.ConversationUtils; import com.shayu.onetoone.utils.ConversationUtils;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.interfaces.OnItemClickListener;
@ -47,6 +49,7 @@ import com.yunbao.common.utils.WordUtil;
@Route(path = RouteManager.ACTIVITY_CALL_AUDIO) @Route(path = RouteManager.ACTIVITY_CALL_AUDIO)
public class CallAudioActivity extends AbsOTOActivity implements View.OnClickListener { public class CallAudioActivity extends AbsOTOActivity implements View.OnClickListener {
private static final String TAG = "语音通话";
private ImageView vague; private ImageView vague;
private ImageView close; private ImageView close;
private ImageView avatar; 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)) { if (!PermissionUtils.checkPermission(this)) {
new TipsDialog(mContext) new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.permission_hint)) .setTitle(WordUtil.getNewString(R.string.permission_hint))
@ -233,7 +263,7 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override @Override
public void permissionResult(boolean b) { public void permissionResult(boolean b) {
if (b) { if (b) {
showWindow(toChatView); showWindow(toChatView,toPay);
} }
} }
}); });
@ -298,6 +328,11 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
} }
}).show(); }).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) { if (toChatView) {
ConversationUtils.startConversation(mContext, targetId); ConversationUtils.startConversation(mContext, targetId);
} }
@ -356,9 +391,15 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
@Override @Override
public void onTimeWarning(long msg) { public void onTimeWarning(long msg) {
super.onTimeWarning(msg); super.onTimeWarning(msg);
Log.i(TAG, "通话时间:" + msg);
if (tipsView == null) { if (tipsView == null) {
createShow(msg); createShow(msg);
} else { } else {
if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return;
}
tipsDialog.updateTips(String.format(WordUtil.getNewString(R.string.call_tips), msg)); 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)) { if (model.equals(CallClientManager.AUDIO_RECEIVED_CALL)||model.equals(CallClientManager.VIDEO_RECEIVED_CALL)) {
return; return;
} }
if (msg <= 0) { if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return; return;
} }
tipsDialog = new TipsTextDialog(mContext) tipsDialog = new TipsTextDialog(mContext)
@ -422,16 +466,18 @@ public class CallAudioActivity extends AbsOTOActivity implements View.OnClickLis
v.setTag(true); v.setTag(true);
callMsg.setImageResource(R.mipmap.ic_call_audio_msg); callMsg.setImageResource(R.mipmap.ic_call_audio_msg);
} else { } else {
showWindow(true); showWindow(true,false);
} }
} else if (id == R.id.call_stop) { } else if (id == R.id.call_stop) {
stop(); stop();
} else if (id == R.id.gift) { } else if (id == R.id.gift) {
showGift(); showGift();
} else if (id == R.id.close) { } else if (id == R.id.close) {
showWindow(false); showWindow(false,false);
} else if (id == R.id.follow) { } else if (id == R.id.follow) {
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.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.SurfaceView; 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.OTONetManager;
import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.ConversationUtils; import com.shayu.onetoone.utils.ConversationUtils;
import com.shayu.onetoone.utils.HtmlUrlUtils;
import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.interfaces.OnItemClickListener;
@ -57,7 +59,7 @@ import io.rong.calllib.StartIncomingPreviewCallback;
@Route(path = RouteManager.ACTIVITY_CALL_VIDEO) @Route(path = RouteManager.ACTIVITY_CALL_VIDEO)
public class CallVideoActivity extends AbsOTOActivity { public class CallVideoActivity extends AbsOTOActivity {
private static final String TAG = "视频通话";
private ViewGroup myView; private ViewGroup myView;
private ViewGroup targetView; private ViewGroup targetView;
@ -349,7 +351,7 @@ public class CallVideoActivity extends AbsOTOActivity {
micSwitch.setImageResource(!enabled ? R.mipmap.ic_call_audio_select : R.mipmap.ic_call_audio); 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)) { if (!PermissionUtils.checkPermission(this)) {
new TipsDialog(mContext) new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.permission_hint)) .setTitle(WordUtil.getNewString(R.string.permission_hint))
@ -363,7 +365,7 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override @Override
public void permissionResult(boolean b) { public void permissionResult(boolean b) {
if (b) { if (b) {
showWindow(toChatView); showWindow(toChatView, toPay);
} }
} }
}); });
@ -410,6 +412,9 @@ public class CallVideoActivity extends AbsOTOActivity {
}); });
windowListener = new WindowCallStatusListener(view); 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 @Override
@ -501,11 +506,13 @@ public class CallVideoActivity extends AbsOTOActivity {
} else if (id == R.id.mic_switch) { } else if (id == R.id.mic_switch) {
switchAudio(); switchAudio();
} else if (id == R.id.close || id == R.id.close1) { } else if (id == R.id.close || id == R.id.close1) {
showWindow(false); showWindow(false, false);
} else if (id == R.id.message) { } else if (id == R.id.message) {
showWindow(true); showWindow(true, false);
} else if (id == R.id.follow) { } else if (id == R.id.follow) {
follow(); follow();
} else if (id == R.id.money) {
showWindow(true, false);
} }
} }
}; };
@ -590,9 +597,15 @@ public class CallVideoActivity extends AbsOTOActivity {
@Override @Override
public void onTimeWarning(long msg) { public void onTimeWarning(long msg) {
super.onTimeWarning(msg); super.onTimeWarning(msg);
Log.i(TAG, "通话时间:" + msg);
if (tipsView == null) { if (tipsView == null) {
createShow(msg); createShow(msg);
} else { } else {
if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return;
}
tipsDialog.updateTips(String.format(WordUtil.getNewString(R.string.call_tips), msg)); tipsDialog.updateTips(String.format(WordUtil.getNewString(R.string.call_tips), msg));
} }
@ -603,6 +616,8 @@ public class CallVideoActivity extends AbsOTOActivity {
return; return;
} }
if (msg <= 0) { if (msg <= 0) {
Log.i(TAG, "时间不够,挂断");
CallClientManager.getManager().endCall();
return; return;
} }
tipsDialog = new TipsTextDialog(mContext) tipsDialog = new TipsTextDialog(mContext)
@ -672,4 +687,8 @@ public class CallVideoActivity extends AbsOTOActivity {
super.onDestroy(); super.onDestroy();
CallClientManager.getManager().removeOnVoIPCallListener(CallVideoActivity.class); CallClientManager.getManager().removeOnVoIPCallListener(CallVideoActivity.class);
} }
@Override
public void onBackPressed() {
}
} }

View File

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

View File

@ -58,25 +58,9 @@ public class MainMeAdapter extends RecyclerView.Adapter<MainMeAdapter.Vh> {
public void setList(List<UserItemBean> list) { 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; mList = list;
notifyDataSetChanged(); notifyDataSetChanged();
} }
}
@NonNull @NonNull
@Override @Override

View File

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

View File

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

View File

@ -39,7 +39,7 @@ public class MsgMoreDialog extends AttachPopupView implements View.OnClickListen
read.setOnClickListener(this); read.setOnClickListener(this);
UserBean bean = UserManager.getUserBean(); UserBean bean = UserManager.getUserBean();
if (bean.getInfo().getSage_auth()!=2) { 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.lxj.xpopup.XPopup;
import com.shayu.onetoone.R; import com.shayu.onetoone.R;
import com.shayu.onetoone.listener.OnDialogClickListener; 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.dialog.AbsDialogCenterPopupWindow;
import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.WordUtil;
public class TipsDialog extends AbsDialogCenterPopupWindow { public class TipsDialog extends AbsDialogCenterPopupWindow {
private String title, content; private String title, content;
@ -107,6 +110,11 @@ public class TipsDialog extends AbsDialogCenterPopupWindow {
dismiss(); dismiss();
}); });
mApply.setOnClickListener(v -> { 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) { if (onDialogClickListener != null) {
onDialogClickListener.onApply(dialog); onDialogClickListener.onApply(dialog);
} }

View File

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

View File

@ -126,5 +126,4 @@ public class RouteManager {
ARouter.getInstance().build(path).withSerializable("data", serializable).navigation(); 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.CallClientManager;
import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.MsgCheckUtils;
import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.AppManager; 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 @Override
public void onSuccess(String token, SendConsumeBean bean) { public void onSuccess(String token, SendConsumeBean bean) {
super.onSuccess(token, 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) { private void sendAuthRequest(String targetId) {
MessageChatAuthContent content = MessageChatAuthContent.obtain(""); 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(), ""); listener.onError(data.getInfo().getName_auth(), "");
} }
AppManager.runDebugCode(() -> { AppManager.runDebugCode(() -> {
//listener.onSuccess("", null); listener.onSuccess("", null);
}); });
} }

View File

@ -1,19 +1,53 @@
package com.shayu.onetoone.utils; package com.shayu.onetoone.utils;
import android.content.Context;
import android.view.View;
import com.alibaba.fastjson.JSONObject; 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.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.SpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
public class UserManager { public class UserManager {
public static UserBean userBean; public static UserBean userBean;
public static UserBean getUserBean() { public static UserBean getUserBean() {
if (userBean == null) { if (userBean == null) {
userBean = JSONObject.parseObject(SpUtil.getStringValue("oto_user_info"), UserBean.class); userBean = JSONObject.parseObject(SpUtil.getStringValue("oto_user_info"), UserBean.class);
} }
return userBean; return userBean;
} }
public static void saveUserBean(UserBean bean) { public static void saveUserBean(UserBean bean) {
userBean = bean; userBean = bean;
SpUtil.setStringValue("oto_user_info", JSONObject.toJSONString(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) new TipsDialog(mContext)
.setTitle(WordUtil.getNewString(R.string.not_money)) .setTitle(WordUtil.getNewString(R.string.not_money))
.setContent(String.format(WordUtil.getNewString(R.string.not_money_text_tips), bean.getPrice())) .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() { .setOnDialogClickListener(new OnDialogClickListener() {
@Override @Override

View File

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

View File

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

View File

@ -43,8 +43,8 @@
<string name="not_money_text_tips">聊天每條續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string> <string name="not_money_text_tips">聊天每條續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
<string name="dialog_cancel_tip">離開</string> <string name="dialog_cancel_tip">離開</string>
<string name="dialog_to_money_tip">去充值</string> <string name="dialog_to_money_tip">去充值</string>
<string name="chat_video_tips">發起視頻通話\n%s/分鐘</string> <string name="chat_video_tips">發起視頻通話\n%s星幣/分鐘</string>
<string name="chat_audio_tips">發起語音通話\n%s/分鐘</string> <string name="chat_audio_tips">發起語音通話\n%s星幣/分鐘</string>
<string name="album">相冊</string> <string name="album">相冊</string>
<string name="camera">拍照</string> <string name="camera">拍照</string>
<string name="photo_info">圖片信息</string> <string name="photo_info">圖片信息</string>

View File

@ -43,8 +43,8 @@
<string name="not_money_text_tips">聊天每條續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string> <string name="not_money_text_tips">聊天每條續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
<string name="dialog_cancel_tip">離開</string> <string name="dialog_cancel_tip">離開</string>
<string name="dialog_to_money_tip">去充值</string> <string name="dialog_to_money_tip">去充值</string>
<string name="chat_video_tips">發起視頻通話\n%s/分鐘</string> <string name="chat_video_tips">發起視頻通話\n%s星幣/分鐘</string>
<string name="chat_audio_tips">發起語音通話\n%s/分鐘</string> <string name="chat_audio_tips">發起語音通話\n%s星幣/分鐘</string>
<string name="album">相冊</string> <string name="album">相冊</string>
<string name="camera">拍照</string> <string name="camera">拍照</string>
<string name="photo_info">圖片信息</string> <string name="photo_info">圖片信息</string>

View File

@ -45,8 +45,8 @@
<string name="not_money_text_tips">聊天每條續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string> <string name="not_money_text_tips">聊天每條續消耗%s星幣您可通過充值獲取更多星幣以便繼續聊天</string>
<string name="dialog_cancel_tip">離開</string> <string name="dialog_cancel_tip">離開</string>
<string name="dialog_to_money_tip">去充值</string> <string name="dialog_to_money_tip">去充值</string>
<string name="chat_video_tips">發起視頻通話\n%s/分鐘</string> <string name="chat_video_tips">發起視頻通話\n%s星幣/分鐘</string>
<string name="chat_audio_tips">發起語音通話\n%s/分鐘</string> <string name="chat_audio_tips">發起語音通話\n%s星幣/分鐘</string>
<string name="album">相冊</string> <string name="album">相冊</string>
<string name="camera">拍照</string> <string name="camera">拍照</string>
<string name="photo_info">圖片信息</string> <string name="photo_info">圖片信息</string>

View File

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

View File

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

View File

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

View File

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

View File

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