diff --git a/app/src/main/java/com/chwl/app/decoration/adapter/MyUserCardWearAdapter.java b/app/src/main/java/com/chwl/app/decoration/adapter/MyUserCardWearAdapter.java index f560f4e27..804272e84 100644 --- a/app/src/main/java/com/chwl/app/decoration/adapter/MyUserCardWearAdapter.java +++ b/app/src/main/java/com/chwl/app/decoration/adapter/MyUserCardWearAdapter.java @@ -11,7 +11,14 @@ import com.chwl.app.databinding.ItemMyUserCardWearBinding; import com.chwl.app.ui.utils.ImageLoadUtils; import com.chwl.core.decoration.headwear.bean.HeadWearInfo; import com.chwl.core.decoration.headwear.bean.UserCardWearInfo; +import com.chwl.library.download.DownloadManager; +import com.chwl.library.download.DownloadRequest; +import com.chwl.library.download.DownloadTask; +import com.chwl.library.download.FileDownloadListener; import com.chwl.library.utils.ResUtil; +import com.chwl.library.utils.PathHelper; + +import java.io.File; /** * Created by huangmeng1 on 2018/5/11. @@ -28,6 +35,19 @@ public class MyUserCardWearAdapter extends BaseAdapter { super.convert(helper, item); ItemMyUserCardWearBinding binding = (ItemMyUserCardWearBinding) helper.getBinding(); ImageLoadUtils.loadImage(mContext, item.getPic(), binding.ivUserCardWear); + + + String filePath = PathHelper.INSTANCE.generateResourcesFilePath(item.getPic()); + DownloadRequest request = DownloadRequest.Companion.build(item.getPic(), filePath, "gift_effect_download", null, 60000L); + DownloadManager.INSTANCE.download(request, new FileDownloadListener() { + @Override + public void onDownloadCompleted(@NonNull DownloadTask task) { + String path = task.getRequest().getPath(); + binding.ivUserCardWearMp4.startPlay(new File(path)); + } + }); + + helper.addOnClickListener(R.id.tv_used); if (item.getLabelType() == HeadWearInfo.LABEL_TYPE_NORMAL) { diff --git a/app/src/main/java/com/chwl/app/ui/widget/UserInfoDialog.java b/app/src/main/java/com/chwl/app/ui/widget/UserInfoDialog.java index 46c54cf71..6b27495aa 100644 --- a/app/src/main/java/com/chwl/app/ui/widget/UserInfoDialog.java +++ b/app/src/main/java/com/chwl/app/ui/widget/UserInfoDialog.java @@ -32,6 +32,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.chwl.app.utils.AvatarHelper; +import com.chwl.core.vip.bean.UserVipInfo; import com.chwl.library.download.DownloadException; import com.chwl.library.download.DownloadManager; import com.chwl.library.download.DownloadRequest; @@ -595,10 +596,11 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe //资料卡装扮 if (!TextUtils.isEmpty(userInfo.getUserInfoCardPic())) { -// drawVAPEffect(userInfo.getUserInfoCardPic()); - drawVAPEffect("https://image.pekolive.com/v7.mp4"); + drawVAPEffect(userInfo.getUserInfoCardPic()); +// drawVAPEffect("https://image.pekolive.com/v7.mp4"); } else { ivUserCardWear.setImageDrawable(null); + ivUserCardWearMP4.setVisibility(View.GONE); } if (null != findHimView) { @@ -747,7 +749,8 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe private void updateNobleView() { // 防止访问数据库和网络同时刷新出现图标跳动 - NobleInfo nobleInfo = userInfo.getNobleInfo(); +// NobleInfo nobleInfo = userInfo.getNobleInfo(); + UserVipInfo vipInfo = userInfo.getUserVipInfoVO(); HeadWearInfo userHeadwear = userInfo.getUserHeadwear(); boolean havaHead = false; // 设置普通人 @@ -758,31 +761,46 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe AvatarHelper.loadAvatarFrame(ivAvatarHeadWear, avatarFrame, userHeadwear.getType()); } } - - if (nobleInfo == null || TextUtils.isEmpty(nobleInfo.getCardBg())) { - //如果没贵族信息,就加载头像作为背景 + if (vipInfo != null) { +// findViewById(R.id.transition_mask).setVisibility(View.GONE); +// ivAvatarBg.setImageResource(R.drawable.user_card_bg_vip_9); + int lv = vipInfo.getVipLevel(); + String resourceName = "user_card_bg_vip_" + lv; + int resourceId = context.getResources().getIdentifier(resourceName, "drawable", context.getPackageName()); + if (resourceId != 0) { + ivAvatarBg.setImageResource(resourceId); + } + } else { if (avatarBg == null || !avatarBg.equals(userInfo.getAvatar())) { avatarBg = userInfo.getAvatar(); ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg, 10, 1); } - return; - } - // 卡片背景 - if (!TextUtils.isEmpty(nobleInfo.getCardBg()) && !topBg.equals(nobleInfo.getCardBg())) { - topBg = nobleInfo.getCardBg(); - NobleUtil.loadResource(nobleInfo.getCardBg(), ivAvatarBg, R.drawable.bg_user_info_dialog_top); - } - if (!TextUtils.isEmpty(nobleInfo.getHeadWear())) { - // 头饰 - if (!havaHead) { - NobleUtil.loadResource(nobleInfo.getHeadWear(), ivAvatarHeadWear); - } - } - if (!TextUtils.isEmpty(nobleInfo.getBadge())) { - // 勋章 - ivBadge.setVisibility(View.VISIBLE); - NobleUtil.loadResource(nobleInfo.getBadge(), ivBadge); } + +// if (nobleInfo == null || TextUtils.isEmpty(nobleInfo.getCardBg())) { +// //如果没贵族信息,就加载头像作为背景 +// if (avatarBg == null || !avatarBg.equals(userInfo.getAvatar())) { +// avatarBg = userInfo.getAvatar(); +// ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg, 10, 1); +// } +// return; +// } +// // 卡片背景 +// if (!TextUtils.isEmpty(nobleInfo.getCardBg()) && !topBg.equals(nobleInfo.getCardBg())) { +// topBg = nobleInfo.getCardBg(); +// NobleUtil.loadResource(nobleInfo.getCardBg(), ivAvatarBg, R.drawable.bg_user_info_dialog_top); +// } +// if (!TextUtils.isEmpty(nobleInfo.getHeadWear())) { +// // 头饰 +// if (!havaHead) { +// NobleUtil.loadResource(nobleInfo.getHeadWear(), ivAvatarHeadWear); +// } +// } +// if (!TextUtils.isEmpty(nobleInfo.getBadge())) { +// // 勋章 +// ivBadge.setVisibility(View.VISIBLE); +// NobleUtil.loadResource(nobleInfo.getBadge(), ivBadge); +// } } diff --git a/app/src/main/java/com/chwl/app/vip/VipCenterActivity.kt b/app/src/main/java/com/chwl/app/vip/VipCenterActivity.kt index c16bf75f9..a37c56d84 100644 --- a/app/src/main/java/com/chwl/app/vip/VipCenterActivity.kt +++ b/app/src/main/java/com/chwl/app/vip/VipCenterActivity.kt @@ -221,12 +221,13 @@ class VipCenterActivity : BaseViewBindingActivity(), vipViewModel.myVipInfoLiveData.observe(this) { it?.let { - banner.setCurrentItem(it.currLevel - 1) + val adapter = vipViewModel.vipInfosLiveData.value?.let { it1 -> VipCenterBannerAdapter(this, it1, it) } banner.setAdapter(adapter, false) + banner.setCurrentItem(it.currLevel - 1) //TODO 处理有 VIP 的情况,banner 要跳转到对应 index // bannerView.visibility = View.VISIBLE // bannerView.post { diff --git a/app/src/main/java/com/chwl/app/vip/dialog/VipUpgradeDialog.kt b/app/src/main/java/com/chwl/app/vip/dialog/VipUpgradeDialog.kt index 1bfca0068..b53c6d86e 100644 --- a/app/src/main/java/com/chwl/app/vip/dialog/VipUpgradeDialog.kt +++ b/app/src/main/java/com/chwl/app/vip/dialog/VipUpgradeDialog.kt @@ -12,6 +12,14 @@ import com.chwl.app.base.BaseDialogFragment import com.chwl.app.databinding.DialogVipUpgradeBinding import com.chwl.app.vip.VipViewModel import com.chwl.core.vip.bean.VipInfo +import com.chwl.library.download.DownloadException +import com.chwl.library.download.DownloadManager.download +import com.chwl.library.download.DownloadRequest +import com.chwl.library.download.DownloadRequest.Companion +import com.chwl.library.download.DownloadTask +import com.chwl.library.download.FileDownloadListener +import com.chwl.library.utils.PathHelper.generateResourcesFilePath +import java.io.File import java.net.MalformedURLException import java.net.URL @@ -53,23 +61,37 @@ class VipUpgradeDialog : BaseDialogFragment() { } binding?.tvVipUplevel?.setOnClickListener { dismissAllowingStateLoss() } binding?.tvVipOrigin?.setOnClickListener { vm.saveOriginDisguise() } - try { - SVGAParser.shareParser() - .decodeFromURL(URL(vipInfo.vipLogo), object : SVGAParser.ParseCompletion { - override fun onComplete(videoItem: SVGAVideoEntity) { - val drawable = SVGADrawable(videoItem) - if (isViewLoaded) { - _binding?.ivVipIcon?.setImageDrawable(drawable) - _binding?.ivVipIcon?.startAnimation() - } - } - override fun onError() { - } - }) - } catch (e: MalformedURLException) { + val filePath = generateResourcesFilePath(vipInfo.vipLogo) + val request = DownloadRequest.build(vipInfo.vipLogo, filePath, "gift_effect_download", null, 60000L) + download(request, object : FileDownloadListener() { + override fun onDownloadCompleted(task: DownloadTask) { + val path = task.getRequest().getPath() + binding?.ivVipIconMp4?.startPlay(File(path)) + } - } + override fun onDownloadError(exception: DownloadException) { + exception.printStackTrace() + } + }) + +// try { +// SVGAParser.shareParser() +// .decodeFromURL(URL(vipInfo.vipLogo), object : SVGAParser.ParseCompletion { +// override fun onComplete(videoItem: SVGAVideoEntity) { +// val drawable = SVGADrawable(videoItem) +// if (isViewLoaded) { +// _binding?.ivVipIcon?.setImageDrawable(drawable) +// _binding?.ivVipIcon?.startAnimation() +// } +// } +// +// override fun onError() { +// } +// }) +// } catch (e: MalformedURLException) { +// +// } binding?.tvLevelDesc?.text = getString(R.string.level_up_wear_dress_tips_format).format(vipInfo.vipName) } } \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_1.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_1.png new file mode 100644 index 000000000..cb0cdca6f Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_1.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_2.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_2.png new file mode 100644 index 000000000..28c5b8f52 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_2.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_3.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_3.png new file mode 100644 index 000000000..010c3edc7 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_3.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_4.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_4.png new file mode 100644 index 000000000..b4c553c32 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_4.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_5.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_5.png new file mode 100644 index 000000000..c842c746f Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_5.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_6.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_6.png new file mode 100644 index 000000000..b41f47661 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_6.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_7.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_7.png new file mode 100644 index 000000000..6a0a99772 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_7.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_8.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_8.png new file mode 100644 index 000000000..5334695b7 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_8.png differ diff --git a/app/src/main/res/drawable-xhdpi/user_card_bg_vip_9.png b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_9.png new file mode 100644 index 000000000..eccf580ae Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/user_card_bg_vip_9.png differ diff --git a/app/src/main/res/layout/dialog_user_info.xml b/app/src/main/res/layout/dialog_user_info.xml index b7e20c0f8..778bbb1cf 100644 --- a/app/src/main/res/layout/dialog_user_info.xml +++ b/app/src/main/res/layout/dialog_user_info.xml @@ -35,14 +35,15 @@ - + + + + + + + + + \ No newline at end of file