diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java
index 3ab9b5c13b..9acc5411b9 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java
@@ -35,21 +35,18 @@ import androidx.annotation.NonNull;
* @author Trinea 2014-2-23
*/
public class ImagePagerAdapter extends RecyclingPagerAdapter {
-
+
private Context mContext;
- // private List imageIdList;
private List mSlideEntityList;
-
+
private int mSize;
private boolean mIsInfiniteLoop;
-
+
private String mSource;
private GameItemData mItemData;
private ArrayList mExposureSourceList;
-
- // private ImageIndicator indicator;
-
+
public ImagePagerAdapter(Context context, GameItemData itemData, boolean isInfiniteLoop, ExposureSource exposureSource, String source) {
mContext = context;
mSlideEntityList = itemData.getSlideList();
@@ -62,30 +59,29 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
mExposureSourceList.add(exposureSource);
mExposureSourceList.add(new ExposureSource("轮播图", ""));
}
-
+
public int getSize(List sourceList) {
return sourceList == null ? 0 : sourceList.size();
}
-
+
@Override
public int getCount() {
// Infinite loop
return mIsInfiniteLoop ? Integer.MAX_VALUE : getSize(mSlideEntityList);
}
-
+
@Override
public View getView(final int position, View view, ViewGroup container) {
if (view == null) {
view = new SimpleDraweeView(mContext);
}
-
+
int index = getPosition(position);
if (index >= mSlideEntityList.size()) return view;
-
+
final LinkEntity slideEntity = mSlideEntityList.get(index);
-
- ImageUtils.display(mContext.getResources(), (SimpleDraweeView) view,
- slideEntity.getImage(), R.drawable.preload);
+
+ ImageUtils.display(mContext.getResources(), (SimpleDraweeView) view, slideEntity.getImage(), R.drawable.preload);
ExposureEvent exposureEvent = null;
if ("game".equals(slideEntity.getType())) {
@@ -95,69 +91,60 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
exposureEvent = ExposureEvent.createEvent(fakeGameEntity, mExposureSourceList, null, ExposureType.EXPOSURE);
}
-
-// indicator.setPosition(mSlideEntityList.mSize(), getPosition(position));
-
+
ExposureEvent finalExposureEvent = exposureEvent;
view.setOnClickListener(v -> {
-
int size = mSlideEntityList.size();
-
+
if (size == 0) return;
-
+
// 轮播图数据统计
if (mContext instanceof MainActivity) {
- DataLogUtils.uploadLunbotuLog(mContext, slideEntity.getType(),
- slideEntity.getText(), String.valueOf(getPosition(position) % size + 1), "游戏库");
+ DataLogUtils.uploadLunbotuLog(mContext, slideEntity.getType(), slideEntity.getText(), String
+ .valueOf(getPosition(position) % size + 1), "游戏库");
} else {
DataLogUtils.uploadLunbotuLog(mContext, slideEntity.getType(), slideEntity.getText(), String
.valueOf(getPosition(position) % size + 1), mSource);
}
-
+
String indexName = String.valueOf(getPosition(position) % size + 1);
- String entrance = StringUtils.buildString("(", mSource, "-轮播图[", slideEntity.getText(), "=", slideEntity.getType(), "=", indexName, "])");
-
+ String entrance = StringUtils.buildString("(", mSource, "-轮播图[", slideEntity.getText(), "=", slideEntity
+ .getType(), "=", indexName, "])");
+
MtaHelper.onEvent("轮播图", mSource, indexName);
-
- DirectUtils.INSTANCE.directToLinkPage(
- mContext,
- slideEntity,
- entrance,
- "轮播图[" + slideEntity.getText() + "=" + slideEntity.getType() + "=" + indexName + "]", finalExposureEvent);
-
+
+ DirectUtils.INSTANCE.directToLinkPage(mContext, slideEntity, entrance, "轮播图[" + slideEntity
+ .getText() + "=" + slideEntity.getType() + "=" + indexName + "]", finalExposureEvent);
});
mItemData.getExposureEventList().add(finalExposureEvent);
-
+
return view;
}
-
+
/**
- * get really position
- *
- * @param position
- * @return
+ * get real position
*/
private int getPosition(int position) {
return mIsInfiniteLoop ? position % mSize : position;
}
-
+
public int getDataSize() {
return mSlideEntityList == null ? 0 : mSlideEntityList.size();
}
-
+
@Override
public int getItemPosition(@NonNull Object object) {
return POSITION_NONE;
}
-
+
/**
* @return the mIsInfiniteLoop
*/
public boolean isInfiniteLoop() {
return mIsInfiniteLoop;
}
-
+
/**
* @param isInfiniteLoop the mIsInfiniteLoop to set
*/
@@ -165,18 +152,19 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
this.mIsInfiniteLoop = isInfiniteLoop;
return this;
}
-
- public void checkResetData(List list) {
- if (mSlideEntityList != list) {
- mSlideEntityList = list;
- mSize = getSize(list);
+
+ public void checkResetData(GameItemData itemData) {
+ if (mSlideEntityList != itemData.getSlideList()) {
+ mSlideEntityList = itemData.getSlideList();
+ mSize = getSize(itemData.getSlideList());
}
if (mItemData.getExposureEventList() != null) {
mItemData.getExposureEventList().clear();
+ mItemData = itemData;
+ mItemData.setExposureEventList(new ArrayList<>());
}
-
+
notifyDataSetChanged();
}
-
}
diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
index 90d3237d86..530439c23a 100644
--- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
@@ -440,7 +440,7 @@ class GameFragmentAdapter(context: Context,
false
}
} else if (slideList != null && slideList.isNotEmpty() && pagerAdapter != null) {
- (pagerAdapter as ImagePagerAdapter).checkResetData(slideList)
+ (pagerAdapter as ImagePagerAdapter).checkResetData(itemData)
} else if (slideList == null || slideList.isEmpty()) {
binding.viewPager.adapter = null
}
@@ -451,7 +451,6 @@ class GameFragmentAdapter(context: Context,
} else {
binding.viewPager.stopAutoScroll()
}
-
}
private fun bindGameItemView(holder: GameItemViewHolder, position: Int) {