From d2f5d35403ab41bc0165f3dba4e931169d37a337 Mon Sep 17 00:00:00 2001 From: juntao Date: Fri, 13 May 2022 15:51:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=83=A8=E5=88=86=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/constant/Config.java | 15 +- .../dialog/GameOffServiceDialogFragment.kt | 12 +- .../dialog/InstallPermissionDialogFragment.kt | 11 +- .../dialog/NotificationHintDialogFragment.kt | 18 +- .../gh/common/dialog/PrivacyDialogFragment.kt | 157 ------- .../gh/common/dialog/ReserveDialogFragment.kt | 384 ------------------ .../com/gh/common/dialog/WelcomeDialog.kt | 152 ------- .../main/java/com/gh/common/util/AdHelper.kt | 15 - .../java/com/gh/common/util/GameUtils.java | 7 +- .../gh/gamecenter/entity/SettingsEntity.kt | 2 - .../gamedetail/dialog/GameTagsDialog.kt | 10 +- 11 files changed, 9 insertions(+), 774 deletions(-) delete mode 100644 app/src/main/java/com/gh/common/dialog/PrivacyDialogFragment.kt delete mode 100644 app/src/main/java/com/gh/common/dialog/ReserveDialogFragment.kt delete mode 100644 app/src/main/java/com/gh/common/dialog/WelcomeDialog.kt diff --git a/app/src/main/java/com/gh/common/constant/Config.java b/app/src/main/java/com/gh/common/constant/Config.java index b27534fee1..6ea570f0d4 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -1,7 +1,6 @@ package com.gh.common.constant; import android.annotation.SuppressLint; -import android.content.Context; import android.content.SharedPreferences; import android.os.Build; import android.preference.PreferenceManager; @@ -46,10 +45,6 @@ public class Config { public static final String API_HOST = EnvHelper.getHost(); public static final String NEW_API_HOST = EnvHelper.getNewHost(); - /** - * 需要配置的请使用{@link PreferenceManager#getDefaultSharedPreferences(Context)} - */ - // Third-Party confs public static final String WECHAT_APPID = BuildConfig.WECHAT_APPID; public static final String WECHAT_SECRET = BuildConfig.WECHAT_SECRET; @@ -60,8 +55,7 @@ public class Config { // http://www.ghzs666.com/article/${articleId}.html public static final String URL_ARTICLE = "http://www.ghzs666.com/article/"; // ghzs/ghzs666 统一 - - private static String SETTINGS_KEY = "settingsKey"; + private static final String SETTINGS_KEY = "settingsKey"; private static SettingsEntity mSettingsEntity; private static NewSettingsEntity mNewSettingsEntity; @@ -269,13 +263,6 @@ public class Config { return false; } - public static boolean isGameDomeSwitchOpen() { - return getSettings() != null && getSettings().getGameDomeSwitch().equals("on"); - } - public static boolean isPermissionPopupSwitchOpen() { - return getSettings() != null && getSettings().getPermissionPopupSwitch().equals("on"); - } - public static void fixHideFunction() { SharedPreferences preferences = PreferenceManager. getDefaultSharedPreferences(HaloApp.getInstance().getApplication()); diff --git a/app/src/main/java/com/gh/common/dialog/GameOffServiceDialogFragment.kt b/app/src/main/java/com/gh/common/dialog/GameOffServiceDialogFragment.kt index d9feb109b2..fbbe148516 100644 --- a/app/src/main/java/com/gh/common/dialog/GameOffServiceDialogFragment.kt +++ b/app/src/main/java/com/gh/common/dialog/GameOffServiceDialogFragment.kt @@ -19,9 +19,7 @@ import com.gh.gamecenter.databinding.DialogGameOffServiceBinding import com.gh.gamecenter.entity.GameEntity // 游戏关闭下载弹窗 -class GameOffServiceDialogFragment -// : BaseTrackableDialogFragment() - : BaseDialogFragment() { +class GameOffServiceDialogFragment : BaseDialogFragment() { private var mDialog: GameEntity.Dialog? = null private var mBinding: DialogGameOffServiceBinding? = null @@ -78,14 +76,6 @@ class GameOffServiceDialogFragment return super.onCreateDialog(savedInstanceState).apply { setCanceledOnTouchOutside(true) } } -// override fun getEvent(): String { -// return "游戏下载状态按钮" -// } -// -// override fun getKey(): String { -// return "查看详情弹窗" -// } - companion object { const val KEY_DIALOG = "dialog" diff --git a/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt b/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt index 3a78c2839d..354d2a7572 100644 --- a/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt +++ b/app/src/main/java/com/gh/common/dialog/InstallPermissionDialogFragment.kt @@ -17,7 +17,7 @@ import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.utils.PermissionHelper.INSTALL_PERMISSION_CODE import com.gh.common.xapk.XapkInstaller import com.gh.gamecenter.R -import com.gh.gamecenter.common.base.fragment.BaseTrackableDialogFragment +import com.gh.gamecenter.common.base.fragment.BaseDialogFragment import com.gh.gamecenter.common.utils.PermissionHelper import com.gh.gamecenter.core.utils.SPUtils import com.gh.gamecenter.common.utils.getExtension @@ -26,7 +26,7 @@ import com.gh.gamecenter.core.utils.MtaHelper import com.lightgame.download.DownloadEntity import kotlin.random.Random -class InstallPermissionDialogFragment : BaseTrackableDialogFragment() { +class InstallPermissionDialogFragment : BaseDialogFragment() { lateinit var mView: View var isXapk = false @@ -59,18 +59,15 @@ class InstallPermissionDialogFragment : BaseTrackableDialogFragment() { } closeTv.setOnClickListener { - MtaHelper.onEvent(getEvent(), getKey(), "文案样式_点击以后再说") if (isXapk) { mCallBack?.invoke() } dismiss() } closeIv.setOnClickListener { - MtaHelper.onEvent(getEvent(), getKey(), "图标样式_点击关闭") dismiss() } activateTv.setOnClickListener { - MtaHelper.onEvent(getEvent(), getKey(), if (randomNumber == 0) "文案样式_点击立即开启" else "图标样式_点击立即开启") PermissionHelper.toInstallPermissionSetting(requireActivity()) if (isXapk) { SPUtils.setString(Constants.SP_XAPK_UNZIP_ACTIVITY, requireActivity().javaClass.name) @@ -89,10 +86,6 @@ class InstallPermissionDialogFragment : BaseTrackableDialogFragment() { } } - override fun getEvent(): String = "安装引导弹窗" - - override fun getKey(): String = "引导弹窗" - companion object { @JvmStatic fun show(activity: AppCompatActivity, downloadEntity: DownloadEntity, callBack: (() -> Unit)?) { diff --git a/app/src/main/java/com/gh/common/dialog/NotificationHintDialogFragment.kt b/app/src/main/java/com/gh/common/dialog/NotificationHintDialogFragment.kt index 15ba3c8897..52b16e63a5 100644 --- a/app/src/main/java/com/gh/common/dialog/NotificationHintDialogFragment.kt +++ b/app/src/main/java/com/gh/common/dialog/NotificationHintDialogFragment.kt @@ -16,7 +16,7 @@ import com.gh.gamecenter.common.utils.PermissionHelper import com.gh.gamecenter.common.utils.fromHtml import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.R -import com.gh.gamecenter.common.base.fragment.BaseTrackableDialogFragment +import com.gh.gamecenter.common.base.fragment.BaseDialogFragment import com.gh.gamecenter.databinding.DialogNotificationHintBinding import com.gh.gamecenter.entity.NotificationStyleEntity import com.gh.gamecenter.entity.NotificationUgc @@ -28,7 +28,7 @@ import java.io.InputStreamReader import kotlin.random.Random // 通知权限弹窗 -class NotificationHintDialogFragment : BaseTrackableDialogFragment() { +class NotificationHintDialogFragment : BaseDialogFragment() { private var mNotificationUgc: NotificationUgc? = null private val mBinding: DialogNotificationHintBinding by lazy { DialogNotificationHintBinding.inflate(layoutInflater) } @@ -69,8 +69,6 @@ class NotificationHintDialogFragment : BaseTrackableDialogFragment() { } activateTv.setOnClickListener { - MtaHelper.onEventWithBasicDeviceInfo(getEvent(), getKey(), "点击立即开启") - MtaHelper.onEventWithBasicDeviceInfo(getEvent(), getKey(), "${styleEntity.scenes}_${styleEntity.styleNo}_点击立即开启") dismissAllowingStateLoss() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { //这种方案适用于 API 26, 即8.0(含8.0)以上可以用 @@ -89,24 +87,12 @@ class NotificationHintDialogFragment : BaseTrackableDialogFragment() { closeIv.setOnClickListener { dismissAllowingStateLoss() - MtaHelper.onEventWithBasicDeviceInfo(getEvent(), getKey(), "点击关闭") - MtaHelper.onEventWithBasicDeviceInfo(getEvent(), getKey(), "${styleEntity.scenes}_${styleEntity.styleNo}_点击关闭") } } dialog?.setCanceledOnTouchOutside(true) } - override fun getEvent(): String { - return "推送引导弹窗" - } - - override fun getKey(): String { - return "引导弹窗" - } - - override fun trackWithBasicDeviceInfo() = true - private fun getJsonFromAssets(): String? { val stringBuilder = StringBuilder() var bufferedReader: BufferedReader? = null diff --git a/app/src/main/java/com/gh/common/dialog/PrivacyDialogFragment.kt b/app/src/main/java/com/gh/common/dialog/PrivacyDialogFragment.kt deleted file mode 100644 index 2a91ffd3a2..0000000000 --- a/app/src/main/java/com/gh/common/dialog/PrivacyDialogFragment.kt +++ /dev/null @@ -1,157 +0,0 @@ -package com.gh.common.dialog - -import android.app.Dialog -import android.content.DialogInterface -import android.os.Bundle -import android.text.SpannableStringBuilder -import android.text.Spanned -import android.text.TextPaint -import android.text.method.ScrollingMovementMethod -import android.text.style.ClickableSpan -import android.view.* -import android.widget.TextView -import androidx.appcompat.app.AppCompatActivity -import androidx.core.content.ContextCompat -import androidx.fragment.app.FragmentTransaction -import com.gh.gamecenter.common.base.fragment.BaseDialogFragment -import com.gh.gamecenter.common.utils.dip2px -import com.gh.gamecenter.common.view.CustomLinkMovementMethod -import com.gh.gamecenter.R -import com.gh.gamecenter.WebActivity - -class PrivacyDialogFragment : BaseDialogFragment() { - -// private val mLocalPrivacyHtml = "file:///android_asset/privacy_policies.html" -// private val mLocalRegulationHtml = "file:///android_asset/user_regulation.html" - - var containerView: View? = null - var mCallBack: ((isSuccess: Boolean) -> Unit)? = null - - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - containerView = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_privacy_protocol, null, false) - return containerView - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) -// val mWebViewPrivacy = containerView?.findViewById(R.id.webView) -// val mWebViewRegulation = containerView?.findViewById(R.id.webView2) -// -// mWebViewPrivacy?.isHorizontalScrollBarEnabled = false -// mWebViewRegulation?.isHorizontalScrollBarEnabled = false - - val contentTv = containerView?.findViewById(R.id.contentTv) - val descTv = containerView?.findViewById(R.id.descTv) - contentTv?.movementMethod = ScrollingMovementMethod() - - val skipText = SpannableStringBuilder("查看完整版的隐私政策和用户协议") - skipText.setSpan(object : ClickableSpan() { - override fun updateDrawState(ds: TextPaint) { - super.updateDrawState(ds) - ds.color = ContextCompat.getColor(requireContext(), R.color.theme_font) - ds.isUnderlineText = false - } - - override fun onClick(widget: View) { - val intent = WebActivity.getIntent(requireContext(), context!!.getString(R.string.privacy_policy_url), true) - context?.startActivity(intent) - } - }, skipText.length - 9, skipText.length - 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) - - skipText.setSpan(object : ClickableSpan() { - override fun updateDrawState(ds: TextPaint) { - super.updateDrawState(ds) - ds.color = ContextCompat.getColor(requireContext(), R.color.theme_font) - ds.isUnderlineText = false - } - - override fun onClick(widget: View) { - val intent = WebActivity.getIntent(requireContext(), context!!.getString(R.string.disclaimer_url), true) - context?.startActivity(intent) - } - }, skipText.length - 4, skipText.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) - descTv?.movementMethod = CustomLinkMovementMethod() - descTv?.text = skipText - -// val mWebViewPrivacy = containerView?.findViewById(R.id.webView) -// -// mWebViewPrivacy?.isHorizontalScrollBarEnabled = false -// -// val settingsArrayList = arrayListOf(mWebViewPrivacy?.settings, mWebViewRegulation?.settings) -// -// for (settings in settingsArrayList) { -// settings?.javaScriptEnabled = true -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { -// settings?.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW -// } -// // 避免提示网页有害信息不能访问 -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { -// settings?.safeBrowsingEnabled = false -// } -// -// // 适配大于屏幕宽度的页面 -// settings?.useWideViewPort = true -// settings?.loadWithOverviewMode = true -// settings?.domStorageEnabled = true -// -// // 自适应屏幕 -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { -// settings?.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING -// } -// } - -// mWebViewPrivacy?.webViewClient = client -// mWebViewRegulation?.webViewClient = client - - containerView?.findViewById(R.id.refuseTv)?.setOnClickListener { - mCallBack?.invoke(false) - dismissAllowingStateLoss() - } - containerView?.findViewById(R.id.agreeTv)?.setOnClickListener { - mCallBack?.invoke(true) - dismissAllowingStateLoss() - } - } - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - val createDialog = super.onCreateDialog(savedInstanceState) - createDialog.setCanceledOnTouchOutside(false) - createDialog.setOnKeyListener(object : DialogInterface.OnKeyListener { - override fun onKey(dialog: DialogInterface?, keyCode: Int, event: KeyEvent?): Boolean { - if (keyCode == KeyEvent.KEYCODE_BACK) { - return true - } - return false - } - }) - - val window = createDialog.window - window?.setGravity(Gravity.CENTER) - return createDialog - } - - override fun onStart() { - super.onStart() - val width = requireContext().resources.displayMetrics.widthPixels - 60F.dip2px() - val height = ViewGroup.LayoutParams.WRAP_CONTENT - dialog?.window?.setLayout(width, height) - } - - companion object { - @JvmStatic - fun show(activity: AppCompatActivity, callBack: ((isSuccess: Boolean) -> Unit)?) { - var privacyDialogFragment = activity.supportFragmentManager.findFragmentByTag(PrivacyDialogFragment::class.java.simpleName) as? PrivacyDialogFragment - if (privacyDialogFragment != null) { - privacyDialogFragment.mCallBack = callBack - val transaction: FragmentTransaction = activity.supportFragmentManager.beginTransaction() - transaction.show(privacyDialogFragment) - transaction.commit() - } else { - privacyDialogFragment = PrivacyDialogFragment().apply { - mCallBack = callBack - } - privacyDialogFragment.show(activity.supportFragmentManager, PrivacyDialogFragment::class.java.simpleName) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/dialog/ReserveDialogFragment.kt b/app/src/main/java/com/gh/common/dialog/ReserveDialogFragment.kt deleted file mode 100644 index f479f61c51..0000000000 --- a/app/src/main/java/com/gh/common/dialog/ReserveDialogFragment.kt +++ /dev/null @@ -1,384 +0,0 @@ -//package com.gh.common.dialog -// -//import android.annotation.SuppressLint -//import android.app.Application -//import android.os.Bundle -//import android.text.Html -//import android.view.* -//import android.view.animation.AnimationUtils -//import android.widget.EditText -//import android.widget.TextView -//import androidx.lifecycle.AndroidViewModel -//import androidx.lifecycle.MutableLiveData -//import androidx.lifecycle.Observer -//import butterknife.BindView -//import butterknife.ButterKnife -//import butterknife.OnClick -//import com.gh.gamecenter.common.base.fragment.BaseDialogFragment -//import com.gh.common.AppExecutor -//import com.gh.common.constant.Config -//import com.gh.common.history.HistoryHelper -//import com.gh.common.repository.ReservationRepository -//import com.gh.common.util.* -//import com.gh.gamecenter.R -//import com.gh.gamecenter.entity.GameEntity -//import com.gh.gamecenter.entity.NotificationUgc -//import com.gh.gamecenter.manager.UserManager -//import com.gh.gamecenter.retrofit.BiResponse -//import com.gh.gamecenter.retrofit.RetrofitManager -//import com.halo.assistant.HaloApp -//import com.lightgame.utils.Utils -//import io.reactivex.android.schedulers.AndroidSchedulers -//import io.reactivex.schedulers.Schedulers -//import okhttp3.ResponseBody -//import org.json.JSONArray -//import org.json.JSONObject -// -//// 预约弹窗 -//@Deprecated("v5.6.0废弃") -//class ReserveDialogFragment -// : BaseDialogFragment(), KeyboardHeightObserver { -//// : BaseTrackableDialogFragment() { -// -// @BindView(R.id.reserve_hint_tv) -// lateinit var reserveHintTv: TextView -// -// @BindView(R.id.reserve_content_tv) -// lateinit var reserveContentTv: TextView -// -// @BindView(R.id.reserve_completed_content_tv) -// lateinit var reserveCompletedContentTv: TextView -// -// @BindView(R.id.mobile_et) -// lateinit var mobileEt: EditText -// -// @BindView(R.id.reserve_container) -// lateinit var reserveContainer: View -// -// @BindView(R.id.reserve_completed_container) -// lateinit var reserveCompletedContainer: View -// -// @BindView(R.id.customizable_btn) -// lateinit var customizableBtn: TextView -// -// @BindView(R.id.content_container) -// lateinit var contentContainer: View -// -// @BindView(R.id.mobile_index_container) -// lateinit var mobileIndexContainer: View -// -// @BindView(R.id.mobile_index_reserve) -// lateinit var mobileIndexReserve: TextView -// -// @BindView(R.id.mobile_index_user) -// lateinit var mobileIndexUser: TextView -// -// @BindView(R.id.mobile_et_delete) -// lateinit var mobileEtDelete: View -// -// @BindView(R.id.layout_container) -// lateinit var layoutContainer: View -// -// private lateinit var mViewModel: ReserveViewModel -// -// var successCallback: SuccessCallback? = null -// -// private var mGame: GameEntity? = null -// private var mGameId: String = "" -// private var mGameName: String = "" -// -// private var mKeyboardHeightProvider: KeyboardHeightProvider? = null -// -// override fun onCreate(savedInstanceState: Bundle?) { -// super.onCreate(savedInstanceState) -// -// mGame = requireArguments().getParcelable(EntranceUtils.KEY_GAME) -// mGameId = mGame?.id ?:"" -// mGameName = mGame?.name ?:"" -// -// mViewModel = viewModelProvider() -// mKeyboardHeightProvider = KeyboardHeightProvider(activity) -// mKeyboardHeightProvider?.start() -// } -// -// override fun onActivityCreated(savedInstanceState: Bundle?) { -// super.onActivityCreated(savedInstanceState) -// dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE) -// } -// -// override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { -// return inflater.inflate(R.layout.dialog_reserve_game, null) -// } -// -//// override fun getEvent(): String { -//// return "预约游戏" -//// } -//// -//// override fun getKey(): String { -//// return "预约功能操作" -//// } -// -// @Suppress("DEPRECATION") -// @SuppressLint("SetTextI18n") -// override fun onViewCreated(view: View, savedInstanceState: Bundle?) { -// super.onViewCreated(view, savedInstanceState) -// ButterKnife.bind(this, view) -// -// val reserveContent = "游戏上线,您将收到免费短信提醒" -// reserveContentTv.text = Html.fromHtml(reserveContent) -// -// -// mobileEt.setTextChangedListener { s, _, _, _ -> -// mobileIndexContainer.visibility = View.GONE -// mobileEtDelete.goneIf(s.trim().isEmpty()) -// } -// -// mViewModel.reservation.observeNonNull(this) { -// if (it.success) { -// showSuccessDialog(it.withMobile, it.boundWechat) -// successCallback?.onSuccess() -// HistoryHelper.insertGameEntity(mGame!!) -// } -// } -// -// mViewModel.reserveMobile.observe(viewLifecycleOwner, Observer { -// setMobileIndexHint(it) -// }) -// -// dialog?.setCanceledOnTouchOutside(true) -// } -// -// private fun showSuccessDialog(withMobile: Boolean, boundWechat: Boolean) { -// reserveHintTv.text = "游戏预约成功" -// reserveContainer.visibility = View.GONE -// reserveCompletedContainer.visibility = View.VISIBLE -// -// val reservation = Config.getSettings()?.appointment -// val dialogConfig = if (withMobile) reservation?.withMobile else reservation?.withoutMobile -// -// reserveCompletedContentTv.text = dialogConfig?.htmlContent?.fromHtml() -// if (dialogConfig?.text.isNullOrEmpty() -// || (dialogConfig?.type == "wechat_bind" && boundWechat)) { -// customizableBtn.visibility = View.GONE -// } else { -// customizableBtn.text = dialogConfig?.text -// customizableBtn.setOnClickListener { -//// MtaHelper.onEvent("预约游戏", "预约功能操作", "点击跳转按钮") -// DirectUtils.directToLinkPage( -// requireContext(), -// dialogConfig!!.toLinkEntity(), -// "(游戏预约)", -// "") -// dismissAllowingStateLoss() -// } -// } -// } -// -// private fun setMobileIndexHint(reserveMobile: String?) { -// var userMobile = UserManager.getInstance().userInfoEntity?.mobile -// if (reserveMobile == userMobile) userMobile = null -// -// if (!reserveMobile.isNullOrEmpty()) { -// mobileIndexReserve.visibility = View.VISIBLE -// mobileIndexReserve.text = reserveMobile -// } else { -// mobileIndexReserve.visibility = View.GONE -// } -// -// if (!userMobile.isNullOrEmpty()) { -// mobileIndexUser.visibility = View.VISIBLE -// mobileIndexUser.text = userMobile -// } else { -// mobileIndexUser.visibility = View.GONE -// } -// mobileIndexContainer.goneIf(mobileIndexUser.visibility == View.GONE && mobileIndexReserve.visibility == View.GONE) -// if (mobileIndexContainer.visibility ==View.VISIBLE) { -// mobileIndexContainer.animation = AnimationUtils.loadAnimation(requireContext(), R.anim.reserve_dialog_index_anim) -// } -// } -// -// @OnClick(R.id.reserve_with_mobile_btn, -// R.id.reserve_without_mobile_btn, -// R.id.content_container, -// R.id.close_btn, -// R.id.customizable_btn, -// R.id.mobile_index_reserve, -// R.id.mobile_index_user, -// R.id.mobile_et_delete, -// R.id.mobile_et, -// R.id.layout_container) -// fun onClick(view: View) { -// when (view.id) { -// R.id.reserve_without_mobile_btn -> { -//// MtaHelper.onEvent("预约游戏", "预约功能操作", "点击无手机号预约") -// if (mobileIndexContainer.visibility == View.VISIBLE) { -// mobileIndexContainer.visibility = View.GONE -// return -// } -// -// mViewModel.reserve(gameId = mGameId, gameName = mGameName) -// } -// -// R.id.reserve_with_mobile_btn -> { -// if (mobileIndexContainer.visibility == View.VISIBLE) { -// mobileIndexContainer.visibility = View.GONE -// return -// } -// -// val mobile = mobileEt.text.toString() -// if (mobile.length < 11 || !mobile.startsWith("1")) { -// Utils.toast(context, "手机号格式错误,请检查并重新输入") -// return -// } -// -//// MtaHelper.onEvent("预约游戏", "预约功能操作", "点击立即预约") -// mViewModel.reserve(gameId = mGameId, gameName = mGameName, mobile = mobile) -// } -// -// R.id.close_btn -> { -//// MtaHelper.onEvent("预约游戏", "预约功能操作", "点击关闭") -// dismissAllowingStateLoss() -// AppExecutor.uiExecutor.executeWithDelay(Runnable { -// NotificationHelper.showNotificationHintDialog(NotificationUgc.RESERVE_GAME) -// }, 1000) -// } -// R.id.content_container -> { -// mobileIndexContainer.visibility = View.GONE -// } -// R.id.mobile_index_reserve -> { -// mobileEt.setText(mobileIndexReserve.text.toString()) -// mobileEt.setSelection(mobileEt.text.length) -// mobileIndexContainer.visibility = View.GONE -// } -// R.id.mobile_index_user -> { -// mobileEt.setText(mobileIndexUser.text.toString()) -// mobileEt.setSelection(mobileEt.text.length) -// mobileIndexContainer.visibility = View.GONE -// } -// R.id.mobile_et_delete -> { -// mobileEt.setText("") -// } -// R.id.mobile_et -> { -// mobileIndexContainer.visibility = View.GONE -// } -// R.id.layout_container -> { -// dismissAllowingStateLoss() -// } -// } -// } -// -// override fun onResume() { -// super.onResume() -// if (HaloApp.getInstance().mCacheKeyboardHeight > 0) { -// val attributes = dialog?.window?.attributes -// val heightPixels = requireContext().resources.displayMetrics.heightPixels -// val mCacheKeyboardHeight = HaloApp.getInstance().mCacheKeyboardHeight -// val statusBarHeight = DisplayUtils.getStatusBarHeight(requireContext().resources) -// dialog?.window?.attributes?.height = heightPixels - mCacheKeyboardHeight - statusBarHeight -// attributes?.gravity = Gravity.TOP -// dialog?.window?.attributes = attributes -// } -// mKeyboardHeightProvider?.setKeyboardHeightObserver(this) -// } -// -// override fun onPause() { -// super.onPause() -// mKeyboardHeightProvider?.setKeyboardHeightObserver(null) -// } -// -// override fun onDestroy() { -// super.onDestroy() -// mKeyboardHeightProvider?.close() -// } -// -// override fun onKeyboardHeightChanged(height: Int, orientation: Int) { -// if (height > 0) { -// val attributes = dialog?.window?.attributes -// attributes?.gravity = Gravity.CENTER -// dialog?.window?.attributes = attributes -// HaloApp.getInstance().mCacheKeyboardHeight = height -// } -// } -// -// companion object { -// @JvmStatic -// fun getInstance(gameEntity: GameEntity, successCallback: SuccessCallback) = ReserveDialogFragment().apply { -// arguments = Bundle().apply { -// putParcelable(EntranceUtils.KEY_GAME, gameEntity) -// } -// this.successCallback = successCallback -// } -// } -// -// interface SuccessCallback { -// fun onSuccess() -// } -//} -// -//class ReserveViewModel(application: Application) : AndroidViewModel(application) { -// val reservation = MutableLiveData() -// -// val reserveMobile = MutableLiveData() -// -// init { -// getAppointmentMobile() -// } -// -// @SuppressLint("CheckResult") -// fun reserve(gameId: String, gameName: String, mobile: String = "") { -// -// val requestMap = hashMapOf() -// requestMap["game_id"] = gameId -// if (mobile.isNotEmpty()) { -// requestMap["mobile"] = mobile -// } -// -// RetrofitManager.getInstance().api -// .createNewGameReservation(requestMap.createRequestBody()) -// .subscribeOn(Schedulers.io()) -// .subscribe(object : BiResponse() { -// override fun onSuccess(data: ResponseBody) { -// var boundWechat = false -// tryWithDefaultCatch { -// boundWechat = JSONObject(data.string() ?: "").getBoolean("wechat_bind") -// } -// -// reservation.postValue(Reservation(success = true, withMobile = mobile.isNotEmpty(), boundWechat = boundWechat)) -// ReservationRepository.addReservationToMemoryAndRefresh(gameId) -// -//// MtaHelper.onEvent("预约游戏", "预约", gameName) -// } -// -// override fun onFailure(exception: Exception) { -// Utils.toast(getApplication(), exception.message) -// } -// }) -// } -// -// @SuppressLint("CheckResult") -// private fun getAppointmentMobile() { -// RetrofitManager.getInstance().api -// .getAppointmentMobile(UserManager.getInstance().userId) -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(object : BiResponse() { -// override fun onSuccess(data: ResponseBody) { -// var mobile: String? = null -// tryCatchInRelease { -// val jsonArray = JSONArray(data.string()) -// if (jsonArray.length() > 0) { -// mobile = jsonArray.get(0).toString() -// } -// } -// -// reserveMobile.postValue(mobile) -// } -// -// override fun onFailure(exception: Exception) { -// reserveMobile.postValue(null) -// } -// }) -// } -// -// class Reservation(var success: Boolean = false, var withMobile: Boolean = false, var boundWechat: Boolean = false) -//} \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/dialog/WelcomeDialog.kt b/app/src/main/java/com/gh/common/dialog/WelcomeDialog.kt deleted file mode 100644 index cd15087337..0000000000 --- a/app/src/main/java/com/gh/common/dialog/WelcomeDialog.kt +++ /dev/null @@ -1,152 +0,0 @@ -package com.gh.common.dialog - -import android.os.Bundle -import android.preference.PreferenceManager -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import com.gh.gamecenter.common.base.fragment.BaseDialogFragment -import com.gh.gamecenter.core.utils.TimeElapsedHelper -import com.gh.gamecenter.common.constant.Constants -import com.gh.gamecenter.common.constant.Constants.SP_LAST_OPENING_ID -import com.gh.gamecenter.common.constant.Constants.SP_LAST_OPENING_TIME -import com.gh.common.util.* -import com.gh.gamecenter.common.constant.EntranceConsts -import com.gh.gamecenter.common.utils.ImageUtils -import com.gh.gamecenter.common.view.WrapContentDraweeView -import com.gh.gamecenter.core.utils.MtaHelper -import com.gh.gamecenter.databinding.DialogWelcomeBinding -import com.gh.gamecenter.entity.CommunityEntity -import com.gh.gamecenter.entity.WelcomeDialogEntity -import com.halo.assistant.HaloApp - -class WelcomeDialog : BaseDialogFragment() { - - private var mWelcomeEntity: WelcomeDialogEntity? = null - private var mTimeHelper: TimeElapsedHelper? = null - - private var mDismissByClickImage = false - - lateinit var binding: DialogWelcomeBinding - - private var mDismissListener: (() -> Unit)? = null - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - mWelcomeEntity = arguments?.getParcelable(TAG) - mTimeHelper = TimeElapsedHelper(this) - } - - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { - binding = DialogWelcomeBinding.inflate(inflater, container, false) - binding.ivOpeningCover.setOnClickListener { - - HaloApp.put(Constants.WELCOME_DIALOG_ID, mWelcomeEntity?.id) - HaloApp.put(Constants.WELCOME_DIALOG_LINK_TITLE, mWelcomeEntity?.text) - LogUtils.uploadWelcomeDialog("click", mWelcomeEntity?.id, mWelcomeEntity?.text) - - when (mWelcomeEntity?.type) { - EntranceConsts.HOST_ARTICLE -> { - DirectUtils.directToArticle(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME) - } - EntranceConsts.HOST_GAME -> { - DirectUtils.directToGameDetail(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME) - } - EntranceConsts.HOST_COLUMN -> { - DirectUtils.directToSubject(requireContext(), mWelcomeEntity?.link!!, null, EntranceConsts.ENTRANCE_WELCOME) - } - EntranceConsts.HOST_QUESTION -> { - DirectUtils.directToQuestionDetail(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME) - } - EntranceConsts.HOST_ANSWER -> { - DirectUtils.directToAnswerDetail(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME) - } - EntranceConsts.HOST_WEB -> { - DirectUtils.directToWebView(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME) - } - EntranceConsts.HOST_QQ -> { - DirectUtils.directToQqConversation(requireContext(), mWelcomeEntity?.link!!) - } - EntranceConsts.HOST_COMMUNITY -> { - DirectUtils.directToCommunity(requireContext(), CommunityEntity(mWelcomeEntity?.link!!, mWelcomeEntity?.text!!)) - } -// else -> DialogUtils.showLowVersionDialog(context) - else -> DirectUtils.directToLinkPage(requireContext(), mWelcomeEntity - ?: WelcomeDialogEntity(), EntranceConsts.ENTRANCE_WELCOME, "") - } - - mDismissByClickImage = true - - dismissAllowingStateLoss() - } - - binding.ivOpeningCover.loadingCallback = object : WrapContentDraweeView.LoadingCallback { - override fun loaded() { - binding.root.post { - if (binding.ivOpeningCover.measuredHeight > binding.root.resources.displayMetrics.heightPixels * .8) { - binding.ivCloseBackup.visibility = View.VISIBLE - } else { - binding.ivClose.visibility = View.VISIBLE - } - } - } - } - - binding.ivCloseBackup.setOnClickListener { - dismissAllowingStateLoss() - } - binding.ivClose.setOnClickListener { - dismissAllowingStateLoss() - } - ImageUtils.displayWithoutMemoryCache(binding.ivOpeningCover, mWelcomeEntity?.icon) - return binding.root - } - - override fun dismissAllowingStateLoss() { - try { - mDismissByClickImage = false - super.dismissAllowingStateLoss() - } catch (e: Exception) { - e.printStackTrace() - } - } - - override fun dismiss() { - try { - mDismissByClickImage = false - super.dismiss() - } catch (e: Exception) { - e.printStackTrace() - } - } - - fun setOnDismissListener(dismissListener: () -> Unit) { - mDismissListener = dismissListener - } - - override fun onDestroy() { - val type = if (mDismissByClickImage) "点击图片" else "点击关闭" - - MtaHelper.onEventWithTime("启动弹窗", mTimeHelper?.elapsedTime!!, type, "No parameter.") - - PreferenceManager.getDefaultSharedPreferences(context?.applicationContext).edit { - putString(SP_LAST_OPENING_ID, mWelcomeEntity?.id) - putLong(SP_LAST_OPENING_TIME, mWelcomeEntity?.time!!) - } - - mDismissListener?.invoke() - super.onDestroy() - } - - companion object { - const val TAG = "welcome_dialog" - - @JvmStatic - fun getInstance(welcomeEntity: WelcomeDialogEntity?) = WelcomeDialog().apply { - arguments = Bundle() - arguments?.putParcelable(TAG, welcomeEntity) - LogUtils.uploadWelcomeDialog("show", welcomeEntity?.id, welcomeEntity?.text) - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/AdHelper.kt b/app/src/main/java/com/gh/common/util/AdHelper.kt index 199c3bcd6d..e32120a066 100644 --- a/app/src/main/java/com/gh/common/util/AdHelper.kt +++ b/app/src/main/java/com/gh/common/util/AdHelper.kt @@ -17,7 +17,6 @@ object AdHelper { const val LOCATION_SEARCH_EMPTY = "search_empty" const val LOCATION_GAME_REQUEST_VERSION = "game_request_version" const val LOCATION_SUGGESTION_FUNCTION = "suggestion_function" - const val LOCATION_DISCOVER = "discover" const val LOCATION_SIMULATOR_GAME = "simulator_game" @JvmField @@ -51,20 +50,6 @@ object AdHelper { return null } - fun getDiscoverAds(): List { - val adList = Config.getSettings()?.adList ?: return listOf() - - val discoverAdList = arrayListOf() - - for (ad in adList) { - if (ad.location == LOCATION_DISCOVER) { - discoverAdList.add(ad) - } - } - - return discoverAdList - } - fun getAdForLocation(location: String): SettingsEntity.AD? { val adList = Config.getSettings()?.adList ?: return null diff --git a/app/src/main/java/com/gh/common/util/GameUtils.java b/app/src/main/java/com/gh/common/util/GameUtils.java index c5df50b715..0593b34e7c 100644 --- a/app/src/main/java/com/gh/common/util/GameUtils.java +++ b/app/src/main/java/com/gh/common/util/GameUtils.java @@ -157,12 +157,7 @@ public class GameUtils { return context.getString(R.string.update); } else if (installCount != 0) { return context.getString(R.string.launch); - } else if ( - "demo".equals(gameEntity.getDownloadStatus()) -// gameEntity.getVersionNumber().contains("无版号") -// && Config.isGameDomeSwitchOpen() -// && !SimulatorGameManager.isSimulatorGame(gameEntity) - ) { + } else if ("demo".equals(gameEntity.getDownloadStatus())) { return context.getString(R.string.attempt); } else { return context.getString(R.string.download); diff --git a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt index cca3a8ae6e..0195e44f3f 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt @@ -29,8 +29,6 @@ data class SettingsEntity( private var articleEntrance: String = "", @SerializedName("video_advertisement") var videoAdvertisement: VideoAds? = null, //新增字段video_advertisement,可能为空,代表广告关闭 - @SerializedName("game_dome_switch") - var gameDomeSwitch: String = "",//试玩显示开关,on打开 @SerializedName("permission_popup_switch") var permissionPopupSwitch: String = "off",//权限引导弹窗开关,on/off @SerializedName("permission_popup_applied_versions") diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt index faa36b9b82..d005541ef7 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt @@ -10,7 +10,6 @@ import androidx.core.content.ContextCompat import androidx.core.os.bundleOf import androidx.fragment.app.FragmentActivity import androidx.recyclerview.widget.LinearLayoutManager -import com.gh.gamecenter.common.base.fragment.BaseTrackableDialogFragment import com.gh.gamecenter.core.utils.DisplayUtils import com.gh.gamecenter.common.constant.EntranceConsts import com.gh.gamecenter.core.utils.MtaHelper @@ -18,12 +17,13 @@ import com.gh.common.util.NewLogUtils import com.gh.gamecenter.common.view.divider.HorizontalDividerItemDecoration import com.gh.download.dialog.DownloadDialog import com.gh.gamecenter.R +import com.gh.gamecenter.common.base.fragment.BaseDialogFragment import com.gh.gamecenter.databinding.DialogGameTagsBinding import com.gh.gamecenter.entity.TagStyleEntity import com.gh.gamecenter.tag.TagsActivity import com.halo.assistant.HaloApp -class GameTagsDialog : BaseTrackableDialogFragment() { +class GameTagsDialog : BaseDialogFragment() { private lateinit var mTagStyles: ArrayList private lateinit var mGameId: String @@ -79,12 +79,6 @@ class GameTagsDialog : BaseTrackableDialogFragment() { } } - override fun getEvent(): String = "游戏标签弹窗" - - override fun getKey(): String = "弹窗" - - override fun getValue(): String = mGameName - companion object { fun showGameTagsDialog(context: FragmentActivity, tagStyles: ArrayList, gameId: String, gameName: String) { val dialog = GameTagsDialog().apply {