From 0e2f5fdf5351b49ac27e8abc7f7096cd83b427dd Mon Sep 17 00:00:00 2001 From: leafwai Date: Thu, 26 Aug 2021 18:34:01 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV5?= =?UTF-8?q?.2.0=E3=80=91=E6=B5=8F=E8=A7=88=E5=99=A8=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96(0826=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E3=80=810826UI=E6=B5=8B=E8=AF=95)https://git.ghzs.com/pm/halo-?= =?UTF-8?q?app-issues/-/issues/1323?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/constant/Constants.java | 2 + .../download/server/BrowserInstallHelper.kt | 4 +- .../gamedetail/GameDetailFragment.kt | 112 ++++++++------- .../ic_install_method_hint.png | Bin 0 -> 4126 bytes .../ic_install_method_hint.webp | Bin 1106 -> 0 bytes .../main/res/layout/detail_download_item.xml | 127 +++++++++++------- 6 files changed, 142 insertions(+), 103 deletions(-) create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_install_method_hint.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_install_method_hint.webp diff --git a/app/src/main/java/com/gh/common/constant/Constants.java b/app/src/main/java/com/gh/common/constant/Constants.java index eb4fe155e3..37581a95e7 100644 --- a/app/src/main/java/com/gh/common/constant/Constants.java +++ b/app/src/main/java/com/gh/common/constant/Constants.java @@ -163,6 +163,8 @@ public class Constants { public static final String SP_SHOULD_SHOW_GAMEDETAIL_USE_BROWSER_TO_INSTALL_HINT = "should_show_gamedetail_use_browser_to_install_hint"; // 第一次普通安装推荐使用浏览器安装提示 public static final String SP_SHOULD_SHOW_USE_BROWSER_TO_INSTALL_HINT = "should_show_use_browser_to_install_hint"; + // 游戏详情切换安装方式显示开关 + public static final String SP_SWITCH_INSTALL_VISIBLE = "sp_switch_install_visible"; //模拟器管理引导 public static final String SP_SIMULATOR_GUIDE = "simulator_guide"; diff --git a/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt b/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt index 661df11f89..ffddb4963d 100644 --- a/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt +++ b/app/src/main/java/com/gh/download/server/BrowserInstallHelper.kt @@ -29,7 +29,9 @@ object BrowserInstallHelper { private val mContext by lazy { HaloApp.getInstance().application } private val mAllInstalledPackageList: ArrayList by lazy { - PackageUtils.getAllPackageNameIncludeSystemApps(HaloApp.getInstance().applicationContext) + PackageUtils.getAllPackageNameIncludeSystemApps(HaloApp.getInstance().applicationContext).apply { + add(HaloApp.getInstance().applicationContext.packageName) + } } private fun getServer(): DownloadServer { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt index d5b9ea12de..af58bb4297 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt @@ -76,6 +76,7 @@ import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack import com.shuyu.gsyvideoplayer.utils.OrientationUtils import com.shuyu.gsyvideoplayer.video.base.GSYVideoView import io.reactivex.disposables.Disposable +import kotlinx.android.synthetic.main.dialog_download.view.* import kotlinx.android.synthetic.main.piece_game_detail_video.* import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe @@ -172,11 +173,17 @@ class GameDetailFragment : NormalFragment() { @BindView(R.id.recommendAgeIv) lateinit var recommendAgeIv: ImageView - @BindView(R.id.concern_btn) - lateinit var mConcernBtn: TextView + @BindView(R.id.tv_concern) + lateinit var mConcernTv: TextView - @BindView(R.id.reserve_btn) - lateinit var mReserveBtn: TextView + @BindView(R.id.iv_concern) + lateinit var mConcernIv: ImageView + + @BindView(R.id.tv_reserve) + lateinit var mReserveTv: TextView + + @BindView(R.id.iv_reserve) + lateinit var mReserveIv: ImageView @BindView(R.id.reserve_guide_container) lateinit var mReserveGuideContainer: View @@ -184,8 +191,11 @@ class GameDetailFragment : NormalFragment() { @BindView(R.id.closeIv) lateinit var mReserveGuideClose: View - @BindView(R.id.switch_btn) - lateinit var mSwitchBtn: TextView + @BindView(R.id.tv_switch) + lateinit var mSwitchTv: TextView + + @BindView(R.id.iv_switch) + lateinit var mSwitchIv: ImageView @BindView(R.id.browser_install_hint_container) lateinit var mBrowserInstallContainer: View @@ -524,7 +534,8 @@ class GameDetailFragment : NormalFragment() { } mToolbar.setNavigationOnClickListener { requireActivity().finish() } - mConcernBtn.visibility = View.VISIBLE + mConcernIv.visibility = View.VISIBLE + mConcernTv.visibility = View.VISIBLE } @Subscribe(threadMode = ThreadMode.MAIN) @@ -822,7 +833,8 @@ class GameDetailFragment : NormalFragment() { mLoading.visibility = View.GONE mNoConnection.visibility = View.GONE mNoneDataView.visibility = View.VISIBLE - mConcernBtn.visibility = View.GONE + mConcernIv.visibility = View.GONE + mConcernTv.visibility = View.GONE toast("内容可能已被删除") } else { mLoading.visibility = View.GONE @@ -1154,9 +1166,12 @@ class GameDetailFragment : NormalFragment() { @OnClick( R.id.reuse_no_connection, R.id.gamedetail_kaifu_hint, - R.id.concern_btn, - R.id.reserve_btn, - R.id.switch_btn, + R.id.iv_concern, + R.id.tv_concern, + R.id.iv_reserve, + R.id.tv_reserve, + R.id.iv_switch, + R.id.tv_switch, R.id.closeIv, R.id.recommendCloseIv ) @@ -1173,7 +1188,7 @@ class GameDetailFragment : NormalFragment() { mAppBarLayout.setExpanded(false, true) mIsScrollToKaiFu = true } - R.id.concern_btn -> { + R.id.iv_concern, R.id.tv_concern -> { ifLogin("游戏详情-[关注]") { if (mNewGameDetailEntity != null && mNewGameDetailEntity!!.me.isGameConcerned) { DialogUtils.showCancelDialog( @@ -1186,7 +1201,7 @@ class GameDetailFragment : NormalFragment() { } } } - R.id.reserve_btn -> { + R.id.iv_reserve, R.id.tv_reserve -> { if (mGameEntity != null && SimulatorGameManager.isSimulatorGame(mGameEntity!!)) { startActivity(SimulatorGameActivity.getIntent(requireContext())) return @@ -1244,7 +1259,7 @@ class GameDetailFragment : NormalFragment() { } } } - R.id.switch_btn -> { + R.id.iv_switch, R.id.tv_switch -> { val intent = ShellActivity.getIntent( requireContext(), ShellActivity.Type.SWITCH_INSTALL_METHOD, @@ -1263,21 +1278,11 @@ class GameDetailFragment : NormalFragment() { private fun updateConcernMenuIcon(isConcerned: Boolean) { if (isConcerned) { - mConcernBtn.text = "已关注" - mConcernBtn.setCompoundDrawablesWithIntrinsicBounds( - null, - ContextCompat.getDrawable(requireContext(), R.drawable.ic_gamedetail_concerned), - null, - null - ) + mConcernTv.text = "已关注" + mConcernIv.background = R.drawable.ic_gamedetail_concerned.toDrawable() } else { - mConcernBtn.text = "关注" - mConcernBtn.setCompoundDrawablesWithIntrinsicBounds( - null, - ContextCompat.getDrawable(requireContext(), R.drawable.ic_gamedetail_concern), - null, - null - ) + mConcernTv.text = "关注" + mConcernIv.background = R.drawable.ic_gamedetail_concern.toDrawable() } } @@ -1320,41 +1325,26 @@ class GameDetailFragment : NormalFragment() { private fun showReserveBtn(isShow: Boolean = false) { if (mGameEntity != null && SimulatorGameManager.isSimulatorGame(mGameEntity!!)) { - mReserveBtn.visibility = View.VISIBLE - mReserveBtn.text = "管理" - mReserveBtn.setCompoundDrawablesWithIntrinsicBounds( - null, - ContextCompat.getDrawable( - requireContext(), - R.drawable.ic_gamedetail_simulator_manage - ), - null, - null - ) + mReserveIv.visibility = View.VISIBLE + mReserveTv.visibility = View.VISIBLE + mReserveTv.text = "管理" + mReserveIv.background = R.drawable.ic_gamedetail_simulator_manage.toDrawable() return } if (isShow) { - mReserveBtn.visibility = View.VISIBLE + mReserveIv.visibility = View.VISIBLE + mReserveTv.visibility = View.VISIBLE if (ReservationRepository.thisGameHasBeenReserved(mGameEntity?.id ?: "")) { - mReserveBtn.text = "已预约" - mReserveBtn.setCompoundDrawablesWithIntrinsicBounds( - null, - ContextCompat.getDrawable(requireContext(), R.drawable.ic_gamedetail_reserved), - null, - null - ) + mReserveTv.text = "已预约" + mReserveIv.background = R.drawable.ic_gamedetail_reserved.toDrawable() } else { - mReserveBtn.text = "预约" - mReserveBtn.setCompoundDrawablesWithIntrinsicBounds( - null, - ContextCompat.getDrawable(requireContext(), R.drawable.ic_gamedetail_reserve), - null, - null - ) + mReserveTv.text = "预约" + mReserveIv.background = R.drawable.ic_gamedetail_reserve.toDrawable() } } else { - mReserveBtn.visibility = View.GONE + mReserveIv.visibility = View.GONE + mReserveTv.visibility = View.GONE } } @@ -1457,7 +1447,9 @@ class GameDetailFragment : NormalFragment() { "取消", { mBrowserInstallContainer.visibility = View.GONE - mSwitchBtn.visibility = View.VISIBLE + SPUtils.setBoolean(Constants.SP_SWITCH_INSTALL_VISIBLE, true) + mSwitchIv.visibility = View.VISIBLE + mSwitchTv.visibility = View.VISIBLE BrowserInstallHelper.hideGameDetailUseBrowserToInstallHint() BrowserInstallHelper.logOrdinaryBrowserEvent(BrowserInstallHelper.Type.SWITCH_INSTALL_GUIDE_QUIT) } @@ -1465,7 +1457,13 @@ class GameDetailFragment : NormalFragment() { } } else { mBrowserInstallContainer.visibility = View.GONE - mSwitchBtn.visibility = View.GONE + } + if (SPUtils.getBoolean(Constants.SP_SWITCH_INSTALL_VISIBLE, false)) { + mSwitchIv.visibility = View.VISIBLE + mSwitchTv.visibility = View.VISIBLE + } else { + mSwitchIv.visibility = View.GONE + mSwitchTv.visibility = View.GONE } } diff --git a/app/src/main/res/drawable-xxxhdpi/ic_install_method_hint.png b/app/src/main/res/drawable-xxxhdpi/ic_install_method_hint.png new file mode 100644 index 0000000000000000000000000000000000000000..2f50ce093d28fc4ac668b941e8f785a5c6810a84 GIT binary patch literal 4126 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_install_method_hint.webp b/app/src/main/res/drawable-xxxhdpi/ic_install_method_hint.webp deleted file mode 100644 index 14046b745614e84b8851aad62e73714ac6517734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1106 zcmV-Y1g-m0Nk&FW1ONb6MM6+kP&il$0000G0000t001`t06|PpNX`HN00Ez%sF5T! zxNyuYfSwl-0fHT}FRxCUh3j zPbL>rS=Rl~t7Bi6lA@dJiy>5XP{Z(g~m9BZN6W3-lcZE9J0F0 zmmjT3;|+UgDiLY0Ji}C0r?$p0swSFU|wzb9r)eXJ-Hp( z!JFpK_y;fs=nv6v(?4ZimT&64WWInNPoBkofFG*2LTf{0oc=dTi!gu5Khj_Dy}&<) ze>wj_*H_R3^iW#WZkeAOh5M^?yu#KiL}k9P3EMUiPAvTK(7-?3ZoT}kbG>Ml>Rc#u z9yrC0J7cFZ6MkWXmbg5^dCL#Lln8b`G2DPW2Cy$M0RI2+WB&GRFZjiDR_G_emfj+h z_1Db*zjOu1U!<&s6xU98>C!(g+qA&P^9!YthSAWMmj`ZQtoB{f-kXO1)idY+nVjVQJFICN7w@42ihPPK?4AMcpVilm9h1y_jD2wLiTkrX6;e5PYId`2XzX zSaVN3?d;wvwfb}P>))|)J;J+6s~z26Ut;J5$w%o+OzTOwcjz~Q^Dh_@q%_%BE^BY84U>}Mx z+QwriS5-dCiKeslbF*4;nC7>A;(J4RfBwb&o&Ude$MDzxh6DRTXg7$3eskVd?8wLe z{r~^`xjb}l`MCY9gohmHg&aTXFLJlp{xD|$EI9xj1es4=j3!6e>bb$de!U&_Sy#!j zd>i)a0buCOm%){#9)DJF5DSs)aICPHO(JuEDgaIExXt~9CXLvC!}tB_&Xst@|1p=j z7Zcx7?@iZr$#D&&Wh(#rb1IeeL-^6Z=hcV9`3z9Tyj$B)jXsw4%=S)LkJ9%2#g*ooB2r*j1YnArbphmGQ@1_m+1+9P6Y+z; z+MQb`=>7&i#4X61Pg3o*0oo*8oPz7QY?MPX9+kQ#trdyXpe=qBx0`;_n4ocDiVr2o Y59IDHKyF1Ux?BDpW>_}2`ThU^0BTb*WB>pF diff --git a/app/src/main/res/layout/detail_download_item.xml b/app/src/main/res/layout/detail_download_item.xml index a6c0a7641d..a143a5f716 100644 --- a/app/src/main/res/layout/detail_download_item.xml +++ b/app/src/main/res/layout/detail_download_item.xml @@ -81,7 +81,7 @@ android:layout_height="40dp" android:background="@drawable/bg_install_hint" android:visibility="gone" - tools:visibility="visible"> + tools:visibility="gone"> - + android:paddingTop="10dp" + android:paddingEnd="20dp" + android:paddingBottom="10dp"> - - - + + + + + + + + - + android:layout_marginStart="24dp" + android:layout_marginLeft="24dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/iv_switch" + app:layout_constraintTop_toTopOf="parent" /> +