From c2755cda8a3ac6fb814a32f88b67a027317e6fb8 Mon Sep 17 00:00:00 2001 From: zlzw <583819556@qq.com> Date: Tue, 31 Oct 2023 18:30:19 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneToOne/src/main/AndroidManifest.xml | 56 ++-- .../src/main/assets/Reward_instructions.html | 35 +++ .../java/com/shayu/onetoone/AppContext.java | 72 +++++- .../activity/DiamondExchangeActivity.java | 4 +- .../shayu/onetoone/activity/MainActivity.java | 8 +- .../onetoone/activity/MyArnActivity.java | 10 +- .../onetoone/activity/WebViewActivity.java | 2 +- .../activity/fragments/FriendsFragment.java | 7 +- .../activity/fragments/MyFragment.java | 7 + .../message/ChatMessageFragment.java | 240 +++++++++--------- .../activity/message/CallVideoActivity.java | 2 +- .../activity/setting/SettingActivity.java | 2 +- .../onetoone/adapter/HomeRankListAdapter.java | 9 +- ...ageInteractionConversationListAdapter.java | 2 +- .../adapter/MsgGreetConfigAdapter.java | 8 +- .../com/shayu/onetoone/bean/UserBean.java | 4 +- .../shayu/onetoone/dialog/MsgMoreDialog.java | 8 + .../onetoone/manager/CallClientManager.java | 51 ++-- .../onetoone/manager/SendMessageManager.java | 6 +- .../OTOCallEndMessageItemProvider.java | 11 +- .../shayu/onetoone/utils/MsgCheckUtils.java | 52 ++++ .../com/shayu/onetoone/utils/UserManager.java | 19 ++ .../onetoone/view/MsgInputPanelForAudio.java | 27 +- .../res/drawable/button_my_arn_exchange3.xml | 5 + .../drawable/button_my_arn_exchange_btn.xml | 5 + .../src/main/res/layout/activity_entry.xml | 4 +- .../main/res/layout/activity_my_arnings.xml | 11 +- .../src/main/res/layout/activity_setting.xml | 1 + OneToOne/src/main/res/layout/fragment_my.xml | 2 +- OneToOne/src/main/res/layout/item_gift.xml | 2 +- .../src/main/res/layout/item_home_rank.xml | 4 +- .../main/res/layout/item_interaction_msg.xml | 1 + .../res/layout/view_message_input_gift.xml | 2 +- .../src/main/res/mipmap-xxhdpi/bg_login.png | Bin 203244 -> 2731690 bytes .../src/main/res/values-zh-rHK/strings.xml | 5 +- .../src/main/res/values-zh-rTW/strings.xml | 5 +- OneToOne/src/main/res/values/strings.xml | 25 +- .../yunbao/common/utils/ProcessImageUtil.java | 9 + .../com/yunbao/common/utils/VersionUtil.java | 10 + 39 files changed, 502 insertions(+), 231 deletions(-) create mode 100644 OneToOne/src/main/assets/Reward_instructions.html create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java create mode 100644 OneToOne/src/main/res/drawable/button_my_arn_exchange3.xml create mode 100644 OneToOne/src/main/res/drawable/button_my_arn_exchange_btn.xml diff --git a/OneToOne/src/main/AndroidManifest.xml b/OneToOne/src/main/AndroidManifest.xml index d82f66e89..5ed1cefbc 100644 --- a/OneToOne/src/main/AndroidManifest.xml +++ b/OneToOne/src/main/AndroidManifest.xml @@ -96,18 +96,16 @@ tools:replace="theme,label,icon,allowBackup"> - + android:screenOrientation="portrait" /> + android:exported="false" + android:screenOrientation="portrait" /> + android:exported="true" + android:screenOrientation="portrait"> @@ -116,127 +114,149 @@ + android:exported="true" + android:screenOrientation="portrait" /> + android:exported="false" + android:screenOrientation="portrait" /> + android:exported="false" + android:screenOrientation="portrait" /> - - + + + 本地HTML页面 + + +

獎勵說明

+

在您使用平台服務取得和提取收益(包括:互動收益、通話收益)前,您應閱讀並遵守本說明及將來公示的新增的單項說明或規則、操作時的提示以及規則。 我們在此特別提醒您認真閱讀並充分理解本說明,特別是免除或限制我們責任、限制您的權利、規定爭議解決方式的相關條款。 除非您接受本說明,否則您無權使用相關功能。 您一經使用獎勵獲取、收益兌換和提現等相關功能,即視為您已理解並接受本說明。 我們保留根據相關法律規定、主管機關要求、業務開展情況等,對獎勵的領取、兌換、提現規則進行變更、調整、中止或終止的權利,同時也會將變更、調整予以公示並自公示之日起生效。

+

1、如何獲得獎勵?

+ +

A.付費消息:

+

用戶在以下情況將有機會獲得付費方付費訊息星幣價值的固定比例作為獎勵:

+

(1)系統匹配的會話,不同等級時,低等級用戶為付費方;同等級時,男用戶為付費方(目前等級由低到高分別為:未認證用戶,真人認證用戶,達人認證用戶 )。 系統匹配的會話包括:系統匹配的搭訕/訊息(如紅娘牽線)等;

+

