Compare commits

...

37 Commits

Author SHA1 Message Date
18401019693
82fd35305a 埋点配置 2023-09-05 13:24:21 +08:00
18401019693
93aa8e55e5 埋点配置 2023-09-02 10:10:50 +08:00
18401019693
dd6600a89e 埋点配置 2023-08-31 09:56:41 +08:00
18401019693
233469c7e4 埋点配置 2023-08-30 13:44:56 +08:00
18401019693
72e9633045 埋点配置 2023-08-30 13:21:40 +08:00
18401019693
7a31ca52da 埋点配置 2023-08-30 09:44:26 +08:00
18401019693
33930f3e32 埋点配置 2023-08-29 13:35:38 +08:00
18401019693
1a58311e26 埋点配置 2023-08-28 16:52:19 +08:00
18401019693
bebf0820ca 埋点配置 2023-08-25 15:12:48 +08:00
18401019693
6bcaf2ba9c 埋点配置 2023-08-23 15:05:32 +08:00
18401019693
3de972d12c 6.5.4礼物冠名 2023-08-22 14:03:04 +08:00
18401019693
95252f2f02 6.5.4礼物冠名 2023-08-22 13:31:32 +08:00
18401019693
3b351ffad8 6.5.4礼物冠名 2023-08-22 10:13:57 +08:00
2332255b37 礼物栏等级页面补充中英文标识 2023-08-21 17:38:41 +08:00
18401019693
90c2f3e2da 6.5.4礼物冠名 2023-08-21 17:20:29 +08:00
18401019693
644615ffc0 6.5.4礼物冠名 2023-08-21 15:28:29 +08:00
18401019693
345c9067aa 6.5.4礼物冠名 2023-08-19 16:05:30 +08:00
18401019693
c20312b982 6.5.4礼物冠名 2023-08-18 18:43:47 +08:00
18401019693
643568f63b 6.5.4礼物冠名 2023-08-18 18:08:15 +08:00
18401019693
f03ba293b5 6.5.4礼物冠名 2023-08-18 17:43:13 +08:00
a2f954b28a Merge remote-tracking branch 'origin/master' 2023-08-18 14:48:41 +08:00
d4549793d1 调整头像相关 2023-08-18 14:48:33 +08:00
18401019693
5da8855948 6.5.4礼物冠名 2023-08-18 14:17:46 +08:00
18401019693
348dca8474 6.5.4礼物冠名 2023-08-18 13:49:20 +08:00
18401019693
5afed0ee43 6.5.4礼物冠名 2023-08-18 11:04:21 +08:00
18401019693
d065726274 6.5.4礼物冠名 2023-08-17 18:20:53 +08:00
18401019693
8f9d558043 6.5.4礼物冠名 2023-08-17 18:15:25 +08:00
c594364574 调整关注逻辑 2023-08-17 17:17:06 +08:00
18401019693
68140c8a3a 6.5.4礼物冠名 2023-08-17 15:38:59 +08:00
5a4001c858 调整退出粉丝团逻辑 2023-08-17 13:45:40 +08:00
18401019693
d5953bd651 6.5.4礼物冠名 2023-08-17 13:19:04 +08:00
18401019693
17a2f5e091 6.5.4礼物冠名 2023-08-16 20:01:46 +08:00
18401019693
b2297b062e 6.5.4礼物冠名 2023-08-16 18:17:26 +08:00
b53472de28 調整文案 2023-08-16 17:32:29 +08:00
18401019693
9bce235817 6.5.4礼物冠名 2023-08-16 16:23:28 +08:00
18401019693
60ce5572cf 6.5.4礼物冠名 2023-08-16 15:37:07 +08:00
18401019693
3761cad653 6.5.4礼物冠名 2023-08-16 14:50:50 +08:00
185 changed files with 1893 additions and 617 deletions

View File

@@ -235,4 +235,18 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
}
-keep class com.faceunity.wrapper.faceunity$LoadConfig*{
private static boolean sLoadedLibrary;
}
-keep class com.umeng.** {*;}
-keep class org.repackage.** {*;}
-keep class com.uyumao.** { *; }
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

View File

@@ -6,7 +6,8 @@
<uses-permission
android:name="android.permission.CALL_PHONE"
tools:node="remove" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"
<uses-permission
android:name="android.permission.CHANGE_CONFIGURATION"
tools:ignore="ProtectedPermissions" />
<uses-permission
android:name="android.permission.READ_LOGS"
@@ -81,12 +82,12 @@
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- Android11新增 -->
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />-->
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
<queries>
<package android:name="com.twitter.android"/>
<package android:name="jp.naver.line.android"/>
<package android:name="com.twitter.android" />
<package android:name="jp.naver.line.android" />
</queries>
<application
@@ -95,30 +96,30 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:preserveLegacyExternalStorage="true"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="theme,label,icon,allowBackup">
<!-- <service-->
<!-- android:name="com.shayu.phonelive.utils.MyNotificationService">-->
<!-- <intent-filter>-->
<!-- <action android:name="com.google.firebase.MESSAGING_EVENT" />-->
<!-- </intent-filter>-->
<!-- </service>-->
<!-- <service-->
<!-- android:name="com.shayu.phonelive.utils.MyNotificationService">-->
<!-- <intent-filter>-->
<!-- <action android:name="com.google.firebase.MESSAGING_EVENT" />-->
<!-- </intent-filter>-->
<!-- </service>-->
<service
android:name="io.rong.push.platform.google.RongFirebaseMessagingService"
android:stopWithTask="false"
android:exported="false">
android:exported="false"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<activity
android:name="com.shayu.phonelive.activity.LauncherActivity"
android:exported="true"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity"
android:exported="true">
tools:ignore="LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -130,7 +131,8 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="smvslm" />
<data android:scheme="um.64e40ee55488fe7b3afa2c96" />
</intent-filter>
</activity>
@@ -162,13 +164,16 @@
<meta-data
android:name="com.facebook.sdk.ClientToken"
android:value="@string/facebook_client_token" />
<meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled" android:value="false"/>
<meta-data
android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
android:value="false" />
<meta-data
android:name="firebase_messaging_auto_init_enabled"
android:value="false" />
<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="false" />
<receiver
android:name="com.shayu.phonelive.utils.CustomMessageReceiver"
android:exported="true">
@@ -186,12 +191,12 @@
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
<!-- <meta-data-->
<!-- android:name="com.huawei.hms.client.appid"-->
<!-- android:value="106936673"/>-->
<!-- <meta-data-->
<!-- android:name="com.huawei.hms.client.cpid"-->
<!-- android:value="30086000612391734"/>-->
<!-- <meta-data-->
<!-- android:name="com.huawei.hms.client.appid"-->
<!-- android:value="106936673"/>-->
<!-- <meta-data-->
<!-- android:name="com.huawei.hms.client.cpid"-->
<!-- android:value="30086000612391734"/>-->
</application>
</manifest>

View File

@@ -32,6 +32,8 @@ import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
import com.tencent.imsdk.v2.V2TIMManager;
import com.tencent.imsdk.v2.V2TIMSimpleMsgListener;
import com.tencent.imsdk.v2.V2TIMUserInfo;
import com.umeng.analytics.MobclickAgent;
import com.umeng.commonsdk.UMConfigure;
import com.yunbao.common.BuildConfig;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
@@ -163,8 +165,23 @@ public class AppContext extends CommonAppContext {
if (isMainProcess()) {
OpenInstall.init(this);
}
//设置LOG开关默认为false
UMConfigure.setLogEnabled(true);
//友盟正式初始化
UMConfigure.init(getApplicationContext(), "64e40ee55488fe7b3afa2c96", "PDLive", UMConfigure.DEVICE_TYPE_PHONE,
"64e40ee55488fe7b3afa2c96");
//集成umeng-crash-vx.x.x.aar则需要关闭原有统计SDK异常捕获功能
MobclickAgent.setCatchUncaughtExceptions(false);
//PushSDK初始化(如使用推送SDK必须调用此方法)
//统计SDK是否支持采集在子进程中打点的自定义事件默认不支持
UMConfigure.setProcessEvent(true);//支持多进程打点
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
UMConfigure.submitPolicyGrantResult(getApplicationContext(), true);
registerActivityLifecycleCallbacks(new AdjustLifecycleCallbacks());
//初始化 AndroidUtilCode
Utils.init(this);

View File

@@ -11,6 +11,7 @@ buildscript {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.fabric.io/public' }
maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
maven { url 'https://repo1.maven.org/maven2/' }//埋点
google()
mavenCentral()
}
@@ -41,6 +42,7 @@ allprojects {
maven { url 'https://maven.fabric.io/public' }
maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
maven { url "https://jitpack.io" }
maven { url 'https://repo1.maven.org/maven2/' }//埋点
google() // Google's Maven repository
}
}

View File

@@ -196,4 +196,8 @@ dependencies {
api 'com.github.gzu-liyujiang.AndroidPicker:WheelView:4.1.11'
//自定义圆角图片
api 'com.makeramen:roundedimageview:2.3.0'
// 友盟统计SDK
api 'com.umeng.umsdk:common:9.6.3'// 必选
api 'com.umeng.umsdk:asms:1.8.0'// 必选
api 'com.umeng.umsdk:uyumao:1.1.2' //高级运营分析功能依赖库使用卸载分析、开启反作弊能力请务必集成以免影响高级功能使用。common需搭配v9.6.3及以上版本asms需搭配v1.7.0及以上版本。需更新隐私声明。
}

View File

@@ -24,6 +24,7 @@ import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.R;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.interfaces.LifeCycleListener;
@@ -178,11 +179,15 @@ public abstract class AbsActivity extends AppCompatActivity {
}
//友盟统计
// MobclickAgent.onResume(this);
MobclickAgent.onPageStart(this.mTag);
Log.e("MobclickAgent","MobclickAgent:_onResume_"+this.mTag);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPageEnd(this.mTag);
Log.e("MobclickAgent","MobclickAgent:_onPause_"+this.mTag);
if (mLifeCycleListeners != null) {
for (LifeCycleListener listener : mLifeCycleListeners) {
listener.onPause();
@@ -376,4 +381,5 @@ public abstract class AbsActivity extends AppCompatActivity {
break;
}
}
}

View File

@@ -23,12 +23,17 @@ import android.widget.ProgressBar;
import androidx.annotation.RequiresApi;
import com.alibaba.fastjson.JSON;
import com.lxj.xpopup.XPopup;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.Constants;
import com.yunbao.common.R;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.manager.IMLoginManager;
@@ -39,10 +44,13 @@ import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.views.HintCustomPopup;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -162,7 +170,7 @@ public class WebViewActivity extends AbsActivity {
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
String appCachePath = mContext.getCacheDir().getAbsolutePath();
mWebView.getSettings().setAppCachePath(appCachePath);
// mWebView.getSettings().setAppCachePath(appCachePath);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setUseWideViewPort(true); // 关键点
mWebView.getSettings().setAllowFileAccess(true); // 允许访问文件
@@ -241,7 +249,10 @@ public class WebViewActivity extends AbsActivity {
mValueCallback2 = null;
}
public static void forward(Context context, String url, boolean addArgs) {
private static boolean mIsLive = false;
public static void forward(Context context, String url, boolean addArgs, boolean isLive) {
mIsLive = isLive;
if (Constants.LoginKefu) {
if (addArgs) {
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
@@ -252,8 +263,9 @@ public class WebViewActivity extends AbsActivity {
context.startActivity(intent);
}
public static void forward(Context context, String url) {
forward(context, url, true); }
public static void forward(Context context, String url,boolean isLive) {
forward(context, url, true, isLive);
}
@Override
@@ -319,6 +331,7 @@ public class WebViewActivity extends AbsActivity {
if (Constants.isShowPage != -1) {
finish();
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -374,6 +387,59 @@ public class WebViewActivity extends AbsActivity {
}
}))
.show();
} else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
//看直播
gotoLive(event.getLiveId());
}
}
private void gotoLive(final String live_id) {
LiveHttpUtil.getLiveInfo(live_id, new com.yunbao.common.http.HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
if (liveBean == null) {
return;
}
if (MicStatusManager.getInstance().isMic(liveUid)) {
MicStatusManager.getInstance().showDownMicDialog(mContext);
return;
}
if (mIsLive) {
finish();
if (MicStatusManager.getInstance().isMic(liveUid)) {
MicStatusManager.getInstance().showDownMicDialog(mContext);
return;
}
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
} else {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
}
finish();
}
@Override
public void onCheckError(String contextError) {
}
});
} else {
RouteUtil.forwardUserHome(mContext, live_id, 0);
}
}
});
}
@Override
protected void onPause() {
super.onPause();
}
}

View File

