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 000e0a415..46c54cf71 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 @@ -4,6 +4,7 @@ import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_DRAGON_BA import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_DRAGON_BAR_CANCEL; import static com.chwl.core.manager.RoomEvent.DRAGON_BAR_CANCEL; import static com.chwl.library.utils.ResUtil.getString; +import static com.netease.nim.uikit.common.util.log.LogUtil.log; import android.annotation.SuppressLint; import android.content.ClipData; @@ -11,6 +12,7 @@ import android.content.ClipboardManager; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; +import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -21,6 +23,8 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatDialog; import androidx.appcompat.widget.AppCompatImageView; import androidx.recyclerview.widget.GridLayoutManager; @@ -28,6 +32,12 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.chwl.app.utils.AvatarHelper; +import com.chwl.library.download.DownloadException; +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.PathHelper; import com.chwl.library.widget.SVGAView; import com.google.android.flexbox.FlexboxLayout; import com.netease.nim.uikit.common.util.sys.ScreenUtil; @@ -92,11 +102,16 @@ import com.chwl.library.net.rxnet.callback.CallBack; import com.chwl.library.utils.ListUtils; import com.chwl.library.utils.SingleToastUtil; import com.chwl.library.utils.config.BasicConfig; +import com.tencent.qgame.animplayer.AnimConfig; +import com.tencent.qgame.animplayer.AnimView; +import com.tencent.qgame.animplayer.inter.IAnimListener; +import com.tencent.qgame.animplayer.util.ScaleType; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -141,6 +156,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe private AppCompatImageView mIvUserLevel; private AppCompatImageView mIvUserCharm; private ImageView ivUserCardWear; + private AnimView ivUserCardWearMP4; private TextView tvFamilyNameLabel; private TextView tvFamilyName; private FlexboxLayout flexbox; @@ -258,6 +274,42 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe mIvUserCharm = findViewById(R.id.iv_user_charm); ivUserCardWear = findViewById(R.id.iv_user_card_wear); + ivUserCardWearMP4 = findViewById(R.id.iv_user_card_wear_mp4); + ivUserCardWearMP4.setScaleType(ScaleType.CENTER_CROP); + ivUserCardWearMP4.setLoop(Integer.MAX_VALUE); + ivUserCardWearMP4.setAnimListener(new IAnimListener() { + @Override + public boolean onVideoConfigReady(@NonNull AnimConfig animConfig) { + return true; + } + + @Override + public void onVideoStart() { + log( "onVideoStart: "); + } + + @Override + public void onVideoRender(int i, @Nullable AnimConfig animConfig) { + + } + + @Override + public void onVideoComplete() { + log( "onVideoComplete: "); + } + + @Override + public void onVideoDestroy() { + + } + + @Override + public void onFailed(int i, @Nullable String s) { + + } + }); + + tvFamilyNameLabel = (TextView) findViewById(R.id.tv_family_name_label); tvFamilyName = (TextView) findViewById(R.id.tv_family_name); tvSelectHim = findViewById(R.id.tv_select_him); @@ -543,7 +595,8 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe //资料卡装扮 if (!TextUtils.isEmpty(userInfo.getUserInfoCardPic())) { - ImageLoadUtils.loadImage(context, userInfo.getUserInfoCardPic(), ivUserCardWear); +// drawVAPEffect(userInfo.getUserInfoCardPic()); + drawVAPEffect("https://image.pekolive.com/v7.mp4"); } else { ivUserCardWear.setImageDrawable(null); } @@ -602,6 +655,23 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe } } + private void drawVAPEffect(String url) { + String filePath = PathHelper.INSTANCE.generateResourcesFilePath(url); + DownloadRequest request = DownloadRequest.Companion.build(url, filePath, "gift_effect_download", null, 60000L); + DownloadManager.INSTANCE.download(request, new FileDownloadListener() { + @Override + public void onDownloadCompleted(@NonNull DownloadTask task) { + String path = task.getRequest().getPath(); + ivUserCardWearMP4.startPlay(new File(path)); + } + + @Override + public void onDownloadError(@NonNull DownloadException exception) { + ImageLoadUtils.loadImage(context, userInfo.getUserInfoCardPic(), ivUserCardWear); + } + }); + } + private void copyName() { try { ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); diff --git a/app/src/main/res/layout/dialog_user_info.xml b/app/src/main/res/layout/dialog_user_info.xml index ecb8cf843..b7e20c0f8 100644 --- a/app/src/main/res/layout/dialog_user_info.xml +++ b/app/src/main/res/layout/dialog_user_info.xml @@ -316,6 +316,11 @@ android:layout_width="match_parent" android:layout_height="180dp" tools:background="@drawable/bg_user_card_wear" /> +