(2)除系統匹配的會話及平台另有規定外,首發訊息的一方為雙方會話關係中的付費方。 首發訊息包含:一鍵搭訕/搭訕/私訊,以及視訊和語音通話;

+

(3)若一方在會話關係中已經被認定為付費方,則系統配對到同一會話關係時,該方仍為付費方; 當用戶收到其他用戶的付費訊息時,達人認證用戶會獲得該部分付費訊息星幣價值的33%作為獎勵(具體獎勵以平台顯示為準);真人認證用戶可以獲得的獎勵為22%; 未認證用戶僅可獲得11%。 我們鼓勵您進行真人認證交友。

+

B.禮物:

+ +

1、當用戶收到收益禮物時,達人認證用戶將會獲得該禮物星幣價值的34%作為獎勵;真人認證用戶可以獲得的獎勵為22%;未認證用戶僅可獲得11%。 用戶背包中尚未送出的禮物不能用於提取收益。

+

2、獎勵如何領取? 領取獎勵前,需先進行真人認證,通過認證後,綁定收款方式方可提領。

+

3.最小提現金額? 10美元起提。

+

4.什麼情況下會領取失敗? 用戶的帳號存在異常; 收款方式異常; 平台技術故障; 用戶被其他用戶舉報、受到平台調查或監管部門有特定要求等存在未解決爭議事項;

+

5.領取失敗後,該筆獎勵會到哪裡? 領取失敗會導致該筆獎勵退回,如有疑問,請聯絡客服。

+

6、其他費用 用戶對其收益應依法納稅,其平台收益相關的報稅、稅費及相關責任義務等由用戶與其合作方(公會、靈活用工平台等)約定,與平台方無關。

+

7、其他聲明 用戶瞭解並同意,獎勵規則具體以平台顯示為準。若因平台系統突發故障、第三方軟體服務商故障、駭客攻擊等導致平台顯示及功能故障,平台將在發現後儘快修復,平台無須因此承擔賠償責任。

+

8.無效獎勵 若經平台核查認定您全部或部分獎勵無效時,平台為履行法定義務、配合相關執法部門或履行社會責任等原因,有權自行決策將與上述無效獎勵對應的用戶側消費款項予以退還;您同意支援平台的相應決策,並配合平台要求退還您的相關獎勵或等價金額。 此時,平台有權從您帳號的收益餘額中自行扣除相應金額,若不足以扣除時,您應在平台作出通知後指定週期內按照本公司告知的方式補足。

+

無效獎勵包括但不限於您基於以下情形而獲得的對應獎勵:

+

(1)無民事行為能力人或限制民事行為能力人的使用者打賞或進行其他消費而產生的您的獎勵收益;

+

(2)因您透過違法、違規、違反平台規則或違反公序良俗、誠實信用原則的行為而獲取的獎勵收益;

+

(3)因司法/行政機關要求退還/劃撥的收益(及司法/行政機關要求退還/劃撥用戶消費金額時該等消費金額中對應的您的獎勵收益);

+

(4)使用者使用非法收入、作弊收入或非平台指定方式儲值或消費而產生的您的獎勵收益;

+

(5)用戶依法依規撤銷其消費行為(包括但不限於支付通路退款等)時其相應消費所對應的您的獎勵收益;

+

(6)本公司有權基於平台風控判斷、用戶投訴、行政或司法機關的要求等情形確認您的部分或全部獎勵收益無效。 在您使用平台服務取得和提取收益(包括:互動收益、通話收益)前,您應閱讀並遵守本說明及將來公示的新增的單項說明或規則、操作時的提示以及規則。 我們在此特別提醒您認真閱讀並充分理解本說明,特別是免除或限制我們責任、限制您的權利、規定爭議解決方式的相關條款。 除非您接受本說明,否則您無權使用相關功能。 您一經使用獎勵獲取、收益兌換和提現等相關功能,即視為您已理解並接受本說明。 我們保留根據相關法律規定、主管機關要求、業務開展情況等,對獎勵的領取、兌換、提現規則進行變更、調整、中止或終止的權利,同時也會將變更、調整予以公示並自公示之日起生效。

