7 Commits

Author SHA1 Message Date
Martin
6a1fb1dfb8 调试 2024-08-13 09:37:23 +08:00
Martin
84a50effed 补充 2024-08-10 13:20:07 +08:00
Martin
51dac754d0 补充 2024-08-10 10:04:27 +08:00
Martin
c28cc5b3b9 新增 Adjust 埋点 2024-08-08 17:06:01 +08:00
Martin
fc78fd9d1d 优化 2024-08-08 16:44:07 +08:00
Martin
8ddaf20e4f 中英文翻译问题 2024-08-07 09:27:02 +08:00
Martin
6e08a8db35 中英文图片问题 2024-08-06 09:35:53 +08:00
100 changed files with 1021 additions and 2711 deletions

View File

@@ -4,7 +4,7 @@
>
<queries>
<package android:name="${applicationId}"/>
<package android:name="com.pandora.sy"/>
<package android:name="com.facebook.orca"/>
<package

View File

@@ -297,7 +297,8 @@ android {
defaultConfig {
applicationId "com.newpandora.yo"
// applicationId "myname.pdlive.shayu"
applicationId "com.pandora.sy"
minSdkVersion rootProject.ext.android.minSdkVersion
//版本在这里修改
targetSdkVersion rootProject.ext.android.targetSdkVersion

View File

@@ -1,73 +1,57 @@
{
"project_info": {
"project_number": "671943160079",
"project_id": "pdlnews",
"storage_bucket": "pdlnews.appspot.com"
"project_number": "867032862719",
"project_id": "pdlnew",
"storage_bucket": "pdlnew.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:671943160079:android:e3116655ea962750fb8e7a",
"mobilesdk_app_id": "1:867032862719:android:841a73fdfb6c37453ae1ca",
"android_client_info": {
"package_name": "com.newpandora.yo"
"package_name": "com.pandora.sy"
}
},
"oauth_client": [
{
"client_id": "671943160079-9olh3lsv7mo2mrjr16u0cqtlmde8r4ps.apps.googleusercontent.com",
"client_id": "867032862719-af2dnojobjd8s6ekdr1is1vev8nk36sv.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.newpandora.yo",
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
}
},
{
"client_id": "671943160079-evu2q1gur12tb34cimc9g14t9vffb9sm.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.newpandora.yo",
"package_name": "com.pandora.sy",
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
}
},
{
"client_id": "671943160079-gd4v6mr8t330ik8a00po6psdsn6p7b9k.apps.googleusercontent.com",
"client_id": "867032862719-ohaa1f18e186qpasvgt7qkk1i1pivniq.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.newpandora.yo",
"certificate_hash": "89f318e9603ae92835b6dab299a45afc59485b9e"
}
},
{
"client_id": "671943160079-gs1mv4vpdjgofj541cuqkfhija98rna0.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.newpandora.yo",
"certificate_hash": "b55235e71e9e1d2f8f7120ddc4224db85125e085"
}
},
{
"client_id": "671943160079-pdtdv5k1s4mamo7obssuo99rtghkd503.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.newpandora.yo",
"package_name": "com.pandora.sy",
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
}
},
{
"client_id": "671943160079-9259s527l99jlrfikv6hd4ljcieup34u.apps.googleusercontent.com",
"client_id": "867032862719-snpbqruvqcc9fsifjnmm1h3dcgtr8am4.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.pandora.sy",
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
}
},
{
"client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCf7-JJ44TD09I34Yt4DVzcAO7VCDCa424"
"current_key": "AIzaSyAnlY2aBEGyg7QpghHo7EaMRkM89dVNgq8"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "671943160079-9259s527l99jlrfikv6hd4ljcieup34u.apps.googleusercontent.com",
"client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com",
"client_type": 3
}
]

View File

@@ -319,3 +319,17 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.qiniu.**{*;}
-keep class com.qiniu.**{public <init>();}
-ignorewarnings
#Adjust SDK
-keep class com.adjust.sdk.** { *; }
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.** { *; }

View File

@@ -54,7 +54,6 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.NETWORK_PROVIDER" />
@@ -95,6 +94,9 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<!--appsflyer新增-->
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
<queries>
<package android:name="com.twitter.android" />
<package android:name="jp.naver.line.android" />

View File

