對接開通接口神龍送財的im消息

This commit is contained in:
18401019693 2024-03-13 11:18:26 +08:00
parent bc8d916445
commit 50b6deaf01
53 changed files with 1438 additions and 225 deletions

View File

@ -0,0 +1,145 @@
package com.yunbao.common.bean;
import com.google.gson.annotations.SerializedName;
public class GuardMaturityDateRemindModel extends BaseModel{
@SerializedName("_method_")
private String method;
@SerializedName("action")
private String action;
@SerializedName("is_overdue")
private int isOverdue;
@SerializedName("days")
private int days;
@SerializedName("uid")
private String uid;
@SerializedName("liveuid")
private String liveuid;
@SerializedName("user_avatar")
private String userAvatar;
@SerializedName("user_nicename")
private String userNicename;
@SerializedName("live_avatar")
private String liveAvatar;
@SerializedName("live_nicename")
private String liveNicename;
@SerializedName("ct")
private String ct;
@SerializedName("guard_type")
private String guardType;
public String getGuardType() {
return guardType;
}
public GuardMaturityDateRemindModel setGuardType(String guardType) {
this.guardType = guardType;
return this;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public int getIsOverdue() {
return isOverdue;
}
public void setIsOverdue(int isOverdue) {
this.isOverdue = isOverdue;
}
public int getDays() {
return days;
}
public void setDays(int days) {
this.days = days;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getLiveuid() {
return liveuid;
}
public void setLiveuid(String liveuid) {
this.liveuid = liveuid;
}
public String getUserAvatar() {
return userAvatar;
}
public void setUserAvatar(String userAvatar) {
this.userAvatar = userAvatar;
}
public String getUserNicename() {
return userNicename;
}
public void setUserNicename(String userNicename) {
this.userNicename = userNicename;
}
public String getLiveAvatar() {
return liveAvatar;
}
public void setLiveAvatar(String liveAvatar) {
this.liveAvatar = liveAvatar;
}
public String getLiveNicename() {
return liveNicename;
}
public void setLiveNicename(String liveNicename) {
this.liveNicename = liveNicename;
}
public String getCt() {
return ct;
}
public void setCt(String ct) {
this.ct = ct;
}
@Override
public String toString() {
return "GuardMaturityDateRemindModel{" +
"method='" + method + '\'' +
", action='" + action + '\'' +
", isOverdue=" + isOverdue +
", days=" + days +
", uid='" + uid + '\'' +
", liveuid='" + liveuid + '\'' +
", userAvatar='" + userAvatar + '\'' +
", userNicename='" + userNicename + '\'' +
", liveAvatar='" + liveAvatar + '\'' +
", liveNicename='" + liveNicename + '\'' +
", ct='" + ct + '\'' +
'}';
}
}

View File

@ -36,7 +36,7 @@ public class GuardBuyTipsDialog {
}
if (!TextUtils.isEmpty(content)) {
TextView buyTypeTextView = dialog.findViewById(R.id.buyType);
buyTypeTextView.setText(content);
buyTypeTextView.setText(""+content+"");
}
dialog.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {
@Override

View File

@ -1167,6 +1167,10 @@ public interface PDLiveApi {
@GET("/api/public/?service=Guard.getGuardUserInfo")
Observable<ResponseModel<GuardGetGuardUserInfoModel>> getGuardUserInfo(@Query("liveuid") String liveUid);
@GET("/api/public/?service=Guard.getGuardOpenInfo")
Observable<ResponseModel<GuardGetGuardOpenInfoModel>> getGuardOpenInfo(@Query("liveuid") String liveUid);
@GET("/api/public/?service=Guard.openGuard")
Observable<ResponseModel<Object>> openGuard(@Query("liveuid") String liveUid, @Query("guard_type") String guardType, @Query("price_key") String priceKey);
}

View File

@ -2981,6 +2981,30 @@ public class LiveNetManager {
}
public void openGuard(String liveUid, String guardType, String priceKey, HttpCallback<String> callback) {
API.get().pdLiveApi(mContext)
.openGuard(liveUid, guardType, priceKey)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<ResponseModel<Object>>() {
@Override
public void accept(ResponseModel<Object> stringResponseModel) throws Exception {
if (callback != null) {
callback.onSuccess(stringResponseModel.getData().getMsg());
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
throwable.printStackTrace();
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
/**
* 直播间取消网络请求
*/

View File

@ -66,6 +66,7 @@ public class RongcloudIMManager {
SpeechUtility.createUtility(application.getApplicationContext(), params);
}
private static RongIMClient.OnReceiveMessageWrapperListener mListener;
/**

View File

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

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="18dp" />
<gradient
android:angle="180"
android:endColor="#463D32"
android:startColor="#342B20" />
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="18dp" />
<gradient
android:angle="180"
android:endColor="#FCDEC4"
android:startColor="#EEC593" />
</shape>

View File

@ -35,6 +35,9 @@
<TextView
android:id="@+id/content"
android:gravity="center"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"

View File

@ -34,45 +34,59 @@
app:gradient_endColor="#F9E1AE"
app:gradient_startColor="#C28413" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="14dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule1"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<androidx.core.widget.NestedScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule2"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="14dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule1"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule2"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule3"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule4"
android:textColor="#FFE0BF"
android:textSize="14sp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule3"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="10dp"
android:text="@string/dragon_rule4"
android:textColor="#FFE0BF"
android:textSize="14sp" />
</LinearLayout>
</FrameLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -1451,7 +1451,44 @@ Limited ride And limited avatar frame</string>
<string name="back_community_sure">Sure</string>
<string name="guard_buy_tips_1">您將花費%s鑽石為主播開通</string>
<string name="guard_buy_tips_1">You will spend %s diamonds for the anchor</string>
<string name="guard_buy_type_1">【星之守护】</string>
<string name="guard_buy_type_1">【Star Guardian】</string>
<string name="guardian_privilege">Guardianship privileges</string>
<string name="be_their_exclusive_guardian">Becoming the exclusive guardian of the anchor\n</string>
<string name="not_yet_open">Not opened</string>
<string name="tas_guardian_group">The anchor\'s guardian group</string>
<string name="open_the_kings_guard">Activate King Guardian</string>
<string name="open_the_start_guard">Activate Star Guardian</string>
<string name="open_the_god_guard">Activate God Guardian</string>
<string name="one_month">1 month</string>
<string name="tree_month">3 month</string>
<string name="six_month">6 month</string>
<string name="one_two_month">12 month</string>
<string name="guardian_for_your_favorite_anchor">Quickly activate guardian for your favorite anchor</string>
<string name="guardian_task">Guardian Task</string>
<string name="my_graud_grade">My level ></string>
<string name="no_one_guarding_the_anchor_yet">No one is guarding the anchor yet, come and guard it now~</string>
<string name="this_week_contribution">Contribution/week</string>
<string name="contribution">Contribution</string>
<string name="have_opened">Opened</string>
<string name="dragon_sends_money">Dragon\'s Wealth</string>
<string name="please_enter_the_number_of_gold_beans">"Please enter the quantity of gold beans "</string>
<string name="please_enter_the_number_of_gold_beans_hint">"The gold beans consumed this time will increase your guardian experience points "</string>
<string name="open_an_activity">Open activity</string>
<string name="dragon_rule1">"1. Dragon's Wealth is a benefit that you provide to the audience of the live room after activating the 【God Guardian】. You can choose to customize the number of golden beans and summon Dragon God to divide the profits among the fans of the live broadcast room (the number of golden beans is not less than 1000), or you can choose not to activate the activity; "</string>
<string name="dragon_rule2">"2. The consumption of gold beans this time will be included in the guardian contribution value and experience value growth. For every 10 gold beans provided, 1 contribution value will be obtained, which can be used to increase the guardian level; "</string>
<string name="dragon_rule3">"3. Users who follow the anchor and participate in activities will receive the benefits you provide after a five minute countdown; "</string>
<string name="dragon_rule4">4. The final interpretation of this activity belongs to PDLIVE.</string>
<string name="dragon_immediate_participation">Participate</string>
<string name="continuative_guardian_privilege">Renew now to extend guardian privileges\n</string>
<string name="travel_renewal">Go to renew</string>
<string name="congratulations_on_the_promotion">Congratulations</string>
<string name="guard_level_has_been_reached">Your guardian level has reached level 000</string>
<string name="view_grade">View levels</string>
<string name="guard_for_your_beloved_one">Open up guard for your beloved anchor!</string>
<string name="due_in">Due in</string>
<string name="due_in_guard">Expired</string>
<string name="continuative_guardian_privilege2">"Now renew and enjoy guardian privileges again "</string>
<string name="renewal_guardian">Renewal Guardian</string>
</resources>

View File

@ -1453,4 +1453,41 @@
<string name="guard_buy_tips_1">您將花費%s鑽石為主播開通</string>
<string name="guard_buy_type_1">【星之守护】</string>
<string name="guardian_privilege">守護團特權</string>
<string name="be_their_exclusive_guardian">成爲TA的專屬守護 為TA保駕護航</string>
<string name="not_yet_open">暫未開通</string>
<string name="tas_guardian_group">TA的守護團 ></string>
<string name="open_the_kings_guard">開通王之守護</string>
<string name="open_the_start_guard">開通星之守護</string>
<string name="open_the_god_guard">開通神之守護</string>
<string name="one_month">1個月</string>
<string name="tree_month">3個月</string>
<string name="six_month">6個月</string>
<string name="one_two_month">12個月</string>
<string name="guardian_for_your_favorite_anchor">快爲您喜歡的主播開通守護吧!</string>
<string name="guardian_task">守護任務</string>
<string name="my_graud_grade">我的等級 ></string>
<string name="no_one_guarding_the_anchor_yet">還沒人守護主播快來守護TA吧~</string>
<string name="this_week_contribution">本周貢獻值</string>
<string name="contribution">貢獻度</string>
<string name="have_opened">已開通</string>
<string name="dragon_sends_money">神龍送財</string>
<string name="please_enter_the_number_of_gold_beans">請輸入金豆數量</string>
<string name="please_enter_the_number_of_gold_beans_hint">您本次消耗的金豆將增長您的守護經驗值</string>
<string name="open_an_activity">開啓活動</string>
<string name="dragon_rule1">1.龍神送財是您開通【神之守護】後給予直播間觀眾的福利您可選擇自定義金豆數量並召喚龍神給直播间内主播粉丝瓜分金豆數量不低於1000或者您可以選擇不开启活动</string>
<string name="dragon_rule2">2.此次金豆消耗将计入守护贡献值和经验值增长每提供10金豆將獲得1貢獻值貢獻值可用於增長守護等級</string>
<string name="dragon_rule3">3.用戶關注主播並參與活動,將在五分鐘倒計時後將獲得您提供的福利;</string>
<string name="dragon_rule4">4.此活動的最終解釋權歸PDLIVE所有。</string>
<string name="dragon_immediate_participation">立即參與</string>
<string name="continuative_guardian_privilege">延續守護特權</string>
<string name="travel_renewal">前往續費</string>
<string name="congratulations_on_the_promotion">恭喜升級</string>
<string name="guard_level_has_been_reached">您的守護等級已達到123級 可以領取以下獎勵</string>
<string name="view_grade">查看等級</string>
<string name="guard_for_your_beloved_one">為心愛的TA開通守護吧</string>
<string name="due_in">還有</string>
<string name="due_in_guard">天到期</string>
<string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string>
<string name="renewal_guardian">續費守護</string>
</resources>

View File

@ -1452,5 +1452,42 @@
<string name="guard_buy_tips_1">您將花費%s鑽石為主播開通</string>
<string name="guard_buy_type_1">【星之守护】</string>
<string name="guardian_privilege">守護團特權</string>
<string name="be_their_exclusive_guardian">成爲TA的專屬守護 為TA保駕護航</string>
<string name="not_yet_open">暫未開通</string>
<string name="tas_guardian_group">TA的守護團 ></string>
<string name="open_the_kings_guard">開通王之守護</string>
<string name="open_the_start_guard">開通星之守護</string>
<string name="open_the_god_guard">開通神之守護</string>
<string name="one_month">1個月</string>
<string name="tree_month">3個月</string>
<string name="six_month">6個月</string>
<string name="one_two_month">12個月</string>
<string name="guardian_for_your_favorite_anchor">快爲您喜歡的主播開通守護吧!</string>
<string name="guardian_task">守護任務</string>
<string name="my_graud_grade">我的等級 ></string>
<string name="no_one_guarding_the_anchor_yet">還沒人守護主播快來守護TA吧~</string>
<string name="this_week_contribution">本周貢獻值</string>
<string name="contribution">貢獻度</string>
<string name="have_opened">已開通</string>
<string name="dragon_sends_money">神龍送財</string>
<string name="please_enter_the_number_of_gold_beans">請輸入金豆數量</string>
<string name="please_enter_the_number_of_gold_beans_hint">您本次消耗的金豆將增長您的守護經驗值</string>
<string name="open_an_activity">開啓活動</string>
<string name="dragon_rule1">1.龍神送財是您開通【神之守護】後給予直播間觀眾的福利您可選擇自定義金豆數量並召喚龍神給直播间内主播粉丝瓜分金豆數量不低於1000或者您可以選擇不开启活动</string>
<string name="dragon_rule2">2.此次金豆消耗将计入守护贡献值和经验值增长每提供10金豆將獲得1貢獻值貢獻值可用於增長守護等級</string>
<string name="dragon_rule3">3.用戶關注主播並參與活動,將在五分鐘倒計時後將獲得您提供的福利;</string>
<string name="dragon_rule4">4.此活動的最終解釋權歸PDLIVE所有。</string>
<string name="dragon_immediate_participation">立即參與</string>
<string name="continuative_guardian_privilege">延續守護特權</string>
<string name="travel_renewal">前往續費</string>
<string name="congratulations_on_the_promotion">恭喜升級</string>
<string name="guard_level_has_been_reached">您的守護等級已達到123級 可以領取以下獎勵</string>
<string name="view_grade">查看等級</string>
<string name="guard_for_your_beloved_one">為心愛的TA開通守護吧</string>
<string name="due_in">還有</string>
<string name="due_in_guard">天到期</string>
<string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string>
<string name="renewal_guardian">續費守護</string>
</resources>

View File

@ -1449,5 +1449,42 @@
<string name="guard_buy_tips_1">您將花費%s鑽石為主播開通</string>
<string name="guard_buy_type_1">【星之守护】</string>
<string name="guardian_privilege">守護團特權</string>
<string name="be_their_exclusive_guardian">成爲TA的專屬守護 為TA保駕護航</string>
<string name="not_yet_open">暫未開通</string>
<string name="tas_guardian_group">TA的守護團 ></string>
<string name="open_the_kings_guard">開通王之守護</string>
<string name="open_the_start_guard">開通星之守護</string>
<string name="open_the_god_guard">開通神之守護</string>
<string name="one_month">1個月</string>
<string name="tree_month">3個月</string>
<string name="six_month">6個月</string>
<string name="one_two_month">12個月</string>
<string name="guardian_for_your_favorite_anchor">快爲您喜歡的主播開通守護吧!</string>
<string name="guardian_task">守護任務</string>
<string name="my_graud_grade">我的等級 ></string>
<string name="no_one_guarding_the_anchor_yet">還沒人守護主播快來守護TA吧~</string>
<string name="this_week_contribution">本周貢獻值</string>
<string name="contribution">貢獻度</string>
<string name="have_opened">已開通</string>
<string name="dragon_sends_money">神龍送財</string>
<string name="please_enter_the_number_of_gold_beans">請輸入金豆數量</string>
<string name="please_enter_the_number_of_gold_beans_hint">您本次消耗的金豆將增長您的守護經驗值</string>
<string name="open_an_activity">開啓活動</string>
<string name="dragon_rule1">1.龍神送財是您開通【神之守護】後給予直播間觀眾的福利您可選擇自定義金豆數量並召喚龍神給直播间内主播粉丝瓜分金豆數量不低於1000或者您可以選擇不开启活动</string>
<string name="dragon_rule2">2.此次金豆消耗将计入守护贡献值和经验值增长每提供10金豆將獲得1貢獻值貢獻值可用於增長守護等級</string>
<string name="dragon_rule3">3.用戶關注主播並參與活動,將在五分鐘倒計時後將獲得您提供的福利;</string>
<string name="dragon_rule4">4.此活動的最終解釋權歸PDLIVE所有。</string>
<string name="dragon_immediate_participation">立即參與</string>
<string name="continuative_guardian_privilege">延續守護特權</string>
<string name="travel_renewal">前往續費</string>
<string name="congratulations_on_the_promotion">恭喜升級</string>
<string name="guard_level_has_been_reached">您的守護等級已達到123級 可以領取以下獎勵</string>
<string name="view_grade">查看等級</string>
<string name="guard_for_your_beloved_one">為心愛的TA開通守護吧</string>
<string name="due_in">還有</string>
<string name="due_in_guard">天到期</string>
<string name="continuative_guardian_privilege2">保留守護等級 重享守護特權</string>
<string name="renewal_guardian">續費守護</string>
</resources>

View File

@ -1455,38 +1455,45 @@ Limited ride And limited avatar frame</string>
<string name="back_community_sure">Sure</string>
<string name="guard_buy_tips_1">您將花費%s鑽石為主播開通</string>
<string name="guard_buy_type_1">【Star Guardian】</string>
<string name="guard_buy_type_1">【星之守护】</string>
<string name="guardian_privilege">守護團特權</string>
<string name="be_their_exclusive_guardian">成爲TA的專屬守護 為TA保駕護航</string>
<string name="not_yet_open">暫未開通</string>
<string name="tas_guardian_group">TA的守護團 ></string>
<string name="open_the_kings_guard">開通王之守護</string>
<string name="renew_the_kings_guard">續費王之守護</string>
<string name="open_the_start_guard">開通星之守護</string>
<string name="renew_the_start_guard">續費星之守護</string>
<string name="open_the_god_guard">開通神之守護</string>
<string name="renew_the_god_guard">續費神之守護</string>
<string name="one_month">1個月</string>
<string name="tree_month">3個月</string>
<string name="six_month">6個月</string>
<string name="one_two_month">12個月</string>
<string name="guardian_for_your_favorite_anchor">快爲您喜歡的主播開通守護吧!</string>
<string name="guardian_task">守護任務</string>
<string name="my_graud_grade">我的等級 ></string>
<string name="no_one_guarding_the_anchor_yet">還沒人守護主播快來守護TA吧~</string>
<string name="this_week_contribution">本周貢獻值</string>
<string name="contribution">貢獻度</string>
<string name="have_opened">已開通</string>
<string name="dragon_sends_money">神龍送財</string>
<string name="please_enter_the_number_of_gold_beans">請輸入金豆數量</string>
<string name="please_enter_the_number_of_gold_beans_hint">您本次消耗的金豆將增長您的守護經驗值</string>
<string name="open_an_activity">開啓活動</string>
<string name="dragon_rule1">1.龍神送財是您開通【神之守護】後給予直播間觀眾的福利您可選擇自定義金豆數量並召喚龍神給直播间内主播粉丝瓜分金豆數量不低於1000或者您可以選擇不开启活动</string>
<string name="dragon_rule2">2.此次金豆消耗将计入守护贡献值和经验值增长每提供10金豆將獲得1貢獻值貢獻值可用於增長守護等級</string>
<string name="dragon_rule3">3.用戶關注主播並參與活動,將在五分鐘倒計時後將獲得您提供的福利;</string>
<string name="dragon_rule4">4.此活動的最終解釋權歸PDLIVE所有。</string>
<string name="guardian_privilege">Guardianship privileges</string>
<string name="be_their_exclusive_guardian">Becoming the exclusive guardian of the anchor\n</string>
<string name="not_yet_open">Not opened</string>
<string name="tas_guardian_group">The anchor\'s guardian group</string>
<string name="open_the_kings_guard">Activate King Guardian</string>
<string name="open_the_start_guard">Activate Star Guardian</string>
<string name="open_the_god_guard">Activate God Guardian</string>
<string name="one_month">1 month</string>
<string name="tree_month">3 month</string>
<string name="six_month">6 month</string>
<string name="one_two_month">12 month</string>
<string name="guardian_for_your_favorite_anchor">Quickly activate guardian for your favorite anchor</string>
<string name="guardian_task">Guardian Task</string>
<string name="my_graud_grade">My level ></string>
<string name="no_one_guarding_the_anchor_yet">No one is guarding the anchor yet, come and guard it now~</string>
<string name="this_week_contribution">Contribution/week</string>
<string name="contribution">Contribution</string>
<string name="have_opened">Opened</string>
<string name="dragon_sends_money">Dragon\'s Wealth</string>
<string name="please_enter_the_number_of_gold_beans">"Please enter the quantity of gold beans "</string>
<string name="please_enter_the_number_of_gold_beans_hint">"The gold beans consumed this time will increase your guardian experience points "</string>
<string name="open_an_activity">Open activity</string>
<string name="dragon_rule1">"1. Dragon's Wealth is a benefit that you provide to the audience of the live room after activating the 【God Guardian】. You can choose to customize the number of golden beans and summon Dragon God to divide the profits among the fans of the live broadcast room (the number of golden beans is not less than 1000), or you can choose not to activate the activity; "</string>
<string name="dragon_rule2">"2. The consumption of gold beans this time will be included in the guardian contribution value and experience value growth. For every 10 gold beans provided, 1 contribution value will be obtained, which can be used to increase the guardian level; "</string>
<string name="dragon_rule3">"3. Users who follow the anchor and participate in activities will receive the benefits you provide after a five minute countdown; "</string>
<string name="dragon_rule4">4. The final interpretation of this activity belongs to PDLIVE.</string>
<string name="dragon_immediate_participation">Participate</string>
<string name="continuative_guardian_privilege">Renew now to extend guardian privileges\n</string>
<string name="continuative_guardian_privilege2">Now renew and enjoy guardian privileges again\n</string>
<string name="travel_renewal">Go to renew</string>
<string name="congratulations_on_the_promotion">Congratulations</string>
<string name="guard_level_has_been_reached">Your guardian level has reached level 000</string>
<string name="view_grade">View levels</string>
<string name="guard_for_your_beloved_one">Open up guard for your beloved anchor!</string>
<string name="due_in">Due in</string>
<string name="due_in_guard">Expired</string>
<string name="renewal_guardian">Renewal Guardian</string>
<string name="guard_buy_tips_1">You will spend %s diamonds for the anchor</string>
</resources>

View File

@ -4,8 +4,8 @@ ext {
buildToolsVersion: "29.0.2",
minSdkVersion : 21,
targetSdkVersion : 33,
versionCode : 464,
versionName : "6.6.6"
versionCode : 469,
versionName : "6.6.5"
]
manifestPlaceholders = [
//
@ -21,7 +21,7 @@ ext {
baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S",
// true表示谷歌支付 false 0 1 2 3 samsung包
isGooglePlay : 0,
isGooglePlay : 1,
//
isUploadLog : true,
//

View File

@ -21,6 +21,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.GsonUtils;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.activity.AbsActivity;
@ -1266,6 +1267,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
if (uid == null) {
uid = mLiveUid;
}
MobclickAgent.onEvent(mContext, "guardian_people", "守护席点击次数及人数");
LiveHttpUtil.getGuardList(uid, 1, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {

View File

@ -45,6 +45,7 @@ import com.yunbao.common.bean.AnchorRecommendItemModel;
import com.yunbao.common.bean.AnchorRecommendModel;
import com.yunbao.common.bean.CrashSaveBean;
import com.yunbao.common.bean.CustomSidebarChildModel;
import com.yunbao.common.bean.GuardMaturityDateRemindModel;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.LinkMicUserBean;
import com.yunbao.common.bean.LiveBean;
@ -108,6 +109,7 @@ import com.yunbao.live.adapter.VerticalPagerAdapter;
import com.yunbao.live.bean.ImUserBean;
import com.yunbao.live.bean.LiveChatBean;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.dialog.DragonExpirePopup;
import com.yunbao.live.dialog.LiveFansFragment;
import com.yunbao.live.dialog.LiveGameDialogFragment;
import com.yunbao.live.dialog.LiveGiftPopup;
@ -865,7 +867,7 @@ public class LiveAudienceActivity extends LiveActivity {
if (!TextUtils.isEmpty(event.getMethod())) {
if (TextUtils.equals(event.getMethod(), "closeLiveRoom")) {
onBackPressed();
}else if (TextUtils.equals(event.getMethod(), "androidtoCommunityVideo")) {
} else if (TextUtils.equals(event.getMethod(), "androidtoCommunityVideo")) {
RouteUtil.forwardCommunityActivity();
}
}
@ -1476,6 +1478,11 @@ public class LiveAudienceActivity extends LiveActivity {
manager.showXydComplete(event.getXydCompleteModel(), event.getLiveReceiveGiftBean());
}
break;
case GuardSpecialEffect:
if (manager != null) {
manager.guardSpecialEffect(event.getLiveReceiveGiftBean());
}
break;
case VOTE_CREATE:
case VOTE_UPDATE:
LiveRoomVoteModel voteModel = new LiveRoomVoteModel();
@ -1909,6 +1916,21 @@ public class LiveAudienceActivity extends LiveActivity {
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onGuardMaturityDateRemind(GuardMaturityDateRemindModel maturityDateRemindModel) {
Log.e("DateRemindModel", maturityDateRemindModel.toString());
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
new XPopup.Builder(mContext)
.asCustom(new DragonExpirePopup(mContext, mLiveUid, maturityDateRemindModel))
.show();
}
}, 3000);
}
/**
* 检查消息有未读就要显示红点
*/

View File

@ -62,6 +62,46 @@ public class LiveReceiveGiftBean extends BaseModel {
private String namingUserAvatar;
private String namingStatus;
private String namingCoin;
private String medal_name;
private String msg;
private String msg_en;
private String guard_type;
public String getMsg() {
return msg;
}
public LiveReceiveGiftBean setMsg(String msg) {
this.msg = msg;
return this;
}
public String getMsg_en() {
return msg_en;
}
public LiveReceiveGiftBean setMsg_en(String msg_en) {
this.msg_en = msg_en;
return this;
}
public String getGuard_type() {
return guard_type;
}
public LiveReceiveGiftBean setGuard_type(String guard_type) {
this.guard_type = guard_type;
return this;
}
public String getMedal_name() {
return medal_name;
}
public LiveReceiveGiftBean setMedal_name(String medal_name) {
this.medal_name = medal_name;
return this;
}
public String getNamingLiveuid() {
return namingLiveuid;

View File

@ -0,0 +1,112 @@
package com.yunbao.live.dialog;
import android.content.Context;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity;
import com.lxj.xpopup.core.CenterPopupView;
import com.makeramen.roundedimageview.RoundedImageView;
import com.yunbao.common.bean.GuardMaturityDateRemindModel;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
public class DragonExpirePopup extends CenterPopupView {
FragmentActivity activity;
String mLiveUid;
RoundedImageView liveAvatar;
RoundedImageView userAvatar;
TextView guardTitleTop;
TextView dueInGuard;
TextView userName;
TextView guardianPrivilege;
TextView dueIn;
TextView dueInGuard2;
GuardMaturityDateRemindModel maturityDateRemindModel;
public DragonExpirePopup(@NonNull Context context, String liveUid, GuardMaturityDateRemindModel maturityDateRemindModel) {
super(context);
activity = (FragmentActivity) context;
mLiveUid = liveUid;
this.maturityDateRemindModel = maturityDateRemindModel;
}
// 返回自定义弹窗的布局
@Override
protected int getImplLayoutId() {
return R.layout.dragon_expire_popup;
}
// 执行初始化操作比如findView设置点击或者任何你弹窗内的业务逻辑
@Override
protected void onCreate() {
super.onCreate();
liveAvatar = findViewById(R.id.live_avatar);
userAvatar = findViewById(R.id.user_avatar);
guardTitleTop = findViewById(R.id.guard_title_top);
dueInGuard = findViewById(R.id.due_in_guard);
userName = findViewById(R.id.user_name);
guardianPrivilege = findViewById(R.id.guardian_privilege);
dueInGuard2 = findViewById(R.id.due_in_guard2);
dueIn = findViewById(R.id.due_in);
ImgLoader.display(getContext(), maturityDateRemindModel.getUserAvatar(), userAvatar);
ImgLoader.display(getContext(), maturityDateRemindModel.getLiveAvatar(), liveAvatar);
String guardName = WordUtil.isNewZh() ? "星之守護" : "Star Guardian";
switch (maturityDateRemindModel.getGuardType()) {
case "1":
guardName = WordUtil.isNewZh() ? "星之守護" : "Star Guardian";
break;
case "2":
guardName = WordUtil.isNewZh() ? "王之守護" : "King Guardian";
break;
default:
guardName = WordUtil.isNewZh() ? "神之守護" : "God Guardian";
break;
}
StringBuffer guardTitleTopBuffer = new StringBuffer();
if (WordUtil.isNewZh()) {
guardTitleTopBuffer.append("您的")
.append(guardName);
} else {
guardTitleTopBuffer.append("Your")
.append(guardName);
}
if (maturityDateRemindModel.getIsOverdue() == 0) {
guardianPrivilege.setText(WordUtil.getNewString(R.string.continuative_guardian_privilege));
dueIn.setText(WordUtil.isNewZh() ? "還有" : "Due in ");
dueInGuard2.setText(WordUtil.isNewZh() ? "天到期" : " days ");
} else {
guardianPrivilege.setText(WordUtil.getNewString(R.string.continuative_guardian_privilege2));
dueIn.setText(WordUtil.isNewZh() ? "已到期" : "Expired ");
dueInGuard2.setText(WordUtil.isNewZh() ? "" : " days ");
}
dueInGuard.setText(String.valueOf(maturityDateRemindModel.getDays()));
guardTitleTop.setText(guardTitleTopBuffer.toString());
StringBuffer userNameBuffer = new StringBuffer();
userNameBuffer.append(maturityDateRemindModel.getLiveNicename())
.append("&")
.append(maturityDateRemindModel.getUserNicename());
userName.setText(userNameBuffer.toString());
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.dragon_close), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
dismiss();
}
});
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.travel_renewal), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
dismiss();
new LiveBuyGuardDialog(activity, mLiveUid).showDialog();
}
});
}
}

View File

@ -0,0 +1,31 @@
package com.yunbao.live.dialog;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.live.R;
public class DragonSendMoneyListPopup extends AbsDialogPopupWindow {
FragmentActivity activity;
String mLiveUid;
public DragonSendMoneyListPopup(@NonNull Context context, String liveUid) {
super(context);
activity = (FragmentActivity) context;
mLiveUid = liveUid;
}
@Override
public void buildDialog(XPopup.Builder builder) {
}
@Override
public int bindLayoutId() {
return R.layout.dialog_dragon_send_money_list;
}
}

View File

@ -6,6 +6,7 @@ import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity;
import com.blankj.utilcode.util.GsonUtils;
import com.lxj.xpopup.XPopup;
@ -23,9 +24,13 @@ public class DragonSendsMoneyPopup extends CenterPopupView {
TextView my_gold_coin;
long goldMoney;
EditText dragon_money;
String mLiveUid;
FragmentActivity activity;
public DragonSendsMoneyPopup(@NonNull Context context) {
public DragonSendsMoneyPopup(@NonNull Context context, String liveUid) {
super(context);
activity = (FragmentActivity) context;
mLiveUid = liveUid;
}
// 返回自定义弹窗的布局

View File

@ -0,0 +1,38 @@
package com.yunbao.live.dialog;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity;
import com.lxj.xpopup.core.CenterPopupView;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
public class GuardUpgradePopup extends CenterPopupView {
FragmentActivity activity;
String mLiveUid;
public GuardUpgradePopup(@NonNull Context context, String liveUid) {
super(context);
activity = (FragmentActivity) context;
mLiveUid = liveUid;
}
@Override
protected int getImplLayoutId() {
return R.layout.guard_upgrade_popup;
}
// 执行初始化操作比如findView设置点击或者任何你弹窗内的业务逻辑
@Override
protected void onCreate() {
super.onCreate();
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.confirm), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
dismiss();
}
});
}
}

