diff --git a/app/src/main/java/com/gh/common/util/Extensions.kt b/app/src/main/java/com/gh/common/util/Extensions.kt index 508dcafb79..d1426f0a53 100644 --- a/app/src/main/java/com/gh/common/util/Extensions.kt +++ b/app/src/main/java/com/gh/common/util/Extensions.kt @@ -13,6 +13,7 @@ import android.text.* import android.text.style.ClickableSpan import android.text.style.ImageSpan import android.text.style.URLSpan +import android.util.Log import android.util.TypedValue import android.view.Gravity import android.view.LayoutInflater @@ -258,6 +259,26 @@ fun View.setDebouncedClickListener(action: () -> Unit) { val View.layoutInflater: LayoutInflater get() = LayoutInflater.from(this.context) +fun View.removeFromParent() { + postDelayed(object : Runnable { + override fun run() { + try { + if (parent == null) { + Utils.log(javaClass.simpleName, "getParent() returning Null") + } else { + try { + (parent as ViewGroup).removeView(this@removeFromParent) + } catch (ex: Exception) { + Utils.log(javaClass.simpleName, "Cannot remove from parent layout") + } + } + } catch (ex: Exception) { + Utils.log(javaClass.simpleName, Log.getStackTraceString(ex)) + } + } + }, 100) +} + fun isPublishEnv(): Boolean { return BuildConfig.FLAVOR != "internal" } diff --git a/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt b/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt index 0e73d3dfe2..c8c6a22bc7 100644 --- a/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt +++ b/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt @@ -93,6 +93,13 @@ object GameSubstituteRepositoryHelper { val game = collection.data?.find { game -> isThisGameUnique(game, gameIdList) } game?.let { collection.data?.remove(game) + + collection.data?.size?.let { remainingSize -> + // 记录被替换游戏的数量,10个以上的时候触发 + if (remainingSize % 10 == 0) { + SentryHelper.onEvent("game_substitute", "substituted_size", "${50 - remainingSize}") + } + } // 产品说要记录补充专题的曝光数,所以这个游戏附带了所在专题的名字 game.subjectName = collection.name return game diff --git a/app/src/main/java/com/gh/common/util/ImageUtils.kt b/app/src/main/java/com/gh/common/util/ImageUtils.kt index e467e58530..8b04fbad33 100644 --- a/app/src/main/java/com/gh/common/util/ImageUtils.kt +++ b/app/src/main/java/com/gh/common/util/ImageUtils.kt @@ -312,7 +312,7 @@ object ImageUtils { if (url == null) return // 部分自适应宽高图片需要一个 TARGET_WIDTH 来避免加载过小图片 - val width = (view?.getTag(TARGET_WIDTH) as? Int) ?: view?.layoutParams?.width + val width = (view?.getTag(TARGET_WIDTH) as? Int) ?: view?.width?.coerceAtLeast(view.layoutParams?.width ?: 0) val height = view?.layoutParams?.height var lowResUrl = "" diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 021731a673..00b256d173 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -453,6 +453,7 @@ public class MainActivity extends BaseActivity { if (view != null) { view.setVisibility(View.GONE); + ExtensionsKt.removeFromParent(view); } checkDialog();