diff --git a/common/src/main/res/layout/dialog_live_gift_popup2.xml b/common/src/main/res/layout/dialog_live_gift_popup2.xml index ce33003eb..810034b48 100644 --- a/common/src/main/res/layout/dialog_live_gift_popup2.xml +++ b/common/src/main/res/layout/dialog_live_gift_popup2.xml @@ -13,7 +13,7 @@ android:id="@+id/giftBg" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_marginTop="-14dp" + android:layout_marginTop="-16dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -146,19 +146,51 @@ tools:text="28000000" /> - - - + + + + + + + + + + + + + - + mWrapGiftList; //连送逻辑 private int mLianCountDownCount;//连送倒计时的数字 private int blindBoxType; private FrameGiftNewAdapter mFrameGiftNewAdapter; + + // 返回自定义弹窗的布局 @Override protected int getLayoutId() { @@ -185,6 +195,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { private ProgressBar progressBar; private boolean isPk; private Handler sendGiftHandler = new Handler(); + private JSONArray liveGiftList; private Runnable sendGiftRunnble = new Runnable() { @Override @@ -277,6 +288,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { blindBoxOpen = findViewById(R.id.blind_box_open); giftSendGroup = findViewById(R.id.giftSendGroup); openVipArrowImg = findViewById(R.id.openVipArrowImg); + emptyGroup = findViewById(R.id.emptyGroup); //赞助信息 giftSponsorGroup.setVisibility(View.GONE); //设置礼物弹窗背景 这里不设置 @@ -285,7 +297,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { // ImgLoader.display(getContext(), R.mipmap.ic_gift_right_arrow, liveGiftImg); //设置礼物的信息 - RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getActivity(), 4, GridLayoutManager.VERTICAL, false); + RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getActivity(), 4, GridLayoutManager.VERTICAL, false); giftRecyclerView.setLayoutManager(layoutManager); //礼物分类tab @@ -302,10 +314,10 @@ public class LiveGiftPopup2 extends AbsDialogFragment { giftLevelGroup.setVisibility(View.VISIBLE); - mRootView.setOnClickListener(new View.OnClickListener(){ + mRootView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - dismiss(); + dismiss(); } }); giftBg.setOnClickListener(new View.OnClickListener() { @@ -347,14 +359,23 @@ public class LiveGiftPopup2 extends AbsDialogFragment { giftWrapTv.setAlpha(1.0f); giftWrapTv.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD); giftWrapTv.setTextColor(ContextCompat.getColor(mContext, com.yunbao.live.R.color.feea36)); + isWrap = true; + giftSendGroup.setVisibility(View.INVISIBLE); //TODO 切换到包裹取消更爱 -// transaction = getTransaction(); -// contentFragment = LiveParcelFragment.newInstance(mStream, mLiveUid); -// transaction.replace(R.id.context_layout_gift, contentFragment); -// transaction.commitAllowingStateLoss(); -// isWrap = true; -// findViewById(R.id.giftWrapRedPoint).setVisibility(View.GONE); -// hideLianBtn(); + GiftCacheUtil.getInstance().addDownloadList(mWrapGiftList); + if (mWrapGiftList!=null && !mWrapGiftList.isEmpty()){ + mWrapGiftList.get(0).setChecked(true); + mFrameGiftNewAdapter = new FrameGiftNewAdapter(mWrapGiftList, mStream, mLiveUid, mWrapGiftList.get(0).getGift_id()+""); + emptyGroup.setVisibility(View.GONE); +// mWrapGiftList.get(0).setChecked(true); +// liveGiftSendTv.setText(1+""); +// liveGiftModel= mWrapGiftList.get(0); + hideLianBtn(); + }else { + emptyGroup.setVisibility(View.INVISIBLE); + Log.i("LiveGiftPopup2", "包裹为空"); + } + } }); @@ -494,7 +515,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { .enableDrag(false) .asCustom(new GiftNumberPopup(getContext())) .show(); - ImgLoader.display(getContext(), R.mipmap.icon_arrow_down, liveGiftImg); + liveGiftImg.setImageResource( R.mipmap.ic_gift_top_arrow); } }); @@ -583,6 +604,27 @@ public class LiveGiftPopup2 extends AbsDialogFragment { }); getBlindBoxInfo(); loadUserVip(); + + //获取包裹礼物列表 + LiveHttpUtil.getWrapList(new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + if (code == 0 && info.length > 0) { + JSONObject obj = JSON.parseObject(info[0]); + String giftJson = obj.getString("giftlist"); + mWrapGiftList = JSON.parseArray(giftJson, LiveGiftBean.class); + GiftCacheUtil.getInstance().addDownloadList(mWrapGiftList); + if (!GiftCacheUtil.getInstance().isDownloading()) { + GiftCacheUtil.getInstance().downloadAllGift(); + } + } + } + + @Override + public void onFinish() { + + } + }); } @@ -1013,8 +1055,6 @@ public class LiveGiftPopup2 extends AbsDialogFragment { } - - //设置礼物类别数据 private void setTitleData() { List name = new ArrayList<>(); @@ -1037,7 +1077,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { giftTitleAdapter.addAllData(name); if (!TextUtils.isEmpty(mWishGiftId) && liveGiftList.size() > 0) { Log.i("LiveGiftPopup2", "有礼物设置"); - int postion =-1; + int postion = -1; for (int i = 0; i < liveGiftList.size(); i++) { JSONObject data = liveGiftList.getJSONObject(i); String giftJson = data.getString("giftlist"); @@ -1046,7 +1086,8 @@ public class LiveGiftPopup2 extends AbsDialogFragment { LiveGiftBean model = liveGiftBeans.get(j); if (TextUtils.equals(model.getId() + "", mWishGiftId)) { model.setChecked(true); - postion= j; + postion = j; + emptyGroup.setVisibility(View.GONE); mFrameGiftNewAdapter = new FrameGiftNewAdapter(liveGiftBeans, mStream, mLiveUid, mWishGiftId); giftRecyclerView.setAdapter(mFrameGiftNewAdapter); giftTitleAdapter.setTitleIndex(i); @@ -1054,22 +1095,16 @@ public class LiveGiftPopup2 extends AbsDialogFragment { } } } - if (postion>-1){ + if (postion > -1) { + //滚动到选中的位置 final int p = postion; giftRecyclerView.scrollToPosition(postion); -// Log.i("LiveGiftPopup2", "进行位置滚动"+p); -// giftRecyclerView.postDelayed(new Runnable() { -// @Override -// public void run() { -// Log.i("LiveGiftPopup2", "进行位置滚动"+p); -// giftRecyclerView.scrollToPosition(p); -// } -// },200); } } else { JSONObject obj2 = liveGiftList.getJSONObject(0); String giftJson = obj2.getString("giftlist"); List liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class); + emptyGroup.setVisibility(View.GONE); mFrameGiftNewAdapter = new FrameGiftNewAdapter(liveGiftBeans, mStream, mLiveUid, mWishGiftId); giftRecyclerView.setAdapter(mFrameGiftNewAdapter); } @@ -1077,6 +1112,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { public List blindBoxInfoModels = new ArrayList<>(); + private void getBlindBoxInfo() { LiveNetManager.get(mContext) .getBlindBoxInfo(new com.yunbao.common.http.base.HttpCallback>() { @@ -1131,18 +1167,23 @@ public class LiveGiftPopup2 extends AbsDialogFragment { giftWrapTv.setTextColor(ContextCompat.getColor(mContext, com.yunbao.live.R.color.white)); liveGiftSend.setEnabled(false); - giftSendGroup.setVisibility(View.INVISIBLE); + JSONObject obj2 = liveGiftList.getJSONObject(event.getmPosition()); String giftJson = obj2.getString("giftlist"); + List liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class); + emptyGroup.setVisibility(View.GONE); mFrameGiftNewAdapter = new FrameGiftNewAdapter(liveGiftBeans, mStream, mLiveUid, mWishGiftId); giftRecyclerView.setAdapter(mFrameGiftNewAdapter); isWrap = false; - if (giftSendGroup.getVisibility() == View.INVISIBLE) { + + if (continuousClickGroup.getVisibility() == View.INVISIBLE) { hideLianBtn(); } + giftSendGroup.setVisibility(View.INVISIBLE); + mCount = DEFAULT_COUNT; liveGiftSendTv.setText(mCount); giftDescription.setVisibility(View.GONE); @@ -1152,15 +1193,22 @@ public class LiveGiftPopup2 extends AbsDialogFragment { @Subscribe(threadMode = ThreadMode.MAIN) public void onGiftNumberEvent(GiftNumberEvent event) { if (TextUtils.equals(event.getmCount(), "-1")) { - ImgLoader.display(getContext(), R.mipmap.ic_gift_right_arrow, liveGiftImg); + liveGiftImg.setImageResource( R.mipmap.ic_gift_right_arrow); } else { - ImgLoader.display(getContext(), R.mipmap.ic_gift_right_arrow, liveGiftImg); + liveGiftImg.setImageResource( R.mipmap.ic_gift_right_arrow); mCount = event.getmCount(); liveGiftSendTv.setText(mCount); } } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onLiveParcelItemRefreshEvent(LiveParcelItemRefreshEvent event) { + if (isWrap){ + mFrameGiftNewAdapter.refreshWrapListAfterSend(event); + } + } + /** * 选中的礼物数据 * @@ -1186,13 +1234,13 @@ public class LiveGiftPopup2 extends AbsDialogFragment { namingNameText.append("Get title: ") .append(liveGiftModel.getNamingUserCoin()); } - String hideName=liveGiftModel.getNamingUid().equals(IMLoginManager.get(mContext).getUserInfo().getId()+"")?liveGiftModel.getNamingUserName():WordUtil.getNewString(R.string.mystery_man); - String hideLiveName=liveGiftModel.getNamingLiveuid().equals(IMLoginManager.get(mContext).getUserInfo().getId()+"")?liveGiftModel.getNamingLiveName():WordUtil.getNewString(R.string.mystery_man); + String hideName = liveGiftModel.getNamingUid().equals(IMLoginManager.get(mContext).getUserInfo().getId() + "") ? liveGiftModel.getNamingUserName() : WordUtil.getNewString(R.string.mystery_man); + String hideLiveName = liveGiftModel.getNamingLiveuid().equals(IMLoginManager.get(mContext).getUserInfo().getId() + "") ? liveGiftModel.getNamingLiveName() : WordUtil.getNewString(R.string.mystery_man); namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor)) .append(liveGiftModel.getNamingLiveName()) .append(" ") .append(mContext.getText(com.yunbao.live.R.string.the_title_financier)) - .append(liveGiftModel.getNaming_user_gift_hall_rank_hide()==0?liveGiftModel.getNamingUserName():hideName); + .append(liveGiftModel.getNaming_user_gift_hall_rank_hide() == 0 ? liveGiftModel.getNamingUserName() : hideName); namingName.setText(namingNameText.toString()); } else { giftSponsorGroup.setVisibility(View.GONE); @@ -1201,7 +1249,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { if (liveGiftModel.getType() == 7) { MobclickAgent.onEvent(mContext, "gif_list_blind_box", "用户点开礼物列表盲盒"); - liveGiftImg.setVisibility(View.GONE); + liveGiftImg.setVisibility(View.INVISIBLE); showBlindProgress(liveGiftModel.getBlind_box_type()); description.setTag(liveGiftModel.getBlind_box_type()); } else { @@ -1398,6 +1446,7 @@ public class LiveGiftPopup2 extends AbsDialogFragment { * @param blindBoxType */ private StringBuffer blindGiftNamesBuffer = null; + private void showBlindProgress(int blindBoxType) { this.blindBoxType = blindBoxType; blindGiftNamesBuffer = new StringBuffer(); diff --git a/live/src/main/java/com/yunbao/live/views/GiftTitleViewHolder.java b/live/src/main/java/com/yunbao/live/views/GiftTitleViewHolder.java index 6489cf87f..6185fe7e0 100644 --- a/live/src/main/java/com/yunbao/live/views/GiftTitleViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/GiftTitleViewHolder.java @@ -69,7 +69,7 @@ public class GiftTitleViewHolder extends RecyclerView.ViewHolder { } else { name.setAlpha(0.5f); name.setTextColor(ContextCompat.getColor(itemView.getContext(),R.color.white)); - name.setTypeface(Typeface.SANS_SERIF, Typeface.NORMAL); + // name.setTypeface(Typeface.SANS_SERIF, Typeface.NORMAL); } }