diff --git a/OneToOne/build.gradle b/OneToOne/build.gradle index 3ee553ea2..e8fedb1ac 100644 --- a/OneToOne/build.gradle +++ b/OneToOne/build.gradle @@ -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') diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java index e209430fa..0177333cb 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java @@ -129,7 +129,7 @@ public class MainActivity extends AbsOTOActivity { } }); CallClientManager.getManager(); - checkVersion(); + //checkVersion(); } /** diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java index 79bdbbbc6..132bf8a7f 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java @@ -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(); + } + } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java index 9fc205b82..85996a94a 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java @@ -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()); + 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 list) { - if (list != null && list.size() > 0) { - /* List 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 { + UserManager.follow(mContext, user.getUid(), new OnItemClickListener() { + @Override + public void onItemClick(FollowBean bean, int status) { + if (status == 0) { + getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.INVISIBLE); + } + } + }); + }); } private 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); } } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java index 001aaf030..78f43159e 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/message/ChatMessageFragment.java @@ -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() { + MsgCheckUtils.checkPrice(mContext, targetId, new OnItemClickListener() { @Override public void onItemClick(MessageConsumeConfigBean configBean, int position) { new BottomListDialog(mContext).setSelect(new OnItemClickListener() { @@ -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() { + MsgCheckUtils.checkPrice(mContext, targetId, new OnItemClickListener() { @Override public void onItemClick(MessageConsumeConfigBean configBean, int position) { new BottomListDialog(mContext).setSelect(new OnItemClickListener() { @@ -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() { @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()); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java index 221b64c1d..eb4269a51 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallAudioActivity.java @@ -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); } } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java index 408c2222c..0f3a6a264 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/CallVideoActivity.java @@ -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() { + } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java index c1853265f..4ced2ef77 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/message/MsgMoreGreetConfigActivity.java @@ -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() { @Override public void onSuccess(AvatarBean data) { - System.out.println("头像地址:" + data); + System.out.println("头像地址:" + data.getAvatar()); OTONetManager.getInstance(mContext) .addMessageMoreGreetConfig(data.getAvatar(), "2", new HttpCallback() { @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); } }); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java index 8fbaeb520..163952439 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/SettingActivity.java @@ -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(); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java index 9e1e0af45..1a1fa87d6 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java @@ -58,24 +58,8 @@ public class MainMeAdapter extends RecyclerView.Adapter { public void setList(List 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 diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MsgGreetConfigAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MsgGreetConfigAdapter.java index f94e78d09..83b85d009 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MsgGreetConfigAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MsgGreetConfigAdapter.java @@ -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 mList; Context mContext; OnItemClickListener 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 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 { + mList.add(new GreetBean()); + notifyDataSetChanged(); + }, 300); } public class ViewHolder extends RecyclerView.ViewHolder { @@ -106,15 +115,21 @@ public class MsgGreetConfigAdapter extends RecyclerView.Adapter { - 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 0 && mList.size() > position) { mList.get(position).setContent(editText.getText().toString()); editText.setEnabled(false); + Log.d(TAG, "设置文本:"+position+" → "+editText.getText().toString()); } } }); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/SendConsumeBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/SendConsumeBean.java index c544c0aad..7f44c6050 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/bean/SendConsumeBean.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/SendConsumeBean.java @@ -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; diff --git a/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java b/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java index d0be7120d..de1dd30c2 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java @@ -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); } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/dialog/TipsDialog.java b/OneToOne/src/main/java/com/shayu/onetoone/dialog/TipsDialog.java index 606e2e642..cc63672dc 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/dialog/TipsDialog.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/dialog/TipsDialog.java @@ -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); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java index 7211a6e1d..3beb930db 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java @@ -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(); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java index 5ea91b6e3..032c91871 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java @@ -126,5 +126,4 @@ public class RouteManager { ARouter.getInstance().build(path).withSerializable("data", serializable).navigation(); } - } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java b/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java index 764ac220d..5051471de 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java @@ -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() { - 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(""); diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/HtmlUrlUtils.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/HtmlUrlUtils.java new file mode 100644 index 000000000..83b0f6384 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/HtmlUrlUtils.java @@ -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"; + } +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java index 128c28e89..bb8fe87bd 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java @@ -39,7 +39,7 @@ public class MsgCheckUtils { listener.onError(data.getInfo().getName_auth(), ""); } AppManager.runDebugCode(() -> { - //listener.onSuccess("", null); + listener.onSuccess("", null); }); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java index 265f7822f..a6bda5779 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java @@ -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 listener) { + OTONetManager.getInstance(mContext) + .follow(userId + "", new HttpCallback() { + @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); + } + } + }); + } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java index e9fbaa4a9..9984ddbc4 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java @@ -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 diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java index 5130e9f73..f47265851 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForGift.java @@ -104,7 +104,6 @@ public class MsgInputPanelForGift extends AbsInputPanel { @Override public void onApply(Dialog dialog) { super.onApply(dialog); - ToastUtil.showDebug("沒有H5頁面!"); } }) .showDialog(); diff --git a/OneToOne/src/main/res/layout/activity_setting.xml b/OneToOne/src/main/res/layout/activity_setting.xml index e9e90f36c..7bf220dff 100644 --- a/OneToOne/src/main/res/layout/activity_setting.xml +++ b/OneToOne/src/main/res/layout/activity_setting.xml @@ -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 @@ 聊天每條續消耗%s星幣,您可通過充值獲取更多星幣以便繼續聊天 離開 去充值 - 發起視頻通話\n%s鑽/分鐘 - 發起語音通話\n%s鑽/分鐘 + 發起視頻通話\n%s星幣/分鐘 + 發起語音通話\n%s星幣/分鐘 相冊 拍照 圖片信息 diff --git a/OneToOne/src/main/res/values-zh-rTW/strings.xml b/OneToOne/src/main/res/values-zh-rTW/strings.xml index fcca1a6b8..1aaf6be07 100644 --- a/OneToOne/src/main/res/values-zh-rTW/strings.xml +++ b/OneToOne/src/main/res/values-zh-rTW/strings.xml @@ -43,8 +43,8 @@ 聊天每條續消耗%s星幣,您可通過充值獲取更多星幣以便繼續聊天 離開 去充值 - 發起視頻通話\n%s鑽/分鐘 - 發起語音通話\n%s鑽/分鐘 + 發起視頻通話\n%s星幣/分鐘 + 發起語音通話\n%s星幣/分鐘 相冊 拍照 圖片信息 diff --git a/OneToOne/src/main/res/values/strings.xml b/OneToOne/src/main/res/values/strings.xml index d6f77284f..8c3e7fc01 100644 --- a/OneToOne/src/main/res/values/strings.xml +++ b/OneToOne/src/main/res/values/strings.xml @@ -45,8 +45,8 @@ 聊天每條續消耗%s星幣,您可通過充值獲取更多星幣以便繼續聊天 離開 去充值 - 發起視頻通話\n%s鑽/分鐘 - 發起語音通話\n%s鑽/分鐘 + 發起視頻通話\n%s星幣/分鐘 + 發起語音通話\n%s星幣/分鐘 相冊 拍照 圖片信息 diff --git a/Share/build.gradle b/Share/build.gradle index 039fa8b89..9efe9ca3e 100644 --- a/Share/build.gradle +++ b/Share/build.gradle @@ -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 diff --git a/Share/src/main/AndroidManifest.xml b/Share/src/main/AndroidManifest.xml index 0f2b62f39..34fa95772 100644 --- a/Share/src/main/AndroidManifest.xml +++ b/Share/src/main/AndroidManifest.xml @@ -1,10 +1,10 @@ + package="com.yunbao.share"> - + - + android:exported="true" />--> diff --git a/Share/src/main/java/com/yunbao/share/adapters/ShareAppAdapter.java b/Share/src/main/java/com/yunbao/share/adapters/ShareAppAdapter.java index 5c106481f..ca10d96d7 100644 --- a/Share/src/main/java/com/yunbao/share/adapters/ShareAppAdapter.java +++ b/Share/src/main/java/com/yunbao/share/adapters/ShareAppAdapter.java @@ -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; diff --git a/Share/src/main/java/com/yunbao/share/ui/InvitePopDialog.java b/Share/src/main/java/com/yunbao/share/ui/InvitePopDialog.java index 12930aaec..41efb787c 100644 --- a/Share/src/main/java/com/yunbao/share/ui/InvitePopDialog.java +++ b/Share/src/main/java/com/yunbao/share/ui/InvitePopDialog.java @@ -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)); diff --git a/Share/src/main/java/com/yunbao/share/ui/SharePopDialog.java b/Share/src/main/java/com/yunbao/share/ui/SharePopDialog.java index 329fe807b..36161ddd2 100644 --- a/Share/src/main/java/com/yunbao/share/ui/SharePopDialog.java +++ b/Share/src/main/java/com/yunbao/share/ui/SharePopDialog.java @@ -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; diff --git a/config.gradle b/config.gradle index 71171aecf..41b581ec3 100644 --- a/config.gradle +++ b/config.gradle @@ -6,7 +6,7 @@ ext { targetSdkVersion : 33, versionCode : 445, versionName : "6.5.4", - otoversionCode : 100, + otoversionCode : 101, otoversionName : "1.0" ] manifestPlaceholders = [