VIP坑位不能显示表情和光圈bug fix
This commit is contained in:
@@ -13,6 +13,7 @@ import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.opensource.svgaplayer.SVGADrawable;
|
||||
@@ -22,14 +23,11 @@ import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.adapter.BaseMicroViewAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.DatingMicroViewAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.GameMicroViewAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.GameMiniMicroViewAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.OnMicroItemClickListener;
|
||||
import com.yizhuan.erban.ui.anim.AnimFactory;
|
||||
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.yizhuan.erban.ui.widget.recyclerview.decoration.DatingItemDecoration;
|
||||
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.FaceAttachment;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
@@ -199,14 +197,7 @@ public class MicroView extends LinearLayout implements View.OnLayoutChangeListen
|
||||
int pos = positions.get(i) + 1;
|
||||
if (pos >= count && pos != AvRoomDataManager.POSITION_VIP_MIC + 1) continue;
|
||||
|
||||
final SVGAImageView speakState;
|
||||
//相亲模式VIP位置光圈
|
||||
if (pos == AvRoomDataManager.POSITION_VIP_MIC + 1) {
|
||||
speakState = ((RecyclerView) findItemView(pos).findViewById(R.id.rv_vip))
|
||||
.getChildAt(0).findViewById(R.id.iv_halo);
|
||||
} else {
|
||||
speakState = findItemView(pos).findViewById(R.id.iv_halo);
|
||||
}
|
||||
final SVGAImageView speakState = findItemView(pos, R.id.iv_halo);
|
||||
|
||||
if (speakState != null) {
|
||||
RoomQueueInfo roomQueueInfo = AvRoomDataManager.get().getRoomQueueMemberInfoByMicPosition(positions.get(i));
|
||||
@@ -273,12 +264,17 @@ public class MicroView extends LinearLayout implements View.OnLayoutChangeListen
|
||||
}
|
||||
}
|
||||
|
||||
private View findItemView(int pos) {
|
||||
@Nullable
|
||||
private <T extends View> T findItemView(int pos, int viewId) {
|
||||
if (pos == AvRoomDataManager.POSITION_VIP_MIC + 1) {
|
||||
return ((RecyclerView) recyclerView.getChildAt(0).findViewById(R.id.rv_vip))
|
||||
.getChildAt(0).findViewById(viewId);
|
||||
} else {
|
||||
RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForLayoutPosition(pos);
|
||||
if (viewHolder != null) {
|
||||
return viewHolder.itemView;
|
||||
if (viewHolder == null) return null;
|
||||
return viewHolder.itemView.findViewById(viewId);
|
||||
}
|
||||
return recyclerView.getChildAt(pos);
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -309,12 +305,7 @@ public class MicroView extends LinearLayout implements View.OnLayoutChangeListen
|
||||
if (isDragon) {
|
||||
return;
|
||||
} else {
|
||||
if (position == AvRoomDataManager.POSITION_VIP_MIC + 1) {
|
||||
imageView = ((RecyclerView) findItemView(position + 1).findViewById(R.id.rv_vip))
|
||||
.getChildAt(0).findViewById(R.id.iv_face);
|
||||
} else {
|
||||
imageView = findItemView(position + 1).findViewById(R.id.iv_face);
|
||||
}
|
||||
imageView = findItemView(position + 1, R.id.iv_face);
|
||||
}
|
||||
if (imageView == null) continue;
|
||||
AnimFactory.getFaceAnimation(faceReceiveInfo, mContext, imageView.getWidth(), imageView.getHeight(), needAnim, needResult, needGone)
|
||||
|
Reference in New Issue
Block a user