Merge branch 'dev_Memory' into dev_test

# Conflicts:
#	app/src/main/java/com/shayu/phonelive/AppContext.java
#	common/src/main/java/com/yunbao/common/glide/ImgLoader.java
#	dependencies.gradle
#	live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java
#	live/src/main/java/com/yunbao/live/views/LiveAudienceViewHolder.java
#	main/src/main/java/com/yunbao/main/activity/ZhuangBanActivity.java
#	main/src/main/java/com/yunbao/main/adapter/MainListAdapter.java
This commit is contained in:
2022-09-22 14:43:57 +08:00
37 changed files with 319 additions and 169 deletions

View File

@@ -36,6 +36,7 @@ import com.yunbao.common.bean.UserBean;
import com.yunbao.common.dialog.EffectsSettingsDialog;
import com.yunbao.common.dialog.LiveChargeDialogFragment;
import com.yunbao.common.event.FollowEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpConsts;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
@@ -474,6 +475,7 @@ public class LiveAudienceActivity extends LiveActivity {
@Override
protected void onDestroy() {
super.onDestroy();
ImgLoader.clearMemory(this);
overridePendingTransition(0, 0);
Bus.getOff(this);
L.e("LiveAudienceActivity-------onDestroy------->");

View File

@@ -38,6 +38,7 @@ import com.yunbao.common.Constants;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
@@ -184,7 +185,7 @@ public class ZhuangBanActivity extends AbsActivity {
SVGADrawable drawable = new SVGADrawable(videoItem);
svga.setImageDrawable(drawable);
svga.setLoops(1);
svga.startAnimation();
SVGAViewUtils.playEndClear(svga);
}
@Override

View File

@@ -1,36 +1,35 @@
package com.yunbao.live.adapter;
import static android.text.TextUtils.isEmpty;
import android.content.Context;
import android.graphics.drawable.Drawable;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.live.R;
import com.yunbao.common.bean.LevelBean;
import com.yunbao.live.bean.LiveUserGiftBean;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.live.R;
import com.yunbao.live.bean.LiveUserGiftBean;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import static android.text.TextUtils.isEmpty;
/**
* Created by cxf on 2018/10/10.
*/
@@ -103,7 +102,7 @@ public class LiveUserAdapter extends RecyclerView.Adapter<LiveUserAdapter.Vh> {
public Vh(View itemView) {
super(itemView);
mWrap = (ImageView) itemView.findViewById(R.id.wrap);
gift_svga = (SVGAImageView)itemView.findViewById(R.id.gift_svga);
gift_svga = (SVGAImageView) itemView.findViewById(R.id.gift_svga);
mAvatar = (ImageView) itemView.findViewById(R.id.avatar);
mIcon = (ImageView) itemView.findViewById(R.id.icon);
mGuardIcon = (ImageView) itemView.findViewById(R.id.guard_icon);
@@ -114,37 +113,12 @@ public class LiveUserAdapter extends RecyclerView.Adapter<LiveUserAdapter.Vh> {
itemView.setTag(position);
if (payload == null) {
ImgLoader.displayAvatar(mContext, userBean.getAvatar(), mAvatar);
LevelBean levelBean = CommonAppConfig.getInstance().getLevel(userBean.getLevel());
// if (levelBean != null) {
// ImgLoader.display(mContext, levelBean.getThumbIcon(), mIcon);
// }
ImgLoader.displayAvatar(mContext, userBean.getAvatar(), mAvatar,64,64);
// ImageLoadUtils.loadUrl(userBean.getAvatar(),32,32,mAvatar);
}
int guardType = userBean.getGuardType();
// if (guardType == Constants.GUARD_TYPE_NONE) {
// if (mIcon.getVisibility() != View.VISIBLE) {
// mIcon.setVisibility(View.VISIBLE);
// }
// if (mGuardIcon.getVisibility() == View.VISIBLE) {
// mGuardIcon.setVisibility(View.INVISIBLE);
// }
// } else {
// if (mIcon.getVisibility() == View.VISIBLE) {
// mIcon.setVisibility(View.INVISIBLE);
// }
// if (mGuardIcon.getVisibility() != View.VISIBLE) {
// mGuardIcon.setVisibility(View.VISIBLE);
// }
// if (guardType == Constants.GUARD_TYPE_DAY) {
// mGuardIcon.setImageDrawable(mGuardDrawable0);
// }else if (guardType == Constants.GUARD_TYPE_MONTH) {
// mGuardIcon.setImageDrawable(mGuardDrawable1);
// } else if (guardType == Constants.GUARD_TYPE_YEAR) {
// mGuardIcon.setImageDrawable(mGuardDrawable2);
// }
// }
if(userBean.getDress()!=null){
if(userBean.getDress().getAvatar_frame().contains("svga")) {
if (userBean.getDress() != null) {
if (userBean.getDress().getAvatar_frame().contains("svga")) {
try {
new SVGAParser(mContext).parse(new URL(userBean.getDress().getAvatar_frame()), new SVGAParser.ParseCompletion() {
@@ -152,7 +126,7 @@ public class LiveUserAdapter extends RecyclerView.Adapter<LiveUserAdapter.Vh> {
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
gift_svga.setImageDrawable(drawable);
gift_svga.startAnimation();
SVGAViewUtils.playEndClear(gift_svga);
}
@Override
@@ -162,25 +136,10 @@ public class LiveUserAdapter extends RecyclerView.Adapter<LiveUserAdapter.Vh> {
} catch (MalformedURLException e) {
e.printStackTrace();
}
}else{
ImgLoader.display(mContext,userBean.getDress().getAvatar_frame(), gift_svga);
} else {
ImgLoader.display(mContext, userBean.getDress().getAvatar_frame(), gift_svga);
}
}
// if (position == 0) {
// if (userBean.hasContribution()) {
// mWrap.setImageResource(R.mipmap.icon_live_user_list_1);
// }
// } else if (position == 1) {
// if (userBean.hasContribution()) {
// mWrap.setImageResource(R.mipmap.icon_live_user_list_2);
// }
// } else if (position == 2) {
// if (userBean.hasContribution()) {
// mWrap.setImageResource(R.mipmap.icon_live_user_list_3);
// }
// } else {
// mWrap.setImageDrawable(null);
// }
}
}
@@ -216,49 +175,6 @@ public class LiveUserAdapter extends RecyclerView.Adapter<LiveUserAdapter.Vh> {
}
}
// public void insertItem(LiveUserGiftBean userBean) {
// if (userBean == null) {
// return;
// }
// int position = findItemPosition(userBean.getId());
// if (position >= 0) {
// return;
// }
// int size = mList.size();
// mList.add(userBean);
// notifyDataSetChanged();
//// notifyItemInserted(size);
// }
//
// public void insertList(List<LiveUserGiftBean> list) {
// for (int i = 0; i < list.size(); i++) {
// }
// if (mList != null && list != null && list.size() > 0) {
// int position = mList.size();
// mList.addAll(list);
// notifyItemRangeInserted(position, mList.size());
// }
// }
// /**
// * 守护信息发生变化
// */
// public void onGuardChanged(String uid, int guardType) {
// if (!isEmpty(uid)) {
// for (int i = 0, size = mList.size(); i < size; i++) {
// LiveUserGiftBean bean = mList.get(i);
// if (uid.equals(bean.getId())) {
// if (bean.getGuardType() != guardType) {
// Log.d("onGuardChanged",""+bean.getGuardType());
// bean.setGuardType(guardType);
// notifyItemChanged(i, Constants.PAYLOAD);
// }
// break;
// }
// }
// }
// }
public void clear() {
if (mList != null) {
mList.clear();

View File

@@ -21,6 +21,7 @@ import com.yunbao.common.bean.LevelBean;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.bean.MicUserBean;
@@ -96,7 +97,7 @@ public class UserMicInfoAdapter extends RefreshAdapter<MicUserBean> {
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
gift_svga.setImageDrawable(drawable);
gift_svga.startAnimation();
SVGAViewUtils.playEndClear(gift_svga);
}
@Override

View File

@@ -30,6 +30,7 @@ import com.yunbao.common.bean.UserBean;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
@@ -261,7 +262,7 @@ public class UserMoreInfoAdapter extends RefreshAdapter<UserBean> {
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
gift_svga.setImageDrawable(drawable);
gift_svga.startAnimation();
SVGAViewUtils.playEndClear(gift_svga);
}
@Override

View File

@@ -31,6 +31,7 @@ import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.bean.HotBean;
@@ -218,7 +219,7 @@ public class LiveGiveHotDialogFragment extends AbsDialogFragment {
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
viewHolder.gift_svga.setImageDrawable(drawable);
viewHolder.gift_svga.startAnimation();
SVGAViewUtils.playEndClear(viewHolder.gift_svga);
}
@Override

View File

@@ -36,6 +36,7 @@ import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
@@ -368,7 +369,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
gift_svga.setImageDrawable(drawable);
gift_svga.startAnimation();
SVGAViewUtils.playEndClear(gift_svga);
}
@Override

View File

@@ -39,6 +39,7 @@ import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.GifCacheUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ScreenDimenUtil;
import com.yunbao.live.R;
import com.yunbao.live.bean.LiveChatBean;
@@ -310,7 +311,7 @@ public class LiveEnterRoomAnimPresenter {
SVGARect rect = svgaVideoEntity.getVideoSize();
enter_room_svg_small.setVideoItem(svgaVideoEntity);
enter_room_svg_small.setLoops(1);
enter_room_svg_small.startAnimation();
SVGAViewUtils.playEndClear(enter_room_svg_small);
}
} else {
if (mSVGImageView != null) {
@@ -318,7 +319,6 @@ public class LiveEnterRoomAnimPresenter {
SVGARect rect = svgaVideoEntity.getVideoSize();
mSVGImageView.setVideoItem(svgaVideoEntity);
mSVGImageView.setLoops(1);
mSVGImageView.startAnimation();
mSVGImageView.setCallback(new SVGACallback() {
@Override
public void onPause() {
@@ -343,6 +343,7 @@ public class LiveEnterRoomAnimPresenter {
}
});
mSVGImageView.startAnimation();
}
}
mIsAnimating = false;

View File

@@ -592,6 +592,7 @@ public class LiveGiftAnimPresenter {
if (mHandler != null) {
mHandler.sendEmptyMessageDelayed(WHAT_GIF, diffTime);
}
mSVGAImageView.clear();
}
@Override
@@ -614,6 +615,7 @@ public class LiveGiftAnimPresenter {
if (diffTime < 0) {
diffTime = 0;
}
mSVGAImageViewFront.clear();
// if (mHandler != null) {
// mHandler.sendEmptyMessageDelayed(WHAT_GIF_All_SERVER, diffTime);
// }
@@ -1224,7 +1226,6 @@ public class LiveGiftAnimPresenter {
resizeSvgaImageView(rect.getWidth(), rect.getHeight());
mSvgaPlayTime = System.currentTimeMillis();
mSVGAImageView.setVideoItem(svgaVideoEntity);
mSVGAImageView.startAnimation();
mSVGAImageView.setCallback(new SVGACallback() {
@Override
public void onPause() {
@@ -1254,6 +1255,7 @@ public class LiveGiftAnimPresenter {
}
});
mSVGAImageView.startAnimation();
}
}

View File

@@ -20,12 +20,14 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.ViewFlipper;
import com.opensource.svgaplayer.SVGACallback;
import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.MsgModel;
import com.yunbao.common.bean.NewPeopleInfo;
import com.yunbao.common.event.MessageIMEvent;
import com.yunbao.common.glide.ImgLoader;
@@ -35,6 +37,7 @@ import com.yunbao.common.http.HttpClient;
import com.yunbao.common.manager.imrongcloud.MessageIMManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
@@ -123,7 +126,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
svga_new_user_gif.setImageDrawable(drawable);
svga_new_user_gif.startAnimation();
SVGAViewUtils.playEndClear(svga_new_user_gif);
}
@Override
@@ -142,7 +145,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
SVGADrawable drawable = new SVGADrawable(videoItem);
svga_new_user_double.setImageDrawable(drawable);
svga_new_user_double.setBackgroundResource(R.mipmap.black_bg);
svga_new_user_double.startAnimation();
SVGAViewUtils.playEndClear(svga_new_user_double);
}
@Override
@@ -159,7 +162,7 @@ public class LiveAudienceViewHolder extends AbsLiveViewHolder {
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
svga_new_user_follow.setImageDrawable(drawable);
svga_new_user_follow.startAnimation();
SVGAViewUtils.playEndClear(svga_new_user_follow);
}
@Override

View File

@@ -74,6 +74,7 @@ import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.ScreenDimenUtil;
import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.StringUtil;
@@ -369,7 +370,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
public void onComplete(SVGAVideoEntity videoItem) {
SVGADrawable drawable = new SVGADrawable(videoItem);
mSVGAImageView.setImageDrawable(drawable);
mSVGAImageView.startAnimation();
SVGAViewUtils.playEndClear(mSVGAImageView);
}
@Override

View File

@@ -240,7 +240,8 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
mLiveRyLinkMicPkPresenter = new LiveRyLinkMicPkPresenter(mContext, mLivePlayViewHolder, false, null);
//直播间背景
ImgLoader.displayBlurLive(mContext, mLiveBean.getAvatar(), liveBack);
ImgLoader.displayBlurLive(mContext, mLiveBean.getAvatar(), liveBack,400,600);
//ImageLoadUtils.loadUrlToBlur(mContext,mLiveBean.getAvatar(),400,600,liveBack);
mask.setVisibility(View.VISIBLE);
mLivePlayViewHolder.setCover(data.getThumb());
mLivePlayViewHolder.play(data.getPull());