View File

@ -26,24 +26,20 @@ import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.enums.PopupPosition;
import com.makeramen.roundedimageview.RoundedImageView;
import com.stx.xhb.androidx.XBanner;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.adapter.LiveBuyGuardPrivilegeAdapter;
import com.yunbao.common.bean.GuardDataTipModel;
import com.yunbao.common.bean.GuardGetGuardOpenInfoModel;
import com.yunbao.common.bean.GuardPriceModel;
import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.bean.LiveAiRobotBean;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.common.dialog.GuardBuyTipsDialog;
import com.yunbao.common.dialog.LiveBuyGuardSelectPopup;
import com.yunbao.common.event.LiveRobotSayHelloEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.InputCustomPopup;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
import com.yunbao.live.bean.BuyGuardBannerModel;
@ -75,6 +71,7 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
LiveBuyGuardPrivilegeAdapter buyGuardPrivilegeAdapter;
List<String> guardPrivilegeStrings = new ArrayList<>();
GuardDataTipModel dataTipModel;
public LiveBuyGuardDialog(@NonNull Context context, String liveUid) {
super(context);
activity = (FragmentActivity) context;
@ -129,15 +126,15 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
if (guardDataTipModel.getGuardType() == 1) {
guardBannerModel.setGradientColors(gradientColorsStart)
.setGuardOpen(R.mipmap.icon_bg_star_guard_open)
.setGuardImage(R.mipmap.bg_star_guard);
.setGuardImage(WordUtil.isNewZh()?R.mipmap.bg_star_guard:R.mipmap.bg_star_guard_en);
} else if (guardDataTipModel.getGuardType() == 2) {
guardBannerModel.setGuardOpen(R.mipmap.icon_bg_king_guard_open)
.setGradientColors(gradientColorsKing)
.setGuardImage(R.mipmap.bg_king_guard);
.setGuardImage(WordUtil.isNewZh()?R.mipmap.bg_king_guard:R.mipmap.bg_king_guard_en);
} else {
guardBannerModel.setGuardOpen(R.mipmap.icon_god_guard_open)
.setGradientColors(gradientColorsGod)
.setGuardImage(R.mipmap.bg_god_guard);
.setGuardImage(WordUtil.isNewZh()?R.mipmap.bg_god_guard:R.mipmap.bg_god_guard_en);
}
buyGuardBannerModels.add(guardBannerModel);
}
@ -188,20 +185,23 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
price = dataTipModel.getPrice();
Log.e("LiveBuyGuardDialog", "name = " + guardBannerModel.getName() + " position=" + position);
if (position == 0) {
MobclickAgent.onEvent(mContext, "star_guardian_people", "星之守护页面观看次数及人数");
bottomPanel.setBackgroundResource(R.drawable.bg_star_guard_bottom_panel);
ImgLoader.display(getContext(), R.mipmap.btn_star_guard, btnGuard);
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_start_guard)
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renewal_guardian)
: WordUtil.getNewString(R.string.open_the_start_guard));
} else if (position == 1) {
MobclickAgent.onEvent(mContext, "king_guardian_people", "王之守护页面观看次数及人数");
bottomPanel.setBackgroundResource(R.drawable.bg_king_guard_bottom_panel);
ImgLoader.display(getContext(), R.mipmap.btn_king_guard, btnGuard);
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_kings_guard)
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renewal_guardian)
: WordUtil.getNewString(R.string.open_the_kings_guard));
} else if (position == 2) {
MobclickAgent.onEvent(mContext, "god_guardian_people", "神之守护页面观看次数及人数");
bottomPanel.setBackgroundResource(R.drawable.bg_god_guard_bottom_panel);
ImgLoader.display(getContext(), R.mipmap.btn_god_guard, btnGuard);
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_god_guard)
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renewal_guardian)
: WordUtil.getNewString(R.string.open_the_god_guard));
}
guardPriceModel = price.get(0);
@ -213,12 +213,23 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
originalPrice.setVisibility(VISIBLE);
discount.setVisibility(VISIBLE);
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
originalPrice.post(new Runnable() {
@Override
public void run() {
// SpannableString spannableString = new SpannableString(String.valueOf(guardPriceModel.getOriginalPrice()));
// StrikethroughSpan strikethroughSpan = new StrikethroughSpan();
// spannableString.setSpan(strikethroughSpan, 0, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
originalPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
}
});
}
guardMonth.setText(guardPriceModel.getOpeningTime());
guardPrivilegeStrings = dataTipModel.getGuardPrivilege();
if (buyGuardPrivilegeAdapter != null){
if (buyGuardPrivilegeAdapter != null) {
buyGuardPrivilegeAdapter.setGuardPrivilege(guardPrivilegeStrings);
}
@ -244,29 +255,40 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
.isLightStatusBar(false)
.popupPosition(PopupPosition.Top)
.asCustom(new LiveBuyGuardSelectPopup(getContext(), price)
.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
closeAnimSudGameListEvent(guardArrow);
}
}).setBuyGuardSelectListener(new LiveBuyGuardSelectPopup.LiveBuyGuardSelectListener() {
@Override
public void onLiveBuyGuardSelectListener(GuardPriceModel model) {
guardPriceModel = model;
if (TextUtils.isEmpty(guardPriceModel.getDiscountPrice())) {
discountPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
originalPrice.setVisibility(GONE);
discount.setVisibility(GONE);
} else {
originalPrice.setVisibility(VISIBLE);
discount.setVisibility(VISIBLE);
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
}
guardMonth.setText(guardPriceModel.getOpeningTime());
}
})
.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
closeAnimSudGameListEvent(guardArrow);
}
}).setBuyGuardSelectListener(new LiveBuyGuardSelectPopup.LiveBuyGuardSelectListener() {
@Override
public void onLiveBuyGuardSelectListener(GuardPriceModel model) {
guardPriceModel = model;
if (TextUtils.isEmpty(guardPriceModel.getDiscountPrice())) {
discountPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
originalPrice.setVisibility(GONE);
discount.setVisibility(GONE);
} else {
originalPrice.setVisibility(VISIBLE);
discount.setVisibility(VISIBLE);
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
originalPrice.post(new Runnable() {
@Override
public void run() {
// SpannableString spannableString = new SpannableString(String.valueOf(guardPriceModel.getOriginalPrice()));
// StrikethroughSpan strikethroughSpan = new StrikethroughSpan();
// spannableString.setSpan(strikethroughSpan, 0, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
// originalPrice.setText(spannableString);
originalPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
}
});
}
guardMonth.setText(guardPriceModel.getOpeningTime());
}
})
)
.show();
}
@ -274,23 +296,50 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
ViewClicksAntiShake.clicksAntiShake(openTheGuard, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
// GuardBuyTipsDialog
// .showBuyOrRenewDialog(mContext,
// discountPrice.getText().toString(),
// dataTipModel.getGuardName(), new DialogUitl.SimpleCallback2() {
// @Override
// public void onCancelClick() {
//
// }
//
// @Override
// public void onConfirmClick(Dialog dialog, String content) {
// dismiss();
// }
// });
new XPopup.Builder(mContext)
.asCustom(new DragonSendsMoneyPopup(mContext))
.show();
switch (dataTipModel.getGuardType()) {
case 1:
MobclickAgent.onEvent(mContext, "star_guardian_renew_btn", "星之守护开通/续费按钮点击次数及人数");
break;
case 2:
MobclickAgent.onEvent(mContext, "king_guardian_renew_btn", "王之守护开通/续费按钮点击次数及人数");
break;
case 3:
MobclickAgent.onEvent(mContext, "god_guardian_renew_btn", "神之守护开通/续费按钮点击次数及人数");
break;
}
GuardBuyTipsDialog
.showBuyOrRenewDialog(mContext,
discountPrice.getText().toString(),
dataTipModel.getGuardName(), new DialogUitl.SimpleCallback2() {
@Override
public void onCancelClick() {
dismiss();
}
@Override
public void onConfirmClick(Dialog dialog, String content) {
LiveNetManager.get(activity)
.openGuard(mLiveUid,
String.valueOf(dataTipModel.getGuardType()),
String.valueOf(guardPriceModel.getPriceKey()), new HttpCallback<String>() {
@Override
public void onSuccess(String data) {
ToastUtil.show(data);
dismiss();
}
@Override
public void onError(String error) {
ToastUtil.show(error);
}
});
}
});
// new XPopup.Builder(mContext)
// .asCustom(new DragonSendsMoneyPopup(mContext))
// .show();
}
});