@@ -21,6 +21,9 @@ import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustConfig;
import com.adjust.sdk.LogLevel;
import com.alibaba.android.arouter.launcher.ARouter;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -29,7 +32,6 @@ import com.facebook.appevents.AppEventsLogger;
import com.fm.openinstall.OpenInstall;
import com.google.gson.Gson;
import com.pandoralive.shayu.R;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.LogUtils;
import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
import com.yunbao.common.http.Data;
@@ -122,6 +124,8 @@ public class AppContext extends CommonAppContext {
private static final class AdjustLifecycleCallbacks implements ActivityLifecycleCallbacks {
@Override
public void onActivityResumed(@NonNull Activity activity) {
Adjust.onResume();
Log.e("打招呼定时器", "onActivityResumed: " + activity);
MessageChatNotifyManager.getInstance().restart(activity);
if (activity instanceof LiveActivity) {
@@ -173,6 +177,7 @@ public class AppContext extends CommonAppContext {
@Override
public void onActivityPaused(@NonNull Activity activity) {
Adjust.onPause();
}
@Override
@@ -444,6 +449,12 @@ public class AppContext extends CommonAppContext {
configSPApp();
//初始化美颜SDK
// FaceManager.initFaceUnity(this);
//初始化Adjust
String appToken = "d6m0zj5a3k00";
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig(this, appToken, environment);
config.setLogLevel(LogLevel.VERBOSE);
Adjust.onCreate(config);
}
/**
@@ -483,7 +494,7 @@ public class AppContext extends CommonAppContext {
NeverCrashUtils.getInstance().setDebugMode(BuildConfig.DEBUG).setMainCrashHandler((t, e) -> {
Log.e("ApplicationError", "主线程异常");//此处log只是展示当debug为true时主类内部log会打印异常信息
e.printStackTrace();
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
//闪退后finish所有Activity并且杀死进程
for (WeakReference<Activity> activity : activities) {
if (activity != null && activity.get() != null) {

View File

@@ -10,7 +10,6 @@ import android.widget.Toast;
import com.yunbao.common.bean.CrashSaveBean;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.FileUtil;
import com.yunbao.common.utils.SpUtil;
@@ -106,10 +105,10 @@ public class NeverCrashUtils {
}
e.printStackTrace();
AppContext.setFirebaseCrashData();
DebugUtils.runDebugCode(() -> Toast.makeText(application, "发生闪退:" + e.getMessage(), Toast.LENGTH_SHORT).show());
AppManager.runDebugCode(() -> Toast.makeText(application, "发生闪退:" + e.getMessage(), Toast.LENGTH_SHORT).show());
FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()), throwableToString(e), "error.log");
getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
DebugUtils.runDebugCode(() -> errorWhile = false);
AppManager.runDebugCode(() -> errorWhile = false);
// return;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -56,7 +56,7 @@ allprojects {
ext {
IS_PUBLISH_LOCAL=true
LIB_VERSION="1.0.6"
AGORA_RTC_SDK= 'io.agora.rtc:agora-special-full:4.2.6.19'
AGORA_RTC_SDK= 'io.agora.rtc:agora-special-full:4.2.6.14'
// AGORA_RTC_SDK= "${rootProject.rootDir.absolutePath}/sdk"
// AGORA_RTC_SDK="io.agora.rtc:full-sdk:4.2.6"
}

View File

@@ -86,7 +86,6 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
api files('libs/jcc-bate-0.7.3.jar')
compileOnly fileTree(dir: '../libs', include: ['*.aar'])
api 'androidx.activity:activity:1.9.1'
api rootProject.ext.dependencies["appcompat-androidx"]
api rootProject.ext.dependencies["recyclerview-androidx"]
api rootProject.ext.dependencies["cardview-androidx"]
@@ -265,4 +264,15 @@ dependencies {
//下标切换器 https://github.com/angcyo/DslTabLayout
api project(':TabLayout')
//Adjust SDK
api 'com.adjust.sdk:adjust-android:4.38.5'
api 'com.android.installreferrer:installreferrer:2.2'
// Add the following if you're using the Adjust SDK inside web views on your app
api 'com.adjust.sdk:adjust-android-webbridge:4.38.5'
api 'com.google.android.gms:play-services-appset:16.0.2'
//appsflyer SDK
api 'com.appsflyer:af-android-sdk:6.12.1'
implementation "com.android.installreferrer:installreferrer:2.2"
}

View File

@@ -28,4 +28,22 @@
-ignorewarnings
-keep class com.qiniu.**{*;}
-keep class com.qiniu.**{public <init>();}
-ignorewarnings
-ignorewarnings
#adjust.sdk
-keep class com.adjust.sdk.** { *; }
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.** { *; }
#appsflyer
-keep class com.appsflyer.** { *; }
-keep class kotlin.jvm.internal.** { *; }
-keep public class com.android.installreferrer.** { *; }

View File

@@ -25,7 +25,7 @@
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:authorities="com.pandora.sy.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data

View File

@@ -12,10 +12,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import com.blankj.utilcode.util.LogUtils;
import com.google.android.exoplayer2.C;
import com.yunbao.common.R;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
@@ -25,21 +22,16 @@ import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.ChatMsgTypeUtils;
import com.yunbao.common.utils.DateFormatUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.UiConversationCodeUtil;
import com.yunbao.common.utils.ViewUtils;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import org.spongycastle.jcajce.provider.asymmetric.rsa.ISOSignatureSpi;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import io.rong.imkit.IMCenter;
import io.rong.imkit.RongIM;
import io.rong.imkit.conversationlist.ConversationListAdapter;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
import io.rong.imkit.conversationlist.model.SingleConversation;
@@ -59,43 +51,18 @@ public class MainConversationListAdapter extends ConversationListAdapter {
public static final int TYPE_SEARCH_USER = 510;
public static final int TYPE_SEARCH_CHAT = 520;
private List<BaseUiConversation> srcList;
private List<BaseUiConversation> allDataList;
private Context mContext;
private boolean isChat = true;
private OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener;
private Map<String, Integer> timerMap = new HashMap<>();
public static final int FILTER_OFFLINE = 0;
public static final int FILTER_ONLINE = 1;
public static final int FILTER_UNREAD = 2;
public static final int FILTER_READ = 4;
public static final int FILTER_ALL = 7;
private int mFilter = FILTER_ALL;
public int getFilter() {
return mFilter;
}
public void setFilter(int mFilter) {
if (this.mFilter == mFilter)
return;
this.mFilter = mFilter;
}
public MainConversationListAdapter(Context mContext) {
this.mContext = mContext;
}
public void setSrcList(List<BaseUiConversation> srcList) {
this.srcList = srcList;
if (mFilter== FILTER_OFFLINE || mFilter == FILTER_ONLINE) {
super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList));
}else {
notifyDataSetChanged();
}
notifyDataSetChanged();
}
public void setOnRefreshListener(OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener) {
@@ -119,7 +86,7 @@ public class MainConversationListAdapter extends ConversationListAdapter {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main_msg_search_chat, parent, false);
holder = ViewHolder.createViewHolder(parent.getContext(), view);
} else if (viewType != -200) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rc_conversationlist_item2, parent, false);
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rc_conversationlist_item, parent, false);
holder = ViewHolder.createViewHolder(parent.getContext(), view);
} else {
holder = super.onCreateViewHolder(parent, viewType);
@@ -132,13 +99,11 @@ public class MainConversationListAdapter extends ConversationListAdapter {
int type = super.getItemViewType(position);
if (mDataList.size() > position) {
String objectName = mDataList.get(position).mCore.getObjectName();
Log.i("聊天数据源发现","objectName"+objectName);
if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_USER")) {
type = TYPE_SEARCH_USER;
} else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_CHAT")) {
type = TYPE_SEARCH_CHAT;
} else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_TITLE")) {
Log.i("聊天数据源发现 ","getItemViewTypeSEARCH_TITLE");
type = TYPE_SEARCH_TITLE;
}
} else if (mDataList.isEmpty() || isEmpty() || srcList.isEmpty()) {
@@ -158,76 +123,15 @@ public class MainConversationListAdapter extends ConversationListAdapter {
} else if (getItemViewType(position) == TYPE_SEARCH_CHAT) {
bindChat(holder, position);
} else if (getItemViewType(position) == TYPE_SEARCH_TITLE) {
Log.i("聊天数据源设置标题头","SEARCH_TITLE::"+position);
bindTitle(holder, position);
return;
} else if (getItemViewType(position) != -200) {
bindChatNew(holder, position);
super.onBindViewHolder(holder, position);
return;
}
if (getItemViewType(position) != -200) {
bindDefault(holder, position);
}
}
private void bindChatNew(ViewHolder holder, int position) {
BaseUiConversation conversation = mDataList.get(position);
ImgLoader.display(holder.getContext(), conversation.mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
holder.setText(R.id.rc_conversation_title, conversation.mCore.getConversationTitle());
((TextView) holder.getView(R.id.rc_conversation_content)).setText(ChatMsgTypeUtils.getMsg(conversation.mConversationContent.toString()));
if (conversation.mCore.getSentTime() != -1 && holder.getView(R.id.rc_conversation_date) != null) {
holder.setText(R.id.rc_conversation_date, DateFormatUtil.getDateTimeString(conversation.mCore.getSentTime(), true, holder.getContext()));
holder.getView(R.id.rc_conversation_date).setVisibility(View.VISIBLE);
} else if (holder.getView(R.id.rc_conversation_date) != null) {
holder.getView(R.id.rc_conversation_date).setVisibility(View.GONE);
}
holder.setVisible(R.id.rc_conversation_live_online, "0".equals(conversation.mCore.getDraft()));
int unReadCount = conversation.mCore.getUnreadMessageCount();
if (unReadCount > 0) {
holder.setVisible(R.id.rc_conversation_unread_count, true);
holder.setText(R.id.rc_conversation_unread_count, String.valueOf(unReadCount));
} else {
holder.setVisible(R.id.rc_conversation_unread_count, false);
}
Message message = conversation.mCore.getMessage();
if (message != null && message.getMessageDirection() == Message.MessageDirection.SEND) {
holder.setVisible(R.id.rc_conversation_unread_tv, true);
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.rc_secondary_color));
holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_read_tip));
} else {
holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.red));
holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_unread_tip));
}
} else {
holder.setVisible(R.id.rc_conversation_unread_tv, false);
}
if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) {
return;
}
Integer timer = timerMap.get(mDataList.get(position).mCore.getTargetId());
if (timer == null) {
holder.getView(R.id.rc_conversation_live_status).setVisibility(View.GONE);
return;
}
if (timer >= 10) {
holder.setText(R.id.rc_conversation_live_status,
String.format(WordUtil.getNewString(R.string.message_chat_msg_look_live), timer)
);
holder.getView(R.id.rc_conversation_live_status).setVisibility(View.VISIBLE);
} else {
holder.getView(R.id.rc_conversation_live_status).setVisibility(View.GONE);
}
}
private void bindDefault(ViewHolder holder, int position) {
BaseUiConversation conversation = mDataList.get(position);
Log.i("列表", "bindDefault: 用户头像:" + conversation.mCore.getPortraitUrl());
@@ -241,12 +145,12 @@ public class MainConversationListAdapter extends ConversationListAdapter {
} else if (holder.getView(R.id.rc_conversation_date) != null) {
holder.getView(R.id.rc_conversation_date).setVisibility(View.GONE);
}
if ("0".equals(conversation.mCore.getDraft())) {
holder.setImageDrawable(R.id.rc_conversation_live_online_icon, mContext.getResources().getDrawable(R.mipmap.msg_online));
holder.setText(R.id.rc_conversation_live_online, WordUtil.isNewZh() ? "在線" : "Online");
} else {
holder.setImageDrawable(R.id.rc_conversation_live_online_icon, mContext.getResources().getDrawable(R.mipmap.msg_off));
holder.setText(R.id.rc_conversation_live_online, WordUtil.isNewZh() ? "離線" : "Offline");
if("0".equals(conversation.mCore.getDraft())){
holder.setImageDrawable(R.id.rc_conversation_live_online_icon,mContext.getResources().getDrawable(R.mipmap.msg_online));
holder.setText(R.id.rc_conversation_live_online,WordUtil.isNewZh()?"在線":"Online");
}else{
holder.setImageDrawable(R.id.rc_conversation_live_online_icon,mContext.getResources().getDrawable(R.mipmap.msg_off));
holder.setText(R.id.rc_conversation_live_online,WordUtil.isNewZh()?"離線":"Offline");
}
if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) {
return;
@@ -266,9 +170,7 @@ public class MainConversationListAdapter extends ConversationListAdapter {
}
}
private void bindEmpty(ViewHolder holder, int position) {
Log.i("聊天数据源", "bindEmpty: ");
if (isChat) {
ViewUtils.findViewById(holder.itemView, R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_message_not_chat_list);
ViewUtils.findViewById(holder.itemView, R.id.textView, TextView.class).setText(R.string.not_data_message_chat_list);
@@ -280,19 +182,15 @@ public class MainConversationListAdapter extends ConversationListAdapter {
public void onFinish() {
if (onRefreshListener != null) {
Log.i("聊天数据源", "设置数据源: " + allDataList.size());
onRefreshListener.onFinish(allDataList);
Log.i("聊天数据源", "设置数据源: " + mDataList.size());
onRefreshListener.onFinish(mDataList);
}
}
private int listHashCode = 0;
public synchronized void setDataCollectionV2(List<BaseUiConversation> data, boolean isSearch) {
if (data.hashCode() == listHashCode) return;
listHashCode = data.hashCode();
@Override
public void setDataCollection(List<BaseUiConversation> data) {
List<BaseUiConversation> tmp = new ArrayList<>();
Log.i("聊天数据源", "size()" + data.size() + " setDataCollection: " + data.hashCode());
Log.i("聊天数据源", "setDataCollection: " + data.hashCode());
List<String> urls = new ArrayList<>();
if (srcList == null) {
srcList = new ArrayList<>();
@@ -301,8 +199,7 @@ public class MainConversationListAdapter extends ConversationListAdapter {
if (mContext == null)
mContext = AppManager.getInstance().getLastActivity();
for (BaseUiConversation item : data) {
if (urls.contains(item.mCore.getTargetId()) && item.mCore.getTargetId()!=null) continue;
// if ( item.mCore.getConversationTitle()==null || item.mCore.getTargetId()==null) continue;
if (urls.contains(item.mCore.getTargetId())) continue;
if (item.mConversationContent != null && item.mConversationContent.toString().contains("_method_")) {
IMCenter.getInstance().deleteMessages(Conversation.ConversationType.PRIVATE,
item.mCore.getTargetId(),
@@ -321,13 +218,9 @@ public class MainConversationListAdapter extends ConversationListAdapter {
IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, item.mCore.getTargetId(), null);
}
urls.add(item.mCore.getTargetId());
Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId() +"|"+item.mCore.getObjectName());
if (!tmpUids.contains(item.mCore.getTargetId())) {
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
srcList.add(cn);
tmpUids.add(item.mCore.getTargetId());
}
Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId());
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
srcList.add(cn);
if (item.mCore.getConversationType() == Conversation.ConversationType.PRIVATE) {
if (item.mCore.getLatestMessage() instanceof MessageChatCardContent) {
@@ -336,37 +229,11 @@ public class MainConversationListAdapter extends ConversationListAdapter {
}
tmp.add(item);
}
List<BaseUiConversation> showData = null;
if (isSearch) {
// Log.i("聊天数据源", "FilterData isSearch");
showData = tmp ;//UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList);
} else {
allDataList = tmp;
if (mFilter != FILTER_OFFLINE && mFilter != FILTER_ONLINE )
{
// Log.i("聊天数据源", "FilterData notSearch");
showData = UiConversationCodeUtil.FilterData(mFilter, allDataList);
}
}
if (showData != null && !UiConversationCodeUtil.checkIsSame(showData, mDataList)) {
// Log.i("聊天数据源", "数据源有变化" + showData.size());
super.setDataCollection(showData);
} else {
// Log.i("聊天数据源", "数据源无变化");
}
// ToastUtil.showDebug("消息数:"+data.size());
super.setDataCollection(tmp);
}
@Override
public void setDataCollection(List<BaseUiConversation> data) {
setDataCollectionV2(data, false);
}
private List<String> tmpUids = new ArrayList<>();
public void clear() {
Log.i("聊天数据源", "clear: " + mDataList.size());
mDataList.clear();
if (srcList != null) {
srcList.clear();
@@ -473,15 +340,15 @@ public class MainConversationListAdapter extends ConversationListAdapter {
BaseUiConversation conversation = mDataList.get(id);
conversation.mCore.setSentTime(bean.getSentTime());
conversation.mCore.setUnreadMessageCount(integer);
if (bean.getContent() instanceof SightMessage) {
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[小視頻]" : "[Video]");
} else if (bean.getContent() instanceof HQVoiceMessage) {
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[語音]" : "[Voice]");
} else if (bean.getContent() instanceof ImageMessage) {
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[圖片]" : "[picture]");
} else if (bean.getContent() instanceof MessageChatCardContent) {
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[站內分享]" : "[In-app sharing]");
} else {
if(bean.getContent() instanceof SightMessage){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[小視頻]":"[Video]");
}else if(bean.getContent() instanceof HQVoiceMessage){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[語音]":"[Voice]");
} else if(bean.getContent() instanceof ImageMessage){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[圖片]":"[picture]");
}else if(bean.getContent() instanceof MessageChatCardContent){
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[站內分享]":"[In-app sharing]");
} else{
conversation.mConversationContent = new SpannableString(((TextMessage) bean.getContent()).getContent());
}
mDataList.set(id, conversation);
@@ -499,6 +366,4 @@ public class MainConversationListAdapter extends ConversationListAdapter {
});
}
}

View File

@@ -62,7 +62,6 @@ public class ConfigBean extends BaseModel {
private String google_isup;
private String sud_game_speech;
private int pay_type = 0;
@SerializedName("is_return_user")//是否需要弹窗0否1是
private String isReturnUser="";
@@ -73,14 +72,6 @@ public class ConfigBean extends BaseModel {
@SerializedName("jump_h5_url")//点击跳转H5页面地址
private String jumpH5Url="";
public int getPay_type() {
return pay_type;
}
public void setPay_type(int pay_type) {
this.pay_type = pay_type;
}
@JSONField(name = "is_return_user")
public String getIsReturnUser() {
return isReturnUser;

View File

@@ -56,7 +56,7 @@ public class SudGameSearchDialogPopup extends AbsDialogPopupWindow {
@Override
public void dismiss() {
// Bus.getOff(this);
Bus.getOff(this);
super.dismiss();
}
@@ -78,7 +78,7 @@ public class SudGameSearchDialogPopup extends AbsDialogPopupWindow {
@Override
protected void onCreate() {
super.onCreate();
// Bus.getOn(this);
Bus.getOn(this);
editSearch = findViewById(R.id.edit_search);
// listHistory = findViewById(R.id.list_history);
listRoom = findViewById(R.id.list_room);

View File

@@ -143,7 +143,7 @@ public abstract class AbsMainMessageChatListFragment extends Fragment {
isNet = true;
for (BaseUiConversation conversation : srcList) {
map.put(conversation.mCore.getTargetId(), conversation);
if (conversation.mCore.getConversationType() == Conversation.ConversationType.PRIVATE&& !conversation.mCore.getTargetId().equals("__system__")) {
if (conversation.mCore.getConversationType() == Conversation.ConversationType.PRIVATE) {
uids.add(conversation.mCore.getTargetId());
}
}

View File

@@ -1,57 +0,0 @@
package com.yunbao.common.fragment;
import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModel;
import com.facebook.all.All;
import com.yunbao.common.R;
import com.yunbao.common.utils.UiConversationCodeUtil;
public class ChatViewModel extends ViewModel {
private int mChatFilter = UiConversationCodeUtil.FILTER_ALL;
public int getChatFilter() {
return mChatFilter;
}
public void setChatFilter(int mChatFilter) {
this.mChatFilter = mChatFilter;
}
// public static final int FILTER_OFFLINE = 0;
// public static final int FILTER_ONLINE = 1;
// public static final int FILTER_UNREAD = 2;
// public static final int FILTER_READ = 4;
// public static final int FILTER_ALL = 7;
// <string name="all_chats">All Chats</string>
// <string name="online_only">Show Online </string>
// <string name="offline_only">Show Offline </string>
// <string name="read_only">Show Read </string>
// <string name="unread_only">Show Unread </string>
public int getTitleTextId() {
int id = R.string.all_chats;
switch (mChatFilter) {
case UiConversationCodeUtil.FILTER_ALL:
id = R.string.all_chats;
break;
case UiConversationCodeUtil.FILTER_ONLINE:
id = R.string.online_only;
break;
case UiConversationCodeUtil.FILTER_OFFLINE:
id = R.string.offline_only;
break;
case UiConversationCodeUtil.FILTER_READ:
id = R.string.read_only;
break;
case UiConversationCodeUtil.FILTER_UNREAD:
id = R.string.unread_only;
break;
}
return id;
}
}

View File

@@ -1,8 +1,6 @@
package com.yunbao.common.fragment;
import android.os.Bundle;
import android.os.Parcel;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -11,13 +9,11 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import com.yunbao.common.R;
import com.yunbao.common.adapter.MainConversationListAdapter;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.UiConversationCodeUtil;
import com.yunbao.common.utils.WordUtil;
import java.util.ArrayList;
@@ -30,20 +26,16 @@ import io.rong.imkit.conversationlist.model.SingleConversation;
import io.rong.imkit.event.Event;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
import io.rong.imlib.model.MessageContent;
import io.rong.imlib.model.SearchConversationResult;
public class MainMessageChatFragment extends ConversationListFragment {
private static final String TAG = "融云列表";
int listHashCode = 0;
// ChatViewModel chatViewModel;
@Nullable
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.i(TAG, "onCreateView: 创建融云");
// chatViewModel = (ChatViewModel)(new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
return inflater.inflate(R.layout.rc_conversationlist_fragment, container, false);
}
@@ -54,13 +46,10 @@ public class MainMessageChatFragment extends ConversationListFragment {
mConversationListViewModel.getConversationListLiveData().observe(this.getViewLifecycleOwner(), new Observer<List<BaseUiConversation>>() {
@Override
public void onChanged(List<BaseUiConversation> uiConversations) {
int hashCode = uiConversations.hashCode();
if (listHashCode != hashCode) {
Log.i("nwq", "刷新数据");
listHashCode = hashCode;
if (listHashCode != uiConversations.hashCode()) {
listHashCode = uiConversations.hashCode();
((MainConversationListAdapter) mAdapter).onFinish();
}
}
});
mConversationListViewModel.getRefreshEventLiveData().observe(this.getViewLifecycleOwner(), new Observer<Event.RefreshEvent>() {
@@ -69,6 +58,7 @@ public class MainMessageChatFragment extends ConversationListFragment {
listHashCode = 0;
}
});
}
public void setEmptyView(int viewLayoutMsgId) {
@@ -80,16 +70,7 @@ public class MainMessageChatFragment extends ConversationListFragment {
}
public void refreshData() {
mRefreshLayout.autoRefresh();
//onConversationListRefresh(mRefreshLayout)
}
public void search(String search) {
if (TextUtils.isEmpty(search)){
mRefreshLayout.autoRefresh();
return;
}
((MainConversationListAdapter) mAdapter).setSearch();
getContactsList(search);
}
@@ -103,11 +84,10 @@ public class MainMessageChatFragment extends ConversationListFragment {
List<String> uidList = new ArrayList<>();
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
conversation.mCore.setMessage(new Message());
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_contacts));
Log.i("聊天数据源设置数据", "聊天数据源: " + conversation.mCore.getObjectName());
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
list.add(conversation);
List<BaseUiConversation> data = new ArrayList<>();
System.err.println(" ----------------------->" + mAdapter.getData().size());
for (BaseUiConversation cn : ((MainConversationListAdapter) mAdapter).getSrcList()) {
@@ -146,9 +126,7 @@ public class MainMessageChatFragment extends ConversationListFragment {
@Override
public void onSuccess(List<SearchConversationResult> searchConversationResults) {
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
conversation.mCore.setMessage(new Message());
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_chat_records));
Log.i("聊天数据源设置数据", "聊天数据源: " + conversation.mCore.getObjectName());
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
list.add(conversation);
List<BaseUiConversation> data = new ArrayList<>();
@@ -166,10 +144,7 @@ public class MainMessageChatFragment extends ConversationListFragment {
list.remove(list.size() - 1);
}
list.addAll(data);
for (BaseUiConversation cn : list){
Log.i("聊天数据源搜索前的", cn.mCore.getConversationTitle() + "|" + cn.mCore.getPortraitUrl() + "|" + cn.mCore.getTargetId());
}
((MainConversationListAdapter) mAdapter).setDataCollectionV2(list,true);
mAdapter.setDataCollection(list);
}
@Override
@@ -181,19 +156,17 @@ public class MainMessageChatFragment extends ConversationListFragment {
}
public void onChatList() {
if (mConversationListViewModel == null) return;
if(mConversationListViewModel==null)return;
((MainConversationListAdapter) mAdapter).setChat();
((MainConversationListAdapter) mAdapter).clear();
System.out.println(">!>!>!>!!>" + mConversationListViewModel);
System.out.println(">!>!>!>!!>"+mConversationListViewModel);
subscribeUi();
mRefreshLayout.autoRefresh();
}
@Override
protected ConversationListAdapter onResolveAdapter() {
MainConversationListAdapter adapter = new MainConversationListAdapter(getContext());
// adapter.setFilter(chatViewModel.getChatFilter());
this.mAdapter = adapter;
this.mAdapter = new MainConversationListAdapter(getContext());
return this.mAdapter;
}
}

View File

@@ -13,7 +13,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.yunbao.common.R;
@@ -50,7 +49,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
public MainMessageChatListFragment(Context mContext) {
this.mContext =mContext;
}
ChatViewModel chatViewModel;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -63,10 +62,8 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
@Override
public void onResume() {
super.onResume();
chatViewModel = (new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
conversationListFragment = new MainMessageChatFragment();
setAdapter(conversationListFragment.getAdapter());
mAdapter.setFilter(chatViewModel.getChatFilter());
FragmentManager manager = getChildFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.container, conversationListFragment);
@@ -168,16 +165,6 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
}
public int getFilter() {
return mAdapter.getFilter();
}
public void setFilter(int mFilter) {
mAdapter.setFilter(mFilter);
chatViewModel.setChatFilter(mFilter);
conversationListFragment.refreshData();
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {

View File

@@ -20,7 +20,7 @@ public class CommonHttpConsts {
public static final String DOWNLOAD_GIF = "downloadGif";
public static final String GET_BALANCE = "getBalance";
public static final String CHECK_TOKEN_INVALID = "checkTokenInvalid";
public static final String NOTIFY_GOOGLE = "Charge.goole_validate_panduola";
public static final String NOTIFY_GOOGLE = "Charge.google_pay";
public static final String COMMUNITY_SETREPORT = "Community.setReport";
public static final String GET_USER_HOME = "getUserHome";

View File

@@ -417,15 +417,18 @@ public class CommonHttpUtil {
.params("purchaseToken", purchaseToken)
.params("productId", productId)
.params("orderno", orderno)
.params("package_name", CommonAppContext.sInstance.getPackageName())
.params("package_name", "com.pandora.sy")
.execute(callback);
}
public static void notifyGoogle(String purchaseToken, String productId, HttpCallback callback) {
public static void notifyGoogle(String purchaseToken, String orderNo, String tradeNo, String allData, String gps_adid, HttpCallback callback) {
HttpClient.getInstance().get(CommonHttpConsts.NOTIFY_GOOGLE, CommonHttpConsts.NOTIFY_GOOGLE)
.params("purchaseToken", purchaseToken)
.params("productId", productId)
.params("package_name", CommonAppContext.sInstance.getPackageName())
.params("orderno", orderNo)
.params("trade_no", tradeNo)
.params("allData", allData)
.params("gps_adid", gps_adid)
.params("package_name", "com.pandora.sy")
.execute(callback);
}
@@ -434,7 +437,7 @@ public class CommonHttpUtil {
.params("purchaseToken", purchaseToken)
.params("orderno", orderNo)
.params("trade_no", tradeNo)
.params("package_name", CommonAppContext.sInstance.getPackageName())
.params("package_name", "com.pandora.sy")
.execute(callback);
}

View File

@@ -543,13 +543,6 @@ public class LiveHttpUtil {
HttpClient.getInstance().get("Live.getGiftListApp", LiveHttpConsts.GET_GIFT_LIST)
.execute(callback);
}
/**
* 获取礼物列表,同时会返回剩余的钱(新版) -用于获取联系方式时的礼物设置
*/
public static void getHotGiftList(HttpCallback callback) {
HttpClient.getInstance().get("Gift.getHotGiftList", LiveHttpConsts.GET_GIFT_LIST)
.execute(callback);
}
/**
* 获取包裹列表

View File

@@ -1295,7 +1295,7 @@ public interface PDLiveApi {
@Query("open_off") int status
);
@GET("/api/public/?service=Pdlmsg.sendBefore&new_pop=1")
@GET("/api/public/?service=Pdlmsg.sendBefore")
Observable<ResponseModel<MessageSayHiBean>> getMessageSayHiTimer(
);

View File

@@ -536,7 +536,6 @@ public class IMLoginManager extends BaseCacheManager {
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
.params("uid", uid)
.params("token", token)
.params("key1", RongcloudIMManager.RONG_IM_KEY)
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {

View File

@@ -123,7 +123,6 @@ public class InstructorRemarkManager extends BaseCacheManager {
@Override
public void run() {
IMLoginModel userInfo = IMLoginManager.get(context).getUserInfo();
if(userInfo==null)return;
HttpClient.getInstance().get("User.getInstructorRemark", "getInstructorRemark")
.params("uid", userInfo.getId(), true)
.params("token", userInfo.getToken(), true)

View File

@@ -1,19 +0,0 @@
package com.yunbao.common.manager.imrongcloud;
import java.lang.reflect.Method;
import io.rong.imkit.userinfo.RongUserInfoManager;
import io.rong.imlib.model.UserInfo;
public class PDRongUserInfoManager {
public static void saveUserInfo(UserInfo userInfo) {
RongUserInfoManager instance = RongUserInfoManager.getInstance();
try {
Method method = instance.getClass().getDeclaredMethod("saveUserInfoCache", userInfo.getClass());
method.setAccessible(true);
method.invoke(instance, userInfo);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -51,7 +51,7 @@ public class RongcloudIMManager {
if (CommonAppConfig.HOST.contains("ceshi")) {
RONG_IM_KEY = "pvxdm17jpd3hr"; //测试服key
} else {
RONG_IM_KEY = "6tnym1br6lhu7"; //正式服key //上一个Key值uwd1c0sxu1p71
RONG_IM_KEY = "uwd1c0sxu1p71"; //正式服key
}
}

View File

@@ -1,297 +0,0 @@
package com.yunbao.common.pay.google;
import android.app.Activity;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.billingclient.api.BillingClient;
import com.android.billingclient.api.BillingClientStateListener;
import com.android.billingclient.api.BillingFlowParams;
import com.android.billingclient.api.BillingResult;
import com.android.billingclient.api.ConsumeParams;
import com.android.billingclient.api.ProductDetails;
import com.android.billingclient.api.Purchase;
import com.android.billingclient.api.PurchasesUpdatedListener;
import com.android.billingclient.api.QueryProductDetailsParams;
import com.android.billingclient.api.QueryPurchasesParams;
import com.google.android.gms.ads.identifier.AdvertisingIdClient;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import com.google.common.collect.ImmutableList;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.R;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import java.util.ArrayList;
import java.util.List;
//谷歌支付
public class GooglePlay implements PurchasesUpdatedListener {
private String TAG = "mLog";
private BillingClient billingClient;
private GoogleBillingListener billingListener;
private GooglePlay() {
init();
}
private boolean init() {
if (getGoogleService() && billingClient == null) {
billingClient = BillingClient.newBuilder(CommonAppContext.sInstance)
.setListener(this)
.enablePendingPurchases()
.build();
startConnection();
return true;
}
if (billingClient != null && !billingClient.isReady()) {//没有连接的话去连接
startConnection();
}
if (billingClient == null)
return false;
return true;
}
private void startConnection() {
if (!billingClient.isReady()) {
//请求连接到GooglePay
billingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(@NonNull BillingResult billingResult) {
int code = billingResult.getResponseCode();
if (code != BillingClient.BillingResponseCode.OK) {
String msg = billingResult.getDebugMessage();
Log.e(TAG, "连接到GooglePay失败 code = " + code + " msg = " + msg);
return;
}
Log.e(TAG, "连接到GooglePay成功");
}
//连接失败
@Override
public void onBillingServiceDisconnected() {
Log.e(TAG, "连接到GooglePay失败请重试");
}
});
}
}
//点击商品,先查询商品 然后出来支付界面,调用下单
public void purchase(Activity activity, String orderNumber, String id) {
if (!init()) {
return;
}
ImmutableList<QueryProductDetailsParams.Product> productList = ImmutableList.of(QueryProductDetailsParams.Product.newBuilder()
.setProductId(id)
.setProductType(BillingClient.ProductType.INAPP)
.build());
QueryProductDetailsParams queryProductDetailsParams =
QueryProductDetailsParams.newBuilder()
.setProductList(productList)
.build();
billingClient.queryProductDetailsAsync(
queryProductDetailsParams,
(billingResult, list) -> {
//查询商品成功
int code = billingResult.getResponseCode();
if (code != BillingClient.BillingResponseCode.OK || list == null || list.isEmpty()) {
String msg = billingResult.getDebugMessage();
Log.e(TAG, "查询商品失败 code = " + code + " msg = " + msg);
return;
}
Log.e(TAG, "查询商品成功");
buyIt(activity, orderNumber, list.get(0));
}
);
}
//开始下单,准备生成订单了
private void buyIt(Activity activity, String orderNumber, ProductDetails productDetails) {
List<BillingFlowParams.ProductDetailsParams> productDetailsParamsList = new ArrayList<>();
productDetailsParamsList.add(BillingFlowParams.ProductDetailsParams.newBuilder()
// retrieve a value for "productDetails" by calling queryProductDetailsAsync()
.setProductDetails(productDetails)
// For one-time products, "setOfferToken" method shouldn't be called.
// For subscriptions, to get an offer token, call
// ProductDetails.subscriptionOfferDetails() for a list of offers
// that are available to the user.
//一次性商品不需要传token
// .setOfferToken(selectedOfferToken)
.build());
BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
.setProductDetailsParamsList(productDetailsParamsList)
.setObfuscatedAccountId(orderNumber)//好像是账号id
.build();
BillingResult billingResult = billingClient.launchBillingFlow(activity, billingFlowParams);
int code = billingResult.getResponseCode();
if (code != BillingClient.BillingResponseCode.OK) {
String msg = billingResult.getDebugMessage();
Log.e(TAG, "购买商品失败 code = " + code + " msg = " + msg);
// ToastUtil.show(getString(R.string.pay_suc));
return;
}
Log.e(TAG, "购买商品 " + productDetails.toString());
}
//消耗商品 支付成功之后,调用我们后台下发商品成功之后,调用消耗
public void consume(List<Purchase> list) {
if (!init()) {
return;
}
for (Purchase purchase : list) {
getConsumeGoods(purchase);
}
}
/**
* 消耗所有商品
*/
public void consumeAll() {
if (!init()) {
return;
}
//以下示例展示了如何提取用户的订阅购买交易。请注意queryPurchasesAsync() 仅返回有效订阅和非消耗型一次性购买交易。
QueryPurchasesParams inAppPurchasesQuery = QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP).build();
billingClient.queryPurchasesAsync(inAppPurchasesQuery, (billingResult, list) -> {
if (BillingClient.BillingResponseCode.OK == billingResult.getResponseCode()) {
for (Purchase purchase : list) {
//0:PurchaseState.UNSPECIFIED_STATE未知状态
//1:PurchaseState.PURCHASED付款完成
//2:PurchaseState.PENDING购买正在等待付款完成。
if (Purchase.PurchaseState.PURCHASED == purchase.getPurchaseState()) {
//调用google去消费
//如果之后还出现谷歌掉单的行为在来处理
CommonHttpUtil.notifyGoogle(purchase.getPurchaseToken(),
purchase.getProducts().get(0), new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
getConsumeGoods(purchase);
}
}
});
}
}
}
});
}
/**
* 公共消费商品接口
*/
private void getConsumeGoods(Purchase purchase) {
if (purchase != null) {
Log.i(TAG, "-----开始消耗商品:" + purchase.toString());
ConsumeParams.Builder consumeParams = ConsumeParams.newBuilder();
consumeParams.setPurchaseToken(purchase.getPurchaseToken());
//调用消耗商品方法
consumeAsync(consumeParams.build(), purchase);
}
}
/**
* 消耗商品
* int SERVICE_TIMEOUT = -3; //服务超时
* int FEATURE_NOT_SUPPORTED = -2; //不支持功能
* int SERVICE_DISCONNECTED = -1; //服务单元已断开
* int OK = 0; //成功
* int USER_CANCELED = 1; //用户按上一步或取消对话框
* int SERVICE_UNAVAILABLE = 2; //网络连接断开
* int BILLING_UNAVAILABLE = 3; //所请求的类型不支持 Google Play 结算服务 AIDL 版本
* int ITEM_UNAVAILABLE = 4; //请求的商品已不再出售。
* int DEVELOPER_ERROR = 5; //提供给 API 的参数无效。此错误也可能说明应用未针对结算服务正确签名或设置,或者在其清单中缺少必要的权限。
* int ERROR = 6; //API 操作期间出现严重错误
* int ITEM_ALREADY_OWNED = 7; //未能购买,因为已经拥有此商品
* int ITEM_NOT_OWNED = 8; //未能消费,因为尚未拥有此商品
*/
private void consumeAsync(ConsumeParams consumeParams, Purchase purchase) {
if (!init()) {
return;
}
billingClient.consumeAsync(consumeParams, (billingResult, purchaseToken) -> {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
Log.i(TAG, "-----消耗商品成功");
} else {
Log.i(TAG, "-----消耗商品失败" + billingResult.toString() + "---" + purchaseToken + "--code:" + billingResult.getResponseCode());
}
});
}
@Override
public void onPurchasesUpdated(@NonNull BillingResult billingResult, @Nullable List<Purchase> purchases) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK
&& purchases != null) {
//支付成功
if (billingListener != null)//消耗掉商品放到外面调用我们服务器成功的时候去消耗 todo 暂时注释掉 这样可以模拟掉单的问题
billingListener.onPaySuccess(purchases);
/*
* 一旦您验证了购买交易,您的应用就可以向用户授予使用权了。若要确认与购买交易相关联的用户账号,
* 您可以使用 Purchases.products:get 返回的 ProductPurchase.obfuscatedExternalAccountId适用于应用内商品的购买交易
* 和 Purchases.subscriptions:get 返回的 SubscriptionPurchase.obfuscatedExternalAccountId适用于服务器端的订阅
* 或者 Purchase.getAccountIdentifiers() 在客户端返回的 obfuscatedAccountId如果在交易时已使用 setObfuscatedAccountId 设置该 ID
* */
// purchases.get(0).getAccountIdentifiers()
for (Purchase purchase : purchases) {
Log.d("mLog", "谷歌支付的回调 " + purchase);
}
} else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.USER_CANCELED) {
//取消支付了
if (billingListener != null)
billingListener.onPayFailed(CommonAppContext.sInstance.getString(R.string.pay_cancel));
} else {
//支付失败
if (billingListener != null)
billingListener.onPayFailed(CommonAppContext.sInstance.getString(R.string.pay_fail));
}
}
/**
* 检测GooglePlay服务是否可用(需要导入包api "com.google.android.gms:play-services-location:11.8.0",也可以不检查,跳过这个代码)
*/
public boolean getGoogleService() {
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
if (googleApiAvailability != null) {
int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(CommonAppContext.sInstance);
return resultCode == ConnectionResult.SUCCESS;
}
return false;
}
public String getAdId() {
try {
return AdvertisingIdClient.getAdvertisingIdInfo(CommonAppContext.sInstance).getId();
} catch (Exception e) {
e.printStackTrace();
Log.e("GooglePlay", "获取谷歌的id错误了");
}
return "google_default_id";
}
public void setBillingListener(GoogleBillingListener listener) {
billingListener = listener;
}
/**
* 定义接口返回支付结果
*/
public interface GoogleBillingListener {
void onPaySuccess(List<Purchase> purchases);
void onPayFailed(String msg);
}
public static class GooglePlayHelper {
static GooglePlay googlePlay = new GooglePlay();
}
public static GooglePlay getInstance() {
return GooglePlayHelper.googlePlay;
}
}