@@ -0,0 +1,359 @@
package com.yunbao.common.bean;
import com.google.gson.annotations.SerializedName;
public class GiftNamingInfoModel extends BaseModel {
@SerializedName("id")
private String id;
@SerializedName("sendtype")
private String sendtype;
@SerializedName("type")
private String type;
@SerializedName("name")
private String name;
@SerializedName("release_status")
private String releaseStatus;
@SerializedName("type_sort")
private String typeSort;
@SerializedName("operate_image")
private String operateImage;
@SerializedName("operate_url")
private String operateUrl;
@SerializedName("mark")
private String mark;
@SerializedName("giftname")
private String giftname;
@SerializedName("needcoin")
private String needcoin;
@SerializedName("gifticon")
private String gifticon;
@SerializedName("gift_description")
private String giftDescription;
@SerializedName("corner_mark")
private String cornerMark;
@SerializedName("swf")
private String swf;
@SerializedName("gift_uid")
private String giftUid;
@SerializedName("type_start_time")
private String typeStartTime;
@SerializedName("type_end_time")
private String typeEndTime;
@SerializedName("gift_start_time")
private String giftStartTime;
@SerializedName("gift_end_time")
private String giftEndTime;
@SerializedName("naming_liveuid")
private String namingLiveuid;
@SerializedName("naming_uid")
private String namingUid;
@SerializedName("naming_live_name")
private String namingLiveName;
@SerializedName("naming_user_name")
private String namingUserName;
@SerializedName("naming_live_avatar")
private String namingLiveAvatar;
@SerializedName("naming_user_avatar")
private String namingUserAvatar;
@SerializedName("naming_status")
private String namingStatus;
@SerializedName("naming_coin")
private String namingCoin;
@SerializedName("fans_level")
private String fansLevel;
@SerializedName("naming_user_coin")
private String namingUserCoin;
@SerializedName("naming_live_coin")
private String namingLiveCoin;
@SerializedName("isweek")
private String isweek;
public String getId() {
return id;
}
public GiftNamingInfoModel setId(String id) {
this.id = id;
return this;
}
public String getSendtype() {
return sendtype;
}
public GiftNamingInfoModel setSendtype(String sendtype) {
this.sendtype = sendtype;
return this;
}
public String getType() {
return type;
}
public GiftNamingInfoModel setType(String type) {
this.type = type;
return this;
}
public String getName() {
return name;
}
public GiftNamingInfoModel setName(String name) {
this.name = name;
return this;
}
public String getReleaseStatus() {
return releaseStatus;
}
public GiftNamingInfoModel setReleaseStatus(String releaseStatus) {
this.releaseStatus = releaseStatus;
return this;
}
public String getTypeSort() {
return typeSort;
}
public GiftNamingInfoModel setTypeSort(String typeSort) {
this.typeSort = typeSort;
return this;
}
public String getOperateImage() {
return operateImage;
}
public GiftNamingInfoModel setOperateImage(String operateImage) {
this.operateImage = operateImage;
return this;
}
public String getOperateUrl() {
return operateUrl;
}
public GiftNamingInfoModel setOperateUrl(String operateUrl) {
this.operateUrl = operateUrl;
return this;
}
public String getMark() {
return mark;
}
public GiftNamingInfoModel setMark(String mark) {
this.mark = mark;
return this;
}
public String getGiftname() {
return giftname;
}
public GiftNamingInfoModel setGiftname(String giftname) {
this.giftname = giftname;
return this;
}
public String getNeedcoin() {
return needcoin;
}
public GiftNamingInfoModel setNeedcoin(String needcoin) {
this.needcoin = needcoin;
return this;
}
public String getGifticon() {
return gifticon;
}
public GiftNamingInfoModel setGifticon(String gifticon) {
this.gifticon = gifticon;
return this;
}
public String getGiftDescription() {
return giftDescription;
}
public GiftNamingInfoModel setGiftDescription(String giftDescription) {
this.giftDescription = giftDescription;
return this;
}
public String getCornerMark() {
return cornerMark;
}
public GiftNamingInfoModel setCornerMark(String cornerMark) {
this.cornerMark = cornerMark;
return this;
}
public String getSwf() {
return swf;
}
public GiftNamingInfoModel setSwf(String swf) {
this.swf = swf;
return this;
}
public String getGiftUid() {
return giftUid;
}
public GiftNamingInfoModel setGiftUid(String giftUid) {
this.giftUid = giftUid;
return this;
}
public String getTypeStartTime() {
return typeStartTime;
}
public GiftNamingInfoModel setTypeStartTime(String typeStartTime) {
this.typeStartTime = typeStartTime;
return this;
}
public String getTypeEndTime() {
return typeEndTime;
}
public GiftNamingInfoModel setTypeEndTime(String typeEndTime) {
this.typeEndTime = typeEndTime;
return this;
}
public String getGiftStartTime() {
return giftStartTime;
}
public GiftNamingInfoModel setGiftStartTime(String giftStartTime) {
this.giftStartTime = giftStartTime;
return this;
}
public String getGiftEndTime() {
return giftEndTime;
}
public GiftNamingInfoModel setGiftEndTime(String giftEndTime) {
this.giftEndTime = giftEndTime;
return this;
}
public String getNamingLiveuid() {
return namingLiveuid;
}
public GiftNamingInfoModel setNamingLiveuid(String namingLiveuid) {
this.namingLiveuid = namingLiveuid;
return this;
}
public String getNamingUid() {
return namingUid;
}
public GiftNamingInfoModel setNamingUid(String namingUid) {
this.namingUid = namingUid;
return this;
}
public String getNamingLiveName() {
return namingLiveName;
}
public GiftNamingInfoModel setNamingLiveName(String namingLiveName) {
this.namingLiveName = namingLiveName;
return this;
}
public String getNamingUserName() {
return namingUserName;
}
public GiftNamingInfoModel setNamingUserName(String namingUserName) {
this.namingUserName = namingUserName;
return this;
}
public String getNamingLiveAvatar() {
return namingLiveAvatar;
}
public GiftNamingInfoModel setNamingLiveAvatar(String namingLiveAvatar) {
this.namingLiveAvatar = namingLiveAvatar;
return this;
}
public String getNamingUserAvatar() {
return namingUserAvatar;
}
public GiftNamingInfoModel setNamingUserAvatar(String namingUserAvatar) {
this.namingUserAvatar = namingUserAvatar;
return this;
}
public String getNamingStatus() {
return namingStatus;
}
public GiftNamingInfoModel setNamingStatus(String namingStatus) {
this.namingStatus = namingStatus;
return this;
}
public String getNamingCoin() {
return namingCoin;
}
public GiftNamingInfoModel setNamingCoin(String namingCoin) {
this.namingCoin = namingCoin;
return this;
}
public String getFansLevel() {
return fansLevel;
}
public GiftNamingInfoModel setFansLevel(String fansLevel) {
this.fansLevel = fansLevel;
return this;
}
public String getNamingUserCoin() {
return namingUserCoin;
}
public GiftNamingInfoModel setNamingUserCoin(String namingUserCoin) {
this.namingUserCoin = namingUserCoin;
return this;
}
public String getNamingLiveCoin() {
return namingLiveCoin;
}
public GiftNamingInfoModel setNamingLiveCoin(String namingLiveCoin) {
this.namingLiveCoin = namingLiveCoin;
return this;
}
public String getIsweek() {
return isweek;
}
public GiftNamingInfoModel setIsweek(String isweek) {
this.isweek = isweek;
return this;
}
}

View File