View File

@ -3,7 +3,6 @@ package com.yunbao.live.dialog;
import android.content.Context;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
@ -15,6 +14,7 @@ import com.alibaba.fastjson.JSON;
import com.lxj.xpopup.XPopup;
import com.makeramen.roundedimageview.RoundedImageView;
import com.opensource.svgaplayer.SVGAImageView;
import com.umeng.analytics.MobclickAgent;
import com.yunbao.common.adapter.RefreshAdapter;
import com.yunbao.common.bean.GuardGetGuardUserInfoModel;
import com.yunbao.common.custom.CommonRefreshView;
@ -52,7 +52,7 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
ImageView userSex, tagKing;
RoundedImageView guardIcon;
SVGAImageView giftSvga;
ImageView btnGuardOpen;
TextView btnGuardOpen;
public LiveGuardDialog(@NonNull Context context, boolean isEmpty, String liveUid) {
super(context);
@ -144,11 +144,13 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
guardingTheAnchor.setVisibility(VISIBLE);
} else {
guardingTheAnchor.setVisibility(GONE);
}
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_guard_open), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
MobclickAgent.onEvent(mContext, "guardian_renew_btn", "守护席开通守护/续费守护按钮点击次数及人数");
dismiss();
new LiveBuyGuardDialog(mContext, mLiveUid).showDialog();
}
@ -167,12 +169,11 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
if (data.getGuardType() == 0) {
guardianTask.setVisibility(GONE);
myGraudGrade.setVisibility(GONE);
ImgLoader.display(mContext,R.mipmap.btn_guard_open,btnGuardOpen);
btnGuardOpen.setText(WordUtil.isNewZh() ? "開通守護" : "Open Guard");
} else {
guardianTask.setVisibility(VISIBLE);
myGraudGrade.setVisibility(VISIBLE);
ImgLoader.display(mContext,R.mipmap.btn_renewal_guard,btnGuardOpen);//续费守护
btnGuardOpen.setText(WordUtil.isNewZh() ? "續費守護" : "Renewal Guard");
}
}
@ -182,7 +183,7 @@ public class LiveGuardDialog extends AbsDialogPopupWindow {
ToastUtil.show(error);
guardianTask.setVisibility(GONE);
myGraudGrade.setVisibility(GONE);
ImgLoader.display(mContext,R.mipmap.btn_guard_open,btnGuardOpen);
btnGuardOpen.setText(WordUtil.isNewZh() ? "開通守護" : "Open Guard");
}
});
}