View File

@@ -10,7 +10,6 @@ import android.util.Log;
import com.blankj.utilcode.util.LogUtils;
import com.yunbao.common.event.CheckRemainingBalanceEvent;
import com.yunbao.common.sud.decorator.game.JumpEvent;
import com.yunbao.common.sud.state.SudMGPMGState;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.ISudFSMStateHandleUtils;
@@ -373,7 +372,6 @@ public class SudFSMMGDecorator implements ISudFSMMG {
} else {
listener.onGameMGCommonGameCreateOrder(handle, mgCommonGameCreateOrder);
}
JumpEvent.hit(mgCommonGameCreateOrder);
break;
case SudMGPMGState.MG_COMMON_PLAYER_ROLE_ID: // 26. 游戏通知app玩家角色(仅对狼人杀有效)
SudMGPMGState.MGCommonPlayerRoleId mgCommonPlayerRoleId = SudJsonUtils.fromJson(dataJson, SudMGPMGState.MGCommonPlayerRoleId.class);

View File

@@ -179,6 +179,14 @@ public class AppManager {
activityStack.clear();
}
/**
* 仅在debug下运行的代码
*/
public static void runDebugCode(Runnable runnable) {
if (BuildConfig.DEBUG) {
runnable.run();
}
}
/**

View File

@@ -1,30 +0,0 @@
package com.yunbao.common.utils;
import android.util.Log;
import com.yunbao.common.BuildConfig;
public class DebugUtils {
/**
* 打印堆栈信息
*/
public static void showStackTrace(){
StackTraceElement[] stackTrace = new Throwable().getStackTrace();
StringBuilder sb=new StringBuilder();
for (StackTraceElement element : stackTrace) {
if(element!=null){
sb.append(element).append("\n");
}
}
Log.e("DebugUtils",sb.toString());
}
/**
* 仅在debug下运行的代码
*/
public static void runDebugCode(Runnable runnable) {
if (BuildConfig.DEBUG) {
runnable.run();
}
}
}

View File

