diff --git a/app/src/main/java/com/gh/common/util/SpUtils.kt b/app/src/main/java/com/gh/common/util/SpUtils.kt index 4f2b14e343..905eea916c 100644 --- a/app/src/main/java/com/gh/common/util/SpUtils.kt +++ b/app/src/main/java/com/gh/common/util/SpUtils.kt @@ -55,6 +55,11 @@ object SPUtils { return sp.getBoolean(key, false) } + @JvmStatic + fun getBoolean(key: String, defaultValue: Boolean): Boolean { + return sp.getBoolean(key, defaultValue) + } + @JvmStatic fun setString(sp: SharedPreferences, key: String, value: String? = null) { try { diff --git a/app/src/main/java/com/gh/common/view/DownloadDialog.java b/app/src/main/java/com/gh/common/view/DownloadDialog.java index 50a5494328..13bba1aa3e 100644 --- a/app/src/main/java/com/gh/common/view/DownloadDialog.java +++ b/app/src/main/java/com/gh/common/view/DownloadDialog.java @@ -25,6 +25,7 @@ import com.gh.common.util.DirectUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.PlatformUtils; +import com.gh.common.util.SPUtils; import com.gh.download.DownloadManager; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.OnCollectionCallBackListener; @@ -67,14 +68,32 @@ public class DownloadDialog implements OnCollectionCallBackListener { private Context mContext; private PopupWindow popupWindow; - private List gameApk; - private GameEntity gameEntity; + private ViewPager viewPager; - private PlatformPagerAdapter adapter; + private ViewPager collectionViewPager; + private LinearLayout dialog_ll_collection_hint; private LinearLayout dialog_ll_hint; private LinearLayout dialog_ll_collection; - private ViewPager collectionViewPager; + private View mDialogMorePlatformHint; + + private List gameApk; + private GameEntity gameEntity; + + private PlatformPagerAdapter adapter; private PlatformPagerAdapter collectionAdapter; + + private ExposureEvent traceEvent; + + private static final String DOWNLOAD_PLATFORM_HINT = "download_platform_hint"; + + private String entrance; + private String location; + private String mAutoDownloadPlatform; + + private final int row = 3; + private final int column = 3; + private boolean isLoadPlatform; + private DataWatcher dataWatcher = new DataWatcher() { @Override public void onDataChanged(DownloadEntity downloadEntity) { @@ -89,14 +108,6 @@ public class DownloadDialog implements OnCollectionCallBackListener { } } }; - private LinearLayout dialog_ll_collection_hint; - private String entrance; - private String location; - private ExposureEvent traceEvent; - private String mAutoDownloadPlatform; - private final int row = 3; - private final int column = 3; - private boolean isLoadPlatform; private DownloadDialog(Context context) { mContext = context; @@ -150,8 +161,13 @@ public class DownloadDialog implements OnCollectionCallBackListener { dialog_ll_collection = contentView.findViewById(R.id.dialog_ll_collection); dialog_ll_collection_hint = contentView.findViewById(R.id.dialog_ll_collection_hint); collectionViewPager = contentView.findViewById(R.id.dialog_collection_viewPager); + mDialogMorePlatformHint = contentView.findViewById(R.id.dialog_more_platform_hit); TextView dialogAd = contentView.findViewById(R.id.dialog_ad); TextView dialogAdMirror = contentView.findViewById(R.id.dialog_ad_mirror); + mDialogMorePlatformHint.setOnClickListener(v -> { + mDialogMorePlatformHint.setVisibility(View.GONE); + SPUtils.setBoolean(DOWNLOAD_PLATFORM_HINT, false); + }); LinkEntity downloadAd = gameEntity.getDownloadAd(); if (downloadAd != null) { @@ -428,6 +444,13 @@ public class DownloadDialog implements OnCollectionCallBackListener { int size = (int) Math.ceil(apkList.size() / (double) (row * column)); addHintPoint(dialog_ll_hint, size); + if (size >= 2) { + boolean isShowPlatformHint = SPUtils.getBoolean(DOWNLOAD_PLATFORM_HINT, true); + if (isShowPlatformHint) { + mDialogMorePlatformHint.setVisibility(View.VISIBLE); + } + } + int count = apkList.size(); int vpHeight; if (count <= 3) { diff --git a/app/src/main/res/drawable-xhdpi/download_platform_hint.png b/app/src/main/res/drawable-xhdpi/download_platform_hint.png new file mode 100644 index 0000000000..7557cf3138 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/download_platform_hint.png differ diff --git a/app/src/main/res/layout/game_download_dialog.xml b/app/src/main/res/layout/game_download_dialog.xml index 6e74429c52..607e0d5be4 100644 --- a/app/src/main/res/layout/game_download_dialog.xml +++ b/app/src/main/res/layout/game_download_dialog.xml @@ -59,11 +59,25 @@ android:layout_height = "@dimen/cutting_line" android:background = "@color/cutting_line" /> - + android:layout_height = "wrap_content" > + + + + +