@@ -12,6 +12,17 @@ public class GiftWallGiftDetail extends BaseModel {
private String avatar;
@SerializedName("naming_coin")
private String namingCoin;
@SerializedName("default_naming_coin")
private String default_naming_coin;
public String getDefault_naming_coin() {
return default_naming_coin;
}
public GiftWallGiftDetail setDefault_naming_coin(String default_naming_coin) {
this.default_naming_coin = default_naming_coin;
return this;
}
public int getUid() {
return uid;
@@ -23,6 +34,9 @@ public class GiftWallGiftDetail extends BaseModel {
}
public String getUserNicename() {
if (userNicename.length() > 5) {
userNicename = userNicename.substring(0, 5) + "...";
}
return userNicename;
}

View File

@@ -64,6 +64,39 @@ public class LiveGiftBean {
private String namingStatus;
@JSONField(name = "naming_coin")
private String namingCoin;
@JSONField(name = "naming_user_coin")
private String namingUserCoin;
@JSONField(name = "blind_box_ticket")
private int blindBoxTicket;
@JSONField(name = "blind_box_ticket_id")
private int blindBoxTicketId;
public int getBlindBoxTicketId() {
return blindBoxTicketId;
}
public LiveGiftBean setBlindBoxTicketId(int blindBoxTicketId) {
this.blindBoxTicketId = blindBoxTicketId;
return this;
}
public int getBlindBoxTicket() {
return blindBoxTicket;
}
public LiveGiftBean setBlindBoxTicket(int blindBoxTicket) {
this.blindBoxTicket = blindBoxTicket;
return this;
}
public String getNamingUserCoin() {
return namingUserCoin;
}
public LiveGiftBean setNamingUserCoin(String namingUserCoin) {
this.namingUserCoin = namingUserCoin;
return this;
}
public View getmView() {
return mView;
@@ -191,7 +224,7 @@ public class LiveGiftBean {
return this;
}
private int fansGiftLevel=0;//粉丝团礼物等级要求
private int fansGiftLevel = 0;//粉丝团礼物等级要求
public int getFansGiftLevel() {
return fansGiftLevel;

View File

@@ -7,6 +7,16 @@ public class GiftWallItemEvent extends BaseModel {
private GiftWallModel giftWallModel;
private boolean unlit;
private boolean csb;
public boolean isCsb() {
return csb;
}
public GiftWallItemEvent setCsb(boolean csb) {
this.csb = csb;
return this;
}
public GiftWallModel getGiftWallModel() {
return giftWallModel;

View File

@@ -0,0 +1,6 @@
package com.yunbao.common.event;
import com.yunbao.common.bean.BaseModel;
public class LiveErrorEvent extends BaseModel {
}

View File

@@ -1,4 +1,4 @@
package com.yunbao.live.event;
package com.yunbao.common.event;
import com.yunbao.common.bean.LiveBean;

View File

@@ -316,13 +316,13 @@ public class CommonHttpUtil {
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0 || code == 1001) {
int isAttention = JSON.parseObject(info[0]).getIntValue("isattent");//1是 关注 0是未关注
if (code == 1001) {
/* if (code == 1001) {
if (WordUtil.isNewZh()) {
ToastUtil.show("粉絲團等級已清零,待領取獎勵已自動領取至【個性裝扮】");
} else {
ToastUtil.show("The level of the fan club has been cleared, and the rewards to be claimed have been automatically received to [Personalized Dressing]");
}
}
}*/
EventBus.getDefault().post(new FollowEvent(touid, isAttention));
if (callback != null) {
callback.callback(isAttention);

View File

@@ -1,4 +1,4 @@
package com.yunbao.live.http;
package com.yunbao.common.http;
/**
* Created by cxf on 2019/3/21.

View File

@@ -1,4 +1,4 @@
package com.yunbao.live.http;
package com.yunbao.common.http;
import android.text.TextUtils;
@@ -6,10 +6,6 @@ import com.lzy.okgo.request.GetRequest;
import com.lzy.okgo.request.PostRequest;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.HttpClient;
import com.yunbao.common.http.JsonBean;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.MD5Util;
@@ -292,6 +288,7 @@ public class LiveHttpUtil {
/**
* 主播或管理员禁言
*
* @param time 禁言时间
*/
public static void setShutUp(String liveUid, String stream, int type, String touid, String time, HttpCallback callback) {
@@ -619,17 +616,19 @@ public class LiveHttpUtil {
* 观众给主播送礼物
*/
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, HttpCallback callback) {
sendGift(by, liveUid, stream, giftId, giftCount, 0, false,callback);
sendGift(by, liveUid, stream, giftId, giftCount, 0, false, callback);
}
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, HttpCallback callback) {
sendGift(by, liveUid, stream, giftId, giftCount, isContactGift, false,callback);
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, HttpCallback callback) {
sendGift(by, liveUid, stream, giftId, giftCount, isContactGift, false, callback);
}
/**
* 观众给主播送礼物
*
* @param isContactGift 是否为联系方式礼物
*/
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, boolean isFansGroupGift,HttpCallback callback) {
public static void sendGift(String by, String liveUid, String stream, int giftId, String giftCount, int isContactGift, boolean isFansGroupGift, HttpCallback callback) {
HttpClient.getInstance().get("Live.sendGift", LiveHttpConsts.SEND_GIFT)
.params("liveuid", liveUid)
.params("stream", stream)
@@ -637,7 +636,20 @@ public class LiveHttpUtil {
.params("isContactGift", isContactGift)
.params("giftcount", giftCount)
.params("isprank", by)
.params("fans_exclusive_pack",isFansGroupGift?"1":"0")
.params("fans_exclusive_pack", isFansGroupGift ? "1" : "0")
.params("appVersion", CommonAppConfig.getInstance().getVersion())
.execute(callback);
}
public static void sendBlindBoxTicket(String by, String liveUid, String stream, int giftId, HttpCallback callback) {
HttpClient.getInstance().get("Live.sendBlindBoxTicket", LiveHttpConsts.SEND_GIFT)
.params("liveuid", liveUid)
.params("stream", stream)
.params("giftid", giftId)
.params("isContactGift", 0)
.params("giftcount", "1")
.params("isprank", by)
.params("fans_exclusive_pack", "0")
.params("appVersion", CommonAppConfig.getInstance().getVersion())
.execute(callback);
}

View File

@@ -17,6 +17,7 @@ import com.yunbao.common.bean.FansGroupGiftPack;
import com.yunbao.common.bean.FansGroupGiftPackInfo;
import com.yunbao.common.bean.GiftAlreadyWallModel;
import com.yunbao.common.bean.GiftGuideModel;
import com.yunbao.common.bean.GiftNamingInfoModel;
import com.yunbao.common.bean.GiftWallGiftDetail;
import com.yunbao.common.bean.GiftWallModel;
import com.yunbao.common.bean.HourRank;
@@ -888,7 +889,8 @@ public interface PDLiveApi {
@GET("/api/public/?service=Gift.giftDetail")
Observable<ResponseModel<GiftWallGiftDetail>> giftDetail(
@Query("liveuid") String liveUid,
@Query("gift_id") String giftId
@Query("gift_id") String giftId,
@Query("to_uid") String toUid
);
/**
@@ -932,7 +934,8 @@ public interface PDLiveApi {
/**
* 获取粉丝团礼物信息
* @param packId 礼包id
*
* @param packId 礼包id
*/
@GET("/api/public/?service=Fans.getFansExclusivePack")
Observable<ResponseModel<FansGroupGiftPackInfo>> getFansExclusivePack(@Query("liveuid") String liveUid,
@@ -941,24 +944,29 @@ public interface PDLiveApi {
/**
* 购买粉丝团礼包
*
* @param packId 礼包id
*/
@GET("/api/public/?service=Fans.buyFansExclusivePack")
@GET("/api/public/?service=Fans.buyFansExclusivePack")
Observable<ResponseModel<HttpCallbackModel>> buyFansExclusivePack(@Query("liveuid") String liveUid,
@Query("pack_id") String packId,
@Query("stream") String stream
);
);
/**
* 获取粉丝团礼物包裹
*/
@GET("/api/public/?service=Fans.userFansExclusivePackList")
Observable<ResponseModel<List<FansGroupGiftPack>>> userFansExclusivePackList(@Query("liveuid") String liveUid);
/**
* 获取粉丝团礼物包裹
*/
@GET("/api/public/?service=Fans.getCheckFansLevelUpgrade")
Observable<ResponseModel<FansCheckRed>> getCheckFansLevelUpgrade(@Query("liveuid") String liveUid);
@GET("/api/public/?service=gift.getGiftNamingInfo")
Observable<ResponseModel<GiftNamingInfoModel>> getGiftNamingInfo(@Query("gift_id") String giftId);
}

View File

@@ -18,6 +18,7 @@ import com.yunbao.common.bean.FansGroupGiftPack;
import com.yunbao.common.bean.FansGroupGiftPackInfo;
import com.yunbao.common.bean.GiftAlreadyWallModel;
import com.yunbao.common.bean.GiftGuideModel;
import com.yunbao.common.bean.GiftNamingInfoModel;
import com.yunbao.common.bean.GiftWallGiftDetail;
import com.yunbao.common.bean.GiftWallModel;
import com.yunbao.common.bean.HttpCallbackModel;
@@ -28,6 +29,7 @@ import com.yunbao.common.bean.LiveAiRobotBean;
import com.yunbao.common.bean.LiveAnchorCallMeModel;
import com.yunbao.common.bean.LiveAnchorSayModel;
import com.yunbao.common.bean.LiveDataInfoModel;
import com.yunbao.common.bean.LiveGiftBean;
import com.yunbao.common.bean.LiveInfoModel;
import com.yunbao.common.bean.LiveRoomActivityBanner;
import com.yunbao.common.bean.LiveRoomVoteModel;
@@ -57,8 +59,6 @@ import com.yunbao.common.http.API;
import com.yunbao.common.http.ResponseModel;
import com.yunbao.common.http.base.CheckLiveCallBack;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import java.util.ArrayList;
import java.util.HashMap;
@@ -179,13 +179,13 @@ public class LiveNetManager {
List<SetAttentsModel> setAttentsModels = listResponseModel.getData().getInfo();
if (setAttentsModels.size() > 0) {
if (callback != null) {
if (listResponseModel.getData().getCode() == 1001) {
/* if (listResponseModel.getData().getCode() == 1001) {
if (WordUtil.isNewZh()) {
ToastUtil.show("粉絲團等級已清零,待領取獎勵已自動領取至【個性裝扮】");
} else {
ToastUtil.show("The level of the fan club has been cleared, and the rewards to be claimed have been automatically received to [Personalized Dressing]");
}
}
}*/
callback.onSuccess(setAttentsModels.get(0));
}
} else {
@@ -1929,9 +1929,9 @@ public class LiveNetManager {
}).isDisposed();
}
public void giftDetail(String liveUid, String giftId, HttpCallback<GiftWallGiftDetail> callback) {
public void giftDetail(String liveUid, String giftId, String toUid, HttpCallback<GiftWallGiftDetail> callback) {
API.get().pdLiveApi(mContext)
.giftDetail(liveUid, giftId)
.giftDetail(liveUid, giftId,toUid)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<ResponseModel<GiftWallGiftDetail>>() {
@@ -2171,6 +2171,28 @@ public class LiveNetManager {
}).isDisposed();
}
public void getGiftNamingInfo(String giftId,HttpCallback<GiftNamingInfoModel> callback) {
API.get().pdLiveApi(mContext)
.getGiftNamingInfo(giftId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<ResponseModel<GiftNamingInfoModel>>() {
@Override
public void accept(ResponseModel<GiftNamingInfoModel> liveGiftBeanResponseModel) throws Exception {
if (callback!=null){
callback.onSuccess(liveGiftBeanResponseModel.getData().getInfo());
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
/**
* 直播间取消网络请求
*/

View File

@@ -10,6 +10,7 @@ import androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.lzf.easyfloat.EasyFloat;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.event.DataUserInfoEvent;
@@ -301,6 +302,8 @@ public class IMLoginManager extends BaseCacheManager {
* @param model
*/
public void setupLoginUser(@NonNull IMLoginModel model) {
//当用户使用自有账号登录时,可以这样统计:
MobclickAgent.onProfileSignIn(String.valueOf(model.getId()));
this.userInfo = model;
if (userInfo != null && !TextUtils.isEmpty(userInfo.getToken())) {
token = userInfo.getToken();
@@ -425,6 +428,8 @@ public class IMLoginManager extends BaseCacheManager {
// IMCenter.getInstance().clearConversations(null, Conversation.ConversationType.PRIVATE);
RongcloudIMManager.logoutIM();
MessageIMManager.get(activity).logout();
//登出
MobclickAgent.onProfileSignOff();
put(IS_HINT, 0);
APPEasyFloat.getInstance().dismiss(activity);
if (EasyFloat.isShow("LiveFloatView")) {

View File

@@ -239,7 +239,7 @@ public class PayPresenter {
public void open(String url){
//支付时内部跳转 false要添加
WebViewActivity.forward(mActivity,url,false);
WebViewActivity.forward(mActivity,url,false,false);
}

View File

@@ -7,6 +7,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
/**
@@ -88,7 +89,11 @@ public class FileUtil {
duration= Long.parseLong(time);
} catch (Exception ex) {
} finally {
mmr.release();
try {
mmr.release();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return duration;
}

View File

@@ -3,6 +3,7 @@ package com.yunbao.common.utils;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import com.yunbao.common.CommonAppConfig;
@@ -151,16 +152,19 @@ public class GiftCacheUtil {
return;
}
clickId.add(bean.getId()+"");
getFile(context,getDownloadSaveName(bean.getId()), bean.getSwf(), "0", new CommonCallback<File>() {
@Override
public void callback(File bean) {
if(bean!=null) {
clickId.remove(getIdForFileName(bean.getName())+"");
downloadCache.remove(getIdForFileName(bean.getName()));
if (!TextUtils.isEmpty( bean.getSwf())){
getFile(context,getDownloadSaveName(bean.getId()), bean.getSwf(), "0", new CommonCallback<File>() {
@Override
public void callback(File bean) {
if(bean!=null) {
clickId.remove(getIdForFileName(bean.getName())+"");
downloadCache.remove(getIdForFileName(bean.getName()));
}
mDownloadGifCallback.callback(bean);
}
mDownloadGifCallback.callback(bean);
}
});
});
}
}
/**
@@ -241,7 +245,7 @@ public class GiftCacheUtil {
if (clickId.contains(id+"")) {
continue;
}
if (bean.getSwf().isEmpty()) {
if (TextUtils.isEmpty(bean.getSwf())) {
handler.post(() -> commonCallback.callback(null));
continue;
}

View File

@@ -587,4 +587,9 @@ public class JavascriptInterfaceUtils {
}
});
}
@JavascriptInterface
public void androidCancelAnchorAttention(){
Bus.get().post(new JavascriptInterfaceEvent()
.setMethod("androidCancelAnchorAttention"));
}
}

View File

@@ -1,4 +1,4 @@
package com.yunbao.live.presenter;
package com.yunbao.common.utils;
import android.app.Activity;
import android.app.Dialog;
@@ -10,19 +10,15 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.R;
import com.yunbao.common.bean.CheckLiveModel;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.LiveErrorEvent;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.http.base.CheckLiveCallBack;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.MD5Util;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.R;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
/**
* Created by cxf on 2017/9/29.
@@ -111,8 +107,7 @@ public class LiveRoomCheckLivePresenter {
@Override
public void onError(String error) {
Log.e("直播间异常", "onError: " + error);
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_ROOM_EXCEPTION));
Bus.get().post(new LiveErrorEvent());
ToastUtil.show(error);
}
});
@@ -162,8 +157,7 @@ public class LiveRoomCheckLivePresenter {
}
} else {
Log.e("直播间异常", "Error: " + msg);
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_ROOM_EXCEPTION));
Bus.get().post(new LiveErrorEvent());
ToastUtil.show(msg);
}
}

View File

@@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.R;
import com.yunbao.common.adapter.FunGamesAdapter;
@@ -22,7 +23,9 @@ import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FunGamesViewHolder extends RecyclerView.ViewHolder {
private FunGamesAdapter funGamesAdapter;
@@ -76,6 +79,7 @@ public class FunGamesViewHolder extends RecyclerView.ViewHolder {
.append("&token=")
.append(userInfo.getToken());
}
Bus.get().post(new CustomDrawerPopupEvent()
.setDisMiss(true)
.setHtmlUrl(htmlUrl.toString())

View File

@@ -25,14 +25,14 @@ public class GiftAlreadyWallViewHolder extends RecyclerView.ViewHolder {
giftNumber = itemView.findViewById(R.id.gift_number);
}
public void showData(GiftWallModel giftWallModel,boolean sbWy) {
public void showData(GiftWallModel giftWallModel, boolean sbWy) {
giftTitle.setText(giftWallModel.getGiftname());
giftNumber.setText("*" + giftWallModel.getGiftCountNumber());
ImgLoader.display(itemView.getContext(), giftWallModel.getGifticon(), giftImg);
ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(true));
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(true).setCsb(true));
}
});
}

View File

@@ -30,7 +30,7 @@ public class GiftWithoutWallViewHolder extends RecyclerView.ViewHolder {
ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(false));
Bus.get().post(new GiftWallItemEvent().setGiftWallModel(giftWallModel).setUnlit(false).setCsb(false));
}
});
}

View File

@@ -250,7 +250,8 @@ public class NobleNoticeView extends FrameLayout {
@Override
public void onStep(int frame, double v) {
System.out.println("frame = " + frame);
if (frame == 20) {
System.out.println("scrollLayout.getMeasuredWidth() = " + scrollLayout.getMeasuredWidth());
if (frame == 21) {
setButtonPosition(roleType);
observable.observeOn(AndroidSchedulers.mainThread())
.subscribe(bitmap -> {

View File

@@ -15,9 +15,9 @@
android:id="@+id/operate_image"
android:layout_width="122dp"
android:layout_height="50dp"
android:layout_gravity="end|bottom"
android:layout_marginEnd="5dp"
android:scaleType="fitXY"
android:layout_gravity="end|bottom" />
android:scaleType="fitXY" />
<FrameLayout
android:id="@+id/blind_box"
@@ -95,7 +95,7 @@
<RelativeLayout
android:id="@+id/gift_list"
android:layout_width="match_parent"
android:layout_height="361dp"
android:layout_height="323dp"
android:animateLayoutChanges="true"
android:orientation="vertical">
@@ -195,7 +195,6 @@
android:layout_marginStart="15dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/background_gift_description"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
@@ -203,7 +202,7 @@
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="#FFFFFFFF"
android:textColor="#80FFFFFF"
android:textSize="12sp" />
<FrameLayout
@@ -222,7 +221,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="17dp"
android:layout_marginBottom="8dp"
android:paddingStart="16dp">
<LinearLayout
@@ -358,8 +357,8 @@
android:id="@+id/gift_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="10dp"
android:layout_marginStart="8dp" />
android:layout_marginStart="8dp"
android:layout_marginEnd="10dp" />
<ImageView
android:layout_width="27dp"
@@ -406,7 +405,7 @@
<FrameLayout
android:id="@+id/context_layout_gift"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="196dp"
android:layout_marginTop="12dp" />

View File

@@ -19,12 +19,14 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="9dp"
android:gravity="center"
android:text="@string/instant_light"
android:textColor="#FFFFFF"
android:textSize="14sp" />
<TextView
android:id="@+id/gift_number"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"

View File

@@ -25,6 +25,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginTop="9dp"
android:text="@string/instant_light"
android:gravity="center"
android:textColor="#54618F"
android:textSize="14sp" />
</LinearLayout>

View File

@@ -128,15 +128,21 @@
android:text="@string/regular_bubble"
android:textColor="#6F43FF"
android:textSize="12sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/achievement_img_list"
<FrameLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginStart="8dp"
android:background="@drawable/background_achievement_details_list"
android:layout_marginTop="6dp"
android:layout_marginEnd="8dp" />
android:background="@drawable/background_achievement_details_list"
android:layout_marginEnd="8dp">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/achievement_img_list"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_height="match_parent" />
</FrameLayout>
<TextView
android:id="@+id/gift_details_btn2"

View File

@@ -42,7 +42,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="19dp"
android:layout_marginStart="75dp"
android:layout_marginTop="42dp"
android:layout_marginEnd="20dp"
android:layout_toStartOf="@+id/goto_room_view"

View File

@@ -1054,7 +1054,7 @@ Limited ride And limited avatar frame</string>
<string name="terms_and_policies">Terms and policies</string>
<string name="install_the_application">For details, please read the following message to install the application:</string>
<string name="treat_and_protect">Welcome to PD LIVE. For your personal information and privacy, we will adopt the highest standards of treatment and protection.</string>
<string name="anti_cheating_services">In order to provide you with one-click sharing service, our product integrates Mob+U-Share SDK, The Mob+SDK needs to collect your device Mac address, unique device identifier (1MEIandroid IDIDFAOPENUDIDGUID, SIM card IMSI information), and public social account information that you need to share in order to complete the one-click sharing service. And through the geographical location calibration report data accuracy, provide basic anti-cheating services. For the sake of your information security, we have made data security and confidentiality agreements with third-party SDK service providers, and these companies will strictly abide by our data privacy and security requirements. We will not share your personally identifiable information with them unless we have your consent. To facilitate you better understand/Mob + data types and USES, and how to protect your personal information, you can log on to https:www.mob.com aboutpolicy understand [Mob +] privacy policy).</string>
<string name="anti_cheating_services">In order to provide users with better services, our products integrate [Alliance SDK], SDK needs to collect your device information (IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP address /SIM card IMSI information, etc.), In order for you to better understand the types and purposes of the data collected by [Alliance SDK] and how to protect your personal information, you can log on to: https://www.umeng.com/page/policy Learn about [Alliance SDK] Privacy Policy [Alliance +] Privacy Policy [Alliance +], a third-party global big data service provider, providing customers with PC/APP/ offline statistics, advertising effect monitoring, message push/micro community/sharing /IM and other operating tools,DIP, global index and industry reports. https://www.umeng.com/page/policy</string>
<string name="read_and_agre">Clicking Agree means you have read and agree to all of the above.。</string>
<string name="agreement">agreement</string>
<string name="come_to">Welcome to PD LIVE.</string>

View File

@@ -1080,7 +1080,7 @@
<string name="terms_and_policies">條款和政策</string>
<string name="treat_and_protect">歡迎來到PD LIVE對於您的個人信息及隱私我們將採用最高標準對待和保護。</string>
<string name="install_the_application">詳情請您閱讀以下安裝應用程序的消息:</string>
<string name="anti_cheating_services">為了向您提供一鍵分享服務,我們的產品集成Mob+U-Share SDKMob+SDK需要收集您的設備Mac地址、唯一設備識別碼(1MEI/android ID/IDFA/OPENUDID/GUID、 SIM卡IMSI信息)以及您需要分享的社交賬號公開信息以便完成一鍵分享服務。並通過地理位置校準報表數據準確性提供基礎反作弊服務。為了您的信息安全我們已與第三方SDK服務商進行數據安全保密約定這些公司會嚴格遵守我們的數據隱私和安全要求。 除非得到您的同意,我們不會與其共享您的個人身份信息。為便於您更好地了解[Mob+]采集的數據類型及用途以及何保護您的個人信息您可以登陸https://www.mob.com/about/policy了解[Mob+]隱私權政)。</string>
<string name="anti_cheating_services">為了給用戶提供更好的服務,我們的產品集成[友盟SDK]SDK需要收集您的设备信息IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP地址/SIM 卡 IMSI 信息等),為便於您更好地了解[友盟SDK]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸https://www.umeng.com/page/policy 了解[友盟SDK]隱私權政策【友盟+】隐私政策【友盟+】,第三方全域大数据服务提供商,为客户提供PC/APP/线下统计,广告效果监测,消息推送/微社区/分享/IM等运营工具,DIP,全域指数与行业报告等。https://www.umeng.com/page/policy</string>
<string name="agreement">同意</string>
<string name="read_and_agre">點擊同意後即代表您已閱讀並同意以上所有內容。</string>
<string name="support_login">本應用會收集位置數據以支持登錄和註冊的功能使用。</string>

View File

@@ -1080,7 +1080,7 @@
<string name="terms_and_policies">條款和政策</string>
<string name="treat_and_protect">歡迎來到PD LIVE對於您的個人信息及隱私我們將採用最高標準對待和保護。</string>
<string name="install_the_application">詳情請您閱讀以下安裝應用程序的消息:</string>
<string name="anti_cheating_services">為了向您提供一鍵分享服務,我們的產品集成Mob+U-Share SDKMob+SDK需要收集您的設備Mac地址、唯一設備識別碼(1MEI/android ID/IDFA/OPENUDID/GUID、 SIM卡IMSI信息)以及您需要分享的社交賬號公開信息以便完成一鍵分享服務。並通過地理位置校準報表數據準確性提供基礎反作弊服務。為了您的信息安全我們已與第三方SDK服務商進行數據安全保密約定這些公司會嚴格遵守我們的數據隱私和安全要求。 除非得到您的同意,我們不會與其共享您的個人身份信息。為便於您更好地了解[Mob+]采集的數據類型及用途以及何保護您的個人信息您可以登陸https://www.mob.com/about/policy了解[Mob+]隱私權政)。</string>
<string name="anti_cheating_services">為了給用戶提供更好的服務,我們的產品集成[友盟SDK]SDK需要收集您的设备信息IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP地址/SIM 卡 IMSI 信息等),為便於您更好地了解[友盟SDK]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸https://www.umeng.com/page/policy 了解[友盟SDK]隱私權政策【友盟+】隐私政策【友盟+】,第三方全域大数据服务提供商,为客户提供PC/APP/线下统计,广告效果监测,消息推送/微社区/分享/IM等运营工具,DIP,全域指数与行业报告等。https://www.umeng.com/page/policy</string>
<string name="agreement">同意</string>
<string name="read_and_agre">點擊同意後即代表您已閱讀並同意以上所有內容。</string>
<string name="support_login">本應用會收集位置數據以支持登錄和註冊的功能使用。</string>

View File

@@ -1080,7 +1080,7 @@
<string name="terms_and_policies">條款和政策</string>
<string name="treat_and_protect">歡迎來到PD LIVE對於您的個人信息及隱私我們將採用最高標準對待和保護。</string>
<string name="install_the_application">詳情請您閱讀以下安裝應用程序的消息:</string>
<string name="anti_cheating_services">為了向您提供一鍵分享服務,我們的產品集成Mob+U-Share SDKMob+SDK需要收集您的設備Mac地址、唯一設備識別碼(1MEI/android ID/IDFA/OPENUDID/GUID、 SIM卡IMSI信息)以及您需要分享的社交賬號公開信息以便完成一鍵分享服務。並通過地理位置校準報表數據準確性提供基礎反作弊服務。為了您的信息安全我們已與第三方SDK服務商進行數據安全保密約定這些公司會嚴格遵守我們的數據隱私和安全要求。 除非得到您的同意,我們不會與其共享您的個人身份信息。為便於您更好地了解[Mob+]採集的數據類型及用途以及何保護您的個人信息您可以登陸https://www.mob.com/about/policy了解[Mob+]隱私權政)。</string>
<string name="anti_cheating_services">為了給用戶提供更好的服務,我們的產品集成[友盟SDK]SDK需要收集您的设备信息IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP地址/SIM 卡 IMSI 信息等),為便於您更好地了解[友盟SDK]采集的數據類型及用途,以及何保護您的個人信息,您可以登陸https://www.umeng.com/page/policy 了解[友盟SDK]隱私權政策【友盟+】隐私政策【友盟+】,第三方全域大数据服务提供商,为客户提供PC/APP/线下统计,广告效果监测,消息推送/微社区/分享/IM等运营工具,DIP,全域指数与行业报告等。https://www.umeng.com/page/policy</string>
<string name="agreement">同意</string>
<string name="read_and_agre">點擊同意後即代表您已閱讀並同意以上所有內容。</string>
<string name="support_login">本應用會收集位置數據以支持登錄和註冊的功能使用。</string>

View File

@@ -1054,7 +1054,7 @@ Limited ride And limited avatar frame</string>
<string name="terms_and_policies">Terms and policies</string>
<string name="install_the_application">For details, please read the following message to install the application:</string>
<string name="treat_and_protect">Welcome to PD LIVE. For your personal information and privacy, we will adopt the highest standards of treatment and protection.</string>
<string name="anti_cheating_services">In order to provide you with one-click sharing service, our product integrates Mob+U-Share SDK, The Mob+SDK needs to collect your device Mac address, unique device identifier (1MEIandroid IDIDFAOPENUDIDGUID, SIM card IMSI information), and public social account information that you need to share in order to complete the one-click sharing service. And through the geographical location calibration report data accuracy, provide basic anti-cheating services. For the sake of your information security, we have made data security and confidentiality agreements with third-party SDK service providers, and these companies will strictly abide by our data privacy and security requirements. We will not share your personally identifiable information with them unless we have your consent. To facilitate you better understand/Mob + data types and USES, and how to protect your personal information, you can log on to https:www.mob.com aboutpolicy understand [Mob +] privacy policy).</string>
<string name="anti_cheating_services">In order to provide users with better services, our products integrate [Alliance SDK], SDK needs to collect your device information (IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/IP address /SIM card IMSI information, etc.), In order for you to better understand the types and purposes of the data collected by [Alliance SDK] and how to protect your personal information, you can log on to: https://www.umeng.com/page/policy Learn about [Alliance SDK] Privacy Policy [Alliance +] Privacy Policy [Alliance +], a third-party global big data service provider, providing customers with PC/APP/ offline statistics, advertising effect monitoring, message push/micro community/sharing /IM and other operating tools,DIP, global index and industry reports. https://www.umeng.com/page/policy</string>
<string name="read_and_agre">Clicking Agree means you have read and agree to all of the above.。</string>
<string name="agreement">agreement</string>
<string name="come_to">Welcome to PD LIVE.</string>
@@ -1313,5 +1313,7 @@ Limited ride And limited avatar frame</string>
<string name="cancel_ca">cancel</string>
<string name="settings_ser">settings</string>
<string name="too_many_gifts">Too many gifts</string>
<string name="trial_coupon">是否使用試用劵</string>
<string name="use_diamonds">使用鑽石</string>
</resources>

View File

@@ -1,24 +1,25 @@
ext {
android = [
compileSdkVersion: 31,
compileSdkVersion: 33,
buildToolsVersion: "29.0.2",
minSdkVersion : 21,
targetSdkVersion : 31,
versionCode : 440,
targetSdkVersion : 33,
versionCode : 445,
versionName : "6.5.4"
]
manifestPlaceholders = [
//正式、
serverHost : "https://napi.yaoulive.com",
// serverHost : "https://napi.yaoulive.com",
// 测试
// serverHost : "https://ceshi.yaoulive.com",
serverHost : " https://ceshi.yaoulive.com",
//百度语音识别
baiduAppId : "23774720",
baiduAppKey : "zgCgFhUKEOV7I3ZXDFpTfnRB",
baiduAppKey : "zgCgFhUKEOV7I3ZXDFpTfnR B",
baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S",
// true表示谷歌支付 false
isGooglePlay : false,

View File

@@ -14,10 +14,9 @@ import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.manager.InstructorRemarkManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.bean.SearchUserBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import org.greenrobot.eventbus.EventBus;

View File

@@ -118,7 +118,7 @@ public class GiftWallActivity extends AbsActivity {
public void onViewClicks() {
new XPopup.Builder(GiftWallActivity.this)
.enableDrag(false)
.asCustom(new CodexDialog(GiftWallActivity.this, mStream, mLiveUid, mLiveUid,isLive,false))
.asCustom(new CodexDialog(GiftWallActivity.this, mStream, mLiveUid, mLiveUid,false,false))
.show();
}
});
@@ -198,7 +198,7 @@ public class GiftWallActivity extends AbsActivity {
@Subscribe(threadMode = ThreadMode.MAIN)
public void onGiftWallItemEvent(GiftWallItemEvent event) {
new XPopup.Builder(this)
.asCustom(new GiftWallItemPopup(this, event.getGiftWallModel(), event.isUnlit(), mLiveUid, mLiveUid, mStream, false))
.asCustom(new GiftWallItemPopup(this, event.getGiftWallModel(), event.isUnlit(), mLiveUid, mLiveUid, mStream, false,event.isCsb()))
.show();
}

View File

@@ -1,7 +1,5 @@
package com.yunbao.live.activity;
import static com.yunbao.live.views.LiveRoomViewHolder.mLiveUid;
import android.app.Dialog;
import android.content.ClipData;
import android.content.ClipboardManager;
@@ -73,8 +71,8 @@ import com.yunbao.live.dialog.LiveShareDialogFragment;
import com.yunbao.live.dialog.LiveUserAnchorMailBoxPopDialog;
import com.yunbao.live.dialog.LiveUserDialogFragment;
import com.yunbao.live.dialog.LiveUserMoreDialogFragment;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveLinkMicAnchorPresenter;
import com.yunbao.live.presenter.LiveLinkMicPkPresenter;
import com.yunbao.live.presenter.LiveLinkMicPresenter;
@@ -900,7 +898,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
@Override
public void onClick(View v) {
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&tabIndex=1";
WebViewActivity.forward(mContext, url);
WebViewActivity.forward(mContext, url,true);
dialog.dismiss();
}
});

View File

@@ -51,8 +51,8 @@ import com.yunbao.live.dialog.LiveFunctionDialogFragment;
import com.yunbao.live.dialog.LiveLinkMicListDialogFragment;
import com.yunbao.live.dialog.LiveWishListDialogFragment;
import com.yunbao.live.event.LinkMicTxMixStreamEvent;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.interfaces.LiveFunctionClickListener;
import com.yunbao.live.interfaces.LivePushListener;
import com.yunbao.live.momo.BeautyManager;
@@ -282,7 +282,7 @@ public class LiveAnchorActivity extends LiveActivity implements LiveFunctionClic
+ CommonAppConfig.getInstance().getUid() + "&token="
+ CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid
+ "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0");
ZhuangBanActivity.forward(mContext, url, false);
ZhuangBanActivity.forward(mContext, url, false,0);
break;
case Constants.LIVE_FUNC_LINK_MIC://连麦
openLinkMicAnchorWindow();

View File

@@ -37,15 +37,14 @@ import com.lxj.xpopup.core.BasePopupView;
import com.lxj.xpopup.enums.PopupPosition;
import com.lxj.xpopup.interfaces.XPopupCallback;
import com.lzf.easyfloat.EasyFloat;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.Constants;
import com.yunbao.common.HtmlConfig;
import com.yunbao.common.activity.WebViewActivity;
import com.yunbao.common.bean.AnchorRecommendItemModel;
import com.yunbao.common.bean.AnchorRecommendModel;
import com.yunbao.common.bean.CrashSaveBean;
import com.yunbao.common.bean.FansCheckRed;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.LinkMicUserBean;
import com.yunbao.common.bean.LiveBean;
@@ -64,11 +63,15 @@ import com.yunbao.common.event.CustomDrawerPopupEvent;
import com.yunbao.common.event.FollowEvent;
import com.yunbao.common.event.GiftWallIlluminateEvent;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.event.LiveErrorEvent;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpConsts;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.HttpClient;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.http.main.MainNetManager;
import com.yunbao.common.interfaces.CommonCallback;
@@ -79,8 +82,8 @@ import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.GiftCacheUtil;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.NobleUtil;
import com.yunbao.common.utils.ProcessResultUtil;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.StringUtil;
@@ -103,11 +106,7 @@ import com.yunbao.live.dialog.LiveWishListDialogFragment4Audience;
import com.yunbao.live.dialog.SignDialogFragment;
import com.yunbao.live.event.LinkMicTxAccEvent;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.live.event.LiveRoomChangeEvent;
import com.yunbao.live.http.ImHttpUtil;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.live.views.LiveRoomPlayViewHolder;
import com.yunbao.live.views.PortraitLiveManager;
import com.yunbao.share.ui.SharePopDialog;
@@ -131,7 +130,7 @@ public class LiveAudienceActivity extends LiveActivity {
private static final String TAG = "LiveAudienceActivity";
public static String anyway;
public JSONObject pkInfo;
public static LiveAudienceActivity liveAudienceActivity;
public LiveAudienceActivity liveAudienceActivity;
// 竖直滑动 ViewPager
private VerticalViewPager verticalViewPager;
@@ -196,6 +195,7 @@ public class LiveAudienceActivity extends LiveActivity {
mLiveBean = intent.getParcelableExtra(Constants.LIVE_BEAN);
mLiveUid = mLiveBean.getUid();
mStream = mLiveBean.getStream();
Constants.mStream = mStream;
initData();
MicStatusManager.getInstance().addOnMicListener(onMicStatusListener);
if (!IMLoginManager.get(mContext).IsXiaJBG() && (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)) {
@@ -504,6 +504,7 @@ public class LiveAudienceActivity extends LiveActivity {
LiveHttpUtil.cancel(LiveHttpConsts.ROOM_CHARGE);
CommonHttpUtil.cancel(CommonHttpConsts.GET_BALANCE);
PortraitLiveManager.liveID = "";
Constants.mStream = "";
super.release();
}
@@ -551,6 +552,7 @@ public class LiveAudienceActivity extends LiveActivity {
@Override
public void onBackPressed() {
MobclickAgent.onEvent(mContext, "live_room_close", "退出直播间");
try {
manager.onBackPressed();
if (MicStatusManager.getInstance().getMicStatus() == MicStatusManager.MIC_TYPE_REQUEST) {
@@ -752,6 +754,12 @@ public class LiveAudienceActivity extends LiveActivity {
if (manager != null) {
manager.onResume();
}
if (manager != null && !StringUtil.isEmpty(is_fans)) {
if (is_fans.equals("-2")) {
manager.setAttention(0);
is_fans = "2";
}
}
GiftCacheUtil.getInstance().restart();
}
@@ -882,7 +890,7 @@ public class LiveAudienceActivity extends LiveActivity {
RouteUtil.forwardEditProfileActivity();
} else {
if (!screen) {
ZhuangBanActivity.forward(mContext, htmlUrl, false);
ZhuangBanActivity.forward(mContext, htmlUrl, false,1);
} else {
Bundle bundle = new Bundle();
bundle.putString("url", htmlUrl);
@@ -1089,7 +1097,7 @@ public class LiveAudienceActivity extends LiveActivity {
String weeklyStarUrl = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid="
+ userInfo.getId() +
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid;
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false);
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false,1);
break;
case NOBLE:
Constants.isTitle = true;
@@ -1099,7 +1107,7 @@ public class LiveAudienceActivity extends LiveActivity {
+ "&anchorUid=" + mLiveBean.getUid()
+ "&ancherName=" + mLiveBean.getUserNiceName()
+ "&uid=" + userInfo.getId();
ZhuangBanActivity.forward(mContext, nobleUrl, false);
ZhuangBanActivity.forward(mContext, nobleUrl, false,1);
break;
case LIAN_MAI:
if (event.getMicIng() == 1) {
@@ -1463,6 +1471,13 @@ public class LiveAudienceActivity extends LiveActivity {
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onLiveErrorEvent(LiveErrorEvent event) {
//主播未直播时自动下滑至下一个直播间
mCurrentPage = mCurrentPage + 1;
liveHandler.post(liveRunnable);
}
/**
* 跳转到消息中心的系统信息web
*
@@ -1490,7 +1505,7 @@ public class LiveAudienceActivity extends LiveActivity {
FirebaseAnalytics.getInstance(mContext).logEvent("FS_customer_service", null);
AppEventsLogger.newLogger(mContext).logEvent("FB_customer_service");
if (bean.getLink() != null && !"".equals(bean.getLink())) {
WebViewActivity.forward(mContext, bean.getLink());
WebViewActivity.forward(mContext, bean.getLink(), true);
} else {
startActivity(new Intent(mContext, SystemMessageActivity.class)
.putExtra("type", bean.getType())

View File

@@ -13,12 +13,11 @@ import com.yunbao.common.custom.CommonRefreshView;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.adapter.LiveBlackAdapter;
import com.yunbao.live.bean.LiveShutUpBean;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;
import java.util.List;

View File

@@ -13,11 +13,10 @@ import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.adapter.RefreshAdapter;
import com.yunbao.common.custom.CommonRefreshView;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.adapter.GuardAdapter;
import com.yunbao.live.bean.GuardUserBean;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;
import java.util.List;

View File

@@ -16,12 +16,11 @@ import com.yunbao.common.interfaces.KeyBoardHeightChangeListener;
import com.yunbao.common.utils.KeyBoardHeightUtil;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.adapter.LiveReportAdapter;
import com.yunbao.live.bean.LiveReportBean;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.io.File;
import java.util.Arrays;

View File

@@ -86,8 +86,8 @@ import com.yunbao.live.dialog.LiveWishListDialogFragment4Audience;
import com.yunbao.live.dialog.RandomPkDialogFragment;
import com.yunbao.live.event.LinkMicTxMixStreamEvent;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.interfaces.LiveFunctionClickListener;
import com.yunbao.live.interfaces.LivePushListener;
import com.yunbao.live.music.LiveMusicDialogFragment;
@@ -488,7 +488,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
break;
case Constants.LIVE_FUNC_WKS:
String url = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + mLiveUid;
ZhuangBanActivity.forward(mContext, url, false);
ZhuangBanActivity.forward(mContext, url, false,0);
break;
case Constants.LIVE_FUNC_LINK_MIC://连麦
if (isDRPK != 1) {
@@ -1539,7 +1539,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
String weeklyStarUrl = CommonAppConfig.HOST + "/h5/activity/weekStar/index.html?&uid="
+ userInfo.getId() +
"&token=" + userInfo.getToken() + "&anchorUid=" + mLiveUid;
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false);
ZhuangBanActivity.forward(mContext, weeklyStarUrl, false,0);
break;
case WISH_LIST:
LiveWishListDialogFragment4Audience fragment4Audience = new LiveWishListDialogFragment4Audience();

View File

@@ -13,12 +13,11 @@ import com.yunbao.common.custom.CommonRefreshView;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.adapter.LiveShutUpAdapter;
import com.yunbao.live.bean.LiveShutUpBean;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;
import java.util.List;

View File

@@ -29,12 +29,11 @@ import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.common.bean.LiveRoomTypeBean;
import com.yunbao.live.dialog.LiveBeautyDialogFragment;
import com.yunbao.live.dialog.LiveRoomTypeDialogFragment;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.momo.GenerateTestUserSig;
import com.yunbao.live.momo.TencentTRTCBeautyManager;
import com.yunbao.live.utils.TRTCBaseActivity;

View File

@@ -172,7 +172,7 @@ public class MyTUIConversationFragment extends Fragment {
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
} else if ("3".equals(bean.getType())) {
if (bean.getLink() != null && !"".equals(bean.getLink())) {
WebViewActivity.forward(getActivity(), bean.getLink());
WebViewActivity.forward(getActivity(), bean.getLink(),false);
} else {
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
}

View File

@@ -27,8 +27,8 @@ import com.yunbao.live.R;
import com.yunbao.live.adapter.SystemChatMessageAdapter;
import com.yunbao.live.bean.ImUserBean;
import com.yunbao.live.event.RecommendLiveRoomEvent;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;

View File

@@ -32,17 +32,17 @@ import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.dialog.LiveUserDialogFragment;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -173,7 +173,15 @@ public class WebViewActivityMedal extends AbsActivity {
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
if (liveBean == null) {
return;
}
if (MicStatusManager.getInstance().isMic(liveUid)) {
MicStatusManager.getInstance().showDownMicDialog(mContext);
return;
}
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
finish();
}
@Override
@@ -294,7 +302,7 @@ public class WebViewActivityMedal extends AbsActivity {
url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
}
Intent intent = new Intent(context, WebViewActivityMedal.class);
intent.putExtra(Constants.URL, url+ "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
intent.putExtra(Constants.URL, url + "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
context.startActivity(intent);
}

View File

@@ -28,6 +28,7 @@ import android.widget.TextView;
import androidx.annotation.RequiresApi;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.fastjson.JSON;
import com.opensource.svgaplayer.SVGACallback;
import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
@@ -36,18 +37,24 @@ import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.share.ui.InvitePopDialog;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -69,6 +76,7 @@ public class ZhuangBanActivity extends AbsActivity {
private FrameLayout title;
private TextView titleView, htmlError;
private RelativeLayout rootView;
private boolean mIsLive = false;
@Override
protected int getLayoutId() {
@@ -80,6 +88,7 @@ public class ZhuangBanActivity extends AbsActivity {
Bus.getOn(this);
String url = getIntent().getStringExtra(Constants.URL);
String titleString = getIntent().getStringExtra("title");
mIsLive = getIntent().getIntExtra("isLive", 0) == 1;
L.e("H5---2s>" + url);
LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
@@ -216,7 +225,7 @@ public class ZhuangBanActivity extends AbsActivity {
intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
}
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent,mContext.getString(R.string.choose_flie)), CHOOSE);
startActivityForResult(Intent.createChooser(intent, mContext.getString(R.string.choose_flie)), CHOOSE);
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@@ -268,11 +277,7 @@ public class ZhuangBanActivity extends AbsActivity {
if (isNeedExitActivity()) {
finish();
} else {
// if (canGoBack()) {
// mWebView.goBack();
// } else {
finish();
// }
}
}
@@ -289,21 +294,23 @@ public class ZhuangBanActivity extends AbsActivity {
return false;
}
public static void forward(Context context, String url, boolean addArgs) {
public static void forward(Context context, String url, boolean addArgs, int isLive) {
if (addArgs) {
url += "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
}
Intent intent = new Intent(context, ZhuangBanActivity.class);
Log.i("tag", url);
intent.putExtra(Constants.URL, url);
if (url.contains("Noble/index.html")||url.contains("RongYuQiang")) {
if (url.contains("Noble/index.html") || url.contains("RongYuQiang")) {
intent.putExtra("title", "");
}
intent.putExtra("isLive", isLive);
context.startActivity(intent);
}
public static void forward(Context context, String url) {
forward(context, url, true);
public static void forward(Context context, String url, int isLive) {
forward(context, url, true, isLive);
}
@Override
@@ -370,12 +377,60 @@ public class ZhuangBanActivity extends AbsActivity {
} catch (MalformedURLException e) {
e.printStackTrace();
}
}else if (event.getMethod().equals("androidInviteShare")) {
} else if (event.getMethod().equals("androidInviteShare")) {
new InvitePopDialog(mContext)
.setUrl(event.getData())
.showDialog();
} else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
//看直播
gotoLive(event.getLiveId());
}
}
}
private void gotoLive(final String live_id) {
LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
if (liveBean == null) {
return;
}
if (MicStatusManager.getInstance().isMic(liveUid)) {
MicStatusManager.getInstance().showDownMicDialog(mContext);
return;
}
if (mIsLive) {
if (MicStatusManager.getInstance().isMic(liveUid)) {
MicStatusManager.getInstance().showDownMicDialog(mContext);
return;
}
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
finish();
} else {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
}
finish();
}
@Override
public void onCheckError(String contextError) {
}
});
} else {
RouteUtil.forwardUserHome(mContext, live_id, 0);
}
}
});
}
}

View File

@@ -66,4 +66,14 @@ public class FrameGiftAdapter extends RecyclerView.Adapter {
public int getItemCount() {
return giftJson.size();
}
public void refreshWrapListAfterSend(LiveGiftBean model) {
for (int i = 0; i < giftJson.size(); i++) {
if (giftJson.get(i).getId() == model.getId()) {
int giftNum = giftJson.get(i).getBlindBoxTicket();
giftJson.get(i).setBlindBoxTicket(giftNum - 1);
}
}
notifyDataSetChanged();
}
}

View File

@@ -20,7 +20,7 @@ import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;

View File

@@ -39,7 +39,7 @@ public class GiftTitleAdapter extends RecyclerView.Adapter {
notifyDataSetChanged();
}
});
itemViewHolder.selectData(index == position);
itemViewHolder.selectData(index == position,name.get(position).getName());
}
@Override

View File

@@ -39,6 +39,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.makeramen.roundedimageview.RoundedImageView;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.IMLoginModel;
@@ -158,6 +159,7 @@ public class LiveChatAdapter extends RecyclerView.Adapter {
Log.i(TAG, "onScrolled: " + dy);
mRecyclerViewScrolledDy = dy;
isBottom = false;
}
@Override

View File

@@ -15,7 +15,6 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
import com.yunbao.live.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.List;

View File

@@ -98,7 +98,7 @@ public class SystemChatMessageAdapter extends RecyclerView.Adapter {
forward(mContext, model1.getType(), "", model1.getTitle(), "");
} else if ("3".equals(model1.getType())) {
if (model1.getLink() != null && !"".equals(model1.getLink())) {
WebViewActivity.forward(mContext, model1.getLink());
WebViewActivity.forward(mContext, model1.getLink(),false);
} else {
forward(mContext, model1.getType(), "", model1.getTitle(), "");
}

View File

@@ -34,15 +34,20 @@ public class CoinModel extends BaseModel {
public String getCoin() {
long coinMoney = Long.parseLong(coin);
String coinStr = coin;
if (999999999 < coinMoney && coinMoney <= 999999999999L) {
coin = coin.substring(0, coin.length() - 3);
coin = coin + "k";
coinStr = coinStr.substring(0, coinStr.length() - 3);
coinStr = coinStr + "k";
}
if (999999999999L < coinMoney && coinMoney <= 999999999999999L) {
coin = coin.substring(0, coin.length() - 6);
coin = coin + "M";
coinStr = coinStr.substring(0, coinStr.length() - 6);
coinStr = coinStr + "M";
}
return coin;
return coinStr;
}
public Long getCoinLong() {
return Long.parseLong(coin);
}
public CoinModel setCoin(String coin) {

View File

@@ -13,13 +13,14 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.lang.reflect.Field;
@@ -135,6 +136,7 @@ public class BlowkissDialog extends AbsDialogFragment {
btn_confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MobclickAgent.onEvent(mContext, "live_room_follow_sendgif", "弹的关注并送礼的按钮");
follow();
LiveHttpUtil.sendGift("0", mLiveUid, LiveActivity.mStream, gif_id, "1", new HttpCallback() {
@Override

View File

@@ -31,7 +31,7 @@ import com.yunbao.common.utils.WordsTypeUtil;
import com.yunbao.live.R;
import com.yunbao.live.adapter.FreePkRecyclerAdapter;
import com.yunbao.live.bean.LivePkBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.Arrays;

View File

@@ -2,14 +2,9 @@ package com.yunbao.live.dialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.inputmethod.InputMethodManager;
import android.widget.PopupWindow;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
@@ -31,7 +26,7 @@ import com.yunbao.live.adapter.GiftTopAdapter;
import com.yunbao.live.adapter.LiveGiftPagerAdapter;
import com.yunbao.live.adapter.LiveGiftPagerAdapter.ActionListener;
import com.yunbao.live.bean.GiftTopBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.List;

View File

@@ -12,10 +12,9 @@ import com.alibaba.fastjson.JSONObject;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
/**
* Created by cxf on 2019/4/30.

View File

@@ -232,7 +232,8 @@ public class GiftWallDialog extends AbsDialogFragment {
mLiveUid,
toUid,
mStream,
sbWy))
sbWy,
event.isCsb()))
.show();
}

View File

@@ -31,10 +31,10 @@ public class GiftWallItemPopup extends CenterPopupView {
private GiftWallModel giftWallModel;
private boolean unlit;
private String mLiveUid, mStream, toUid;
private boolean isAnchor = false, sbWy;
private boolean isAnchor = false, sbWy, csb;
public GiftWallItemPopup(@NonNull Context context, GiftWallModel giftWallModel,
boolean unlit, String mLiveUid, String toUid, String mStream, boolean sbWy) {
boolean unlit, String mLiveUid, String toUid, String mStream, boolean sbWy, boolean csb) {
super(context);
this.giftWallModel = giftWallModel;
this.unlit = unlit;
@@ -42,6 +42,7 @@ public class GiftWallItemPopup extends CenterPopupView {
this.toUid = toUid;
this.mStream = mStream;
this.sbWy = sbWy;
this.csb = csb;
if (this.mLiveUid.equals(CommonAppConfig.getInstance().getUid())) {
isAnchor = true;
}
@@ -100,10 +101,10 @@ public class GiftWallItemPopup extends CenterPopupView {
public void loadData() {
LiveNetManager.get(getContext()).
giftDetail(mLiveUid, String.valueOf(giftWallModel.getId()), new HttpCallback<GiftWallGiftDetail>() {
giftDetail(mLiveUid, String.valueOf(giftWallModel.getId()), toUid, new HttpCallback<GiftWallGiftDetail>() {
@Override
public void onSuccess(GiftWallGiftDetail data) {
if (data.getUid() == 0) {
if (data.getUid() == 0 || !csb) {
ImgLoader.display(getContext(), R.mipmap.icon_vacant_position_awaits, avatar);
vacantPositionAwaits.setText(getContext().getText(R.string.vacant_position_awaits));
vacantPosition.setText("?");
@@ -116,13 +117,21 @@ public class GiftWallItemPopup extends CenterPopupView {
distanceNaming.setVisibility(GONE);
} else {
distanceNaming.setVisibility(VISIBLE);
distanceNaming.setText(String.format(getContext().getString(R.string.distance_naming), String.valueOf(data.getNamingCoin())));
if ( !csb){
distanceNaming.setText(String.format(getContext().getString(R.string.distance_naming), String.valueOf(data.getDefault_naming_coin())));
}else {
distanceNaming.setText(String.format(getContext().getString(R.string.distance_naming), String.valueOf(data.getNamingCoin())));
}
}
}
@Override
public void onError(String error) {
ToastUtil.show(error);
ImgLoader.display(getContext(), R.mipmap.icon_vacant_position_awaits, avatar);
vacantPositionAwaits.setText(getContext().getText(R.string.vacant_position_awaits));
vacantPosition.setText("?");
}
});
}

View File

@@ -55,7 +55,7 @@ public class HighNobilityDialog extends AbsDialogFragment {
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname="
+ u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&uid="
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
ZhuangBanActivity.forward(mContext, url, false);
ZhuangBanActivity.forward(mContext, url, false,0);
});

View File

@@ -186,7 +186,7 @@ public class LiveChatListDialogFragment extends AbsDialogFragment {
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
} else if ("3".equals(bean.getType())) {
if (bean.getLink() != null && !"".equals(bean.getLink())) {
WebViewActivity.forward(getActivity(), bean.getLink());
WebViewActivity.forward(getActivity(), bean.getLink(),false);
} else {
systemMessageActivity.forward(getContext(), bean.getType(), "", bean.getTitle(), "");
}

View File

@@ -18,6 +18,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.lxj.xpopup.XPopup;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.bean.LiveGiftBean;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.common.glide.ImgLoader;
@@ -25,7 +26,7 @@ import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.List;
@@ -148,6 +149,7 @@ public class LiveContactDetailsSendGiftDialog extends AbsDialogPopupWindow {
}
private void send() {
MobclickAgent.onEvent(mContext, "contact_obtain", "点获取联系方式");
LiveHttpUtil.sendGift("0", mLiveUid, mStream, bean.getId(), "1", 1, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -164,6 +166,7 @@ public class LiveContactDetailsSendGiftDialog extends AbsDialogPopupWindow {
}
}).build().show();
} else {
MobclickAgent.onEvent(mContext, "contact_obtain_send_gif", "送出联系方式礼物");
dismiss();
}
}

View File

@@ -10,12 +10,11 @@ import com.yunbao.common.bean.FansGroupGiftPack;
import com.yunbao.common.dialog.AbsDialogCenterPopupWindow;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.R;
import com.yunbao.live.adapter.LiveFansGroupSendGiftAdapter;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.List;

View File

@@ -21,8 +21,8 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
/**
* Created by cxf on 2018/10/15.

View File

@@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.android.material.tabs.TabLayout;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.ActiveModel;
@@ -31,11 +32,13 @@ import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
@@ -43,13 +46,13 @@ import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 趣味游戏对话框
@@ -160,9 +163,9 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
String appCachePath = mContext.getCacheDir().getAbsolutePath();
mWebView.getSettings().setAppCachePath(appCachePath);
// mWebView.getSettings().setAppCachePath(appCachePath);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAppCacheEnabled(true);
// mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
@@ -202,7 +205,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
@Override
public void onError(String error) {
Log.i("debug", "onError: " + error);
ToastUtil.show( R.string.net_error);
ToastUtil.show(R.string.net_error);
dismiss();
}
});
@@ -252,6 +255,25 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
if (tab != null) {
tab.select();
ActiveModel model = (ActiveModel) tab.getTag();
Map<String, String> map_ekv = new HashMap<String, String>();
map_ekv.put("link", model.getActiveSrc());
MobclickAgent.onEvent(mContext, "live_room_slide", map_ekv);
switch (model.getActiveName()) {
case "闖關熱戀":
MobclickAgent.onEvent(mContext, "through_index", "进入闯关页面");
break;
case "怪物大作戰":
MobclickAgent.onEvent(mContext, "plant_index", "进入怪物页面");
break;
case "甜蜜約會":
MobclickAgent.onEvent(mContext, "sweet_index", "进入甜蜜页面");
break;
case "娛樂整蠱":
MobclickAgent.onEvent(mContext, "tricky_index", "进入娱乐整蛊页面");
break;
case "幸运天使":
MobclickAgent.onEvent(mContext, "angel_index", "进入幸运天使页面");
break; }
if (model != null) {
if (!StringUtil.isEmpty(model.getBgColor()) && !"#".equals(model.getBgColor())) {
tabLayout.setBackgroundColor(Color.parseColor(model.getBgColor()));
@@ -297,7 +319,7 @@ public class LiveGameDialogFragment extends AbsDialogFragment {
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
}
@Override

View File

@@ -81,8 +81,8 @@ import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.custom.GiftViewPager;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.common.event.LiveGiftDialogEvent;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.utils.ToolsButton;
import org.greenrobot.eventbus.EventBus;

View File

@@ -36,8 +36,8 @@ import com.yunbao.live.R;
import com.yunbao.live.adapter.LiveGiftCountAdapter;
import com.yunbao.live.adapter.LiveGiftPagerAdapter;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;

View File

@@ -39,10 +39,12 @@ import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.R;
import com.yunbao.common.bean.BlindBoxInfoModel;
import com.yunbao.common.bean.GiftNamingInfoModel;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.LiveGiftBean;
import com.yunbao.common.bean.LiveGiftBean2;
@@ -54,6 +56,7 @@ import com.yunbao.common.event.SendBlindGiftEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.HttpClient;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.AppManager;
@@ -64,6 +67,7 @@ import com.yunbao.common.utils.NobleUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.GiftNumberPopup;
import com.yunbao.common.views.weight.MarqueeTextView;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
@@ -77,7 +81,6 @@ import com.yunbao.live.event.GiftTitleEvent;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.live.event.LiveGiftItemEvent;
import com.yunbao.live.event.LiveParcelItemRefreshEvent;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.views.LiveGiftFragment;
import com.yunbao.live.views.LiveParcelFragment;
@@ -85,6 +88,7 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.math.BigDecimal;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@@ -200,6 +204,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
ViewClicksAntiShake.clicksAntiShake(liveWrap, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
MobclickAgent.onEvent(mContext, "gif_list_pack_list", "用户点礼物栏包裹礼物按钮");
giftTitleAdapter.uncheck();
liveWrap.setAlpha(1.0f);
liveWrap.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);
@@ -211,23 +216,58 @@ public class LiveGiftPopup extends AbsDialogFragment {
}
});
//;连送
ViewClicksAntiShake.clicksAntiShake(mBtnSendGroup, new ViewClicksAntiShake.ViewClicksCallBack() {
mBtnSendGroup.setOnClickListener(new View.OnClickListener() {
@Override
public void onViewClicks() {
sendGift();
public void onClick(View v) {
MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物");
sendGiftHandler.post(sendGiftRunnble);
}
});
//送礼
ViewClicksAntiShake.clicksAntiShake(liveGiftSend, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
sendGift();
MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物");
if (liveGiftModel != null && liveGiftModel.getBlindBoxTicket() > 0) {
BigDecimal needcoin = new BigDecimal(liveGiftModel.getPrice()).multiply(new BigDecimal(mCount));
if (needcoin.longValue() > diamond) {
sendBlindBoxTicket();
} else {
new DialogUitl.Builder(mContext)
.setView(R.layout.dialog_live_unfollow)
.setConfirmString(mContext.getString(R.string.aristocrat_determine))
.setCancelString(mContext.getString(R.string.use_diamonds))
.setContent(mContext.getString(R.string.trial_coupon))
.setClickCallback(new DialogUitl.SimpleCallback2() {
@Override
public void onCancelClick() {
sendGiftHandler.post(sendGiftRunnble);
}
@Override
public void onConfirmClick(Dialog dialog, String content) {
sendBlindBoxTicket();
}
}).setCancelable(true).build().show();
}
} else {
sendGiftHandler.post(sendGiftRunnble);
}
}
});
// 跳转充值
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.diamond_linear), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
MobclickAgent.onEvent(mContext, "gif_list_recharge_list", "用户点礼物栏充值按钮");
forwardMyCoin(0);
}
});
@@ -242,6 +282,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
ViewClicksAntiShake.clicksAntiShake(description, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
MobclickAgent.onEvent(mContext, "gif_list_blind_box_info", "用户点开礼物列表盲盒页面的盲盒说明");
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
StringBuffer htmlUrl = new StringBuffer();
htmlUrl.append(CommonAppConfig.HOST)
@@ -262,6 +303,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_luck_gift_tip), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
MobclickAgent.onEvent(mContext, "gif_list_opened_noble", "用户点击开通贵族");
dismiss();
((LiveActivity) mContext).openLuckGiftTip();
}
@@ -270,6 +312,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.leveling_layout), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
MobclickAgent.onEvent(mContext, "gif_list_grade", "用户点击等级页面");
IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo();
StringBuffer htmlUrl = new StringBuffer();
htmlUrl.append(CommonAppConfig.HOST)
@@ -278,7 +321,9 @@ public class LiveGiftPopup extends AbsDialogFragment {
.append("&token=")
.append(userInfo.getToken())
.append("&no_back=1")
.append("&for");
.append("&for")
.append("&isZh=")
.append(WordUtil.isNewZh() ? "1" : 0);
Bundle bundle = new Bundle();
bundle.putString("url", htmlUrl.toString());
bundle.putInt("height", DeviceUtils.getScreenHeight(getActivity()) / 5 * 3);
@@ -309,6 +354,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
StringBuffer htmlUrl = new StringBuffer();
htmlUrl.append(CommonAppConfig.HOST)
.append(liveGiftModel.getOperateUrl())
.append("?uid=")
.append(userInfo.getId())
.append("&token=")
.append(userInfo.getToken())
@@ -339,45 +385,27 @@ public class LiveGiftPopup extends AbsDialogFragment {
by = bundle.getString("by");
isPk = bundle.getBoolean("pk");
}
//判断是否缓存礼物列表
String giftListJson = CommonAppConfig.getInstance().getGiftListJson();
if (!TextUtils.isEmpty(giftListJson)) {
try {
liveGiftList = JSON.parseArray(giftListJson);
Bus.getOn(this);
} catch (Exception e) {
e.printStackTrace();
}
}
if (liveGiftList == null) {
LiveHttpUtil.getNewGiftList(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
JSONObject obj = JSON.parseObject(info[0]);
liveGiftList = obj.getJSONArray("listarray");
CommonAppConfig.getInstance().setGiftListJson(obj.getString("listarray"));
getCoin();
goldText.setText(obj.getString("gold"));
diamondText.setText(obj.getString("coin"));
setTitleData();
}
}
@Override
public void onFinish() {
LiveHttpUtil.getNewGiftList(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
JSONObject obj = JSON.parseObject(info[0]);
liveGiftList = obj.getJSONArray("listarray");
CommonAppConfig.getInstance().setGiftListJson(obj.getString("listarray"));
getCoin();
// if (mLoading != null) {
// mLoading.setVisibility(View.INVISIBLE);
// }
goldText.setText(obj.getString("gold"));
diamondText.setText(obj.getString("coin"));
setTitleData();
}
});
} else {
getCoin();
setTitleData();
}
}
@Override
public void onFinish() {
getCoin();
}
});
getBlindBoxInfo();
loadUserVip();
}
@@ -454,6 +482,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
/**
* 获取砖石和金豆余额
*/
long diamond = 0;
private void getCoin() {
LiveHttpUtil.getCoin(new HttpCallback() {
@Override
@@ -463,35 +493,56 @@ public class LiveGiftPopup extends AbsDialogFragment {
CoinModel coinModel = GsonUtils.fromJson(info[0], CoinModel.class);
goldText.setText(coinModel.getGold());
diamondText.setText(coinModel.getCoin());
diamond = coinModel.getCoinLong();
lvStr.setText("Lv." + coinModel.getUserLevel());
int nextLeve = Integer.parseInt(coinModel.getUserNextLevelRewards());
int maxLeve = Integer.parseInt(coinModel.getUserLevelMax());
findViewById(R.id.red_point).setVisibility((!TextUtils.isEmpty(coinModel.getUsersPackRedDot())) &&
TextUtils.equals(coinModel.getUsersPackRedDot(), "1") ? View.VISIBLE : View.GONE);
if (!TextUtils.equals(coinModel.getUserLevel(),coinModel.getUserLevelMax())) {
String leveNext = String.valueOf(nextLeve);
String userNextLevel = coinModel.getUserLevelUpgrades();
String hint = String.format(getString(R.string.leveling_points),
userNextLevel, leveNext);
int leveNextIndexOf = hint.indexOf(leveNext);
int leveNextSize = leveNext.length();
int userNextLevelIndexOf = hint.indexOf(userNextLevel);
int userNextLevelSize = userNextLevel.length();
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(hint);
builder.setSpan(new
ForegroundColorSpan(Color.parseColor("#FFC722")),
leveNextIndexOf, leveNextIndexOf + leveNextSize,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(new
ForegroundColorSpan(Color.parseColor("#FFC722")),
userNextLevelIndexOf, userNextLevelIndexOf + userNextLevelSize,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
leaveHint.setText(builder);
progressBar.setProgress(nextLeve);
progressBar.setMax(maxLeve);
if (!TextUtils.equals(coinModel.getUserLevel(), coinModel.getUserLevelMax())) {
int nextLeve = Integer.parseInt(coinModel.getUserNextLevelRewards());
BigDecimal maxLeve = new BigDecimal(coinModel.getUserLevelUpgrades()).add(new BigDecimal(coinModel.getUserLevelCurrentConsumption()));
try {
String leveNext = String.valueOf(nextLeve);
String userNextLevel = coinModel.getUserLevelUpgrades();
StringBuffer stringBuffer = new StringBuffer();
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
stringBuffer.append("升級還需")
.append(userNextLevel)
.append("經驗值,升至")
.append(leveNext)
.append("即可領取獎勵");
} else {
stringBuffer.append(userNextLevel)
.append(" experience upgrade,")
.append(leveNext)
.append(" receive rewards");
}
String hint = stringBuffer.toString();
int leveNextIndexOf = hint.indexOf(leveNext);
int leveNextSize = leveNext.length();
int userNextLevelIndexOf = hint.indexOf(userNextLevel);
int userNextLevelSize = userNextLevel.length();
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(hint);
builder.setSpan(new
ForegroundColorSpan(Color.parseColor("#FFC722")),
leveNextIndexOf, leveNextIndexOf + leveNextSize,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(new
ForegroundColorSpan(Color.parseColor("#FFC722")),
userNextLevelIndexOf, userNextLevelIndexOf + userNextLevelSize,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
leaveHint.setText(builder);
progressBar.setProgress(new BigDecimal(coinModel.getUserLevelCurrentConsumption()).intValue());
progressBar.setMax(maxLeve.intValue());
} catch (Exception e) {
throw new RuntimeException(e);
}
} else {
String hint = getString(R.string.reach_the_top);
String hint = mContext.getString(R.string.reach_the_top);
leaveHint.setText(hint);
progressBar.setMax(10);
progressBar.setProgress(10);
@@ -505,11 +556,78 @@ public class LiveGiftPopup extends AbsDialogFragment {
});
}
private Handler sendGiftHandler = new Handler();
private Runnable sendGiftRunnble = new Runnable() {
@Override
public void run() {
if (isWrap && liveGiftModel.getType() == 7) {
sendBlindBoxTicket();
} else {
sendGift();
}
}
};
//使用优惠券
public void sendBlindBoxTicket() {
if (TextUtils.isEmpty(mLiveUid) ||
TextUtils.isEmpty(mStream) ||
liveGiftModel == null)
return;
LiveHttpUtil.sendBlindBoxTicket((by != null ? "1" : "0"),
mLiveUid,
mStream,
isWrap ? liveGiftModel.getId() : liveGiftModel.getBlindBoxTicketId(), new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
if (liveGiftModel.getSwf().contains("svga")) {
dismiss();
}
if (info.length > 0) {
JSONObject obj = JSON.parseObject(info[0]);
String coin = obj.getString("coin");
String goldCoin = obj.getString("gold");
UserBean u = CommonAppConfig.getInstance().getUserBean();
if (u != null) {
u.setLevel(obj.getIntValue("level"));
//送礼物后更新粉丝徽章等级
u.setMedalLevel(obj.getIntValue("medal_level"));
u.setMedalName(obj.getString("medal_name"));
u.setCoin(coin);
}
if (diamondText != null) {
diamondText.setText(coin);
}
if (goldText != null) {
goldText.setText(goldCoin);
}
if (!isWrap) {
liveGiftModel.setBlindBoxTicket(liveGiftModel.getBlindBoxTicket() - 1);
}
isGetNewWrap = true;
if (isWrap) {
Bus.get().post(new LiveParcelItemRefreshEvent().setLiveGiftModel(liveGiftModel));
}
}
} else {
ToastUtil.show(msg);
}
}
});
}
/**
* 赠送礼物
*/
public void sendGift() {
if (liveGiftModel == null) return;
if (liveGiftModel.getType() == 7) {
MobclickAgent.onEvent(mContext, "gif_list_blind_box_seed", "用户发送盲盒");
}
if (liveGiftModel.getTag() != null) {
if (mCount.equals("1")) {
LiveHttpUtil.setFrontTask("sendgift", mLiveUid, new HttpCallback() {
@@ -624,6 +742,53 @@ public class LiveGiftPopup extends AbsDialogFragment {
giftSendLayout.setVisibility(View.VISIBLE);
lianSongHandler.removeCallbacks(lianSongRunnable);
mShowLianBtn = false;
getCoin();
LiveNetManager.get(mContext)
.getGiftNamingInfo(liveGiftModel.getId() + "", new com.yunbao.common.http.base.HttpCallback<GiftNamingInfoModel>() {
@Override
public void onSuccess(GiftNamingInfoModel data) {
if (TextUtils.equals(data.getNamingStatus(), "1")) {
liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class);
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
!TextUtils.equals(liveGiftModel.getNamingUid(), "0")) {
namingLayout.setVisibility(View.VISIBLE);
ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar);
StringBuffer namingNameText = new StringBuffer();
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
namingNameText.append("获取冠名:")
.append(liveGiftModel.getNamingUserCoin())
.append(" ");
} else {
namingNameText.append("Get title: ")
.append(liveGiftModel.getNamingUserCoin())
.append(" ");
}
namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor))
.append(liveGiftModel.getNamingLiveName())
.append(" ")
.append(mContext.getText(com.yunbao.live.R.string.the_title_financier))
.append(" ")
.append(liveGiftModel.getNamingUserName());
namingName.setText(namingNameText.toString());
} else {
namingLayout.setVisibility(View.GONE);
}
} else {
namingLayout.setVisibility(View.GONE);
}
}
@Override
public void onError(String error) {
}
});
}
/**
@@ -673,6 +838,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
@Subscribe(threadMode = ThreadMode.MAIN)
public void onLiveGiftItemEvent(LiveGiftItemEvent event) {
liveGiftModel = event.getLiveGiftModel();
MobclickAgent.onEvent(mContext, "gif_list_choose", "用户选中某个礼物:" + liveGiftModel.getName());
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
@@ -681,6 +847,14 @@ public class LiveGiftPopup extends AbsDialogFragment {
namingLayout.setVisibility(View.VISIBLE);
ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar);
StringBuffer namingNameText = new StringBuffer();
if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) {
namingNameText.append("获取冠名:")
.append(liveGiftModel.getNamingUserCoin())
.append(" ");
} else {
namingNameText.append("Get title: ")
.append(liveGiftModel.getNamingUserCoin());
}
namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor))
.append(liveGiftModel.getNamingLiveName())
.append(" ")
@@ -693,6 +867,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
}
if (liveGiftModel.getType() == 7) {
MobclickAgent.onEvent(mContext, "gif_list_blind_box", "用户点开礼物列表盲盒");
iconArrow.setVisibility(View.GONE);
showBlindProgress(liveGiftModel.getBlind_box_type());
} else {
@@ -719,7 +894,10 @@ public class LiveGiftPopup extends AbsDialogFragment {
if (!TextUtils.isEmpty(liveGiftModel.getOperateImage())) {
operateImage.setVisibility(View.VISIBLE);
ImgLoader.display(getContext(), liveGiftModel.getOperateImage(), operateImage);
} else {
operateImage.setVisibility(View.GONE);
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -1101,15 +1279,19 @@ public class LiveGiftPopup extends AbsDialogFragment {
if (goldText != null) {
goldText.setText(goldCoin);
}
if (mGiftBean.getType() == LiveGiftBean2.TYPE_NORMAL && !mGiftBean.getSwf().contains("svga")) {
if (!mGiftBean.getSwf().contains("svga")) {
showLianBtn();
}
if (mGiftBean.getType() == 7) {
showLianBtn();
}
// //刷新包裹列表wrap_gift_num -1:表示数量没有变化
// mObjGiftSendback = obj;
isGetNewWrap = true;
if (isWrap) {
Bus.get().post(new LiveParcelItemRefreshEvent().setLiveGiftModel(liveGiftModel));
}
@@ -1163,6 +1345,8 @@ public class LiveGiftPopup extends AbsDialogFragment {
@Override
public void onConfirmClick(Dialog dialog, String content) {
forwardMyCoin(0);
MobclickAgent.onEvent(mContext, "user_to_recharge", "app内任意提示用户余额不足 用户充值点了提示里面的去充值");
}
}).build().show();
} else {

View File

@@ -37,7 +37,7 @@ import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.bean.HotBean;
import com.yunbao.live.custom.TopGradual;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.utils.LiveTextRender;
import java.net.MalformedURLException;

View File

@@ -31,15 +31,14 @@ import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.adapter.GuardRightAdapter;
import com.yunbao.live.bean.GuardBuyBean;
import com.yunbao.live.bean.GuardRightBean;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.List;

View File

@@ -17,14 +17,13 @@ import com.yunbao.common.custom.CommonRefreshView;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.adapter.GuardAdapter;
import com.yunbao.live.bean.GuardUserBean;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;
import java.util.List;

View File

@@ -24,7 +24,6 @@ import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -51,9 +50,9 @@ import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.activity.ZhuangBanActivity;
import com.yunbao.live.event.LiveRoomChangeEvent;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -158,9 +157,9 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
String appCachePath = mContext.getCacheDir().getAbsolutePath();
mWebView.getSettings().setAppCachePath(appCachePath);
// mWebView.getSettings().setAppCachePath(appCachePath);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAppCacheEnabled(true);
// mWebView.getSettings().setAppCacheEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
@@ -372,7 +371,7 @@ public class LiveHDDialogFragment extends AbsDialogFragment {
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname="
+ u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&uid="
+ CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&active=" + event.getData() + "&anchorUid=" + mLiveUid;
ZhuangBanActivity.forward(mContext, url, false);
ZhuangBanActivity.forward(mContext, url, false,0);
}
}

View File

@@ -27,6 +27,7 @@ import android.widget.RadioGroup;
import androidx.fragment.app.FragmentActivity;
import com.blankj.utilcode.util.GsonUtils;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.BaseModel;
import com.yunbao.common.bean.NobleTrumpetModel;
@@ -143,6 +144,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
MobclickAgent.onEvent(mContext, "chat_btn_enter", "用户输入文字");
if (s.length() == 0) {
mMyRadioButton.doChecked(false);
} else {
@@ -190,6 +192,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
ViewClicksAntiShake.clicksAntiShake(mRootView.findViewById(R.id.ai_te), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
MobclickAgent.onEvent(mContext, "chat_btn_at", "用户点聊天框上的艾特");
Intent intent = new Intent(getActivity(), OlineListActivity.class);
intent.putExtra("liveID", mLiveUid);
intent.putExtra("stream", bundle.getString(Constants.LIVE_STREAM));
@@ -211,6 +214,7 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
@Override
public void onClick(View v) {
MobclickAgent.onEvent(mContext, "chat_btn_seed_msg", "用户点发送按钮");
sendMessage();
}
@@ -318,10 +322,12 @@ public class LiveInputDialogFragment extends AbsDialogFragment implements View.O
mInput.setHint(mHint2);
messageType = SendMessageType.GENERALMESSAGE;
} else if (radioButton.getId() == R.id.btn_1) {
MobclickAgent.onEvent(mContext, "chat_btn_wind", "用户点输入框上飘屏按钮");
radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(popupScreenP, null, null, null);
mInput.setHint(mHint1);
messageType = SendMessageType.POPUPSCREEN;
} else {
MobclickAgent.onEvent(mContext, "chat_btn_trumpet", "用户点输入框上全站喇叭按钮");
radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(worldHornP, null, null, null);
mInput.setHint(String.format(mContext.getString(R.string.whole_station_horn_hint), trumpetNum + ""));
messageType = SendMessageType.WORLDHORN;

View File

@@ -34,8 +34,8 @@ import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.adapter.LivePkAdapter;
import com.yunbao.live.bean.LivePkBean;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;
import java.util.List;

View File

@@ -33,7 +33,7 @@ import com.yunbao.live.adapter.AnchorUserMicInfoAdapter;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.common.bean.LiveUserGiftBean;
import com.yunbao.common.bean.MicUserBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.utils.LiveImDeletUtil;
import com.yunbao.common.utils.MicStatusManager;

View File

@@ -33,7 +33,7 @@ import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.adapter.UserMicInfoAdapter;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.common.bean.MicUserBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.socket.SocketSendBean;
import com.yunbao.live.utils.LiveImDeletUtil;
import com.yunbao.common.utils.MicStatusManager;

View File

@@ -42,8 +42,8 @@ import com.yunbao.live.adapter.LiveNewGuardBuyItemsAdapter;
import com.yunbao.live.bean.GuardBuyBean;
import com.yunbao.live.bean.GuardRightBean;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.List;

View File

@@ -27,13 +27,12 @@ import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.adapter.GuardAdapter;
import com.yunbao.live.bean.GuardUserBean;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.Arrays;

View File

@@ -28,8 +28,8 @@ import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.adapter.LiveNewWishListAdapter;
import com.yunbao.live.bean.LiveWishlistBean;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;

View File

@@ -40,20 +40,15 @@ import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveReportActivity;
import com.yunbao.live.bean.ImpressBean;
import com.yunbao.live.custom.MyTextView;
import com.yunbao.live.event.LiveRoomChangeEvent;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.live.utils.LiveTextRender;
import com.yunbao.live.views.LiveRoomViewHolder;
import org.greenrobot.eventbus.EventBus;
import java.net.MalformedURLException;
import java.net.URL;

View File

@@ -19,7 +19,7 @@ import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.adapter.LivePromotionAdapter;
import com.yunbao.live.bean.LivePromotionBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;
import java.util.List;

View File

@@ -16,12 +16,11 @@ import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.adapter.RedPackAdapter;
import com.yunbao.live.bean.RedPackBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;
import java.util.List;

View File

@@ -17,12 +17,11 @@ import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.adapter.RedPackResultAdapter;
import com.yunbao.live.bean.RedPackBean;
import com.yunbao.live.bean.RedPackResultBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.List;

View File

@@ -19,13 +19,12 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.adapter.RedPackAdapter;
import com.yunbao.live.bean.RedPackBean;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.live.interfaces.RedPackCountDownListener;
/**

View File

@@ -19,11 +19,10 @@ import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
/**
* Created by cxf on 2018/11/19.

View File

@@ -69,9 +69,9 @@ public class LiveUserAnchorMailBoxWebInfoPopDialog extends AbsDialogPopupWindow
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
String appCachePath = getContext().getCacheDir().getAbsolutePath();
mWebView.getSettings().setAppCachePath(appCachePath);
// mWebView.getSettings().setAppCachePath(appCachePath);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAppCacheEnabled(true);
// mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

View File

@@ -24,23 +24,26 @@ import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.tencent.imsdk.v2.V2TIMCallback;
import com.tencent.imsdk.v2.V2TIMManager;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.FansMedalBean;
import com.yunbao.common.bean.FansModel;
import com.yunbao.common.bean.LevelBean;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.bean.OlineUserlistModel;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.manager.NewLevelManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.NobleUtil;
import com.yunbao.common.utils.RouteUtil;
@@ -53,9 +56,6 @@ import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveReportActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.live.event.LiveRoomChangeEvent;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.live.utils.LiveTextRender;
import org.greenrobot.eventbus.EventBus;
@@ -250,7 +250,18 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
mLvVal = mRootView.findViewById(R.id.user_card_lv_val);
mNobleIconLayout.setOnClickListener(this);
mSetting.setOnClickListener(this);
mHonorLayout.setOnClickListener(v -> forwardHomePage());
mHonorLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!isAnchor) {
MobclickAgent.onEvent(mContext, "user_avatar_honor", "荣誉墙按钮");
} else {
MobclickAgent.onEvent(mContext, "anchor_avatar_honor", "主播荣誉墙");
}
forwardHomePage();
}
});
//用户名片连点三次粉丝弹出视频debug窗
/*mFansVal.setOnClickListener(new View.OnClickListener() {
@@ -611,6 +622,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
* 跳转到个人主页
*/
private void forwardHomePage() {
dismiss();
Constants.mStream = mStream;
RouteUtil.forwardUserHome(mContext, mToUid, true, mLiveUid, 0);
@@ -703,14 +715,30 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
public void onClick(View v) {
int i = v.getId();
if (i == R.id.btn_follow) {
if (isAnchor) {
MobclickAgent.onEvent(mContext, "anchor_avatar_follow", "点关注主播");
} else {
MobclickAgent.onEvent(mContext, "user_avatar_follow", "点关注用户");
}
setAttention();
} else if (i == R.id.btn_home_page) {
if (isAnchor) {
MobclickAgent.onEvent(mContext, "anchor_avatar_index", "点主播主页");
} else {
MobclickAgent.onEvent(mContext, "user_avatar_index", "主页按钮");
}
forwardHomePage();
} else if (i == R.id.btn_report) {
report();
} else if (i == R.id.avatar) {
if (isAnchor) {
MobclickAgent.onEvent(mContext, "anchor_avatar_btn", "点主播头像");
}
forwardHomePage();
} else if (i == R.id.btn_guard) {
MobclickAgent.onEvent(mContext, "anchor_avatar_guard", "守护按钮");
((LiveActivity) mContext).openNewGuardListWindow(mContext instanceof LiveRyAnchorActivity, mToUid);
} else if (i == R.id.btn_live) {
gotoLive(mToUid);
@@ -719,6 +747,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
dismiss();
((LiveActivity) mContext).openFansWindow(mToUid);
} else {
MobclickAgent.onEvent(mContext, "user_avatar_noble", "贵族按钮");
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.NOBLE));
}

View File

@@ -39,7 +39,7 @@ import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.adapter.UserMoreInfoAdapter;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.ArrayList;
import java.util.Collections;

View File

@@ -23,8 +23,8 @@ import com.yunbao.live.activity.LiveAnchorActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.adapter.LiveWishListAdapter;
import com.yunbao.live.bean.LiveWishlistBean;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpConsts;
import com.yunbao.common.http.LiveHttpUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;

View File

@@ -111,7 +111,7 @@ public class MedalAchievementPopup extends BottomPopupView {
.append(userInfo.getToken())
.append("&uid=")
.append(userInfo.getId());
ZhuangBanActivity.forward(getContext(), htmlUrl.toString(), false);
ZhuangBanActivity.forward(getContext(), htmlUrl.toString(), false,0);
}
});
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.close_btn), new ViewClicksAntiShake.ViewClicksCallBack() {

View File

@@ -18,7 +18,7 @@ import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import org.greenrobot.eventbus.EventBus;

View File

@@ -18,13 +18,11 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.common.manager.RandomPkManager;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
import java.util.Arrays;

Some files were not shown because too many files have changed in this diff Show More