@@ -38,7 +38,6 @@ import com.yunbao.common.http.HttpClient;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import org.greenrobot.eventbus.EventBus;
@@ -660,7 +659,6 @@ public class JavascriptInterfaceUtils {
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
.params("uid", IMLoginManager.get(mContext).getUserInfo().getId())
.params("token", IMLoginManager.get(mContext).getUserInfo().getToken())
.params("key1", RongcloudIMManager.RONG_IM_KEY)
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {

View File

@@ -3,21 +3,13 @@ package com.yunbao.common.utils;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.ImageDecoder;
import android.net.Uri;
import android.os.Build;
import android.provider.MediaStore;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.PickVisualMediaRequest;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentActivity;
import androidx.core.content.FileProvider;
import com.blankj.utilcode.util.LogUtils;
import com.yalantis.ucrop.UCrop;
import com.yalantis.ucrop.util.FileUtils;
import com.yunbao.common.CommonAppConfig;
@@ -47,7 +39,6 @@ public class ProcessImageUtil extends ProcessResultUtil {
private ImageResultCallback mResultCallback;
private boolean mNeedCrop;//是否需要裁剪
private boolean mNeedGif;//允许gif图
ActivityResultLauncher<PickVisualMediaRequest> launcher;
public void setNeedGif(boolean mNeedGif) {
this.mNeedGif = mNeedGif;
@@ -92,7 +83,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
if (mNeedCrop) {
Uri uri = null;
if (Build.VERSION.SDK_INT >= 24) {
uri = FileProvider.getUriForFile(mContext, mContext.getPackageName() +".fileprovider", mCameraResult);
uri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCameraResult);
} else {
uri = Uri.fromFile(mCameraResult);
}
@@ -126,19 +117,6 @@ public class ProcessImageUtil extends ProcessResultUtil {
return;
}
String path = FileUtils.getPath(mContext, intent.getData());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
ImageDecoder.Source source = ImageDecoder.createSource(mContext.getContentResolver(), intent.getData());
try {
Bitmap bitmap = ImageDecoder.decodeBitmap(source);
path=BitmapUtil.getInstance().saveBitmap(bitmap);
bitmap.recycle();
} catch (Exception e) {
e.printStackTrace();
mResultCallback.onFailure();
return;
}
}
File file = new File(path);
if (file.exists()) {
mResultCallback.onSuccess(file);
@@ -175,19 +153,6 @@ public class ProcessImageUtil extends ProcessResultUtil {
}
}
};
launcher = ((AppCompatActivity) mContext).registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new androidx.activity.result.ActivityResultCallback<Uri>() {
@Override
public void onActivityResult(Uri result) {
LogUtils.e("result:" + result);
if (result == null) {
mAlumbResultCallback.onFailure();
return;
}
Intent intent = new Intent();
intent.setData(result);
mAlumbResultCallback.onSuccess(intent);
}
});
}
/**
@@ -208,28 +173,15 @@ public class ProcessImageUtil extends ProcessResultUtil {
/**
* 相册获取图片
*/
public void getImageByAlbum() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
showSystemPick();
return;
}
public void getImageByAlumb() {
requestPermissions(mAlumbPermissions, mAlumbPermissionCallback);
}
public void getImageByAlbum(boolean needCrop) {
public void getImageByAlumb(boolean needCrop) {
this.mNeedCrop = needCrop;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
showSystemPick();
return;
}
requestPermissions(mAlumbPermissions, mAlumbPermissionCallback);
}
private void showSystemPick() {
PickVisualMediaRequest.Builder builder = new PickVisualMediaRequest.Builder()
.setMediaType(ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE);
launcher.launch(builder.build());
}
/**
* 开启摄像头,执行照相
@@ -243,7 +195,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
mCameraResult = getNewFile();
Uri uri = null;
if (Build.VERSION.SDK_INT >= 24) {
uri = FileProvider.getUriForFile(mContext, mContext.getPackageName()+".fileprovider", mCameraResult);
uri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCameraResult);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
} else {
uri = Uri.fromFile(mCameraResult);
@@ -303,7 +255,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
startActivityForResult(intent, mCropResultCallback);
} catch (Exception e) {
try {
Uri resultUri = FileProvider.getUriForFile(mContext, mContext.getPackageName()+".fileprovider", mCorpResult);
Uri resultUri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCorpResult);
if (resultUri == null || mFragment == null || mContext == null) {
return;
}

View File

@@ -1,198 +0,0 @@
package com.yunbao.common.utils;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
public class UiConversationCodeUtil {
public static final int FILTER_OFFLINE = 0;
public static final int FILTER_ONLINE = 1;
public static final int FILTER_UNREAD = 2;
public static final int FILTER_READ = 4;
public static final int FILTER_ALL = 7;
public static boolean checkIsSame(List<BaseUiConversation> list1, List<BaseUiConversation> list2) {
if (list1.isEmpty()){
return false;
}
if (list1.size() != list2.size()) return false;
int hashCode1 = getListHasCode(list1);
int hashCode2 = getListHasCode(list2);
return hashCode1 == hashCode2;
}
public static boolean checkIsSame(int hashCode1, List<BaseUiConversation> list2) {
int hashCode2 = getListHasCode(list2);
return hashCode1 == hashCode2;
}
public static int getListHasCode(List<BaseUiConversation> list) {
int hashCodeValue = 1;
if (list == null || list.isEmpty())
return 1;
for (BaseUiConversation conversation : list) {
if (conversation != null) {
hashCodeValue = 31 * hashCodeValue + getBaseUiConversationHashCode(conversation);
}
}
return hashCodeValue;
}
//根据BaseUiConversation对象的属性计算hashCode
private static int getBaseUiConversationHashCode(BaseUiConversation item) {
final int prime = 31;
int result = 1;
Conversation mCore = item.mCore;
result = prime * result + ((mCore.getPortraitUrl() == null) ? 0 : mCore.getPortraitUrl().hashCode());
result = prime * result + ((mCore.getConversationTitle() == null) ? 0 : mCore.getConversationTitle().hashCode());
// result = prime * result + ((item.mConversationContent == null) ? 0 : item.mConversationContent.hashCode());
result = prime * result + (int) (mCore.getSentTime() ^ (mCore.getSentTime() >>> 32));
result = prime * result + ((mCore.getDraft() == null) ? 0 : mCore.getDraft().hashCode());
result = prime * result + mCore.getUnreadMessageCount();
Message message = mCore.getMessage();
if (message != null) {
Message.MessageDirection direction = message.getMessageDirection();
if (direction != null) {
result = prime * result + direction.hashCode();
}
}
result = prime * result + ((mCore.getSentStatus() == null) ? 0 : mCore.getSentStatus().hashCode());
result = prime * result + ((mCore.getReceivedStatus() == null) ? 0 : mCore.getReceivedStatus().hashCode());
result = prime * result + ((mCore.getTargetId() == null) ? 0 : mCore.getTargetId().hashCode());
return result;
}
private static boolean isContains(List<BaseUiConversation> list, BaseUiConversation item) {
// 根据 item.mCore.getChannelId() 判断 list 是否包含
if (list == null || list.isEmpty() || item == null || item.mCore == null) {
return false;
}
for (BaseUiConversation conversation : list) {
// 增加空值检查
if (conversation != null && conversation.mCore != null
&& conversation.mCore.getTargetId() != null
&& conversation.mCore.getTargetId().equals(item.mCore.getTargetId())) {
return true;
}
}
return false;
}
public static List<BaseUiConversation> FilterData(int filterType, List<BaseUiConversation> keyList,List<BaseUiConversation> srcList) {
List<BaseUiConversation> showData = new ArrayList<>();
if (keyList == null || keyList.isEmpty())
return showData;
Log.i("MainConversationListAdapter", "FilterData: 源" + keyList.size());
switch (filterType) {
case FILTER_ALL:
showData = keyList;
break;
case FILTER_ONLINE:
for (BaseUiConversation conversation : srcList) {
if ("0".equals(conversation.mCore.getDraft()) && isContains(keyList, conversation)) {
showData.add(conversation);
}
}
break;
case FILTER_OFFLINE:
for (BaseUiConversation conversation : keyList) {
if (!"0".equals(conversation.mCore.getDraft())) {
showData.add(conversation);
}
}
break;
case FILTER_READ:
for (BaseUiConversation conversation : keyList)
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
showData.add(conversation);
}
}
}
break;
case FILTER_UNREAD:
for (BaseUiConversation conversation : keyList) {
boolean isRead;
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) {
showData.add(conversation);
}
}
}
}
break;
}
Log.i("MainConversationListAdapter", "FilterData: 结果" + showData.size());
return showData;
}
public static List<BaseUiConversation> FilterData(int filterType, List<BaseUiConversation> data) {
List<BaseUiConversation> showData = new ArrayList<>();
if (data == null || data.isEmpty())
return showData;
Log.i("MainConversationListAdapter", "设置数据源 FilterData: 源" + data.size());
switch (filterType) {
case FILTER_ALL:
showData = data;
break;
case FILTER_ONLINE:
for (BaseUiConversation conversation : data) {
if ("0".equals(conversation.mCore.getDraft())) {
showData.add(conversation);
}
}
break;
case FILTER_OFFLINE:
for (BaseUiConversation conversation : data) {
if (!"0".equals(conversation.mCore.getDraft())) {
showData.add(conversation);
}
}
break;
case FILTER_READ:
for (BaseUiConversation conversation : data)
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
showData.add(conversation);
}
}
}
break;
case FILTER_UNREAD:
for (BaseUiConversation conversation : data) {
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) {
showData.add(conversation);
}
}
}
}
break;
}
Log.i("MainConversationListAdapter", " 设置数据源 FilterData: 结果" + showData.size());
return showData;
}
}

View File

@@ -63,7 +63,7 @@ public class VersionUtil {
@Override
public void onConfirmClick(Dialog dialog, String content) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+context.getPackageName()));
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
context.startActivity(i);
context.finish();
}
@@ -85,7 +85,7 @@ public class VersionUtil {
@Override
public void onConfirmClick(Dialog dialog, String content) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+context.getPackageName()));
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
context.startActivity(i);
context.finish();
}

View File

@@ -35,9 +35,7 @@ public class WordUtil {
public static boolean isNewZh() {
return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.TRADITIONAL_CHINESE
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.CHINESE
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.CHINA;
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.TRADITIONAL_CHINESE ;
}
public static String getNewString(int res) {

View File

@@ -128,7 +128,7 @@ public class APKUpdateCustomPopup extends CenterPopupView {
public void onViewClicks() {
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+mContext.getPackageName()));
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
mContext.startActivity(i);
mContext.finish();
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {

View File

@@ -1,122 +0,0 @@
package com.yunbao.common.views;
import static io.rong.imlib.publicservice.model.PublicServiceMenu.PublicServiceMenuItemType.View;
import android.content.Context;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import com.lxj.xpopup.core.AttachPopupView;
import com.yunbao.common.R;
import com.yunbao.common.adapter.MainConversationListAdapter;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import org.repackage.com.zui.opendeviceidlibrary.OpenDeviceId;
public class MsgChatTypeSelectPoPupView extends AttachPopupView implements android.view.View.OnClickListener {
private TextView chatTypeTv1, chatTypeTv2, chatTypeTv3, chatTypeTv4, chatTypeTv5;
private ImageView chatTypeImg1, chatTypeImg2, chatTypeImg3, chatTypeImg4, chatTypeImg5;
private ResultCallBack mResultCallBack;
private int lastType;
public MsgChatTypeSelectPoPupView(@NonNull Context context, int type, ResultCallBack itemDelListener) {
super(context);
mResultCallBack = itemDelListener;
lastType = type;
}
@Override
protected int getImplLayoutId() {
return R.layout.view_msg_select_chat_type;
}
@Override
protected void onCreate() {
// 获取屏幕宽度
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
int screenWidth = displayMetrics.widthPixels;
// 设置弹窗宽度为屏幕宽度的 3/4
View view = findViewById(R.id.root);
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = screenWidth*3/4;
view.setLayoutParams(layoutParams);
chatTypeTv1 = findViewById(R.id.chatTypeTv1);
chatTypeImg1 = findViewById(R.id.chatTypeImg1);
chatTypeTv2 = findViewById(R.id.chatTypeTv2);
chatTypeImg2 = findViewById(R.id.chatTypeImg2);
chatTypeTv3 = findViewById(R.id.chatTypeTv3);
chatTypeImg3 = findViewById(R.id.chatTypeImg3);
chatTypeTv4 = findViewById(R.id.chatTypeTv4);
chatTypeImg4 = findViewById(R.id.chatTypeImg4);
chatTypeTv5 = findViewById(R.id.chatTypeTv5);
chatTypeImg5 = findViewById(R.id.chatTypeImg5);
chatTypeImg1.setOnClickListener(this);
chatTypeImg2.setOnClickListener(this);
chatTypeImg3.setOnClickListener(this);
chatTypeImg4.setOnClickListener(this);
chatTypeImg5.setOnClickListener(this);
handleChatTypeClick(lastType);
}
private void handleChatTypeClick(int type) {
switch (type) {
case MainConversationListAdapter.FILTER_ALL:
chatTypeImg1.setImageResource(R.mipmap.ic_chat_type_select);
chatTypeTv1.setTextColor(ContextCompat.getColor(chatTypeTv1.getContext(), R.color.colorMainTab));
break;
case MainConversationListAdapter.FILTER_ONLINE:
chatTypeImg2.setImageResource(R.mipmap.ic_chat_type_select);
chatTypeTv2.setTextColor(ContextCompat.getColor(chatTypeTv2.getContext(), R.color.colorMainTab));
break;
case MainConversationListAdapter.FILTER_OFFLINE:
chatTypeImg3.setImageResource(R.mipmap.ic_chat_type_select);
chatTypeTv3.setTextColor(ContextCompat.getColor(chatTypeTv3.getContext(), R.color.colorMainTab));
break;
case MainConversationListAdapter.FILTER_READ:
chatTypeImg4.setImageResource(R.mipmap.ic_chat_type_select);
chatTypeTv4.setTextColor(ContextCompat.getColor(chatTypeTv4.getContext(), R.color.colorMainTab));
break;
case MainConversationListAdapter.FILTER_UNREAD:
chatTypeImg5.setImageResource(R.mipmap.ic_chat_type_select);
chatTypeTv5.setTextColor(ContextCompat.getColor(chatTypeTv5.getContext(), R.color.colorMainTab));
break;
}
}
@Override
public void onClick(android.view.View v) {
if (v.getId() == R.id.chatTypeImg1) {
mResultCallBack.callBack(MainConversationListAdapter.FILTER_ALL, chatTypeTv1.getText().toString());
} else if (v.getId() == R.id.chatTypeImg2) {
mResultCallBack.callBack(MainConversationListAdapter.FILTER_ONLINE, chatTypeTv2.getText().toString());
} else if (v.getId() == R.id.chatTypeImg3) {
mResultCallBack.callBack(MainConversationListAdapter.FILTER_OFFLINE, chatTypeTv3.getText().toString());
} else if (v.getId() == R.id.chatTypeImg4) {
mResultCallBack.callBack(MainConversationListAdapter.FILTER_READ, chatTypeTv4.getText().toString());
} else if (v.getId() == R.id.chatTypeImg5) {
mResultCallBack.callBack(MainConversationListAdapter.FILTER_UNREAD, chatTypeTv5.getText().toString());
}
dismiss();
}
public interface ResultCallBack {
void callBack(int i, String string);
}
}

View File

@@ -1,11 +0,0 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"> <!-- 设置形状为圆形 -->
<solid android:color="#6DFF7C" /> <!-- 设置填充颜色 -->
<!-- 可以添加额外的属性如边框等 -->
<!-- <stroke
android:width="2dp"
android:color="#000000" /> -->
</shape>

View File

@@ -1,10 +0,0 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"> <!-- 设置形状为圆形 -->
<solid android:color="#ffff4874" /> <!-- 设置填充颜色 -->
<stroke
android:width="2dp"
android:color="#30ff4874" /> <!-- 设置边框颜色为黑色并带有 70% 的不透明度 (BB 是 alpha 值) -->
</shape>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="20dp"/>
<solid android:color="@color/white"/>
</shape>

View File

@@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rc_conversation_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/chatTypeTv"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1"
android:textColor="@color/colorMainTab"
tools:text="全部聊天" />
<ImageView
android:id="@+id/chatTypeImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp"
android:src="@mipmap/ic_chat_type_select" />
</LinearLayout>

View File

@@ -14,6 +14,7 @@
android:id="@+id/rc_conversation_portrait_rl"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginTop="@dimen/rc_margin_size_12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -179,7 +180,6 @@
android:layout_marginBottom="@dimen/rc_margin_size_12"
android:src="@drawable/rc_read_receipt"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_no_disturb"
app:layout_goneMarginRight="@dimen/rc_margin_size_12" />

View File

@@ -1,159 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rc_conversation_item"
android:layout_width="match_parent"
android:layout_height="@dimen/rc_conversation_item_height">
<com.yunbao.common.views.weight.ClipPathCircleImage
android:id="@+id/rc_conversation_portrait"
android:layout_width="54dp"
android:layout_height="54dp"
android:layout_marginTop="12dp"
android:scaleType="centerCrop"
android:src="@mipmap/beauty_jingbai"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/rc_conversation_live_online"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_marginTop="1dp"
android:layout_marginEnd="1dp"
android:layout_centerInParent="true"
android:src="@drawable/green_dot"
app:layout_constraintEnd_toEndOf="@+id/rc_conversation_portrait"
app:layout_constraintTop_toTopOf="@+id/rc_conversation_portrait" />
<TextView
android:id="@+id/rc_conversation_title"
style="@style/TextStyle.Alignment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:ellipsize="end"
android:maxWidth="120dp"
android:maxLines="1"
android:textColor="@color/rc_text_main_color"
android:textSize="13dp"
app:layout_constraintStart_toEndOf="@+id/rc_conversation_portrait"
app:layout_constraintTop_toTopOf="@+id/rc_conversation_portrait"
tools:text="张三11111111111111111111111" />
<TextView
android:id="@+id/rc_conversation_live_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_main_message_chat_list_live_timer"
android:paddingStart="5dp"
android:paddingTop="2dp"
android:paddingEnd="3dp"
android:paddingBottom="3dp"
android:singleLine="true"
android:textColor="#EC70FD"
android:layout_marginStart="12dp"
android:textSize="10sp"
app:layout_constraintTop_toTopOf="@+id/rc_conversation_title"
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_title"
app:layout_constraintStart_toEndOf="@+id/rc_conversation_title"
android:visibility="gone"
tools:text="看直播10min"
tools:visibility="visible" />
<TextView
android:id="@+id/rc_conversation_date"
style="@style/TextStyle.Alignment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3 月 22 日"
android:layout_marginEnd="12dp"
app:layout_constraintTop_toTopOf="@+id/rc_conversation_title"
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_title"
app:layout_constraintEnd_toEndOf="parent"
android:textColor="@color/rc_auxiliary_color"
android:textSize="@dimen/rc_font_nav_or_date_size"
/>
<TextView
android:id="@+id/rc_conversation_unread_tv"
android:layout_width="wrap_content"
android:layout_marginBottom="4dp"
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="@+id/rc_conversation_title"
android:ellipsize="end"
android:maxLines="1"
tools:text="[已读]"
app:layout_constraintEnd_toStartOf="@id/rc_conversation_content"
android:layout_marginEnd="6dp"
android:visibility="gone"
tools:visibility="visible"
android:textColor="@color/rc_secondary_color"
android:textSize="13dp" />
<TextView
android:id="@+id/rc_conversation_content"
style="@style/TextStyle.Alignment"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingEnd="6dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/rc_secondary_color"
android:textSize="13dp"
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_read_receipt"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/rc_conversation_unread_tv"
android:layout_marginBottom="4dp"
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait"
tools:text="你好朋友111111111111111111111" />
<TextView
android:id="@+id/rc_conversation_unread_count"
app:layout_constraintTop_toTopOf="@+id/rc_conversation_content"
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_content"
app:layout_constraintEnd_toEndOf="@+id/rc_conversation_date"
style="@style/TextStyle.Alignment"
app:layout_constraintDimensionRatio="1"
android:layout_width="18dp"
android:gravity="center"
android:layout_height="18dp"
android:background="@drawable/red_dot"
android:text="15"
android:textColor="@color/rc_white_color"
android:textSize="10sp" />
<ImageView
android:id="@+id/rc_conversation_no_disturb"
android:layout_width="wrap_content"
android:layout_marginEnd="@dimen/rc_margin_size_2"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@+id/rc_conversation_unread_count"
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_unread_count"
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_unread_count"
android:src="@drawable/rc_no_disturb"
android:visibility="gone"
tools:visibility="visible" />
<ImageView
android:id="@+id/rc_conversation_read_receipt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/rc_margin_size_2"
android:src="@drawable/rc_read_receipt"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_no_disturb"
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_no_disturb"
app:layout_constraintTop_toTopOf="@+id/rc_conversation_no_disturb"
app:layout_constraintVertical_bias="1.0"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,139 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="@drawable/shape_white">
<TextView
android:id="@+id/chatTypeTv1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="22dp"
android:layout_weight="1"
android:text="@string/all_chats"
android:textColor="#777777"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:textColor="@color/colorMainTab" />
<ImageView
android:id="@+id/chatTypeImg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp"
android:padding="5dp"
android:src="@mipmap/ic_chat_type_unselect"
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/chatTypeTv1"
tools:src="@mipmap/ic_chat_type_select" />
<TextView
android:id="@+id/chatTypeTv2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="22dp"
android:layout_weight="1"
android:text="@string/online_only"
android:textColor="#777777"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv1" />
<ImageView
android:id="@+id/chatTypeImg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="5dp"
android:src="@mipmap/ic_chat_type_unselect"
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv2"
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
app:layout_constraintTop_toTopOf="@+id/chatTypeTv2" />
<TextView
android:id="@+id/chatTypeTv3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="22dp"
android:layout_weight="1"
android:text="@string/offline_only"
android:textColor="#777777"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv2" />
<ImageView
android:id="@+id/chatTypeImg3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="5dp"
android:src="@mipmap/ic_chat_type_unselect"
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv3"
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
app:layout_constraintTop_toTopOf="@+id/chatTypeTv3" />
<TextView
android:id="@+id/chatTypeTv4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="22dp"
android:layout_weight="1"
android:text="@string/read_only"
android:textColor="#777777"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv3" />
<ImageView
android:id="@+id/chatTypeImg4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="5dp"
android:src="@mipmap/ic_chat_type_unselect"
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv4"
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
app:layout_constraintTop_toTopOf="@+id/chatTypeTv4" />
<TextView
android:id="@+id/chatTypeTv5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="22dp"
android:layout_marginBottom="20dp"
android:layout_weight="1"
android:text="@string/unread_only"
android:textColor="#777777"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv4" />
<ImageView
android:id="@+id/chatTypeImg5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="5dp"
android:src="@mipmap/ic_chat_type_unselect"
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv5"
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
app:layout_constraintTop_toTopOf="@+id/chatTypeTv5" />
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -796,8 +796,8 @@
<string name="facebook_client_token">6e90a23e0679c8d21b0888d5fa755535</string>
<string name="twitter_key">JDd7XEXr0kLcx0KkkJGUbD4MQ</string>
<string name="twitter_secret">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
<string name="twitter_key">ui10vIggex2F043HnztYNuA3g</string>
<string name="twitter_secret">J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ</string>
<string name="twitter_key2">ZWRrZnRUNlBlcHVxMXpsMzVmb2k6MTpjaQ</string>
<string name="twitter_secret2">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
@@ -1474,11 +1474,4 @@ Limited ride And limited avatar frame</string>
<string name="activity_msg_list_include">Include:</string>
<string name="message_chat_msg_look_live">看直播%dmin</string>
<string name="activity_msg_list_title_chat_records">Chat Records</string>
<string name="message_chat_msg_read_tip">[Read]</string>
<string name="message_chat_msg_unread_tip">[Unread]</string>
<string name="all_chats">All Chats</string>
<string name="online_only">Show Online </string>
<string name="offline_only">Show Offline </string>
<string name="read_only">Show Read </string>
<string name="unread_only">Show Unread </string>
</resources>

View File

@@ -651,7 +651,7 @@
<string name="welcome_pdlive">歡迎來到PDLIVE</string>
<string name="newcomer">恭喜你獲得了新人獎勵</string>
<string name="FILE_PROVIDER">com.newpandora.yo.fileprovider</string>
<string name="FILE_PROVIDER">com.pandora.sy.fileprovider</string>
<string name="ren"></string>
<string name="ge"></string>
<string name="count">數量</string>
@@ -835,9 +835,8 @@
<string name="facebook_app_id">977019710454991</string>
<string name="facebook_client_token">6e90a23e0679c8d21b0888d5fa755535</string>
<string name="twitter_key">JDd7XEXr0kLcx0KkkJGUbD4MQ</string>
<string name="twitter_secret">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
<string name="twitter_key">ui10vIggex2F043HnztYNuA3g</string>
<string name="twitter_secret">J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ</string>
<string name="twitter_key2">F8t7PgspJ8Xl2k09ccqmnmynf</string>
<string name="twitter_secret2">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
@@ -1605,11 +1604,5 @@
<string name="live_end_view_ban_reason">違規原因:</string>
<string name="live_end_view_ban_content">處罰內容:</string>
<string name="live_end_view_ban_timer">處罰時間:</string>
<string name="message_chat_msg_read_tip">[已讀]</string>
<string name="message_chat_msg_unread_tip">[未讀]</string>
<string name="all_chats">全部聊天</string>
<string name="online_only">僅展示在線</string>
<string name="offline_only">僅展示離線</string>
<string name="read_only">展示對方已讀</string>
<string name="unread_only">展示對方未讀</string>
</resources>

View File

@@ -641,8 +641,8 @@
<string name="facebook_app_id">977019710454991</string>
<string name="facebook_client_token">6e90a23e0679c8d21b0888d5fa755535</string>
<string name="twitter_key">JDd7XEXr0kLcx0KkkJGUbD4MQ</string>
<string name="twitter_secret">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
<string name="twitter_key">ui10vIggex2F043HnztYNuA3g</string>
<string name="twitter_secret">J8jvBBeJoZbVojbkWUrvsj0K0UUkuV69CqQ7CEobhJn6tvAKpQ</string>
<string name="user_task_text1">Complete the new person\'s pre task</string>
<string name="user_task_text2">Unlock custom features</string>
@@ -1412,11 +1412,5 @@ Limited ride And limited avatar frame</string>
<string name="dialog_gift_wall_text_personal_hal">Personal hal</string>
<string name="dialog_gift_wall_text_site_hal">Whole site hal</string>
<string name="dialog_gift_wall_text_honors">Honors</string>
<string name="message_chat_msg_read_tip">[Read]</string>
<string name="message_chat_msg_unread_tip">[Unread]</string>
<string name="all_chats">All Chats</string>
<string name="online_only">Show Online </string>
<string name="offline_only">Show Offline </string>
<string name="read_only">Show Read </string>
<string name="unread_only">Show Unread </string>
</resources>

View File

@@ -4,8 +4,8 @@ ext {
buildToolsVersion: "29.0.2",
minSdkVersion : 23,
targetSdkVersion : 34,
versionCode : 606,
versionName : "6.8.2",
versionCode : 548,
versionName : "6.8.0",
namespace : "com.pandoralive.shayu"
]
manifestPlaceholders = [
@@ -17,7 +17,7 @@ ext {
//百度语音识别
swReleaseModel : false, //true 声网正式服 false 测试服
swReleaseModel : true, //true 声网正式服 false 测试服
baiduAppId : "23774720",
baiduAppKey : "zgCgFhUKEOV7I3ZXDFpTfnRB",

View File

@@ -22,7 +22,7 @@ ext {
// "tencent-bugly" : 'com.tencent.bugly:crashreport:2.6.6',//腾讯bugly
// "umeng-common" : 'com.umeng.sdk:common:1.5.3',//友盟统计
// "umeng-analytics" : 'com.umeng.sdk:analytics:7.5.3',//友盟统计
"ucrop" : 'com.github.yalantis:ucrop:2.2.9',//图片裁剪
"ucrop" : 'com.github.yalantis:ucrop:2.2.3',//图片裁剪
"smartRefreshLayout" : 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-20',//下拉刷新上拉加载
"magicIndicator" : 'com.github.hackware1993:MagicIndicator:1.6.0',//ViewPager指示器
"banner" : 'com.ms:banner:1.0.0',//轮播图

View File

@@ -24,6 +24,6 @@ android.nonTransitiveRClass=false
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=9098
systemProp.http.proxyPort=9098
android.enableR8.fullMode=true
systemProp.https.proxyPort=7890
systemProp.http.proxyPort=7890
#android.enableR8.fullMode=true

View File

@@ -5,16 +5,13 @@ import android.content.ContentResolver;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.hardware.camera2.CameraManager;
import android.net.Uri;
import android.text.TextUtils;
import android.view.SurfaceView;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.core.content.res.ResourcesCompat;
import com.blankj.utilcode.util.LogUtils;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.bean.SwTokenModel;
@@ -71,7 +68,6 @@ public class SWManager extends BaseCacheManager {
private ImageTrackOptions imageTrackOptions = null;
private onDrPkJoinSuccessListener onDrPkJoinSuccessListener;
String openCameraId = "1";
public void setOnDrPkJoinSuccessListener(SWManager.onDrPkJoinSuccessListener onDrPkJoinSuccessListener) {
this.onDrPkJoinSuccessListener = onDrPkJoinSuccessListener;
@@ -256,20 +252,7 @@ public class SWManager extends BaseCacheManager {
*/
public void switchCamera() {
if (mRtcEngine != null) {
if (openCameraId.equals("0")) {
mRtcEngine.switchCamera("1");
openCameraId = "1";
} else {
mRtcEngine.switchCamera("0");
openCameraId = "0";
}
}
}
public void resetCamera() {
LogUtils.e("重置摄像头", openCameraId);
if (mRtcEngine != null && !TextUtils.isEmpty(openCameraId)) {
mRtcEngine.switchCamera(openCameraId);
mRtcEngine.switchCamera();
}
}
@@ -541,9 +524,6 @@ public class SWManager extends BaseCacheManager {
});
}
public void release() {
}
public interface onRtcEngineListener {
void onOpenSuccess(String channel, int uid);

View File

@@ -176,7 +176,6 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
public void onDismiss() {
}
})
.setHotGiftListUrl(true)
.setShowNumber(false)
.setTitle(mContext.getString(R.string.live_anchor_edit_call_me_select_gift))
.setHideGiftType(true)