View File

@ -488,7 +488,8 @@ public class LiveAudienceEvent extends BaseModel {
GIFT_WALL(73, "礼物墙"),
UPDATE_FANS_TASK_STATUS(74, "更新粉丝任务状态"),
SUD_GAME_CREATE_ROOM(75, "主播创建sud游戏"),
PK_RANK_START(76, "PK排位赛开始");
PK_RANK_START(76, "PK排位赛开始"),
GuardSpecialEffect(77, "PK排位赛开始");
private int type;
private String name;

View File

@ -24,6 +24,7 @@ import com.yunbao.common.CommonAppContext;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.AiAutomaticSpeechModel;
import com.yunbao.common.bean.FansModel;
import com.yunbao.common.bean.GuardMaturityDateRemindModel;
import com.yunbao.common.bean.LinkMicUserBean;
import com.yunbao.common.bean.LiveUserGiftBean;
import com.yunbao.common.bean.MsgModel;
@ -680,6 +681,7 @@ public class SocketRyClient {
.setCustomFullServiceNotifyEvent(customFullServiceNotifyEvent));
break;
case Constants.XYD_COMPLETE:
// xydComplete(map);
XydCompleteModel xydCompleteModel = GsonUtils.fromJson(map.toString(), XydCompleteModel.class);
EventBus.getDefault().post(new LiveAudienceEvent()
@ -687,6 +689,13 @@ public class SocketRyClient {
.setXydCompleteModel(xydCompleteModel)
.setLiveReceiveGiftBean(JSON.parseObject(map.toString(), LiveReceiveGiftBean.class)));
break;
case "GuardSpecialEffect":
LiveReceiveGiftBean giftBean= JSON.parseObject(map.toString(), LiveReceiveGiftBean.class);
giftBean.setMedal_name(map.getString("medal_name"));
EventBus.getDefault().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.GuardSpecialEffect)
.setLiveReceiveGiftBean(giftBean));
break;
case Constants.WISH_LIST_PROGRESS:
StringBuffer conString = new StringBuffer();
conString.append(WordUtil.isNewZh() ? map.getString("msg") : map.getString("msg_en"));
@ -782,13 +791,17 @@ public class SocketRyClient {
item.getString("pkuid_win_continuity");
pkRankBean = new PkRankBean();
pkRankBean.setBlueVal(item.getString("pkuid_win_continuity"));
pkRankBean.setRedVal( item.getString("uid_win_continuity"));
pkRankBean.setRedVal(item.getString("uid_win_continuity"));
pkRankBean.setPkTopImgUrl(item.getString("pktt_img"));
EventBus.getDefault().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.PK_RANK_START)
.setObject(pkRankBean));
break;
case "guardMaturityDateRemind":
GuardMaturityDateRemindModel maturityDateRemindModel = GsonUtils.fromJson(map.toString(), GuardMaturityDateRemindModel.class);
Bus.get().post(maturityDateRemindModel);
break;
}
}

