diff --git a/common/src/main/java/com/yunbao/common/bean/BlindBoxInfoModel.java b/common/src/main/java/com/yunbao/common/bean/BlindBoxInfoModel.java new file mode 100644 index 000000000..8451bb3a1 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/bean/BlindBoxInfoModel.java @@ -0,0 +1,77 @@ +package com.yunbao.common.bean; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class BlindBoxInfoModel extends BaseModel { + /** + * "info":[{"item_name":["麒麟勛章饰品","麒麟頭像框饰品","麒麟坐騎饰品","水晶项链礼物","夢幻水晶球礼物","心動泡泡礼物","蝴蝶少女礼物","金色唱片礼物","鑽石禮盒礼物","紙花船礼物"],"threshold_value":268,"threshold_dress_name":"麒麟坐騎","dress_threshold_value":0,"blind_box_type":1,"blind_box_id":1636},{"item_name":["金鳳勛章饰品","金鳳頭像框饰品","金鳳坐騎饰品","浪漫氣球礼物","捕夢網礼物","仙女棒礼物","藍寶石鈴鐺礼物","榮耀星礼物","童話屋礼物","夢幻許願池礼物"],"threshold_value":198,"threshold_dress_name":"金鳳坐騎","dress_threshold_value":0,"blind_box_type":2,"blind_box_id":1637},{"item_name":["神龍勛章饰品","神龍頭像框饰品","神龍坐騎饰品","水晶玫瑰礼物","sweet香水礼物","甜蜜熱氣球礼物","風鈴舞動礼物","音樂噴泉礼物","星空列車礼物","漂洋過海來看你礼物"],"threshold_value":128,"threshold_dress_name":"神龍坐騎","dress_threshold_value":0,"blind_box_type":3,"blind_box_id":1638}] + */ + @SerializedName("item_name") + private List itemName; + @SerializedName("threshold_value") + private String thresholdValue = "0"; + @SerializedName("threshold_dress_name") + private String thresholdDressName; + @SerializedName("dress_threshold_value") + private String dressThresholdValue; + @SerializedName("blind_box_type") + private String blindBoxType; + @SerializedName("blind_box_id") + private String blindBoxId; + + public List getItemName() { + return itemName; + } + + public BlindBoxInfoModel setItemName(List itemName) { + this.itemName = itemName; + return this; + } + + public String getThresholdValue() { + return thresholdValue; + } + + public BlindBoxInfoModel setThresholdValue(String thresholdValue) { + this.thresholdValue = thresholdValue; + return this; + } + + public String getThresholdDressName() { + return thresholdDressName; + } + + public BlindBoxInfoModel setThresholdDressName(String thresholdDressName) { + this.thresholdDressName = thresholdDressName; + return this; + } + + public String getDressThresholdValue() { + return dressThresholdValue; + } + + public BlindBoxInfoModel setDressThresholdValue(String dressThresholdValue) { + this.dressThresholdValue = dressThresholdValue; + return this; + } + + public String getBlindBoxType() { + return blindBoxType; + } + + public BlindBoxInfoModel setBlindBoxType(String blindBoxType) { + this.blindBoxType = blindBoxType; + return this; + } + + public String getBlindBoxId() { + return blindBoxId; + } + + public BlindBoxInfoModel setBlindBoxId(String blindBoxId) { + this.blindBoxId = blindBoxId; + return this; + } +} diff --git a/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java b/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java index a1baad0a0..c0777d57e 100644 --- a/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java +++ b/common/src/main/java/com/yunbao/common/bean/LiveGiftBean.java @@ -18,7 +18,7 @@ public class LiveGiftBean { // public static final int MARK_LUCK = 3; private int id; - private int type;//0 普通礼物 1是贵族 2守护 3粉丝团 + private int type;//0 普通礼物 1是贵族 2守护 3粉丝团 5盲盒礼物 private int mark;// 0 普通 1热门 2守护 3幸运 private String name; private String price; @@ -34,6 +34,17 @@ public class LiveGiftBean { private String isweek; private String end_time; private String tag; + @JSONField(name = "blind_box_type") + private int blind_box_type = 0; + + public int getBlind_box_type() { + return blind_box_type; + } + + public LiveGiftBean setBlind_box_type(int blind_box_type) { + this.blind_box_type = blind_box_type; + return this; + } public String getTag() { return tag; diff --git a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java index deaa05d4e..30ca83e18 100644 --- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java +++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.yunbao.common.bean.ActiveModel; import com.yunbao.common.bean.AnchorRecommendModel; import com.yunbao.common.bean.BaseModel; +import com.yunbao.common.bean.BlindBoxInfoModel; import com.yunbao.common.bean.CheckLiveModel; import com.yunbao.common.bean.ContributeModel; import com.yunbao.common.bean.CustomSidebarInfoModel; @@ -17,11 +18,11 @@ import com.yunbao.common.bean.LinkMicUserBeanV2; import com.yunbao.common.bean.ListInfoMessageModel; import com.yunbao.common.bean.LiveAiRobotBean; import com.yunbao.common.bean.LiveAnchorCallMeModel; -import com.yunbao.common.bean.LiveRoomVoteModel; import com.yunbao.common.bean.LiveAnchorSayModel; import com.yunbao.common.bean.LiveDataInfoModel; import com.yunbao.common.bean.LiveInfoModel; import com.yunbao.common.bean.LiveRoomActivityBanner; +import com.yunbao.common.bean.LiveRoomVoteModel; import com.yunbao.common.bean.LiveStetUpStatusModel; import com.yunbao.common.bean.LiveTaskModel; import com.yunbao.common.bean.LiveUserMailBoxModel; @@ -716,10 +717,17 @@ public interface PDLiveApi { */ @GET("/api/public/?service=Live.setLiveVote") Observable>> updateLiveVote(@Query("liveuid") String liveUid, - @Query("option_content_key") String key); + @Query("option_content_key") String key); + /** * 主动结束投票 */ @GET("/api/public/?service=Live.endLiveVote") Observable>> endLiveVote(@Query("liveuid") String liveUid); + + /** + * 获取盲盒礼物当前数据 + */ + @GET("/api/public/?service=Live.getBlindBoxInfo") + Observable>> getBlindBoxInfo(); } diff --git a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java index e463a017a..dcb193ed4 100644 --- a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java +++ b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java @@ -8,6 +8,7 @@ import com.yunbao.common.Constants; import com.yunbao.common.R; import com.yunbao.common.bean.ActiveModel; import com.yunbao.common.bean.BaseModel; +import com.yunbao.common.bean.BlindBoxInfoModel; import com.yunbao.common.bean.CheckLiveModel; import com.yunbao.common.bean.CustomSidebarInfoModel; import com.yunbao.common.bean.DiscountsModel; @@ -18,11 +19,11 @@ import com.yunbao.common.bean.LinkMicUserBeanV2; import com.yunbao.common.bean.ListInfoMessageModel; import com.yunbao.common.bean.LiveAiRobotBean; import com.yunbao.common.bean.LiveAnchorCallMeModel; -import com.yunbao.common.bean.LiveRoomVoteModel; import com.yunbao.common.bean.LiveAnchorSayModel; import com.yunbao.common.bean.LiveDataInfoModel; import com.yunbao.common.bean.LiveInfoModel; import com.yunbao.common.bean.LiveRoomActivityBanner; +import com.yunbao.common.bean.LiveRoomVoteModel; import com.yunbao.common.bean.LiveStetUpStatusModel; import com.yunbao.common.bean.LiveTaskModel; import com.yunbao.common.bean.LiveUserMailBoxModel; @@ -1522,6 +1523,33 @@ public class LiveNetManager { }).isDisposed(); } + /** + * 获取盲盒礼物信息 + * + * @param callback + */ + public void getBlindBoxInfo(HttpCallback> callback) { + API.get().pdLiveApi(mContext) + .getBlindBoxInfo() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Consumer>>() { + @Override + public void accept(ResponseModel> listResponseModel) throws Exception { + if (callback != null) { + callback.onSuccess(listResponseModel.getData().getInfo()); + } + } + }, new Consumer() { + @Override + public void accept(Throwable throwable) throws Exception { + if (callback != null) { + callback.onError(mContext.getString(R.string.net_error)); + } + } + }).isDisposed(); + } + /** * 直播间取消网络请求 */ diff --git a/common/src/main/res/drawable/bg_blind_progres.xml b/common/src/main/res/drawable/bg_blind_progres.xml new file mode 100644 index 000000000..ea281105c --- /dev/null +++ b/common/src/main/res/drawable/bg_blind_progres.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/drawable/bg_blind_progress.xml b/common/src/main/res/drawable/bg_blind_progress.xml new file mode 100644 index 000000000..b331a7c48 --- /dev/null +++ b/common/src/main/res/drawable/bg_blind_progress.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/drawable/bg_blind_progress1.xml b/common/src/main/res/drawable/bg_blind_progress1.xml new file mode 100644 index 000000000..690c1cf90 --- /dev/null +++ b/common/src/main/res/drawable/bg_blind_progress1.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index 5152c78d3..b421ca23e 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -1160,7 +1160,7 @@ 投票中 - %s
問答框%s秒后消失
+ %s
問答框%s秒后消失
請完整填寫 填寫“*”的選項可完成 真愛粉\n頭像框(7天) @@ -1172,4 +1172,9 @@ 離開會讓您失去獎勵,您確認離開嗎? 愛你,愛你 指導下我好嗎 + 再送%s个%s必得%s + 已将%s发送至您的个性装扮 + 迷你盲盒 + 典藏盲盒 + PD盲盒 diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 765c420e3..24fa82072 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -1178,4 +1178,11 @@ Limited ride And limited avatar frame
Leave without a gift Love you Can you guide me + 再送%s个%s必得%s + 已将%s发送至您的个性装扮 + 迷你盲盒 + 典藏盲盒 + PD盲盒 + 个性装扮 + 可随机获得,%s diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveGiftDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveGiftDialogFragment.java index feaf72076..9ae8f95c0 100644 --- a/live/src/main/java/com/yunbao/live/dialog/LiveGiftDialogFragment.java +++ b/live/src/main/java/com/yunbao/live/dialog/LiveGiftDialogFragment.java @@ -11,7 +11,10 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.text.Spannable; +import android.text.SpannableStringBuilder; import android.text.TextUtils; +import android.text.style.ForegroundColorSpan; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; @@ -19,9 +22,11 @@ import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.PopupWindow; +import android.widget.ProgressBar; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; @@ -37,12 +42,14 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; +import com.yunbao.common.bean.BlindBoxInfoModel; import com.yunbao.common.bean.LiveGiftBean; import com.yunbao.common.bean.LiveGiftBean2; import com.yunbao.common.bean.UserBean; import com.yunbao.common.dialog.AbsDialogFragment; import com.yunbao.common.http.HttpCallback; import com.yunbao.common.http.HttpClient; +import com.yunbao.common.http.live.LiveNetManager; import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.utils.AppManager; @@ -120,6 +127,8 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On private RecyclerView items; private LinearLayout mVipGold; + private FrameLayout blindBox, frameBlindTop; + private ProgressBar progressBlind, progressBlind1, progressBlind2; private GiftTopAdapter giftTopAdapter; public int type = 0; private static String type_name = "熱門"; @@ -127,7 +136,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On private ImageView mVipGoldIcon; private TextView mVipGoldTitle; private TextView mVipGoldDesc; - private TextView mGiftPackage; + private TextView mGiftPackage, blindNumber, textBlindProgress, textBlindGiftName; private boolean isPk; private int isContactGift = 0; DialogInterface.OnDismissListener onDismissListener; @@ -152,6 +161,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On @Override protected void setWindowAttributes(Window window) { window.setWindowAnimations(R.style.bottomToTopAnim); + window.setDimAmount(0f);//去掉遮罩层(全透明) WindowManager.LayoutParams params = window.getAttributes(); params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = DpUtil.dp2px(355); @@ -191,6 +201,11 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On mTvGoCharge = (TextView) mRootView.findViewById(R.id.go_charge); items = (RecyclerView) mRootView.findViewById(R.id.items); mLoading = mRootView.findViewById(R.id.loading); + blindBox = mRootView.findViewById(R.id.blind_box); + frameBlindTop = mRootView.findViewById(R.id.frame_blind_top); + progressBlind = mRootView.findViewById(R.id.progress_blind1); + progressBlind1 = mRootView.findViewById(R.id.progress_blind2); + progressBlind2 = mRootView.findViewById(R.id.progress_blind3); mArrow = mRootView.findViewById(R.id.arrow); mBtnSend = mRootView.findViewById(R.id.btn_send); mBtnSendGroup = mRootView.findViewById(R.id.btn_send_group); @@ -285,6 +300,9 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On mVipGoldDesc = mRootView.findViewById(R.id.vipGoldDesc); mVipGold.setOnClickListener(this); mGiftPackage = mRootView.findViewById(R.id.btn_gift_package); + blindNumber = mRootView.findViewById(R.id.blind_number); + textBlindProgress = mRootView.findViewById(R.id.text_blind_progress); + textBlindGiftName = mRootView.findViewById(R.id.text_blind_gift_name); mGiftPackage.setOnClickListener(this); mRootView.findViewById(R.id.live_gift_download_all).setOnClickListener(this); mHandler = new Handler() { @@ -319,6 +337,24 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On if (isPk) { mVipGold.setVisibility(View.GONE); } + getBlindBoxInfo(); + } + + public List blindBoxInfoModels = new ArrayList<>(); + + private void getBlindBoxInfo() { + LiveNetManager.get(mContext) + .getBlindBoxInfo(new com.yunbao.common.http.base.HttpCallback>() { + @Override + public void onSuccess(List data) { + blindBoxInfoModels = data; + } + + @Override + public void onError(String error) { + ToastUtil.show(error); + } + }); } /** @@ -666,6 +702,122 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On mArrow.setVisibility(View.VISIBLE); mBtnSend.setBackground(mDrawable1); } + if (bean.getType() == 5) { + + showBlindProgress(bean.getBlind_box_type()); + } else { + mVipGold.setVisibility(View.VISIBLE); + blindBox.setVisibility(View.GONE); + WindowManager.LayoutParams params = getDialog().getWindow().getAttributes(); + params.width = WindowManager.LayoutParams.MATCH_PARENT; + params.height = DpUtil.dp2px(355); + params.gravity = Gravity.BOTTOM; + getDialog().getWindow().setAttributes(params); + } + } + + /** + * 展示当前盲盒礼物进度 + * + * @param blindBoxType + */ + private StringBuffer blindGiftNamesBuffer = null; + + private void showBlindProgress(int blindBoxType) { + blindGiftNamesBuffer = new StringBuffer(); + BlindBoxInfoModel model = null; + for (BlindBoxInfoModel boxInfoModel : blindBoxInfoModels) { + if (TextUtils.equals(String.valueOf(blindBoxType), boxInfoModel.getBlindBoxType())) { + model = boxInfoModel; + } + } + if (model == null) return; + mVipGold.setVisibility(View.GONE); + blindBox.setVisibility(View.VISIBLE); + WindowManager.LayoutParams params = getDialog().getWindow().getAttributes(); + params.width = WindowManager.LayoutParams.MATCH_PARENT; + params.height = DpUtil.dp2px(433); + params.gravity = Gravity.BOTTOM; + getDialog().getWindow().setAttributes(params); + String boxBlindName = ""; + switch (blindBoxType) { + case 1: + boxBlindName = mContext.getString(R.string.mini_blind_box); + progressBlind.setVisibility(View.VISIBLE); + progressBlind1.setVisibility(View.GONE); + progressBlind2.setVisibility(View.GONE); + frameBlindTop.setBackgroundResource(R.mipmap.bg_kirin); + progressBlind.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind.setProgress(Integer.parseInt(model.getDressThresholdValue())); + textBlindProgress.setTextColor(Color.parseColor("#047771")); + break; + case 2: + boxBlindName = mContext.getString(R.string.collection_blind_box); + progressBlind.setVisibility(View.GONE); + progressBlind1.setVisibility(View.VISIBLE); + progressBlind2.setVisibility(View.GONE); + frameBlindTop.setBackgroundResource(R.mipmap.bg_phoenix); + progressBlind1.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind1.setProgress(Integer.parseInt(model.getDressThresholdValue())); + textBlindProgress.setTextColor(Color.parseColor("#6D2E0F")); + + break; + default: + boxBlindName = mContext.getString(R.string.pd_blind_box); + progressBlind.setVisibility(View.GONE); + progressBlind1.setVisibility(View.GONE); + progressBlind2.setVisibility(View.VISIBLE); + frameBlindTop.setBackgroundResource(R.mipmap.bg_dragon); + progressBlind2.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind2.setProgress(Integer.parseInt(model.getDressThresholdValue())); + textBlindProgress.setTextColor(Color.parseColor("#905E01")); + break; + } + + //进度下方提示语 + if (TextUtils.equals(model.getThresholdValue(), model.getDressThresholdValue())) { + String individualDressing = mContext.getString(R.string.individual_dressing); + String msg = mContext.getString(R.string.have_already_win); + msg = String.format(msg, model.getThresholdDressName()); + int dressNameIndexOf = msg.indexOf(model.getThresholdDressName()); + int individualDressingIndexOf = msg.indexOf(String.valueOf(individualDressing)); + int dressNameSize = model.getThresholdDressName().length(); + int individualDressingSize = String.valueOf(individualDressing).length(); + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(msg); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), individualDressingIndexOf, individualDressingIndexOf + individualDressingSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + blindNumber.setText(builder); + } else { + int progress = Integer.parseInt(model.getThresholdValue()) - Integer.parseInt(model.getDressThresholdValue()); + String msg = mContext.getString(R.string.resend_win); + msg = String.format(msg, String.valueOf(progress), boxBlindName, model.getThresholdDressName()); + int dressNameIndexOf = msg.indexOf(model.getThresholdDressName()); + int progressIndexOf = msg.indexOf(String.valueOf(progress)); + int dressNameSize = model.getThresholdDressName().length(); + int progressSize = String.valueOf(progress).length(); + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(msg); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), progressIndexOf, progressIndexOf + progressSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + blindNumber.setText(builder); + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append(model.getDressThresholdValue()) + .append("/") + .append(model.getThresholdValue()); + textBlindProgress.setText(stringBuffer.toString()); + } + //盲盒礼物文字跑马灯 + for (int i = 0; i < model.getItemName().size(); i++) { + blindGiftNamesBuffer + .append(model.getItemName().get(i)); + + if (i != model.getItemName().size() - 1) { + blindGiftNamesBuffer.append(","); + } + } + textBlindGiftName.setText(String.format(mContext.getString(R.string.random_availability), blindGiftNamesBuffer.toString())); + } /** diff --git a/live/src/main/res/layout/dialog_live_gift_wrap.xml b/live/src/main/res/layout/dialog_live_gift_wrap.xml index 0a251de81..2bee65f7a 100644 --- a/live/src/main/res/layout/dialog_live_gift_wrap.xml +++ b/live/src/main/res/layout/dialog_live_gift_wrap.xml @@ -23,11 +23,11 @@ android:visibility="gone"> + android:src="@mipmap/icon_small_download" + android:visibility="gone" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/live/src/main/res/mipmap-xxxhdpi/bg_blind_bottom.png b/live/src/main/res/mipmap-xxxhdpi/bg_blind_bottom.png new file mode 100644 index 000000000..29bb600ee Binary files /dev/null and b/live/src/main/res/mipmap-xxxhdpi/bg_blind_bottom.png differ diff --git a/live/src/main/res/mipmap-xxxhdpi/bg_dragon.png b/live/src/main/res/mipmap-xxxhdpi/bg_dragon.png new file mode 100644 index 000000000..1ec6d95fd Binary files /dev/null and b/live/src/main/res/mipmap-xxxhdpi/bg_dragon.png differ diff --git a/live/src/main/res/mipmap-xxxhdpi/bg_kirin.png b/live/src/main/res/mipmap-xxxhdpi/bg_kirin.png new file mode 100644 index 000000000..e0dfec188 Binary files /dev/null and b/live/src/main/res/mipmap-xxxhdpi/bg_kirin.png differ diff --git a/live/src/main/res/mipmap-xxxhdpi/bg_phoenix.png b/live/src/main/res/mipmap-xxxhdpi/bg_phoenix.png new file mode 100644 index 000000000..4225494e0 Binary files /dev/null and b/live/src/main/res/mipmap-xxxhdpi/bg_phoenix.png differ diff --git a/live/src/main/res/mipmap-xxxhdpi/icon_what.png b/live/src/main/res/mipmap-xxxhdpi/icon_what.png new file mode 100644 index 000000000..f8e8dcbc4 Binary files /dev/null and b/live/src/main/res/mipmap-xxxhdpi/icon_what.png differ