View File

@@ -237,7 +237,7 @@ public class LiveReportAdapter extends RecyclerView.Adapter {
if (tag == R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
}
}
});

View File

@@ -62,12 +62,7 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
private TextView mTitle;
private boolean isOldGiftList = false;
private boolean hideGiftType = false;
private boolean isHotGiftListUrl = false;
public GiftPopDialog setHotGiftListUrl(boolean hotGiftListUrl) {
isHotGiftListUrl = hotGiftListUrl;
return this;
}
public GiftPopDialog(@NonNull Context context) {
super(context);
@@ -188,25 +183,6 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
}
}
@Override
public void onFinish() {
if (mLoading != null) {
mLoading.setVisibility(View.INVISIBLE);
}
}
});
} else if (isHotGiftListUrl) {
LiveHttpUtil.getHotGiftList(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
JSONObject obj = JSON.parseObject(info[0]);
JSONArray list = obj.getJSONArray("listarray");
setDate(list);
}
}
@Override
public void onFinish() {
if (mLoading != null) {

View File

@@ -60,10 +60,8 @@ import com.yunbao.common.http.HttpClient;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.GiftCacheUtil;
@@ -414,7 +412,6 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
.params("uid", IMLoginManager.get(mContext).getUserInfo().getId())
.params("token", IMLoginManager.get(mContext).getUserInfo().getToken())
.params("key1", RongcloudIMManager.RONG_IM_KEY)
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -1095,7 +1092,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
Bus.get().post(event);
}).build().show();
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
Log.i("gifBean", mLiveGiftBean.toString());
});
} else if (code == 1001) {

View File

@@ -44,8 +44,6 @@ import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
@@ -517,7 +515,6 @@ public class LiveGiftPopup extends AbsDialogFragment {
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
.params("uid", IMLoginManager.get(mContext).getUserInfo().getId())
.params("token", IMLoginManager.get(mContext).getUserInfo().getToken())
.params("key1", RongcloudIMManager.RONG_IM_KEY)
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -1435,7 +1432,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
Bus.get().post(event);
}).build().show();
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
Log.i("gifBean", mGiftBean.toString());
});
} else if (code == 1001) {

View File

@@ -691,7 +691,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
*/
private void setAvatar() {
if (mLiveSdk == Constants.LIVE_SDK_TX) {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
} else {
DialogUitl.showStringArrayDialog(mContext, new Integer[]{
R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() {
@@ -700,7 +700,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
if (tag == R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
}
}
});

View File

@@ -673,7 +673,7 @@ public class LiveNewReadySwViewHolder extends AbsViewHolder implements View.OnCl
*/
private void setAvatar() {
if (mLiveSdk == Constants.LIVE_SDK_TX) {
mImageUtil.getImageByAlbum(true);
mImageUtil.getImageByAlumb();
} else {
DialogUitl.showStringArrayDialog(mContext, new Integer[]{
R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() {
@@ -682,7 +682,7 @@ public class LiveNewReadySwViewHolder extends AbsViewHolder implements View.OnCl
if (tag == R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlbum(true);
mImageUtil.getImageByAlumb();
}
}
});

View File

@@ -504,9 +504,8 @@ public class LivePushSwViewHolder extends AbsRyLivePushViewHolder implements ITX
public void onResume() {
mPaused = false;
Log.i("摄像头", "onResume: " + isNeedOpenCamera);
swManager.resetCamera();
if (isNeedOpenCamera) {
/*RCRTCEngine.getInstance().getDefaultVideoStream().startCamera(new IRCRTCResultDataCallback<Boolean>() {
RCRTCEngine.getInstance().getDefaultVideoStream().startCamera(new IRCRTCResultDataCallback<Boolean>() {
@Override
public void onSuccess(Boolean data) {
//设置摄像头最大缩放比例
@@ -520,7 +519,7 @@ public class LivePushSwViewHolder extends AbsRyLivePushViewHolder implements ITX
public void onFailed(RTCErrorCode errorCode) {
Log.i("摄像头", "onFailed: 打开摄像头失败 " + errorCode);
}
});*/
});
}
}
@@ -550,8 +549,6 @@ public class LivePushSwViewHolder extends AbsRyLivePushViewHolder implements ITX
public void release() {
super.release();
Bus.getOff(this);
onDestroy();
SWManager.get().release();
LiveHttpUtil.cancel(LiveHttpConsts.LINK_MIC_TX_MIX_STREAM);
rtcRoom = null;
}

View File

@@ -35,6 +35,7 @@ import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveChooseClassActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.adapter.LiveReadyShareAdapter;
import com.yunbao.common.bean.LiveRoomTypeBean;
import com.yunbao.live.dialog.LiveRoomTypeDialogFragment;
@@ -261,7 +262,7 @@ public class LiveReadyRyViewHolder extends AbsViewHolder implements View.OnClick
*/
private void setAvatar() {
if (mLiveSdk == Constants.LIVE_SDK_TX) {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
} else {
DialogUitl.showStringArrayDialog(mContext, new Integer[]{
R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() {
@@ -270,7 +271,7 @@ public class LiveReadyRyViewHolder extends AbsViewHolder implements View.OnClick
if (tag == R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
}
}
});

View File

@@ -285,7 +285,7 @@ public class LiveReadyViewHolder extends AbsViewHolder implements View.OnClickLi
*/
private void setAvatar() {
if (mLiveSdk == Constants.LIVE_SDK_TX) {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
} else {
DialogUitl.showStringArrayDialog(mContext, new Integer[]{
R.string.camera, R.string.alumb}, new DialogUitl.StringArrayDialogCallback() {
@@ -294,7 +294,7 @@ public class LiveReadyViewHolder extends AbsViewHolder implements View.OnClickLi
if (tag == R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
}
}
});

View File

@@ -70,7 +70,6 @@ import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.bean.PrankProgressBean;
import com.yunbao.common.fragment.GiftWallMainTab1Fragment;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
@@ -2361,7 +2360,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
if (!IMLoginManager.get(mContext).hintChat()) {
msgLayout.setVisibility(View.VISIBLE);
}
DebugUtils.runDebugCode(() -> msgLayout.setVisibility(View.GONE));
AppManager.runDebugCode(() -> msgLayout.setVisibility(View.GONE));
if (d_pk_view != null) {
d_pk_view.setVisibility(View.GONE);
}

View File

@@ -33,7 +33,6 @@ import com.lzf.easyfloat.permission.PermissionUtils;
import com.lzf.easyfloat.utils.LifecycleUtils;
import com.yunbao.common.event.LiveMsgWindowsCloseEvent;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
@@ -288,7 +287,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
liveImDeletUtil = new LiveImDeletUtil();
portraitLiveManager = this;
ininView();
DebugUtils.runDebugCode(() -> waitShowTopBannerTime = 1000);
AppManager.runDebugCode(() -> waitShowTopBannerTime = 1000);
}
/**
@@ -876,7 +875,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
}
//liveHandler.postDelayed(loadTimeoutRunnableGone, 15_000);
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
liveHandler.postDelayed(loadTimeoutRunnableGone, 1_000);
});
liveHandler.postDelayed(loadTimeoutRunnableGone, 4_000);

63
main/google-services.json Normal file
View File

@@ -0,0 +1,63 @@
{
"project_info": {
"project_number": "867032862719",
"project_id": "pdlnew",
"storage_bucket": "pdlnew.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:867032862719:android:841a73fdfb6c37453ae1ca",
"android_client_info": {
"package_name": "com.pandora.sy"
}
},
"oauth_client": [
{
"client_id": "867032862719-af2dnojobjd8s6ekdr1is1vev8nk36sv.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.pandora.sy",
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
}
},
{
"client_id": "867032862719-ohaa1f18e186qpasvgt7qkk1i1pivniq.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.pandora.sy",
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
}
},
{
"client_id": "867032862719-snpbqruvqcc9fsifjnmm1h3dcgtr8am4.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.pandora.sy",
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
}
},
{
"client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAnlY2aBEGyg7QpghHo7EaMRkM89dVNgq8"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

View File

@@ -218,7 +218,7 @@ public class CompleteUserInfoActivity extends AbsActivity {
if (isCamera) {
cameraUtil.getImageByCamera();
} else {
cameraUtil.getImageByAlbum();
cameraUtil.getImageByAlumb();
}
});
new XPopup.Builder(mContext).asCustom(userAvatarPopup).show();

View File

@@ -546,7 +546,7 @@ public class EditProfileActivity extends AbsActivity {
if (tag == R.string.camera) {
mImageUtil.getImageByCamera();
} else if (tag == R.string.alumb) {
mImageUtil.getImageByAlbum(true);
mImageUtil.getImageByAlumb();
} else {
RouteUtil.forwardUserAvatarSelect();
}

View File

@@ -441,7 +441,7 @@ public class EntryActivity extends AppCompatActivity {
} else if (loginType == 4) {
try {
// App-to-app login
Intent loginIntent = LineLoginApi.getLoginIntent(findViewById(R.id.btn_line).getContext(), "2006124380", new LineAuthenticationParams.Builder().scopes(Arrays.asList(Scope.PROFILE))
Intent loginIntent = LineLoginApi.getLoginIntent(findViewById(R.id.btn_line).getContext(), "1656399535", new LineAuthenticationParams.Builder().scopes(Arrays.asList(Scope.PROFILE))
// .nonce("<a randomly-generated string>") // nonce can be used to improve security
.build());
startActivityForResult(loginIntent, 1001);

View File

@@ -33,6 +33,8 @@ import com.yunbao.main.R;
import java.io.File;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Route(path = RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY)
public class FeedbackEditActivity extends AbsActivity {
@@ -297,7 +299,7 @@ public class FeedbackEditActivity extends AbsActivity {
loadingDialog = DialogUitl.loadingDialog(mContext);
loadingDialog.show();
if (tag == 1) {
imageUtil.getImageByAlbum(false);
imageUtil.getImageByAlumb(false);
} else {
imageUtil.getImageByCamera(false);
}

View File

@@ -1,6 +1,8 @@
package com.yunbao.main.activity;
import static com.yunbao.main.activity.MyWalletActivity.dis;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
@@ -14,17 +16,15 @@ import android.webkit.WebView;
import androidx.fragment.app.Fragment;
import com.android.billingclient.api.Purchase;
import com.facebook.appevents.AppEventsConstants;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.pay.google.GooglePlay;
import com.yunbao.common.utils.GoogleUtils;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.main.R;
import com.yunbao.main.views.TestWebViewClient;
import java.util.List;
@SuppressLint("ValidFragment")
public class GoogleFragment extends Fragment {
@@ -38,7 +38,7 @@ public class GoogleFragment extends Fragment {
private String url;
String adid = null;
private GooglePlay googlePlay;
GoogleUtils googleUtils;
boolean isGoogleService = true;
@@ -62,16 +62,17 @@ public class GoogleFragment extends Fragment {
Log.e("ttt", url);
rlWebview.loadUrl(url);
googlePlay = GooglePlay.getInstance();
googleUtils = new GoogleUtils(getActivity());
// 验证是否已在此设备上安装并启用Google Play服务以及此设备上安装的旧版本是否为此客户端所需的版本
if (googlePlay.getGoogleService()) {
if (googleUtils.getGoogleService()) {
isGoogleService = true;
// 支持Google服务
initGooglePay();
new Thread() {
@Override
public void run() {
adid = googlePlay.getAdId();
adid = googleUtils.getAdid();
}
}.start();
}
@@ -99,6 +100,11 @@ public class GoogleFragment extends Fragment {
String TAG = "GooglePay";
private void initGooglePay() {
googleUtils = new GoogleUtils(getActivity());
googleUtils.initGooglePay();
}
private Handler payHandler = new Handler();
//js调用原生
@@ -111,31 +117,51 @@ public class GoogleFragment extends Fragment {
mProductId = ProductId;
mOrderid = OrderNumber;
MoneyUsds = MoneyUsd;
googlePlay.setBillingListener(new GooglePlay.GoogleBillingListener() {
googleUtils.setBillingListener(new GoogleUtils.GoogleBillingListener() {
@Override
public void onPaySuccess(List<Purchase> purchases) {
Log.i("mLog", "调用谷歌支付成功了 " + purchases.toString());
CommonHttpUtil.notifyGoogle(purchases.get(0).getPurchaseToken(),
purchases.get(0).getProducts().get(0), new HttpCallback() {
public void onPaySuccess(String token, String orderId) {
payHandler.post(new Runnable() {
@Override
public void run() {
CommonHttpUtil.notifyGoogle(token, orderId, mProductId, mOrderid, adid, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
googlePlay.consume(purchases);
getActivity().finish();
Bundle params = new Bundle();
params.putString("currency", "HKD");
params.putString("money", MoneyUsds);
Bundle fb_params = new Bundle();
fb_params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "HKD");
fb_params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, mProductId);
//Google官方充值通知
Bundle google_params = new Bundle();
google_params.putString("currency", "HKD");
google_params.putString("product_id", mProductId);
google_params.putString("transaction_id", mOrderid);
google_params.putString("value", MoneyUsds);
google_params.putString("price", MoneyUsds);
google_params.putString("quantity", "1");
dis();
ToastUtil.show(getString(R.string.pay_suc));
} else {
ToastUtil.show(msg);
}
}
});
}
});
}
@Override
public void onPayFailed(String msg) {
ToastUtil.show(msg);
payHandler.post(new Runnable() {
@Override
public void run() {
ToastUtil.show(msg);
}
});
}
});
googlePlay.purchase(getActivity(), mOrderid, mProductId);
googleUtils.purchase(mProductId);
}
lastClickTime = currentTime;

View File

@@ -167,39 +167,26 @@ public class LoginActivity extends AbsActivity {
}
//去掉防止抖动
public void loginClick(View v) {
int i = v.getId();
if (i == R.id.btn_login) {
//Intent intent = new Intent(LoginActivity.this, NewLiveActivity.class);
//startActivity(intent);
login();
} else if (i == R.id.btn_register) {
register();
} else if (i == R.id.btn_forget_pwd) {
forgetPwd();
ViewClicksAntiShake.clicksAntiShake(v, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
int i = v.getId();
if (i == R.id.btn_login) {
//Intent intent = new Intent(LoginActivity.this, NewLiveActivity.class);
//startActivity(intent);
login();
} else if (i == R.id.btn_tip) {
forwardTip();
}
// ViewClicksAntiShake.clicksAntiShake(v, new ViewClicksAntiShake.ViewClicksCallBack() {
// @Override
// public void onViewClicks() {
// int i = v.getId();
// if (i == R.id.btn_login) {
// //Intent intent = new Intent(LoginActivity.this, NewLiveActivity.class);
// //startActivity(intent);
// login();
// } else if (i == R.id.btn_register) {
// register();
// } else if (i == R.id.btn_forget_pwd) {
// forgetPwd();
//
// } else if (i == R.id.btn_tip) {
// forwardTip();
// }
// }
// });
} else if (i == R.id.btn_register) {
register();
} else if (i == R.id.btn_forget_pwd) {
forgetPwd();
} else if (i == R.id.btn_tip) {
forwardTip();
}
}
});
}

View File

@@ -41,7 +41,6 @@ import androidx.viewpager.widget.ViewPager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.LogUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.jakewharton.rxbinding3.view.RxView;
@@ -138,7 +137,7 @@ import com.yunbao.main.views.MainHomeViewHolder;
import com.yunbao.main.views.MainMeViewHolder;
import com.yunbao.main.views.MainMessageViewHolder;
import com.yunbao.video.utils.VideoStorge;
import com.yunbao.common.CommonAppContext;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -225,6 +224,7 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
super.create();
getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
getWindow().setSharedElementEnterTransition(new FullAdToBannerTransition(1, 0.4f, new DecelerateInterpolator()));
}
@Override
@@ -235,11 +235,6 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
@Override
protected void main() {
LogUtils.e("MainActivity",
"语言:"+IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage(),
"测试文本:"+getString(R.string.hot)
);
ToastUtil.showDebug("打包时间:"+CommonAppConfig.BUILD_TIME+"\n系统语言:"+IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage());
//初始化声网
SWAuManager.get().initRtcEngine(this);
ActivityCompat.postponeEnterTransition(this);
@@ -357,8 +352,6 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
frameLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
mViewList.add(frameLayout);
}
mainHomeComViewHolder = new MainHomeComViewHolder(mContext, MainActivity.this, mViewList.get(0));
mViewPager.setAdapter(new ViewPagerAdapter(mViewList));
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
@@ -1288,7 +1281,7 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
return;
}
if (position == 0) {
//mainHomeComViewHolder = new MainHomeComViewHolder(mContext, MainActivity.this, parent);
mainHomeComViewHolder = new MainHomeComViewHolder(mContext, MainActivity.this, parent);
vh = mainHomeComViewHolder;
} else if (position == 1) {
mainHomeViewHolder = new MainHomeViewHolder(mContext, parent);

View File

@@ -409,7 +409,7 @@ public class MessageHiConfigActivity extends AbsActivity {
}
}
});
imageUtil.getImageByAlbum();
imageUtil.getImageByAlumb();
loading = DialogUitl.loadingDialog(mContext);
loading.show();
}

View File

@@ -1,7 +1,5 @@
package com.yunbao.main.activity;
import static com.yunbao.common.utils.GoogleUtils.googleUtils;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
@@ -20,21 +18,19 @@ import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.fragment.LoadingDialog;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.pay.google.GooglePlay;
import com.yunbao.common.pay.hw.HwBuilder;
import com.yunbao.common.pay.samsung.SamsungUtil;
import com.yunbao.common.utils.GoogleUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.main.R;
import com.yunbao.main.http.MainHttpUtil;
import com.yunbao.main.utils.HXLinePagerIndicator;
@@ -66,43 +62,37 @@ public class MyWalletActivity extends AbsActivity {
public static String orderId;
HwBuilder hwBuilder;
private GooglePlay googlePlay;
GoogleUtils googleUtils;
LoadingDialog loadingDialog;
SamsungUtil samsungUtil;
int payConfig = 0;
@Override
protected int getLayoutId() {
return R.layout.activity_my_wallet;
}
protected void main() {
super.main();
payConfig= CommonAppConfig.getInstance().getConfig().getPay_type();
if(CommonAppConfig.IS_GOOGLE_PLAY==0&&payConfig==3){
ToastUtil.show(WordUtil.isNewZh()?"充值維護中,請稍後再試":"Recharge is under maintenance. Please try again later.");
finish();
}
super.main();
mw = MyWalletActivity.this;
setTitle(mContext.getString(R.string.wallet));
if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
googleUtils = new GoogleUtils(mContext);
googleUtils.initGooglePay();
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
hwBuilder = new HwBuilder(MyWalletActivity.this);
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 3) {
samsungUtil = SamsungUtil.newInstance(mContext);
samsungUtil.init();
} else {
googlePlay = GooglePlay.getInstance();
//消耗所有商品
googlePlay.consumeAll();
}else{
googleUtils = new GoogleUtils(mContext);
googleUtils.initGooglePay();
}
vp_content = (ViewPager) findViewById(R.id.vp_content);
vp_content.setVisibility(View.VISIBLE);
TextView rView = (TextView) findViewById(R.id.rView);
findViewById(R.id.redPacketMain).setVisibility(View.VISIBLE);
findViewById(R.id.redPacketMain).setOnClickListener(v -> {
@@ -114,8 +104,50 @@ public class MyWalletActivity extends AbsActivity {
loadingDialog.setShowText(getString(R.string.order_query));
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
//消耗所有商品
googlePlay.consumeAll();
googleUtils.setQueryPurchaseListener(mContext, new GoogleUtils.QueryPurchasesListener() {
@Override
public void onResult(JSONObject obj) {
try {
int code = obj.getInt("querySize");
if (code == 0) {
payHandler.post(runnable1);
payHandler.postDelayed(runnable2, 1000);
} else {
JSONArray tokenList = obj.getJSONArray("tokenList");
JSONArray orderList = obj.getJSONArray("orderList");
String tradeNo = obj.getString("tradeNo");
for (int i = 0; i < tokenList.length(); i++) {
int finalI = i;
payHandler.post(new Runnable() {
@Override
public void run() {
//谷歌掉单处理
try {
CommonHttpUtil.Google_sec_pay(tokenList.getString(finalI), orderList.getString(finalI), tradeNo, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (finalI == tokenList.length() - 1) {
loadingDialog.setShowText(getString(R.string.order_query_success));
loadingDialog.dismiss();
}
ToastUtil.show("充值已到账");
finish();
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
googleUtils.queryPurchasesAsync();
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
hwBuilder.consume();
payHandler.post(runnable1);
@@ -125,55 +157,8 @@ public class MyWalletActivity extends AbsActivity {
payHandler.post(runnable1);
payHandler.postDelayed(runnable2, 2000);
} else {
if(payConfig==1){
payHandler.post(runnable1);
payHandler.postDelayed(runnable2, 1000);
}else{
googleUtils.setQueryPurchaseListener(mContext, new GoogleUtils.QueryPurchasesListener() {
@Override
public void onResult(JSONObject obj) {
try {
int code = obj.getInt("querySize");
if (code == 0) {
payHandler.post(runnable1);
payHandler.postDelayed(runnable2, 1000);
} else {
JSONArray tokenList = obj.getJSONArray("tokenList");
JSONArray orderList = obj.getJSONArray("orderList");
String tradeNo = obj.getString("tradeNo");
for (int i = 0; i < tokenList.length(); i++) {
int finalI = i;
payHandler.post(new Runnable() {
@Override
public void run() {
//谷歌掉单处理
try {
CommonHttpUtil.Google_sec_pay(tokenList.getString(finalI), orderList.getString(finalI), tradeNo, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (finalI == tokenList.length() - 1) {
loadingDialog.setShowText(getString(R.string.order_query_success));
loadingDialog.dismiss();
}
ToastUtil.show("充值已到账");
finish();
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
googleUtils.queryPurchasesAsync();
}
payHandler.post(runnable1);
payHandler.postDelayed(runnable2, 1000);
}
});
@@ -201,12 +186,12 @@ public class MyWalletActivity extends AbsActivity {
googleFragment1 = new GoogleFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment1.setArguments(bundle1);
googleFragment2 = new GoogleFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment2.setArguments(bundle2);
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
//华为
@@ -218,12 +203,12 @@ public class MyWalletActivity extends AbsActivity {
huaWeiFragment1 = new HuaWeiFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo");
bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd");
huaWeiFragment1.setArguments(bundle1);
huaWeiFragment2 = new HuaWeiFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo");
bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd");
huaWeiFragment2.setArguments(bundle2);
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 3) {
@@ -243,38 +228,20 @@ public class MyWalletActivity extends AbsActivity {
bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
samsungFragment2.setArguments(bundle2);
} else {
if (payConfig==1){
walletFragment = new WalletFragment();
Bundle bundle = new Bundle();
bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
walletFragment.setArguments(bundle);
walletFragment = new WalletFragment();
Bundle bundle = new Bundle();
bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
walletFragment.setArguments(bundle);
googleFragment1 = new GoogleFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&first_page=1&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment1.setArguments(bundle1);
googleFragment1 = new GoogleFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&first_page=1&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment1.setArguments(bundle1);
googleFragment2 = new GoogleFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment2.setArguments(bundle2);
}else {
rView.setVisibility(View.VISIBLE);
walletFragment = new WalletFragment();
Bundle bundle = new Bundle();
bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
walletFragment.setArguments(bundle);
googleFragment1 = new GoogleFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment1.setArguments(bundle1);
googleFragment2 = new GoogleFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment2.setArguments(bundle2);
}
googleFragment2 = new GoogleFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment2.setArguments(bundle2);
}
} else {
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
@@ -304,12 +271,12 @@ public class MyWalletActivity extends AbsActivity {
huaWeiFragment1 = new HuaWeiFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo");
bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd");
huaWeiFragment1.setArguments(bundle1);
huaWeiFragment2 = new HuaWeiFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo");
bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd");
huaWeiFragment2.setArguments(bundle2);
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 3) {
rView.setVisibility(View.VISIBLE);
@@ -320,50 +287,31 @@ public class MyWalletActivity extends AbsActivity {
samsungFragment1 = new SamsungFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
samsungFragment1.setArguments(bundle1);
samsungFragment2 = new SamsungFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
samsungFragment2.setArguments(bundle2);
} else {
Log.i("tss", "不是首充");
//链接版本
if (payConfig==1){
walletFragment = new WalletFragment();
Bundle bundle = new Bundle();
bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
walletFragment.setArguments(bundle);
googleFragment1 = new GoogleFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment1.setArguments(bundle1);
walletFragment = new WalletFragment();
Bundle bundle = new Bundle();
bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
walletFragment.setArguments(bundle);
googleFragment2 = new GoogleFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment2.setArguments(bundle2);
}else {
rView.setVisibility(View.VISIBLE);
walletFragment = new WalletFragment();
Bundle bundle = new Bundle();
bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
walletFragment.setArguments(bundle);
googleFragment1 = new GoogleFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment1.setArguments(bundle1);
googleFragment2 = new GoogleFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment2.setArguments(bundle2);
}
googleFragment1 = new GoogleFragment();
Bundle bundle1 = new Bundle();
bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment1.setArguments(bundle1);
googleFragment2 = new GoogleFragment();
Bundle bundle2 = new Bundle();
bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
googleFragment2.setArguments(bundle2);
}
}
@@ -543,7 +491,7 @@ public class MyWalletActivity extends AbsActivity {
} catch (JSONException e) {
throw new RuntimeException(e);
e.printStackTrace();
}
}

View File

@@ -586,7 +586,7 @@ public class MyWebViewActivity extends AbsActivity {
if (tag == com.yunbao.main.R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
}
}
});

View File

@@ -49,7 +49,7 @@ public class OneLoginActivity extends AbsActivity {
if (tag == R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlbum();
mImageUtil.getImageByAlumb();
}
}
});

View File

@@ -21,6 +21,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustEvent;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.DeviceUtils;
@@ -374,6 +376,9 @@ public class RegisterActivity extends AbsActivity {
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
//注册成功
//注册埋点
AdjustEvent adjustEvent = new AdjustEvent("h9yurf");
Adjust.trackEvent(adjustEvent);
login(phoneNum, pwd, mUuidDevice);
OpenInstall.reportRegister();
} else {

View File

@@ -15,7 +15,6 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
@@ -95,7 +94,7 @@ public class MainMsgAddressBookListAdapter extends BaseAdapter<MessageChatUserBe
}
holder.getConvertView().setTag(mDataList.get(position));
holder.getConvertView().setOnClickListener(view -> {
DebugUtils.runDebugCode(new Runnable() {
AppManager.runDebugCode(new Runnable() {
@Override
public void run() {
MessageChatUserBean userBean = (MessageChatUserBean) view.getTag();

View File

@@ -22,7 +22,6 @@ import android.widget.LinearLayout;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
@@ -174,12 +173,7 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O
boolean isAnchor = IMLoginManager.get(mContext).getUserInfo().anchorUserType();
if (isAnchor) {
String[] permissions;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
permissions = new String[]{
Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO
};
} else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.TIRAMISU) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
permissions = new String[]{
//Manifest.permission.READ_MEDIA_IMAGES, 去掉选择图片的权限,到里面选择封面的时候再去申请
Manifest.permission.CAMERA,
@@ -205,12 +199,7 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O
boolean isAnchor = IMLoginManager.get(mContext).getUserInfo().anchorUserType();
if (isAnchor) {
String[] permissions;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
permissions = new String[]{
Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO
};
} else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.TIRAMISU) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
permissions = new String[]{
Manifest.permission.READ_MEDIA_IMAGES,
Manifest.permission.CAMERA,
@@ -249,9 +238,9 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O
JSONObject obj = JSON.parseObject(info[0]);
JSONObject obj1 = JSON.parseObject(info1[0]);
try {
if (code == 201) { //声网
if(code==201){ //声网
LiveSwAnchorActivity.forward(mContext, Constants.LIVE_SDK_SW, JSON.parseObject(obj.getString("android"), LiveKsyConfigBean.class));
} else if (code == 200) {//融云
}else if(code==200){//融云
LiveRyAnchorActivity.forward(mContext, obj.getIntValue("live_sdk"), JSON.parseObject(obj.getString("android"), LiveKsyConfigBean.class));
}
} catch (Exception e) {
@@ -326,9 +315,9 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O
if (i == R.id.btn_close) {
} else if (i == R.id.btn_live) {
if (isWifiProxy(mContext) || checkVPN((ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE))) {
ToastUtil.show(WordUtil.isNewZh() ? "檢測開啓了VPN或者代理請先關閉VPN或者代理再開播。" :
ToastUtil.show(WordUtil.isNewZh()?"檢測開啓了VPN或者代理請先關閉VPN或者代理再開播。":
"It is detected that VPN or proxy is turned on. Please turn off VPN or proxy before starting the broadcast.");
DebugUtils.runDebugCode(() -> mCallback.onLiveClick());
AppManager.runDebugCode(() -> mCallback.onLiveClick());
} else {
if (mCallback != null) {
MobclickAgent.onEvent(mContext, "home_page_broadcast", "点击开播按钮");
@@ -342,7 +331,6 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O
}
}
}
private boolean isWifiProxy(Context context) {
final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;
String proxyAddress;
@@ -364,7 +352,6 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O
boolean isVpnConn = networkInfo == null ? false : networkInfo.isConnected();
return isVpnConn;
}
@Override
public void onDestroy() {
super.onDestroy();

View File

@@ -18,7 +18,6 @@ import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.manager.InstructorRemarkManager;
import com.yunbao.common.manager.imrongcloud.PDRongUserInfoManager;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
@@ -136,7 +135,7 @@ public class MainMessageChatListSystemFragment extends AbsMainMessageChatListFra
@Override
public void onChatList() {
if (mAdapter == null) return;
if(mAdapter==null) return;
mAdapter.setChat();
init();
}
@@ -234,7 +233,6 @@ public class MainMessageChatListSystemFragment extends AbsMainMessageChatListFra
@Override
public void onSuccess(List<MessageChatUserBean> data) {
List<BaseUiConversation> list = new ArrayList<>();
UserInfo userInfo=null;
for (MessageChatUserBean datum : data) {
Conversation conversation = new Conversation();
BaseUiConversation baseUiConversation = new SingleConversation(getContext(), conversation);
@@ -249,11 +247,10 @@ public class MainMessageChatListSystemFragment extends AbsMainMessageChatListFra
list.add(baseUiConversation);
userInfo = new UserInfo(baseUiConversation.mCore.getTargetId(),
UserInfo userInfo = new UserInfo(baseUiConversation.mCore.getTargetId(),
baseUiConversation.mCore.getConversationTitle(),
Uri.parse(baseUiConversation.mCore.getPortraitUrl()));
// RongUserInfoManager.getInstance().refreshUserInfoCache(userInfo);
PDRongUserInfoManager.saveUserInfo(userInfo);
RongUserInfoManager.getInstance().refreshUserInfoCache(userInfo);
}
if (!list.isEmpty()) {
List<BaseUiConversation> srcList = new ArrayList<>(mAdapter.getSrcList());

View File

@@ -15,7 +15,6 @@ import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.HttpClient;
import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import com.yunbao.common.utils.MD5Util;
import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.VersionUtil;
@@ -50,7 +49,6 @@ public class MainHttpUtil {
.params("user_login", phoneNum)
.params("user_pass", pwd)
.params("pushid", "")
.params("key1", RongcloudIMManager.RONG_IM_KEY)
.params("lastlogindevice", "Android")
.params("uuid_Device", uuid)
.params("langue", WordUtil.isNewZh()?"chinese":"english")
@@ -257,7 +255,6 @@ public class MainHttpUtil {
*/
public static void getBaseInfo(String uid, String token, final CommonCallback<UserBean> commonCallback) {
HttpClient.getInstance().get("User.getBaseInfos", MainHttpConsts.GET_BASE_INFO)
.params("key1", RongcloudIMManager.RONG_IM_KEY)
.execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -292,7 +289,6 @@ public class MainHttpUtil {
public static void getBaseInfos(String uid, String token, HttpCallback callback) {
HttpClient.getInstance().get("User.getBaseInfos", MainHttpConsts.GET_BASE_INFO)
.params("key1", RongcloudIMManager.RONG_IM_KEY)
.execute(callback);
}
@@ -517,7 +513,7 @@ public class MainHttpUtil {
HttpClient.getInstance().get("Login.getCode", MainHttpConsts.GET_REGISTER_CODE)
.params("mobile", mobile)
.params("sign", sign)
.params("source", "2")
.params("source", "1")
.params("langue", WordUtil.isNewZh()?"chinese":"english")
.execute(callback);
}
@@ -540,7 +536,7 @@ public class MainHttpUtil {
.params("Ticket", Ticket)
.params("MacAddress", macUitl.getNewMac())
.params("Imei", uuid)
.params("source", "2")
.params("source", "1")
.params("langue", WordUtil.isNewZh()?"chinese":"english")
.execute(callback);
}
@@ -650,7 +646,7 @@ public class MainHttpUtil {
HttpClient.getInstance().get("Login.getCode", MainHttpConsts.GET_FIND_PWD_CODE)
.params("mobile", mobile)
.params("country_code", country_code)
.params("source", "2")
.params("source", "1")
.params("langue", WordUtil.isNewZh()?"chinese":"english")
.execute(callback);
}

View File

@@ -32,11 +32,9 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.Group;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelProvider;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
@@ -45,17 +43,13 @@ import com.binioter.guideview.Guide;
import com.binioter.guideview.GuideBuilder;
import com.facebook.appevents.AppEventsLogger;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.core.BasePopupView;
import com.lxj.xpopup.enums.PopupPosition;
import com.lxj.xpopup.interfaces.XPopupCallback;
import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.fragment.ChatViewModel;
import com.yunbao.common.fragment.MainMessageRecommendFragment;
import com.yunbao.common.utils.DebugUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.MobclickAgent;
@@ -78,7 +72,6 @@ import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.ViewPageIndicatorUtils;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.AbsMainViewHolder;
import com.yunbao.common.views.MsgChatTypeSelectPoPupView;
import com.yunbao.common.views.MsgRecommendPopupView;
import com.yunbao.common.views.MsgSysDelPopupView;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
@@ -138,20 +131,17 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
private MagicIndicator mIndicator;
private List<AbsMainMessageChatListFragment> fragmentList;
private Group tabLayout1, tabLayout2, tabLayout3;
private ConstraintLayout tabLayout1, tabLayout2, tabLayout3;
private TextView tab1, tab2, tab3;
private ImageView imageView1, imageView2, imageView3;
private View tab_line1, tab_line2, tab_line3;
private ImageView tab_icon;
private List<Group> relativeLayouts = new ArrayList<>();
private List<ConstraintLayout> relativeLayouts = new ArrayList<>();
private List<TextView> tabTexts = new ArrayList<>();
private List<View> tabLine = new ArrayList<>();
private List<ImageView> tabExpend = new ArrayList<>();
private ConstraintLayout tabLayouts;
private LinearLayout tabLayouts;
private int userType = 0; // (0)普通用户 (1)主播A (2)主播B
ChatViewModel chatViewModel;
public MainMessageViewHolder setHomeZdyPop(String homeZdyPop) {
this.homeZdyPop = homeZdyPop;
@@ -165,7 +155,6 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
public MainMessageViewHolder(MainActivity context, ViewGroup parentView) {
super(context, parentView);
mContext = context;
chatViewModel= (new ViewModelProvider(mContext)).get(ChatViewModel.class);
}
@Override
@@ -203,28 +192,14 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
tabLayouts = findViewById(R.id.tabLayouts);
tab_icon = findViewById(R.id.tab_icon);
tabLayout1 = findViewById(R.id.group_tab1);
tabLayout2 = findViewById(R.id.group_tab2);
tabLayout3 = findViewById(R.id.group_tab3);
tabLayout1 = findViewById(R.id.tabLayout1);
tabLayout2 = findViewById(R.id.tabLayout2);
tabLayout3 = findViewById(R.id.tabLayout3);
tab1 = findViewById(R.id.tab1);
tab2 = findViewById(R.id.tab2);
tab3 = findViewById(R.id.tab3);
imageView1 = findViewById(R.id.expendImg1);
imageView2 = findViewById(R.id.expendImg2);
imageView3 = findViewById(R.id.expendImg3);
imageView1.setOnClickListener(view -> {
selectChatType(view, 0);
});
imageView2.setOnClickListener(view -> {
selectChatType(view, 1);
});
imageView3.setOnClickListener(view -> {
selectChatType(view, 2);
});
tab_line1 = findViewById(R.id.tab_line1);
tab_line2 = findViewById(R.id.tab_line2);
tab_line3 = findViewById(R.id.tab_line3);
@@ -248,73 +223,6 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
});
}
private void selectChatType(View view, int position) {
AbsMainMessageChatListFragment fragment = fragmentList.get(position);
if (!(fragment instanceof MainMessageChatListFragment) || !(view instanceof ImageView)) {
return;
}
MainMessageChatListFragment chatFragment = (MainMessageChatListFragment) fragment;
ImageView expendImg = (ImageView) view;
expendImg.setImageResource(R.mipmap.ic_expend_up);
XPopup.Builder builder = new XPopup.Builder(mContext).atView(tabTexts.get(position));
builder.offsetY(16);
builder.dismissOnTouchOutside(true);
builder.setPopupCallback(new XPopupCallback() {
@Override
public void onCreated(BasePopupView popupView) {
}
@Override
public void beforeShow(BasePopupView popupView) {
}
@Override
public void onShow(BasePopupView popupView) {
}
@Override
public void onDismiss(BasePopupView popupView) {
expendImg.setImageResource(R.mipmap.ic_expend_down);
}
@Override
public void beforeDismiss(BasePopupView popupView) {
}
@Override
public boolean onBackPressed(BasePopupView popupView) {
return false;
}
@Override
public void onKeyBoardStateChanged(BasePopupView popupView, int height) {
}
@Override
public void onDrag(BasePopupView popupView, int value, float percent, boolean upOrLeft) {
}
@Override
public void onClickOutside(BasePopupView popupView) {
}
});
builder.asCustom(new MsgChatTypeSelectPoPupView(mContext, chatFragment.getFilter(), new MsgChatTypeSelectPoPupView.ResultCallBack() {
@Override
public void callBack(int i,String str) {
tabTexts.get(position).setText(str);
chatFragment.setFilter(i);
}
})).show();
}
private void initFragment() {
final String[] titles;
fragmentList = new ArrayList<>();
@@ -355,9 +263,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
return fragmentList.get(i);
}
});
if (userType == 1) {
if(userType==1){
viewPager.setCurrentItem(1);
} else {
}else{
viewPager.setCurrentItem(0);
}
viewPager.setUserInputEnabled(false);
@@ -431,9 +339,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
if (!StringUtil.isEmpty(search.getText().toString())) {
search.setText("");
}
search.setText("");
selectTab(position);
}
});
@@ -460,12 +366,6 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
});
}
private void showChatTypeSelect() {
}
private void initTabView() {
relativeLayouts = new ArrayList<>();
tabTexts = new ArrayList<>();
@@ -479,19 +379,14 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
tabTexts.add(tab2);
tabTexts.add(tab3);
tabExpend.add(imageView1);
tabExpend.add(imageView2);
tabExpend.add(imageView3);
tabLine.add(tab_line1);
tabLine.add(tab_line2);
tabLine.add(tab_line3);
if (userType == 0) { //普通用户
relativeLayouts.get(0).setVisibility(View.VISIBLE);
tabTexts.get(0).setText(WordUtil.getNewString(chatViewModel.getTitleTextId()));
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
ViewGroup.LayoutParams params = tabLayouts.getLayoutParams();
params.width = LinearLayout.LayoutParams.WRAP_CONTENT;
//tabExpend.get(0).setVisibility(View.VISIBLE);
tabLayouts.setLayoutParams(params);
} else if (userType == 1) {//主播A
tab_icon.setVisibility(View.VISIBLE);
@@ -511,12 +406,10 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
relativeLayouts.get(0).setVisibility(View.VISIBLE);
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend));
relativeLayouts.get(1).setVisibility(View.VISIBLE);
tabTexts.get(1).setText(WordUtil.getNewString(chatViewModel.getTitleTextId()));
// tabExpend.get(1).setVisibility(View.VISIBLE);
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
} else { //主播B
tabExpend.get(0).setVisibility(View.VISIBLE);
relativeLayouts.get(0).setVisibility(View.VISIBLE);
tabTexts.get(0).setText(WordUtil.getNewString(chatViewModel.getTitleTextId()));
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all));
relativeLayouts.get(1).setVisibility(View.VISIBLE);
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_system));
relativeLayouts.get(2).setVisibility(View.VISIBLE);
@@ -524,7 +417,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
}
for (int i = 0; i < relativeLayouts.size(); i++) {
int finalI = i;
tabTexts.get(i).setOnClickListener(new View.OnClickListener() {
relativeLayouts.get(i).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectTab(finalI);
@@ -532,9 +425,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
}
});
}
if (userType == 1) {
if(userType==1){
selectTab(1);
} else {
}else{
selectTab(0);
}
}
@@ -615,7 +508,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
LiveNetManager.get(mContext).getIsAnchor(new com.yunbao.common.http.base.HttpCallback<MessageChatIsAnchor>() {
@Override
public void onSuccess(MessageChatIsAnchor data) {
DebugUtils.runDebugCode(() -> {
AppManager.runDebugCode(() -> {
more.setVisibility(View.VISIBLE);
});
if (data.getIsAnchor() == 1 && CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("C")) {

View File

@@ -191,7 +191,8 @@
android:layout_height="57dp"
android:layout_gravity="center"
android:layout_weight="1"
android:src="@mipmap/login_line" />
android:src="@mipmap/login_line"
android:visibility="visible" />
<RelativeLayout
android:layout_width="57dp"

View File

@@ -17,7 +17,6 @@
<androidx.viewpager.widget.ViewPager
android:id="@+id/vp_content"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />

View File

@@ -64,7 +64,7 @@
android:layout_width="0dp"
android:layout_height="24dp"
android:layout_gravity="end|bottom"
android:layout_marginStart="5dp"
android:layout_marginStart="8dp"
android:layout_marginTop="18dp"
android:layout_marginEnd="15dp"
android:layout_marginBottom="16dp"
@@ -303,412 +303,185 @@
android:layout_height="37dp"
android:visibility="gone" />
<androidx.constraintlayout.widget.ConstraintLayout
<LinearLayout
android:id="@+id/tabLayouts"
android:layout_width="match_parent"
android:layout_height="40dp"
android:paddingStart="12dp"
android:paddingEnd="12dp">
android:gravity="center_vertical"
android:paddingStart="20dp"
android:paddingEnd="20dp">
<TextView
android:id="@+id/tab1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:maxWidth="100dp"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/view2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="仅显示已读" />
<ImageView
android:id="@+id/tab_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
android:src="@mipmap/icon_msg_recommend"
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tab1"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<View
android:id="@+id/tab_line1"
tools:visibility="visible"
android:id="@+id/tabLayout1"
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="3dp"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab1"
app:layout_constraintStart_toStartOf="@+id/tab1"
app:layout_constraintBottom_toBottomOf="parent" />
<ImageView
android:id="@+id/expendImg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:src="@mipmap/ic_expend_down"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/tab1"
app:layout_constraintStart_toEndOf="@+id/tab1"
app:layout_constraintTop_toTopOf="@+id/tab1"
tools:visibility="gone" />
android:layout_weight="1">
<androidx.constraintlayout.widget.Group
android:id="@+id/group_tab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/tab_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
android:layout_toStartOf="@+id/tab_top1"
android:src="@mipmap/icon_msg_recommend"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tab_top1"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/tab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="tab1"
android:textSize="15dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/tab_line1"
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_marginTop="3dp"
android:layout_below="@+id/tab_top1"
android:layout_centerHorizontal="true"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab1"
app:layout_constraintStart_toStartOf="@+id/tab1"
app:layout_constraintTop_toBottomOf="@+id/tab1" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="tab1,tab_line1"/>
<View
android:id="@+id/view2"
android:layout_width="1dp"
android:layout_height="1dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tab2"
app:layout_constraintStart_toEndOf="@+id/tab1"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tab2"
android:maxWidth="100dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="15sp"
android:textStyle="bold"
tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/view3"
app:layout_constraintStart_toEndOf="@+id/view2"
app:layout_constraintTop_toTopOf="parent"
tools:text="系统匹配" />
<View
android:id="@+id/tab_line2"
android:id="@+id/tabLayout2"
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="3dp"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab2"
app:layout_constraintStart_toStartOf="@+id/tab2"
app:layout_constraintBottom_toBottomOf="parent" />
<ImageView
android:id="@+id/expendImg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:src="@mipmap/ic_expend_down"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/tab2"
app:layout_constraintStart_toEndOf="@+id/tab2"
app:layout_constraintTop_toTopOf="@+id/tab2"
tools:visibility="gone" />
android:layout_weight="1">
<androidx.constraintlayout.widget.Group
android:id="@+id/group_tab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/tab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="tab1"
android:textSize="15dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/tab_line2"
android:layout_width="0dp"
android:layout_marginTop="3dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_height="3dp"
android:layout_below="@+id/tab_top2"
android:layout_centerHorizontal="true"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab2"
app:layout_constraintStart_toStartOf="@+id/tab2"
app:layout_constraintTop_toBottomOf="@+id/tab2" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="view2,tab2,tab_line2"/>
<View
android:id="@+id/view3"
android:layout_width="1dp"
android:layout_height="1dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tab3"
app:layout_constraintStart_toEndOf="@+id/tab2"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:maxWidth="100dp"
android:id="@+id/tab3"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="15sp"
android:textStyle="bold"
tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/view3"
app:layout_constraintTop_toTopOf="parent"
tools:text="对方主动" />
<View
tools:visibility="visible"
android:id="@+id/tab_line3"
android:id="@+id/tabLayout3"
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="3dp"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab3"
app:layout_constraintStart_toStartOf="@+id/tab3"
app:layout_constraintBottom_toBottomOf="parent" />
<ImageView
android:id="@+id/expendImg3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:src="@mipmap/ic_expend_down"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/tab3"
app:layout_constraintStart_toEndOf="@+id/tab3"
app:layout_constraintTop_toTopOf="@+id/tab3"
tools:visibility="gone" />
android:layout_weight="1">
<androidx.constraintlayout.widget.Group
android:id="@+id/group_tab3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="view3,tab3,tab_line3"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top3"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/tab3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="tab1"
android:textSize="15dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/tab_line3"
android:layout_width="0dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_height="3dp"
android:layout_marginTop="3dp"
android:layout_below="@+id/tab_top3"
android:layout_centerHorizontal="true"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab3"
app:layout_constraintStart_toStartOf="@+id/tab3"
app:layout_constraintTop_toBottomOf="@+id/tab3" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- <LinearLayout-->
<!-- android:id="@+id/tabLayouts"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:gravity="center_vertical"-->
<!-- android:paddingStart="20dp"-->
<!-- android:paddingEnd="20dp">-->
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/tabLayout1"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_weight="1"-->
<!-- android:visibility="gone"-->
<!-- tools:visibility="visible">-->
<!-- <ImageView-->
<!-- android:id="@+id/tab_icon"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginEnd="5dp"-->
<!-- android:layout_toStartOf="@+id/tab_top1"-->
<!-- android:src="@mipmap/icon_msg_recommend"-->
<!-- android:visibility="gone"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toStartOf="@+id/tab_top1"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- tools:visibility="visible" />-->
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/tab_top1"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:gravity="center_horizontal"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintWidth_percent="0.8"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- tools:ignore="MissingConstraints">-->
<!-- <TextView-->
<!-- android:id="@+id/tab1"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:gravity="center"-->
<!-- android:text="tab1"-->
<!-- android:textSize="15dp"-->
<!-- android:textStyle="bold"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintHorizontal_bias="1.0"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<!-- <View-->
<!-- android:id="@+id/tab_line1"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="3dp"-->
<!-- android:layout_below="@+id/tab_top1"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:layout_marginStart="3dp"-->
<!-- android:layout_marginTop="3dp"-->
<!-- android:layout_marginEnd="3dp"-->
<!-- android:background="@drawable/bg_main_com_type"-->
<!-- app:layout_constraintEnd_toEndOf="@+id/tab1"-->
<!-- app:layout_constraintStart_toStartOf="@+id/tab1"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/tab1" />-->
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<!-- <ImageView-->
<!-- android:id="@+id/expendImg1"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:padding="5dp"-->
<!-- android:src="@mipmap/ic_expend_down"-->
<!-- android:visibility="gone"-->
<!-- android:layout_marginEnd="1dp"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintHorizontal_bias="0.1"-->
<!-- app:layout_constraintStart_toEndOf="@+id/tab_top1"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- tools:visibility="visible" />-->
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/tabLayout2"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_weight="1"-->
<!-- android:visibility="gone"-->
<!-- tools:visibility="visible">-->
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/tab_top2"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:gravity="center_horizontal"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- tools:ignore="MissingConstraints">-->
<!-- <TextView-->
<!-- android:id="@+id/tab2"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:gravity="center"-->
<!-- android:text="tab1"-->
<!-- android:textSize="15dp"-->
<!-- android:textStyle="bold"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintHorizontal_bias="1.0"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<!-- <View-->
<!-- android:id="@+id/tab_line2"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="3dp"-->
<!-- android:layout_below="@+id/tab_top2"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:layout_marginStart="3dp"-->
<!-- android:layout_marginTop="3dp"-->
<!-- android:layout_marginEnd="3dp"-->
<!-- android:background="@drawable/bg_main_com_type"-->
<!-- app:layout_constraintEnd_toEndOf="@+id/tab2"-->
<!-- app:layout_constraintStart_toStartOf="@+id/tab2"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/tab2" />-->
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<!-- <ImageView-->
<!-- android:id="@+id/expendImg2"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:padding="5dp"-->
<!-- android:src="@mipmap/ic_expend_down"-->
<!-- android:visibility="gone"-->
<!-- app:layout_constraintHorizontal_bias="0.1"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toEndOf="@+id/tab_top2"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- tools:visibility="visible" />-->
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/tabLayout3"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_weight="1"-->
<!-- android:visibility="gone"-->
<!-- tools:visibility="visible">-->
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/tab_top3"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:gravity="center_horizontal"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- tools:ignore="MissingConstraints">-->
<!-- <TextView-->
<!-- android:id="@+id/tab3"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:gravity="center"-->
<!-- android:text="tab1"-->
<!-- android:textSize="15dp"-->
<!-- android:textStyle="bold"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintHorizontal_bias="1.0"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<!-- <View-->
<!-- android:id="@+id/tab_line3"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="3dp"-->
<!-- android:layout_below="@+id/tab_top3"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:layout_marginStart="3dp"-->
<!-- android:layout_marginTop="3dp"-->
<!-- android:layout_marginEnd="3dp"-->
<!-- android:background="@drawable/bg_main_com_type"-->
<!-- app:layout_constraintEnd_toEndOf="@+id/tab3"-->
<!-- app:layout_constraintStart_toStartOf="@+id/tab3"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/tab3" />-->
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<!-- <ImageView-->
<!-- android:id="@+id/expendImg3"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_centerHorizontal="true"-->
<!-- android:padding="5dp"-->
<!-- app:layout_constraintHorizontal_bias="0.1"-->
<!-- android:src="@mipmap/ic_expend_down"-->
<!-- android:visibility="gone"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toEndOf="@+id/tab_top3"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- tools:visibility="visible" />-->
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<!-- </LinearLayout>-->
</LinearLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@@ -6,6 +6,6 @@ include ':Share'
include ':pluginsForAnchor'
include ':lib_huawei'
include ':lib_google'
include ':IAP6Helper'
//include ':IAP6Helper'
include ':lib_faceunity'
include ':TabLayout'

View File

@@ -6,7 +6,6 @@ import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AccelerateInterpolator;
import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.DefaultLoadControl;