View File

@ -161,7 +161,9 @@ import com.yunbao.live.bean.LiveWishlistBean;
import com.yunbao.live.bean.WishlistItemModel;
import com.yunbao.live.custom.LiveLightView;
import com.yunbao.live.custom.RightGradual;
import com.yunbao.live.dialog.DragonSendsMoneyPopup;
import com.yunbao.live.dialog.GiftWallDialog;
import com.yunbao.live.dialog.GuardUpgradePopup;
import com.yunbao.live.dialog.LiveContactDetailsSendGiftDialog;
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
import com.yunbao.live.dialog.LiveFansMedalDialogFragment;
@ -617,6 +619,27 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
}
public void guardSpecialEffect(LiveReceiveGiftBean liveReceiveGiftBean) {
LiveChatBean chatBean = new LiveChatBean();
chatBean.setContent(
(WordUtil.isNewZh() ? liveReceiveGiftBean.getMsg() : liveReceiveGiftBean.getMsg_en()));
chatBean.setType(LiveChatBean.SYSTEM);
mLiveChatAdapter.insertItem(chatBean);
Log.e("guardSpecialEffect", "msg" + liveReceiveGiftBean.getMsg() + "msg-en" + liveReceiveGiftBean.getMsg_en() + "guard_type" + liveReceiveGiftBean.getGuard_type());
if (mLiveGiftAnimPresenter == null) {
mLiveGiftAnimPresenter = new LiveGiftAnimPresenter(mContext, mContentView, mGifImageView, mSVGAImageView, mLiveGiftPrizePoolContainer, windowManager);
}
liveReceiveGiftBean.setGiftId(liveReceiveGiftBean.getGiftName());
mLiveGiftAnimPresenter.showGifGift(liveReceiveGiftBean);
// if (TextUtils.equals(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()), liveReceiveGiftBean.getUid())
// && TextUtils.equals(liveReceiveGiftBean.getGuard_type(), "3")) {
new XPopup.Builder(mContext)
.asCustom(new DragonSendsMoneyPopup(mContext, mLiveUid))
.show();
// }
}
List<XydCompleteModel> xydCompleteModels = new ArrayList<>();
@ -1568,8 +1591,19 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
pa_pao_layout.setVisibility(View.GONE);
combo_layout.setVisibility(View.GONE);
dragonImmediateParticipation = (LinearLayout) findViewById(R.id.dragon_immediate_participation);
ViewClicksAntiShake.clicksAntiShake(dragonImmediateParticipation, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
// new DragonSendMoneyListPopup(mContext, mLiveUid).showDialog();
new XPopup.Builder(mContext)
.asCustom(new GuardUpgradePopup(mContext, mLiveUid))
.show();
}
});
}
private LinearLayout dragonImmediateParticipation;
private FrameLayout redPacket;
private TextView redPacketCountdown, redSchedule, openRedPacket;
private LinearLayout redPacketQueue;