+ + + diff --git a/OneToOne/src/main/java/com/shayu/onetoone/AppContext.java b/OneToOne/src/main/java/com/shayu/onetoone/AppContext.java index dc2ac6c0b..ef081e2e4 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/AppContext.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/AppContext.java @@ -1,11 +1,16 @@ package com.shayu.onetoone; +import android.app.Activity; +import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Process; import android.util.Log; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import com.alibaba.android.arouter.launcher.ARouter; import com.facebook.FacebookSdk; import com.shayu.onetoone.activity.fragments.message.ChatMessageFragment; @@ -24,6 +29,7 @@ import com.shayu.onetoone.utils.ChatPluginExtensionConfig; import com.shayu.onetoone.utils.NeverCrashUtils; import com.yunbao.common.BuildConfig; import com.yunbao.common.CommonAppContext; +import com.yunbao.common.bean.CrashSaveBean; import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.manager.imrongcloud.InstructorSendReward; import com.yunbao.common.manager.imrongcloud.InstructorSendRewardProvider; @@ -34,7 +40,9 @@ import com.yunbao.common.utils.L; import com.yunbao.common.utils.SpUtil; import com.yunbao.common.utils.ToastUtil; +import java.lang.ref.WeakReference; import java.util.ArrayList; +import java.util.List; import io.rong.callkit.CallEndMessageItemProvider; import io.rong.imkit.RongIM; @@ -53,11 +61,29 @@ import io.rong.message.CommandMessage; import io.rong.message.TextMessage; public class AppContext extends CommonAppContext { + private final static List> activities = new ArrayList<>(); + + public static void exit() { + for (WeakReference activity : activities) { + try { + if (activity.get() != null) { + activity.get().finish(); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + System.exit(0); + } + @Override public void onCreate() { super.onCreate(); L.setDeBug(true); SpUtil.getInstance(); + registerActivityLifecycleCallbacks(new AdjustLifecycleCallbacks()); + NeverCrashUtils.getInstance() .setDebugMode(BuildConfig.DEBUG) .setMainCrashHandler((t, e) -> { @@ -109,7 +135,6 @@ public class AppContext extends CommonAppContext { }); - RongcloudIMManager.addRongcloudIMOnReceiveMessageListener(new RongIMClient.OnReceiveMessageWrapperListener() { @Override public boolean onReceived(Message message, int left, boolean hasPackage, boolean offline) { @@ -126,9 +151,52 @@ public class AppContext extends CommonAppContext { IMLoginManager.get(this).setLanguage(false); - RongConfigCenter.conversationConfig().replaceMessageProvider(CallEndMessageItemProvider.class,new OTOCallEndMessageItemProvider()); + RongConfigCenter.conversationConfig().replaceMessageProvider(CallEndMessageItemProvider.class, new OTOCallEndMessageItemProvider()); RongExtensionManager.getInstance().setExtensionConfig(new ChatPluginExtensionConfig()); } + private static final class AdjustLifecycleCallbacks implements ActivityLifecycleCallbacks { + @Override + public void onActivityResumed(Activity activity) { + } + + @Override + public void onActivityPaused(Activity activity) { + } + + @Override + public void onActivityStopped(@NonNull Activity activity) { + + } + + @Override + public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) { + + } + + @Override + public void onActivityDestroyed(@NonNull Activity activity) { + for (WeakReference reference : activities) { + if (reference.get() == activity) { + activities.remove(reference); + return; + } + } + AppManager.getInstance().removeActivity(activity); + } + + @Override + public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) { + activities.add(new WeakReference<>(activity)); + CrashSaveBean.getInstance().setActivitySize(activities); + AppManager.getInstance().addActivity(activity); + } + + @Override + public void onActivityStarted(@NonNull Activity activity) { + + } + + } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java index 7aaf89663..73094317d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/DiamondExchangeActivity.java @@ -173,8 +173,8 @@ public class DiamondExchangeActivity extends AbsOTOActivity { private void initData() { - if (getIntent() != null && getIntent().getBundleExtra("bundle") != null) { - type = getIntent().getBundleExtra("bundle").getString("type"); + if (getIntent() != null && getIntent().getExtras() != null) { + type = getIntent().getExtras().getString("type"); if (TextUtils.equals(type, "yuanbao")) { title.setText(getString(R.string.my_arnings_exchange_star)); } else { 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 54f40f7e6..e209430fa 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MainActivity.java @@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONObject; import com.angcyo.tablayout.DslTabLayout; import com.angcyo.tablayout.DslTabLayoutConfig; import com.angcyo.tablayout.delegate2.ViewPager2Delegate; +import com.shayu.onetoone.AppContext; import com.lxj.xpopup.XPopup; import com.shayu.onetoone.R; import com.shayu.onetoone.activity.fragments.BaseFragment; @@ -32,6 +33,7 @@ import com.shayu.onetoone.manager.CallClientManager; import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.RouteManager; import com.shayu.onetoone.manager.SendMessageManager; +import com.shayu.onetoone.utils.UserManager; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.bean.ConfigBean; import com.yunbao.common.http.base.HttpCallback; @@ -232,9 +234,10 @@ public class MainActivity extends AbsOTOActivity { * 检测用户是否设置个人信息 */ private void checkUserInfoIsSet() { - OTONetManager.getInstance(mContext).getBaseInfos(true, new com.yunbao.common.http.base.HttpCallback() { + OTONetManager.getInstance(mContext).getBaseInfos(false, new com.yunbao.common.http.base.HttpCallback() { @Override public void onSuccess(com.shayu.onetoone.bean.UserBean data) { + UserManager.saveUserBean(data); if (data.getStatus() == 0) { RouteManager.forwardCompleteActivity(); } @@ -289,7 +292,8 @@ public class MainActivity extends AbsOTOActivity { ToastUtil.show(R.string.main_click_next_exit); return; } - super.onBackPressed(); + //super.onBackPressed(); + AppContext.exit(); } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java index 19165d452..368617d43 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/MyArnActivity.java @@ -17,6 +17,7 @@ import com.shayu.onetoone.manager.RouteManager; import com.yanzhenjie.recyclerview.SwipeRecyclerView; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.utils.WordUtil; import com.yunbao.common.views.weight.ViewClicksAntiShake; import java.util.List; @@ -87,7 +88,14 @@ public class MyArnActivity extends AbsOTOActivity { RouteManager.forwardActivity(RouteManager.ACTIVITY_DIAMOND_EXCHANGE, bundle); } }); - + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.info), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + RouteManager.forwardWebViewActivity(WordUtil.getNewString(R.string.my_arnings_reward_description), + "file:android_asset/Reward_instructions.html" + ); + } + }); } private void refreshMyArn() { 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 81c6888ee..79bdbbbc6 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/WebViewActivity.java @@ -68,7 +68,7 @@ public class WebViewActivity extends AbsOTOActivity { finish(); return; } - if (!url.contains("token")) { + if (!url.contains("token")&&url.startsWith("http")) { IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo(); url += "&uid=" + userInfo.getId() + "&token=" + userInfo.getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0"); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java index 68294ba66..42e1fa0af 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/FriendsFragment.java @@ -106,13 +106,16 @@ public class FriendsFragment extends BaseFragment { @Override public void onError(int status, String msg, SendConsumeBean bean) { super.onError(status, msg, bean); + if(status==503){ + RouteManager.forwardActivity(RouteManager.ACTIVITY_MATCHING); + return; + } int money = 100; if (configBean != null) { money = configBean.getMatePrice(); } new TipsDialog(mContext) - .setTitle(WordUtil.getNewString(R.string.not_money)) - .setContent(String.format(WordUtil.getNewString(R.string.not_money_video_tips), money)) + .setTitle(WordUtil.getNewString(R.string.gift_not_money)) .setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip)) .setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip)) .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 6ecd92b51..9fc205b82 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 @@ -320,9 +320,12 @@ public class MyFragment extends BaseFragment implements OnItemClickListener() { + @Override + public void onItemClick(MessageConsumeConfigBean bean, int position) { + 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)) + .setOnDialogClickListener(new OnDialogClickListener() { + + @Override + public void onApply(Dialog dialog) { + super.onApply(dialog); + } + }).showDialog(); + } + }); - @Override - public void onApply(Dialog dialog) { - super.onApply(dialog); - } - }).showDialog(); } else { ToastUtil.show(msg); } @@ -268,43 +273,47 @@ public class ChatMessageFragment extends AbsConversationFragment { ToastUtil.show(R.string.toast_call_not_unlock); return; } - if(CallClientManager.getManager().isCalling()){ + if (CallClientManager.getManager().isCalling()) { ToastUtil.show(R.string.now_call_tips); return; } - checkAuth(new OnSendMessageListener() { + MsgCheckUtils.checkAuth(mContext,targetId,new OnSendMessageListener() { @Override public void onSuccess(String token, SendConsumeBean bean) { super.onSuccess(token, bean); - new BottomListDialog(mContext).setSelect(new OnItemClickListener() { - @Override - public void onItemClick(String bean, int position) { - CallClientManager.getManager().checkMoney(targetId, true, new OnSendMessageListener() { + MsgCheckUtils.checkPrice(mContext,targetId,new OnItemClickListener() { + @Override + public void onItemClick(MessageConsumeConfigBean configBean, int position) { + new BottomListDialog(mContext).setSelect(new OnItemClickListener() { @Override - public void onSuccess(String token, SendConsumeBean bean) { - super.onSuccess(token, bean); - Bundle bundle = new Bundle(); - bundle.putString("model", CallClientManager.VIDEO_CALL); - bundle.putString("targetId", targetId); - bundle.putString("callId", targetId); - RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_VIDEO, bundle); - } + public void onItemClick(String bean, int position) { + CallClientManager.getManager().checkMoney(targetId, true, new OnSendMessageListener() { + @Override + public void onSuccess(String token, SendConsumeBean bean) { + super.onSuccess(token, bean); + Bundle bundle = new Bundle(); + bundle.putString("model", CallClientManager.VIDEO_CALL); + bundle.putString("targetId", targetId); + bundle.putString("callId", targetId); + RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_VIDEO, bundle); + } - @Override - public void onError(int status, String msg) { - super.onError(status, msg); - new TipsDialog(mContext) - .setTitle(WordUtil.getNewString(R.string.not_money)) - .setContent(String.format(WordUtil.getNewString(R.string.not_money_video_tips), configBean.getVideoPrice())) - .setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip)) - .setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip)) - .showDialog(); + @Override + public void onError(int status, String msg) { + super.onError(status, msg); + new TipsDialog(mContext) + .setTitle(WordUtil.getNewString(R.string.not_money)) + .setContent(String.format(WordUtil.getNewString(R.string.not_money_video_tips), configBean.getVideoPrice())) + .setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip)) + .setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip)) + .showDialog(); + } + }); } - }); - } - }).setStrings(Collections.singletonList(String.format(WordUtil.getNewString(R.string.chat_video_tips), configBean.getVideoPrice()))) - .showDialog(); - + }).setStrings(Collections.singletonList(String.format(WordUtil.getNewString(R.string.chat_video_tips), configBean.getVideoPrice()))) + .showDialog(); + } + }); } @@ -324,44 +333,50 @@ public class ChatMessageFragment extends AbsConversationFragment { ToastUtil.show(R.string.toast_call_not_unlock); return; } - if(CallClientManager.getManager().isCalling() || isFloatWindows()){ + if (CallClientManager.getManager().isCalling() || isFloatWindows()) { ToastUtil.show(R.string.now_call_tips); return; } - checkAuth(new OnSendMessageListener() { + MsgCheckUtils.checkAuth(mContext,targetId,new OnSendMessageListener() { @Override public void onSuccess(String token, SendConsumeBean bean) { super.onSuccess(token, bean); - new BottomListDialog(mContext).setSelect(new OnItemClickListener() { - @Override - public void onItemClick(String bean, int position) { - CallClientManager.getManager().checkMoney(targetId, false, new OnSendMessageListener() { + MsgCheckUtils.checkPrice(mContext,targetId,new OnItemClickListener() { + @Override + public void onItemClick(MessageConsumeConfigBean configBean, int position) { + new BottomListDialog(mContext).setSelect(new OnItemClickListener() { @Override - public void onSuccess(String token, SendConsumeBean bean) { - super.onSuccess(token, bean); - Bundle bundle = new Bundle(); - bundle.putString("model", CallClientManager.AUDIO_CALL); - bundle.putString("targetId", targetId); - bundle.putString("callId", targetId); - RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_AUDIO, bundle); - } + public void onItemClick(String bean, int position) { + CallClientManager.getManager().checkMoney(targetId, false, new OnSendMessageListener() { + @Override + public void onSuccess(String token, SendConsumeBean bean) { + super.onSuccess(token, bean); + Bundle bundle = new Bundle(); + bundle.putString("model", CallClientManager.AUDIO_CALL); + bundle.putString("targetId", targetId); + bundle.putString("callId", targetId); + RouteManager.forwardActivity(RouteManager.ACTIVITY_CALL_AUDIO, bundle); + } - @Override - public void onError(int status, String msg) { - super.onError(status, msg); - new TipsDialog(mContext) - .setTitle(WordUtil.getNewString(R.string.not_money)) - .setContent(String.format(WordUtil.getNewString(R.string.not_money_audio_tips), configBean.getMp3Price())) - .setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip)) - .setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip)) - .showDialog(); - } - }); + @Override + public void onError(int status, String msg) { + super.onError(status, msg); + new TipsDialog(mContext) + .setTitle(WordUtil.getNewString(R.string.not_money)) + .setContent(String.format(WordUtil.getNewString(R.string.not_money_audio_tips), configBean.getMp3Price())) + .setCancelText(WordUtil.getNewString(R.string.dialog_cancel_tip)) + .setApplyText(WordUtil.getNewString(R.string.dialog_to_money_tip)) + .showDialog(); + } + }); + + } + }).setStrings(Collections.singletonList(String.format(WordUtil.getNewString(R.string.chat_audio_tips), configBean.getMp3Price()))) + .showDialog(); + } + }); - } - }).setStrings(Collections.singletonList(String.format(WordUtil.getNewString(R.string.chat_audio_tips), configBean.getMp3Price()))) - .showDialog(); } @Override @@ -407,17 +422,23 @@ public class ChatMessageFragment extends AbsConversationFragment { @Override public void onError(int status, String msg) { super.onError(status, msg); - new TipsDialog(mContext) - .setTitle(WordUtil.getNewString(R.string.not_money)) - .setContent(String.format(WordUtil.getNewString(R.string.not_money_tips), msg)) - .setApplyText(WordUtil.getNewString(R.string.dialog_apply)) - .setOnDialogClickListener(new OnDialogClickListener() { + MsgCheckUtils.checkPrice(mContext, targetId, new OnItemClickListener() { + @Override + public void onItemClick(MessageConsumeConfigBean bean, int position) { + 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)) + .setOnDialogClickListener(new OnDialogClickListener() { + + @Override + public void onApply(Dialog dialog) { + super.onApply(dialog); + } + }).showDialog(); + } + }); - @Override - public void onApply(Dialog dialog) { - super.onApply(dialog); - } - }).showDialog(); } }); } @@ -433,27 +454,7 @@ public class ChatMessageFragment extends AbsConversationFragment { return EasyFloat.isShow("call"); } - private void checkAuth(OnSendMessageListener listener) { - OTONetManager.getInstance(mContext) - .getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback() { - @Override - 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() { MessageChatAuthContent content = MessageChatAuthContent.obtain(""); @@ -632,7 +633,7 @@ public class ChatMessageFragment extends AbsConversationFragment { video.setImageResource(R.mipmap.ic_msg_video_lock); call.setTag("true"); } - AppManager.runDebugCode(()->{ + AppManager.runDebugCode(() -> { call.setTag(null); call.setImageResource(R.mipmap.ic_msg_call); video.setImageResource(R.mipmap.ic_msg_video); @@ -771,43 +772,28 @@ public class ChatMessageFragment extends AbsConversationFragment { } } - private void initPriceBean() { - OTONetManager.getInstance(mContext) - .getMessageConsumeConfig(targetId, new HttpCallback() { + private void showRedPoint() { + RongIMClient.getInstance().getUnreadCount(new Conversation.ConversationType[]{Conversation.ConversationType.PRIVATE} + , false + , new RongIMClient.ResultCallback() { @Override - public void onSuccess(MessageConsumeConfigBean data) { - configBean = data; + public void onSuccess(Integer integer) { + Integer tmp = integer + MsgMessageFragment.systemPoint; + if (tmp <= 0) { + numLayout.setVisibility(View.INVISIBLE); + return; + } + numLayout.setVisibility(View.VISIBLE); + num.setText(tmp + ""); } @Override - public void onError(String error) { + public void onError(RongIMClient.ErrorCode e) { } }); } - private void showRedPoint() { - RongIMClient.getInstance().getUnreadCount(new Conversation.ConversationType[]{Conversation.ConversationType.PRIVATE} - ,false - ,new RongIMClient.ResultCallback() { - @Override - public void onSuccess(Integer integer) { - Integer tmp = integer + MsgMessageFragment.systemPoint; - if (tmp <= 0) { - numLayout.setVisibility(View.INVISIBLE); - return; - } - numLayout.setVisibility(View.VISIBLE); - num.setText(tmp + ""); - } - - @Override - public void onError(RongIMClient.ErrorCode e) { - - } - }); - } - @Subscribe public void moneyEvent(MoneyUpdateEvent event) { if (giftPanel != null) { 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 e2d6dcb9a..408c2222c 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 @@ -558,7 +558,7 @@ public class CallVideoActivity extends AbsOTOActivity { // @Override public void onCallEnd() { - if (!sessionId.equals(targetId)){ + if (sessionId!=null&&!sessionId.equals(targetId)){ Bundle bundle = new Bundle(); bundle.putString("model", CallClientManager.VIDEO_CALL); bundle.putString("targetId", targetId); 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 45b7e17a7..8fbaeb520 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 @@ -114,7 +114,7 @@ public class SettingActivity extends AbsActivity { @SuppressLint("SetTextI18n") private void intiData() { - versionCode.setText(VersionUtil.getVersion()); + versionCode.setText(VersionUtil.getVersion()+"("+VersionUtil.getVersionCode()+")"); cacheSize.setText(GlideCatchUtil.getInstance().getCacheSize()); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRankListAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRankListAdapter.java index b783c239d..f791741f3 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRankListAdapter.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/HomeRankListAdapter.java @@ -87,12 +87,7 @@ public class HomeRankListAdapter extends RecyclerView.Adapter 5) { - user_name.setText(bean.getUserNicename().substring(0, 4) + "..."); - } else { - user_name.setText(bean.getUserNicename()); - } + user_name.setText(bean.getUserNicename()); level.setText("Lv." + bean.getLevel()); money.setText(bean.getMoney()); @@ -102,7 +97,7 @@ public class HomeRankListAdapter extends RecyclerView.Adapter mList) { + if(mList.isEmpty()){ + GreetBean bean=new GreetBean(); + mList.add(bean); + } this.mList = mList; notifyDataSetChanged(); } @@ -83,6 +87,7 @@ public class MsgGreetConfigAdapter extends RecyclerView.Adapter 0) { + if (!hasFocus && editText.getText().toString().length() > 0 && mList.size() > position) { mList.get(position).setContent(editText.getText().toString()); editText.setEnabled(false); } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java index 85d533939..fdb25d861 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserBean.java @@ -69,12 +69,12 @@ public class UserBean extends BaseModel { private int b_y; private int b_ym; private String b_ymd; - private int name_auth;//1 未提交 2 已认证 3已提交 + private int name_auth;//1 未提交 2 已认证 3已提交 4被驳回 private long name_auth_time; private String auth_front; private String auth_back; private String auth_remark; - private int sage_auth; + private int sage_auth;//1 未提交 2 已认证 3已提交 4被驳回 private long sage_auth_time; private int is_hot; private String vodie_price; 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 80f847986..d0be7120d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java @@ -7,8 +7,12 @@ import androidx.annotation.NonNull; import com.lxj.xpopup.core.AttachPopupView; import com.shayu.onetoone.R; +import com.shayu.onetoone.bean.UserBean; import com.shayu.onetoone.event.MessageMsgBusEvent; import com.shayu.onetoone.manager.RouteManager; +import com.shayu.onetoone.utils.UserManager; +import com.yunbao.common.bean.IMLoginModel; +import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.utils.Bus; /** @@ -33,6 +37,10 @@ public class MsgMoreDialog extends AttachPopupView implements View.OnClickListen read = findViewById(R.id.ll_read); config.setOnClickListener(this); read.setOnClickListener(this); + UserBean bean = UserManager.getUserBean(); + if (bean.getInfo().getSage_auth()!=2) { + config.setVisibility(GONE); + } } @Override diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java index 27acc20ac..7211a6e1d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/CallClientManager.java @@ -50,7 +50,7 @@ public class CallClientManager { public static final String AUDIO_FLOAT = "audioFloatWindow";//浮窗 private static CallClientManager manager; private SurfaceView localVideo, remoteVideo; - private Map listeners; + private Map listeners; private CallTimeTask timeTask = null; public static CallClientManager getManager() { @@ -84,8 +84,8 @@ public class CallClientManager { RongCallClient.setReceivedCallListener(new CallMeListener()); } - public void addOnVoIPCallListener(Class zlass,OnCallStatusListener statusListener) { - listeners.put(zlass,statusListener); + public void addOnVoIPCallListener(Class zlass, OnCallStatusListener statusListener) { + listeners.put(zlass, statusListener); RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() { @Override public void onCallWait(SurfaceView localVideo) { @@ -96,7 +96,7 @@ public class CallClientManager { @Override public void onCallStart(String userId, SurfaceView remoteVideo) { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallStart(userId, remoteVideo); } startTimer(null); @@ -104,7 +104,7 @@ public class CallClientManager { @Override public void onCallEnd() { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallEnd(); } endTimer(); @@ -112,7 +112,7 @@ public class CallClientManager { @Override public void onStartFirstFrame() { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onStartFirstFrame(); } } @@ -150,14 +150,14 @@ public class CallClientManager { RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() { @Override public void onCallWait(SurfaceView localVideo) { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallWait(localVideo); } } @Override public void onCallStart(String userId, SurfaceView remoteVideo) { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallStart(userId, remoteVideo); } startTimer(targetId); @@ -165,7 +165,7 @@ public class CallClientManager { @Override public void onCallEnd() { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallEnd(); } endTimer(); @@ -173,7 +173,7 @@ public class CallClientManager { @Override public void onStartFirstFrame() { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onStartFirstFrame(); } } @@ -187,14 +187,14 @@ public class CallClientManager { RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() { @Override public void onCallWait(SurfaceView localVideo) { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallWait(localVideo); } } @Override public void onCallStart(String userId, SurfaceView remoteVideo) { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallStart(userId, remoteVideo); } startTimer(targetId); @@ -202,7 +202,7 @@ public class CallClientManager { @Override public void onCallEnd() { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onCallEnd(); } endTimer(); @@ -210,7 +210,7 @@ public class CallClientManager { @Override public void onStartFirstFrame() { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onStartFirstFrame(); } } @@ -244,7 +244,7 @@ public class CallClientManager { public String getSessionId() { RongCallSession callSession = RongCallClient.getInstance().getCallSession(); - if(callSession==null){ + if (callSession == null) { return ""; } return callSession.getCallerUserId(); @@ -265,7 +265,8 @@ public class CallClientManager { @Override public boolean cancel() { - if (sessionId.equals(targetId)) { + long id = IMLoginManager.get(CommonAppContext.sInstance).getUserInfo().getId(); + if (sessionId.equals(targetId) || !sessionId.equals(id + "")) { System.err.println("接听方不计费 结束"); return super.cancel(); } @@ -309,7 +310,7 @@ public class CallClientManager { extra = String.format(Locale.ROOT, "%02d:%02d", (time % 3600) / 60, (time % 60)); } handler.post(() -> { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onTime(extra); if (warningTime <= 60) { listener.onTimeWarning(warningTime--); @@ -355,7 +356,7 @@ public class CallClientManager { warningTime = bean.getMp3Time(); } if (warningTime <= 60) { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onTimeWarning(warningTime); } } @@ -365,7 +366,7 @@ public class CallClientManager { public void onError(int status, String msg) { super.onError(status, msg); if (status == OnSendMessageListener.STATUS_NOT_PRICE) { - for (OnCallStatusListener listener : listeners.values()) { + for (OnCallStatusListener listener : listeners.values()) { listener.onErrorNotPrice(msg); } endCall(); @@ -553,12 +554,12 @@ public class CallClientManager { * 如果对端调用{@link RongCallClient#startCall(int, boolean, Conversation.ConversationType, String, List, List, RongCallCommon.CallMediaType, String, StartCameraCallback)} 或 * {@link RongCallClient#acceptCall(String, int, boolean, StartCameraCallback)}开始的音视频通话,则可以使用如下设置改变对端视频流的镜像显示:
*
-         *                                                                                                                                                                                                                                                                                                                                         public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) {
-         *                                                                                                                                                                                                                                                                                                                                              if (null != remoteVideo) {
-         *                                                                                                                                                                                                                                                                                                                                                  ((RongRTCVideoView) remoteVideo).setMirror( boolean);//观看对方视频流是否镜像处理
-         *                                                                                                                                                                                                                                                                                                                                              }
-         *                                                                                                                                                                                                                                                                                                                                         }
-         *                                                                                                                                                                                                                                                                                                                                         
+ * public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) { + * if (null != remoteVideo) { + * ((RongRTCVideoView) remoteVideo).setMirror( boolean);//观看对方视频流是否镜像处理 + * } + * } + * */ @Override public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) { diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java index 7655b25c2..3a0ef5b4d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/SendMessageManager.java @@ -72,6 +72,10 @@ public class SendMessageManager { } public static void pingVideoMessage(String toUid, String time, OnSendMessageListener listener) { + if ("0".equals(time)) { + listener.onError(504,"时间错误"); + return; + } SendData sendData = new SendData(toUid, 2, "not", @@ -135,7 +139,7 @@ public class SendMessageManager { @Override public void onSuccess(SendConsumeBean consumeBean) { if (consumeBean.getCode() != 0) { - if (consumeBean.getCode() == 500) { + if (consumeBean.getCode() == 503 || consumeBean.getCode()==500) { messageListener.onError(OnSendMessageListener.STATUS_NOT_PRICE, consumeBean.getMsg(), consumeBean); } else { messageListener.onError(OnSendMessageListener.STATUS_ERROR, consumeBean.getMsg(), consumeBean); 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 a817ff249..764ac220d 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/provider/OTOCallEndMessageItemProvider.java @@ -22,6 +22,7 @@ import com.shayu.onetoone.manager.OTONetManager; import com.shayu.onetoone.manager.RouteManager; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.interfaces.OnItemClickListener; +import com.yunbao.common.utils.AppManager; import com.yunbao.common.utils.ToastUtil; import java.util.Collections; @@ -133,13 +134,15 @@ public class OTOCallEndMessageItemProvider extends CallEndMessageItemProvider { private void checkAuth(String targetId, OnSendMessageListener listener) { OTONetManager.getInstance(null) .getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback() { - @Override public void onSuccess(UserBean data) { - if (data.getInfo().getName_auth() == 1) { - listener.onError(0, ""); - } else { + 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 diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java new file mode 100644 index 000000000..128c28e89 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/MsgCheckUtils.java @@ -0,0 +1,52 @@ +package com.shayu.onetoone.utils; + +import android.content.Context; +import android.util.Log; + +import com.shayu.onetoone.bean.MessageConsumeConfigBean; +import com.shayu.onetoone.bean.UserBean; +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.AppManager; + +public class MsgCheckUtils { + public static void checkPrice(Context mContext,String targetId,OnItemClickListener listener) { + OTONetManager.getInstance(mContext) + .getMessageConsumeConfig(targetId, new HttpCallback() { + @Override + public void onSuccess(MessageConsumeConfigBean data) { + listener.onItemClick(data, 0); + } + + @Override + public void onError(String error) { + + } + }); + } + public static void checkAuth(Context mContext,String targetId,OnSendMessageListener listener) { + OTONetManager.getInstance(mContext) + .getTargetUserInfo(Integer.parseInt(targetId), new HttpCallback() { + @Override + 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(), "當前正在審核中,請耐心等待"); + }else { + listener.onError(data.getInfo().getName_auth(), ""); + } + AppManager.runDebugCode(() -> { + //listener.onSuccess("", null); + }); + } + + @Override + public void onError(String error) { + Log.e("ChatAuth", "onError: " + error); + } + }); + } +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java new file mode 100644 index 000000000..265f7822f --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/UserManager.java @@ -0,0 +1,19 @@ +package com.shayu.onetoone.utils; + +import com.alibaba.fastjson.JSONObject; +import com.shayu.onetoone.bean.UserBean; +import com.yunbao.common.utils.SpUtil; + +public class UserManager { + public static UserBean userBean; + 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; + SpUtil.setStringValue("oto_user_info", JSONObject.toJSONString(bean)); + } +} 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 c0d60e400..e9fbaa4a9 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java @@ -13,11 +13,14 @@ import android.widget.Toast; import com.blankj.utilcode.util.PermissionUtils; import com.shayu.onetoone.R; +import com.shayu.onetoone.bean.MessageConsumeConfigBean; import com.shayu.onetoone.bean.SendConsumeBean; import com.shayu.onetoone.dialog.TipsDialog; import com.shayu.onetoone.listener.OnDialogClickListener; import com.shayu.onetoone.listener.OnSendMessageListener; import com.shayu.onetoone.manager.SendMessageManager; +import com.shayu.onetoone.utils.MsgCheckUtils; +import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; @@ -143,16 +146,22 @@ public class MsgInputPanelForAudio extends AbsInputPanel { AudioRecordManager.getInstance().stopRecord(); isAudio = false; mUpDirection = false; - new TipsDialog(mContext) - .setTitle(WordUtil.getNewString(R.string.not_money)) - .setContent(String.format(WordUtil.getNewString(R.string.not_money_text_tips), msg)) - .setOnDialogClickListener(new OnDialogClickListener() { + MsgCheckUtils.checkPrice(mContext, targetId, new OnItemClickListener() { + @Override + public void onItemClick(MessageConsumeConfigBean bean, int position) { + new TipsDialog(mContext) + .setTitle(WordUtil.getNewString(R.string.not_money)) + .setContent(String.format(WordUtil.getNewString(R.string.not_money_text_tips), bean.getPrice())) + .setOnDialogClickListener(new OnDialogClickListener() { + + @Override + public void onApply(Dialog dialog) { + super.onApply(dialog); + } + }).showDialog(); + } + }); - @Override - public void onApply(Dialog dialog) { - super.onApply(dialog); - } - }).showDialog(); } else { ToastUtil.show(msg); } diff --git a/OneToOne/src/main/res/drawable/button_my_arn_exchange3.xml b/OneToOne/src/main/res/drawable/button_my_arn_exchange3.xml new file mode 100644 index 000000000..8f1f4e5d9 --- /dev/null +++ b/OneToOne/src/main/res/drawable/button_my_arn_exchange3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/drawable/button_my_arn_exchange_btn.xml b/OneToOne/src/main/res/drawable/button_my_arn_exchange_btn.xml new file mode 100644 index 000000000..48ad14ee3 --- /dev/null +++ b/OneToOne/src/main/res/drawable/button_my_arn_exchange_btn.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/OneToOne/src/main/res/layout/activity_entry.xml b/OneToOne/src/main/res/layout/activity_entry.xml index ca46add50..94fda5bb5 100644 --- a/OneToOne/src/main/res/layout/activity_entry.xml +++ b/OneToOne/src/main/res/layout/activity_entry.xml @@ -277,7 +277,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:text="@string/next_step_is_consent" - android:textColor="#ffb1b1b1" + android:textColor="#FFFFFF" android:textSize="10sp" /> @@ -295,7 +295,7 @@ android:layout_height="match_parent" android:layout_marginLeft="1dp" android:text="@string/and" - android:textColor="#ffb1b1b1" + android:textColor="#FFFFFF" android:textSize="10sp" /> - +