View File

@ -449,7 +449,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
public void run() {
//加入房间发送Im消息
LiveNetManager.get(mContext).userJoinRoomNew(mLiveBean.getStream(), mLiveBean.getUid());
Log.e("观看时长","userJoinRoomNew-----------------------"+mLiveBean.getUid());
Log.e("观看时长", "userJoinRoomNew-----------------------" + mLiveBean.getUid());
}
};
@ -462,7 +462,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
.enterRoomNew(mLiveBean.getStream(), mLiveBean.getUid(), mLiveBean.getCity(), new com.yunbao.common.http.base.HttpCallback<EnterRoomNewModel>() {
@Override
public void onSuccess(EnterRoomNewModel data) {
Log.e("观看时长","enterRoomNew-----------------------"+ mLiveBean.getUid());
Log.e("观看时长", "enterRoomNew-----------------------" + mLiveBean.getUid());
isEnterRoom = true;
if (TextUtils.isEmpty(leaveStream)) {
leaveStream = mLiveBean.getStream();
@ -624,7 +624,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
if (pkInfo != null && pkInfo.getIntValue("drpk_status") != 1) {
String pkUid = pkInfo.getString("pkuid");
//初始化天梯赛信息
mLiveRoomViewHolder.initRankPKInfo(String.valueOf(data.getLiveInfo().getUid()),pkUid);
mLiveRoomViewHolder.initRankPKInfo(String.valueOf(data.getLiveInfo().getUid()), pkUid);
anyway = "1";
if (!TextUtils.isEmpty(pkUid) && !"0".equals(pkUid) && anyway.equals("0")) {
if (mLiveSDK != Constants.LIVE_SDK_TX) {
@ -817,7 +817,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
Log.e("直播间接口调用排查", "onRemove---------------");
LiveNetManager.get(mContext).cancelLive();
liveHandler.removeCallbacks(sendFIm);
pkInfo=null;
pkInfo = null;
linkMicPkStartHandler.removeCallbacks(linkMicPkStartRunnable);
LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE);
LiveHttpUtil.cancel(LiveHttpConsts.ENTER_ROOM);
@ -2171,6 +2171,12 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
}
public void guardSpecialEffect(LiveReceiveGiftBean liveReceiveGiftBean) {
if (mLiveRoomViewHolder != null) {
mLiveRoomViewHolder.guardSpecialEffect(liveReceiveGiftBean);
}
}
public void blindBoxAllServerNotify(AllServerNotifyEvent event) {
if (mLiveRoomViewHolder != null) {
mLiveRoomViewHolder.blindBoxAllServerNotify(event);

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:topLeftRadius="12dp"
android:topRightRadius="12dp" />
<gradient
android:angle="90"
android:endColor="#1B1814"
android:startColor="#2D2720" />
</shape>

View File

@ -19,6 +19,9 @@
android:layout_height="wrap_content"
android:layout_marginStart="11dp"
android:layout_marginTop="60dp"
android:maxWidth="200dp"
android:maxLines="1"
android:ellipsize="end"
android:text="@string/be_their_exclusive_guardian"
android:textColor="#FAE3B9"
android:textSize="12sp" />
@ -52,7 +55,7 @@
android:layout_gravity="center"
android:letterSpacing="0.1"
android:text="@string/not_yet_open"
android:textSize="16sp"
android:textSize="12sp"
android:visibility="visible"
app:gradient_angle="45"
app:gradient_endColor="#FFF2D7"
@ -95,6 +98,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:maxWidth="150dp"
android:text="@string/tas_guardian_group"
android:textColor="#FDECCB"
android:textSize="12sp" />

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="450dp"
android:layout_gravity="bottom"
android:background="@drawable/backgroud_dragon_send_money_list"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="15dp">
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:src="@mipmap/icon_live_dragon_money_back" />
<ImageView
android:id="@+id/dragon_rule"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_gravity="end"
android:src="@mipmap/icon_dragon_rule" />
<com.flyjingfish.gradienttextviewlib.GradientTextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:letterSpacing="0.1"
android:text="@string/dragon_sends_money"
android:textSize="18sp"
android:textStyle="bold"
app:gradient_angle="45"
app:gradient_endColor="#F9D78F"
app:gradient_startColor="#E59F1F" />
</FrameLayout>
</LinearLayout>

View File

@ -58,8 +58,8 @@
android:layout_height="match_parent"
android:layout_marginTop="9dp"
android:layout_marginBottom="73dp"
android:paddingEnd="9dp"
android:overScrollMode="never"
android:paddingEnd="9dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="4"
tools:itemCount="10"
@ -111,13 +111,21 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/original_price"
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="564000"
android:textColor="@color/white"
android:textSize="14sp" />
android:layout_height="wrap_content">
<TextView
android:id="@+id/original_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="564000"
android:textColor="@color/white"
android:textSize="14sp" />
</FrameLayout>
<TextView
android:id="@+id/discount"

View File

@ -77,6 +77,7 @@
<FrameLayout
android:id="@+id/guardian_task"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
@ -91,9 +92,9 @@
android:textSize="12sp" />
<View
android:layout_width="48dp"
android:layout_width="53dp"
android:layout_height="1dp"
android:layout_gravity="bottom"
android:layout_gravity="bottom|center_horizontal"
android:background="#E8C7F9" />
</FrameLayout>
@ -186,28 +187,35 @@
</RelativeLayout>
<FrameLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="71dp"
android:layout_gravity="bottom"
android:background="@drawable/background_live_guard3">
<TextView
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
android:layout_marginStart="18dp"
android:layout_marginEnd="16dp"
android:layout_marginEnd="20dp"
android:text="@string/guardian_for_your_favorite_anchor"
android:textColor="@color/white"
android:textSize="14sp" />
<ImageView
<TextView
android:id="@+id/btn_guard_open"
android:layout_width="124dp"
android:layout_height="42dp"
android:gravity="center"
android:textSize="16sp"
android:textColor="@color/white"
android:textStyle="bold"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="16dp"
android:text="續費守護"
android:background="@mipmap/btn_guard_open" />
</FrameLayout>
</LinearLayout>
</FrameLayout>

View File

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/guard_title_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的神之守護"
android:textColor="#FEECDC"
android:textSize="25sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center">
<TextView
android:id="@+id/due_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/due_in"
android:textColor="#FEECDC"
android:textSize="25sp"
android:textStyle="bold" />
<TextView
android:id="@+id/due_in_guard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:text="2"
android:textColor="#F9AB71"
android:textSize="35sp"
android:textStyle="bold" />
<TextView
android:id="@+id/due_in_guard2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/due_in_guard"
android:textColor="#FEECDC"
android:textSize="25sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp">
<ImageView
android:layout_width="262dp"
android:layout_height="202dp"
android:src="@mipmap/bg_dragon_expire" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:orientation="vertical">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="23dp">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/user_avatar"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="25dp"
android:scaleType="centerCrop"
android:src="@mipmap/icon_male_default"
app:riv_oval="true" />
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/live_avatar"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center_vertical"
android:scaleType="centerCrop"
android:src="@mipmap/icon_male_default"
app:riv_oval="true" />
</FrameLayout>
<TextView
android:id="@+id/user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="主播昵稱&amp;用戶昵稱"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<TextView
android:id="@+id/guardian_privilege"
android:layout_width="220dp"
android:layout_height="35dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:text="@string/continuative_guardian_privilege"
android:textColor="#FFE0BF"
android:textSize="12sp" />
<Button
android:id="@+id/travel_renewal"
android:layout_width="203dp"
android:layout_height="37dp"
android:layout_marginTop="10dp"
android:background="@drawable/button_dragon_expire"
android:gravity="center"
android:text="@string/travel_renewal"
android:textColor="#F3D0B7"
android:textSize="15sp" />
</LinearLayout>
</FrameLayout>
<ImageView
android:id="@+id/dragon_close"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_horizontal|bottom"
android:layout_marginTop="30dp"
android:src="@mipmap/icon_dragon_close" />
</LinearLayout>

View File

@ -98,6 +98,8 @@
<TextView
android:layout_width="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:layout_height="wrap_content"
android:text="@string/please_enter_the_number_of_gold_beans_hint"
android:textColor="#333333"

View File

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<com.flyjingfish.gradienttextviewlib.GradientTextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:letterSpacing="0.1"
android:text="@string/congratulations_on_the_promotion"
android:textSize="30sp"
android:textStyle="bold"
app:gradient_angle="45"
app:gradient_endColor="@color/white"
app:gradient_startColor="@color/white"
app:gradient_stroke_endColor="#F86A01"
app:gradient_stroke_startColor="#F9CB22"
app:gradient_stroke_strokeWidth="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:gravity="center"
android:text="@string/guard_level_has_been_reached"
android:textColor="#FFE0BF"
android:textSize="14sp" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="258dp"
android:layout_height="174dp"
android:layout_marginTop="52dp"
android:src="@mipmap/background_guard_upgrade" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:src="@mipmap/tequan_1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:text="獎勵名稱"
android:textColor="#FF8503"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="12dp"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:src="@mipmap/tequan_1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:text="獎勵名稱"
android:textColor="#FF8503"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:src="@mipmap/tequan_1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:text="獎勵名稱"
android:textColor="#FF8503"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="13dp"
android:layout_marginEnd="13dp"
android:layout_marginBottom="38dp">
<Button
android:layout_width="94dp"
android:layout_height="36dp"
android:background="@drawable/button_guard_upgrade"
android:text="@string/view_grade"
android:textColor="#893D0D"
android:textSize="14sp" />
<Button
android:id="@+id/confirm"
android:layout_width="94dp"
android:layout_height="36dp"
android:layout_gravity="end"
android:background="@drawable/button_guard_upgrade"
android:text="@string/confirm"
android:textColor="#893D0D"
android:textSize="14sp" />
</FrameLayout>
</FrameLayout>
</LinearLayout>

View File

@ -43,9 +43,9 @@
android:id="@+id/level_anchor"
android:layout_width="13dp"
android:layout_height="13dp"
android:visibility="gone"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" />
android:layout_alignParentBottom="true"
android:visibility="gone" />
</RelativeLayout>
<LinearLayout
@ -2545,4 +2545,57 @@
android:layout_marginEnd="125dp"
android:src="@mipmap/background_quick_gift_reminder"
android:visibility="gone" />
<LinearLayout
android:id="@+id/dragon_immediate_participation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="180dp"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="36dp"
android:layout_height="39dp"
android:src="@mipmap/icon_live_dragon_money" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-5dp"
android:background="@drawable/background_dragon_immediate_participation"
android:padding="1dp"
android:text="@string/dragon_immediate_participation"
android:textColor="#F9BA03"
android:textSize="10sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/dragon_immediate_participation_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="120dp"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="36dp"
android:layout_height="39dp"
android:src="@mipmap/icon_live_dragon_money" />
<TextView
android:layout_width="45dp"
android:layout_height="wrap_content"
android:layout_marginTop="-5dp"
android:background="@drawable/background_dragon_immediate_participation"
android:gravity="center"
android:padding="1dp"
android:text="00:00"
android:textColor="#F9BA03"
android:textSize="10sp"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -819,9 +819,6 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
}
}
});
new XPopup.Builder(mContext).isDestroyOnDismiss(true).dismissOnBackPressed(false) // 按返回键是否关闭弹窗默认为true
.dismissOnTouchOutside(false) // 点击外部是否关闭弹窗默认为true
.asCustom(new APKUpdateCustomPopup(mContext, false)).show();
}
/**

View File

@ -11,6 +11,7 @@ import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewOutlineProvider;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -106,7 +107,7 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
private TextView btnCopy;
private SVGAImageView gift_svga;
private View v_noble;
private LinearLayout lt_noble;
private FrameLayout lt_noble;
// private LinearLayout btnUserNoble;
private ImageView user_noble_ico, good_nub_ico, img_lv_pic;
private TextView user_noble_text, user_noble_time, tv_setting;
@ -162,7 +163,7 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
user_noble_text = (TextView) findViewById(R.id.user_noble_text);
img_setting = (ImageView) findViewById(R.id.img_setting);
v_noble = (View) findViewById(R.id.v_noble);
lt_noble = (LinearLayout) findViewById(R.id.lt_noble);
lt_noble = (FrameLayout) findViewById(R.id.lt_noble);
user_noble_time = (TextView) findViewById(R.id.user_noble_time);
banner_me = (Banner) findViewById(R.id.banner_me);
lt_advertisement = (LinearLayout) findViewById(R.id.lt_advertisement);
@ -308,8 +309,8 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
ImgLoader.displayAvatar(mContext, u.getAvatar(), mAvatar);
mName.setText(u.getUserNiceName());
if (!"0".endsWith(u.getNoble_id())) {
user_noble_text.setText(mContext.getResources().getString(R.string.now_noble) + u.getNoble_name());
user_noble_time.setText(mContext.getResources().getString(R.string.now_noble_time) + u.getNoble_end_time());
user_noble_text.setText(u.getNoble_name());
user_noble_time.setText(u.getNoble_end_time());
} else {
user_noble_text.setText(WordUtil.isNewZh() ? "貴族中心" : "VIP Center");
user_noble_time.setText(mContext.getResources().getString(R.string.open_noble_text));

View File

@ -495,77 +495,150 @@
</LinearLayout>
<LinearLayout
android:id="@+id/lt_noble"
android:layout_width="match_parent"
android:layout_height="81dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="12dp"
android:layout_marginRight="15dp"
android:background="@drawable/bg_me_data"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:orientation="horizontal">
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center">
<ImageView
android:id="@+id/user_noble_ico"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginLeft="21dp"
android:src="@mipmap/icon_vip_gold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
<FrameLayout
android:id="@+id/lt_noble"
android:layout_width="0dp"
android:layout_height="81dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="12dp"
android:layout_weight="1"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center|left"
android:orientation="vertical"
android:paddingLeft="18dp"
android:paddingRight="6dp">
android:background="@drawable/bg_me_data"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/user_noble_text"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold" />
android:layout_height="match_parent"
android:layout_gravity="end"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center">
<TextView
android:id="@+id/user_noble_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="@string/open_noble_text"
android:textColor="@color/gray1"
android:textSize="12sp" />
</LinearLayout>
<ImageView
android:id="@+id/user_noble_ico"
android:layout_width="69dp"
android:layout_height="55dp"
android:src="@mipmap/icon_vip_gold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center|left"
android:orientation="vertical"
android:paddingLeft="18dp"
android:paddingRight="6dp">
<TextView
android:id="@+id/user_noble_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text=""
android:textColor="#000000"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/user_noble_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/open_noble_text"
android:textColor="#000000"
android:textSize="12sp" />
</LinearLayout>
<View
android:id="@+id/v_noble"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginRight="30dp"
android:background="@mipmap/icon_more_gray"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:visibility="gone" />
</FrameLayout>
<View
android:id="@+id/v_noble"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginRight="30dp"
android:background="@mipmap/icon_more_gray"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
android:layout_height="1dp" />
<FrameLayout
android:layout_width="0dp"
android:layout_height="81dp"
android:layout_marginTop="12dp"
android:layout_marginRight="15dp"
android:layout_weight="1"
android:background="@drawable/bg_me_data"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center">
<ImageView
android:layout_width="69dp"
android:layout_height="55dp"
android:layout_marginLeft="21dp"
android:src="@mipmap/icon_guard_me" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center|left"
android:orientation="vertical"
android:paddingLeft="18dp"
android:paddingRight="6dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="@string/live_guard"
android:textColor="#000000"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/guard_for_your_beloved_one"
android:textColor="#000000"
android:textSize="12sp" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 33 KiB