diff --git a/app/build.gradle b/app/build.gradle index 4d8de3c61d..ea8f8c27e7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -264,9 +264,10 @@ dependencies { implementation(project(':module_login')) { exclude group: 'androidx.swiperefreshlayout' } - implementation(project(':module_energy')) { - exclude group: 'androidx.swiperefreshlayout' - } + // 默认不接入光能模块,提高编译速度 +// debugImplementation(project(':module_energy')) { +// exclude group: 'androidx.swiperefreshlayout' +// } } File propFile = file('sign.properties') if (propFile.exists()) { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8463ed939b..0062301224 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -574,10 +574,6 @@ android:name=".forum.search.ForumOrUserSearchActivity" android:screenOrientation="portrait" /> - - diff --git a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt index 5eb16a8435..4c153831ed 100644 --- a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt +++ b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt @@ -9,7 +9,6 @@ import com.gh.download.DownloadManager import com.gh.gamecenter.MainActivity import com.gh.gamecenter.SplashScreenActivity import com.gh.gamecenter.common.utils.PackageFlavorHelper -import com.gh.gamecenter.energy.view.EnergyCenterActivity import com.gh.gamecenter.forum.detail.ForumDetailActivity import com.gh.gamecenter.forum.list.ForumListActivity import com.gh.gamecenter.qa.article.detail.ArticleDetailActivity @@ -32,7 +31,7 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { override fun onActivityResumed(activity: Activity) { // 判断是否需要显示或隐藏返回小浮窗 if (FloatingBackViewManager.getType().isNotEmpty()) { - if (activity is EnergyCenterActivity + if ((activity::class.java.name == "EnergyCenterActivity") && FloatingBackViewManager.getType() == FloatingBackViewManager.TYPE_TASK ) { FloatingBackViewManager.disableBackView() diff --git a/app/src/main/java/com/gh/common/DefaultJsApi.kt b/app/src/main/java/com/gh/common/DefaultJsApi.kt index 07e56b5159..3c22783871 100644 --- a/app/src/main/java/com/gh/common/DefaultJsApi.kt +++ b/app/src/main/java/com/gh/common/DefaultJsApi.kt @@ -25,9 +25,7 @@ import com.gh.gamecenter.core.utils.CurrentActivityHolder import com.gh.gamecenter.core.utils.DisplayUtils import com.gh.gamecenter.core.utils.MtaHelper import com.gh.gamecenter.core.utils.SPUtils -import com.gh.gamecenter.energy.utils.EnergyTaskHelper -import com.gh.gamecenter.energy.view.EnergyCenterActivity -import com.gh.gamecenter.energy.view.EnergyHouseActivity +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.MtaEvent import com.gh.gamecenter.help.QaFeedbackDialogFragment import com.gh.gamecenter.login.entity.Badge @@ -130,7 +128,7 @@ class DefaultJsApi(var context: Context, val entrance: String = "") { WechatBindHelper.bindWechat(wechatLoginInfoMap, object : BiCallback { override fun onFirst(first: Boolean) { - EnergyTaskHelper.postEnergyTask("bind_wechat") + EnergyBridge.postEnergyTask("bind_wechat") handler.complete(true) } @@ -222,7 +220,7 @@ class DefaultJsApi(var context: Context, val entrance: String = "") { @JavascriptInterface fun updateRegulationTestStatus(msg: Any) { if (msg.toString().toLowerCase(Locale.getDefault()) == "pass") { - EnergyTaskHelper.postEnergyTask("finish_etiquette_exam") + EnergyBridge.postEnergyTask("finish_etiquette_exam") SPUtils.setString(Constants.SP_REGULATION_TEST_PASS_STATUS, "pass") } } @@ -298,17 +296,17 @@ class DefaultJsApi(var context: Context, val entrance: String = "") { @JavascriptInterface fun postWearBadgeTask(msg: Any) { - EnergyTaskHelper.postEnergyTask("wear_badge") + EnergyBridge.postEnergyTask("wear_badge") } @JavascriptInterface fun startEnergyCenter(msg: Any) { - context.startActivity(EnergyCenterActivity.getIntent(context)) + context.startActivity(EnergyBridge.getEnergyCenterIntent(context)) } @JavascriptInterface fun startEnergyHouse(msg: Any) { - context.startActivity(EnergyHouseActivity.getIntent(context)) + context.startActivity(EnergyBridge.getEnergyHouseIntent(context, null)) } @JavascriptInterface diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java index c6db1318af..5900cdc175 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -1868,24 +1868,6 @@ public class DialogUtils { return dialog; } - public static void showEnergyDialog(Context context, String userName, long energy) { - context = checkDialogContext(context); - - final Dialog dialog = new Dialog(context, R.style.DialogWindowTransparent); - - View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_energy, null); - ((TextView) contentView.findViewById(R.id.userName)).setText("\"" + userName + "\""); - ((TextView) contentView.findViewById(R.id.energy)).setText(energy + ""); - - contentView.findViewById(R.id.dialog_positive).setOnClickListener(v -> { - dialog.dismiss(); - }); - - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - dialog.setContentView(contentView); - dialog.show(); - } - public static void showSimulatorParseErrorDialog(Context context, String gameId, String gameName, ConfirmListener confirmListener) { context = checkDialogContext(context); final Dialog dialog = new Dialog(context, R.style.GhAlertDialog); @@ -1976,19 +1958,6 @@ public class DialogUtils { dialog.show(); } - public static void showSignRuleDialog(Context context) { - context = checkDialogContext(context); - - final Dialog dialog = new Dialog(context, R.style.DialogWindowTransparent); - - View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_sign_rule, null); - contentView.findViewById(R.id.dialog_ok).setOnClickListener(v -> dialog.dismiss()); - - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - dialog.setContentView(contentView); - dialog.show(); - } - public static Dialog showBindPhoneDialog(Context context, ConfirmListener listener) { context = checkDialogContext(context); diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt index c645e06db1..d928565134 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt @@ -32,7 +32,7 @@ import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.core.utils.* import com.gh.gamecenter.entity.GameEntity import com.gh.gamecenter.common.entity.LinkEntity -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.PluginLocation import com.gh.gamecenter.gamedetail.dialog.GamePermissionDialogFragment import com.gh.gamecenter.manager.PackagesManager @@ -789,7 +789,7 @@ object DownloadItemUtils { install(context, gameEntity, position, adapter, refreshCallback) } } else if (str == context.getString(R.string.launch)) { - EnergyTaskHelper.postEnergyTask("play_game", gameEntity.id, gameEntity.getApk()[0].packageName) + EnergyBridge.postEnergyTask("play_game", gameEntity.id, gameEntity.getApk()[0].packageName) //启动模拟器游戏 if (SimulatorGameManager.isSimulatorGame(gameEntity)) { diff --git a/app/src/main/java/com/gh/common/util/DownloadObserver.kt b/app/src/main/java/com/gh/common/util/DownloadObserver.kt index 92654a4599..13b3fd0687 100644 --- a/app/src/main/java/com/gh/common/util/DownloadObserver.kt +++ b/app/src/main/java/com/gh/common/util/DownloadObserver.kt @@ -16,7 +16,7 @@ import com.gh.gamecenter.common.eventbus.EBShowDialog import com.gh.gamecenter.common.retrofit.Response import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.core.utils.* -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.GameEntity import com.gh.gamecenter.entity.SimpleGameEntity import com.gh.gamecenter.entity.SimulatorEntity @@ -202,11 +202,7 @@ object DownloadObserver { GameActivityDownloadHelper.clear() - EnergyTaskHelper.postEnergyTask( - "download_game", - downloadEntity.gameId, - downloadEntity.packageName - ) + EnergyBridge.postEnergyTask("download_game", downloadEntity.gameId, downloadEntity.packageName) val platform = PlatformUtils.getInstance(mApplication) .getPlatformName(downloadEntity.platform) if (platform != null) { diff --git a/app/src/main/java/com/gh/common/util/FloatingBackViewManager.kt b/app/src/main/java/com/gh/common/util/FloatingBackViewManager.kt index a2ecc4b977..0d9dfa3ce9 100644 --- a/app/src/main/java/com/gh/common/util/FloatingBackViewManager.kt +++ b/app/src/main/java/com/gh/common/util/FloatingBackViewManager.kt @@ -7,7 +7,7 @@ import android.widget.TextView import com.gh.gamecenter.R import com.gh.gamecenter.common.utils.dip2px import com.gh.gamecenter.core.utils.DisplayUtils -import com.gh.gamecenter.energy.view.EnergyCenterActivity +import com.gh.gamecenter.energy.EnergyBridge import com.lightgame.utils.Util_System_Keyboard import com.lzf.easyfloat.EasyFloat import com.lzf.easyfloat.enums.ShowPattern @@ -59,7 +59,7 @@ object FloatingBackViewManager { } else if (mType == TYPE_TASK) { titleView?.text = "返回任务" - activity.startActivity(EnergyCenterActivity.getIntent(activity)) + activity.startActivity(EnergyBridge.getEnergyCenterIntent(activity)) } disableBackView() diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 980a9041a4..a7b7b8e36e 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -1044,7 +1044,6 @@ public class MainActivity extends BaseActivity { ArrayList blackList = new ArrayList<>(); blackList.add(R.id.tabLayout); blackList.add(R.id.appbar); - blackList.add(R.id.personal_func); blackList.add(R.id.communityHomeContainer); blackList.add(R.id.lightgame_tab_container); blackList.add(R.id.wrapper_toolbar); diff --git a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java index 48aef9956c..aea6ee82b5 100644 --- a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java @@ -21,7 +21,7 @@ import androidx.annotation.NonNull; import com.alibaba.android.arouter.facade.annotation.Route; import com.gh.common.constant.Config; -import com.gh.gamecenter.energy.utils.EnergyTaskHelper; +import com.gh.gamecenter.energy.EnergyBridge; import com.gh.common.util.IntegralLogHelper; import com.gh.gamecenter.common.callback.BiCallback; import com.gh.gamecenter.common.constant.RouteConsts; @@ -260,7 +260,7 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback { com.gh.gamecenter.common.utils.LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "success", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); EventBus.getDefault().post(new EBShare(ShareUtils.shareEntrance)); - EnergyTaskHelper.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); + EnergyBridge.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.inviteFriends) { IntegralLogHelper.INSTANCE.logInviteResult("成功", "微博"); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java index 5d96cf30e1..c198858ec2 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java @@ -39,7 +39,7 @@ import com.gh.common.util.DetailDownloadUtils; import com.gh.gamecenter.common.utils.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.gamecenter.core.utils.PageSwitchDataHelper; -import com.gh.gamecenter.energy.utils.EnergyTaskHelper; +import com.gh.gamecenter.energy.EnergyBridge; import com.gh.common.util.LogUtils; import com.gh.gamecenter.core.utils.MtaHelper; import com.gh.common.util.PackageInstaller; @@ -174,7 +174,7 @@ public class DetailViewHolder { break; case LAUNCH_OR_OPEN: if (!mGameEntity.getApk().isEmpty()) { - EnergyTaskHelper.postEnergyTask("play_game", mGameEntity.getId(), mGameEntity.getApk().get(0).getPackageName()); + EnergyBridge.postEnergyTask("play_game", mGameEntity.getId(), mGameEntity.getApk().get(0).getPackageName()); } break; } diff --git a/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt b/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt index fbb97664dc..e2150c9e18 100644 --- a/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt @@ -16,7 +16,7 @@ import com.gh.gamecenter.home.LegacyHomeItemData import com.gh.gamecenter.home.LegacyHomeSubjectTransformer import com.gh.gamecenter.common.retrofit.BiResponse import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.lightgame.utils.Utils import io.reactivex.Observable @@ -209,7 +209,7 @@ class AmwayViewModel(application: Application) : ListViewModel Unit)?) { + mEnergyTaskHelp?.postInviteCodeTask(code, from, callback) + } + + fun postEnergyTask(action: String, id: String?) { + mEnergyTaskHelp?.postEnergyTask(action, id) + } + + @JvmStatic + fun postEnergyTask(action: String, id: String, packageName: String) { + mEnergyTaskHelp?.postEnergyTask(action, id, packageName) + } + + fun postEnergyTask(action: String, id: String?, packageName: String?, url: String?) { + mEnergyTaskHelp?.postEnergyTask(action, id, packageName, url) + } + + fun getEnergyCenterIntent(context: Context?): Intent { + return mEnergyTaskHelp?.getEnergyCenterIntent(context) ?: Intent(context, MainActivity::class.java) + } + + fun getEnergyCenterIntent(context: Context?, initTabIndex: Int): Intent { + return mEnergyTaskHelp?.getEnergyCenterIntent(context, initTabIndex) ?: Intent(context, MainActivity::class.java) + } + + fun getEnergyHouseIntent(context: Context?, categoryId: String?): Intent { + return mEnergyTaskHelp?.getEnergyHouseIntent(context, categoryId) ?: Intent(context, MainActivity::class.java) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/entity/FunctionalGroupEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/FunctionalGroupEntity.kt deleted file mode 100644 index ba460f24c8..0000000000 --- a/app/src/main/java/com/gh/gamecenter/entity/FunctionalGroupEntity.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.gh.gamecenter.entity - -import android.os.Parcelable -import androidx.annotation.DrawableRes -import com.gh.gamecenter.common.entity.LinkEntity -import com.google.gson.annotations.SerializedName -import kotlinx.parcelize.Parcelize - -data class FunctionalGroupEntity( - @SerializedName("_id") - var id: String = "", - var name: String = "", - var icon: String = "", - var addons: ArrayList = ArrayList() -) - -@Parcelize -data class FunctionalLinkEntity( - @SerializedName("_id") - var id: String = "", - var active: Boolean = false, - var category: String = "", - @DrawableRes - var iconRes: Int = 0, // 客户端展示的icon - @SerializedName("remind_switch") - var remind: Boolean = false,//分组提醒 - var message: FunctionalMessageType? = null, - @SerializedName("checksum") - var checkSum: CheckSumEntity? = null // addons.$.type为 设置 时存在该字段 -) : LinkEntity() - -@Parcelize -data class CheckSumEntity( - @SerializedName("privacy_policy") - var privacyPolicy: String = "" //隐私政策网页md5值,用于判断是否有更新 -) : Parcelable - -enum class FunctionalMessageType { - NEW_VERSION, - NEW_MESSAGE -} - - -/* -data class FunctionalLinkEntity( - var name: String? = "", - var link: String? = "", - var type: String? = "", - var text: String? = "", - var community: CommunityEntity? = CommunityEntity(), - var display: Display? = null, // 板块 - @SerializedName("_id") - var id: String = "", - var active: Boolean = false, - var category: String = "", - var icon: String = "",// 客户端展示的icon - @DrawableRes - var iconRes: Int = 0// 客户端展示的icon -)*/ diff --git a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java index 52d0cdc7d1..07582dfb10 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java @@ -40,7 +40,7 @@ import com.gh.gamecenter.DownloadManagerActivity; import com.gh.gamecenter.MessageActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.SearchActivity; -import com.gh.gamecenter.energy.view.EnergyCenterActivity; +import com.gh.gamecenter.energy.EnergyBridge; import com.gh.gamecenter.entity.GameUpdateEntity; import com.gh.gamecenter.eventbus.EBDownloadStatus; import com.gh.gamecenter.common.eventbus.EBReuse; @@ -311,7 +311,7 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl IntegralLogHelper.INSTANCE.log("click_sign", mLocation); } - startActivity(EnergyCenterActivity.Companion.getIntent(requireContext())); + startActivity(EnergyBridge.INSTANCE.getEnergyCenterIntent(requireContext())); } else if (id == R.id.actionbar_teenager_model) { startActivity(TeenagerModeActivity.getIntent(requireContext())); } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt index 1b66cb40d7..0199780437 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt @@ -23,7 +23,7 @@ import com.gh.gamecenter.gamedetail.entity.CustomColumn import com.gh.gamecenter.gamedetail.entity.DetailEntity import com.gh.gamecenter.gamedetail.entity.GameInfo import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.halo.assistant.HaloApp import com.lightgame.utils.Utils @@ -122,7 +122,7 @@ class DescViewModel(application: Application, Utils.toast(getApplication(), "点赞成功") callback.invoke() - EnergyTaskHelper.postEnergyTask("vote_game_comment", commentId) + EnergyBridge.postEnergyTask("vote_game_comment", commentId) } override fun onFailure(e: HttpException?) { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameDetailMoreDialog.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameDetailMoreDialog.kt index 5fffc1c35b..fbf98562af 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameDetailMoreDialog.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameDetailMoreDialog.kt @@ -16,7 +16,7 @@ import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.core.utils.MtaHelper import com.gh.gamecenter.databinding.DialogGameDetailMoreBinding -import com.gh.gamecenter.energy.utils.EnergyTaskHelper.postEnergyTask +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.GameEntity import com.gh.gamecenter.gamedetail.GameDetailViewModel @@ -65,32 +65,32 @@ class GameDetailMoreDialog : BaseDraggableDialogFragment() { binding.shareWechatTv.setOnClickListener { getShareUtils().wechatShare() MtaHelper.onEvent("内容分享", "微信好友", mGameEntity?.name) - postEnergyTask("share_game_detail", mGameEntity?.id) + EnergyBridge.postEnergyTask("share_game_detail", mGameEntity?.id) } binding.sharePyquanTv.setOnClickListener { getShareUtils().wechatMomentsShare() MtaHelper.onEvent("内容分享", "微信朋友圈", mGameEntity?.name) - postEnergyTask("share_game_detail", mGameEntity?.id) + EnergyBridge.postEnergyTask("share_game_detail", mGameEntity?.id) } binding.shareQqTv.setOnClickListener { getShareUtils().qqShare() MtaHelper.onEvent("内容分享", "QQ好友", mGameEntity?.name) - postEnergyTask("share_game_detail", mGameEntity?.id) + EnergyBridge.postEnergyTask("share_game_detail", mGameEntity?.id) } binding.shareQqzoneTv.setOnClickListener { getShareUtils().qZoneShare() MtaHelper.onEvent("内容分享", "QQ空间", mGameEntity?.name) - postEnergyTask("share_game_detail", mGameEntity?.id) + EnergyBridge.postEnergyTask("share_game_detail", mGameEntity?.id) } binding.shareWeiboTv.setOnClickListener { getShareUtils().sinaWeiboShare() MtaHelper.onEvent("内容分享", "新浪微博", mGameEntity?.name) - postEnergyTask("share_game_detail", mGameEntity?.id) + EnergyBridge.postEnergyTask("share_game_detail", mGameEntity?.id) } binding.shareSmsTv.setOnClickListener { getShareUtils().shortMessageShare() MtaHelper.onEvent("内容分享", "短信", mGameEntity?.name) - postEnergyTask("share_game_detail", mGameEntity?.id) + EnergyBridge.postEnergyTask("share_game_detail", mGameEntity?.id) } binding.copyLinkTv.setOnClickListener { getShareUtils().copyLink(getShareUrl()) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewModel.kt index 130a9be449..528ab089ad 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewModel.kt @@ -2,13 +2,13 @@ package com.gh.gamecenter.gamedetail.myrating import android.app.Application import com.gh.common.util.ErrorHelper -import com.gh.gamecenter.energy.utils.EnergyTaskHelper import com.gh.gamecenter.common.utils.toObject import com.gh.gamecenter.common.baselist.ListViewModel import com.gh.gamecenter.entity.ErrorEntity import com.gh.gamecenter.login.user.UserManager import com.gh.gamecenter.personalhome.rating.MyRating import com.gh.gamecenter.common.retrofit.Response +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.lightgame.utils.Utils import io.reactivex.Observable @@ -43,7 +43,7 @@ class MyRatingViewModel(application: Application) : ListViewModel { DirectUtils.directToEnergyRecord(mContext, 1); break; case "光能中心赚光能": - mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext)); + mContext.startActivity(EnergyBridge.INSTANCE.getEnergyCenterIntent(mContext)); break; case "光能中心兑换": - mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext, 1)); + mContext.startActivity(EnergyBridge.INSTANCE.getEnergyCenterIntent(mContext, 1)); break; case "抽奖中心": DirectUtils.directToLotteryParadisePage(mContext); @@ -461,10 +461,10 @@ public class KeFuFragmentAdapter extends ListAdapter { DirectUtils.directToEnergyRecord(mContext, 1); break; case "energy_center_get": - mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext)); + mContext.startActivity(EnergyBridge.INSTANCE.getEnergyCenterIntent(mContext)); break; case "energy_center_exchange": - mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext, 1)); + mContext.startActivity(EnergyBridge.INSTANCE.getEnergyCenterIntent(mContext, 1)); break; case "raffle_center": DirectUtils.directToLotteryParadisePage(mContext); diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageUnreadRepository.kt b/app/src/main/java/com/gh/gamecenter/message/MessageUnreadRepository.kt index c9f4a5d51e..86b20cd6d2 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageUnreadRepository.kt +++ b/app/src/main/java/com/gh/gamecenter/message/MessageUnreadRepository.kt @@ -142,31 +142,6 @@ object MessageUnreadRepository { } - @SuppressLint("CheckResult") - private fun getAddonsData(): Observable { - var count = 0 - return Observable.create { - mApi.getHaloAddons(HaloApp.getInstance().channel) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(object : BiResponse>() { - override fun onSuccess(data: ArrayList) { - val haveReadRecord: HashSet = SPUtils.getStringSet(Constants.SP_ADDONS_FUNCS_HAVE_READ) as HashSet - data.forEach { group -> - group.addons.forEach { func -> - if (func.remind && !haveReadRecord.contains(func.id)) { - count++ - } - } - } - it.onNext(count) - it.onComplete() - } - }) - } - - } - @SuppressLint("CheckResult") private fun getNewAddonsData(): Observable { var count = 0 diff --git a/app/src/main/java/com/gh/gamecenter/mygame/PlayedGameAdapter.kt b/app/src/main/java/com/gh/gamecenter/mygame/PlayedGameAdapter.kt index 6c75d34473..bb3da6e535 100644 --- a/app/src/main/java/com/gh/gamecenter/mygame/PlayedGameAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/mygame/PlayedGameAdapter.kt @@ -36,7 +36,7 @@ import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.core.utils.* import com.gh.gamecenter.databinding.ItemPlayedGameBinding import com.gh.gamecenter.databinding.ViewSimpleToggleBinding -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.GameEntity import com.gh.gamecenter.eventbus.EBDownloadStatus import com.lightgame.download.DownloadEntity @@ -359,7 +359,7 @@ open class PlayedGameAdapter( class UsageStatsViewHolder(var binding: ViewSimpleToggleBinding) : RecyclerView.ViewHolder(binding.root) fun resetListData() { - if (!hasHeader()) EnergyTaskHelper.postEnergyTask("open_game_time") + if (!hasHeader()) EnergyBridge.postEnergyTask("open_game_time") setListData(mEntityList) } diff --git a/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt index 9ff5af4bee..08e53e58c7 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt @@ -271,22 +271,6 @@ class HaloPersonalFragment: BaseLazyFragment() { observeNoneUIRelatedChanges() } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - if (PackageFlavorHelper.IS_TEST_FLAVOR) { - val indicator = requireActivity() - .window - .decorView - .findViewById(android.R.id.content) - .findViewById(BaseActivity.ID_ROOT_INDICATOR) - indicator?.setOnClickListener { - requireContext().startActivity( - NewPersonalActivity.getIntent(requireContext()) - ) - } - } - } - override fun onFragmentFirstVisible() { super.onFragmentFirstVisible() inflateRealView() diff --git a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalActivity.kt b/app/src/main/java/com/gh/gamecenter/personal/NewPersonalActivity.kt deleted file mode 100644 index e9c39f3a26..0000000000 --- a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalActivity.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.gh.gamecenter.personal - -import android.content.Context -import android.content.Intent -import android.os.Bundle -import com.gh.gamecenter.common.base.activity.ToolBarActivity -import com.gh.gamecenter.core.utils.DisplayUtils - -class NewPersonalActivity : ToolBarActivity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - hideToolbar(true) - DisplayUtils.transparentStatusAndNavigation(this) - } - - companion object { - fun getIntent(context: Context?): Intent? { - return getTargetIntent(context, NewPersonalActivity::class.java, NewPersonalFragment::class.java) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt deleted file mode 100644 index 9dc138facb..0000000000 --- a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt +++ /dev/null @@ -1,679 +0,0 @@ -package com.gh.gamecenter.personal - -import android.annotation.SuppressLint -import android.content.Intent -import android.os.Build -import android.os.Bundle -import android.text.TextUtils -import android.view.View -import android.view.ViewGroup -import androidx.core.content.ContextCompat -import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.LinearLayoutManager -import com.gh.gamecenter.common.base.fragment.BaseLazyFragment -import com.gh.common.databind.BindingAdapters -import com.gh.common.util.* -import com.gh.common.util.DirectUtils.directToBadgeDetail -import com.gh.common.util.DirectUtils.directToBadgeWall -import com.gh.common.util.DirectUtils.directToEnergyRecord -import com.gh.common.util.DirectUtils.directToHomeActivity -import com.gh.gamecenter.common.utils.ImageUtils.display -import com.gh.gamecenter.common.utils.ImageUtils.displayIcon -import com.gh.common.util.IntegralLogHelper.log -import com.gh.gamecenter.login.utils.LoginHelper.onQQLoginCallback -import com.gh.gamecenter.login.utils.LoginHelper.onWeiboLoginCallback -import com.gh.gamecenter.core.utils.MtaHelper.onEvent -import com.gh.gamecenter.core.utils.SPUtils.getLong -import com.gh.gamecenter.core.utils.SPUtils.setLong -import com.gh.gamecenter.core.utils.TimeUtils.getStartTimeOfDay -import com.gh.gamecenter.core.utils.ToastUtils.showToast -import com.gh.gamecenter.common.view.SpacingItemDecoration -import com.gh.gamecenter.MessageActivity -import com.gh.gamecenter.R -import com.gh.gamecenter.common.callback.ConfirmListener -import com.gh.gamecenter.common.utils.NetworkUtils -import com.gh.gamecenter.common.utils.dip2px -import com.gh.gamecenter.common.utils.toColor -import com.gh.gamecenter.common.utils.tryCatchInRelease -import com.gh.gamecenter.core.utils.DisplayUtils -import com.gh.gamecenter.databinding.FragmentNewPersonalBinding -import com.gh.gamecenter.databinding.FragmentNewPersonalStubBinding -import com.gh.gamecenter.energy.view.EnergyCenterActivity -import com.gh.gamecenter.energy.view.EnergyHouseActivity -import com.gh.gamecenter.entity.* -import com.gh.gamecenter.eventbus.EBConcernChanged -import com.gh.gamecenter.eventbus.EBNetworkState -import com.gh.gamecenter.common.eventbus.EBReuse -import com.gh.gamecenter.login.user.UserManager -import com.gh.gamecenter.message.MessageUnreadRepository.loadMessageUnreadTotal -import com.gh.gamecenter.message.MessageUnreadViewModel -import com.gh.gamecenter.personalhome.UserHomeViewModel -import com.gh.gamecenter.room.AppDatabase -import com.gh.gamecenter.common.retrofit.ApiResponse -import com.gh.gamecenter.energy.view.EnergyUserViewModel -import com.gh.gamecenter.login.entity.Badge -import com.gh.gamecenter.login.entity.UserInfoEntity -import com.gh.gamecenter.login.user.UserViewModel -import com.google.android.material.appbar.AppBarLayout -import com.halo.assistant.HaloApp -import com.tencent.connect.common.Constants -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode -import kotlin.math.abs - -class NewPersonalFragment : BaseLazyFragment() { - private var mUserInfoEntity: UserInfoEntity? = null - - private lateinit var mDatabase: AppDatabase - - private lateinit var mBinding: FragmentNewPersonalStubBinding - private lateinit var mStubBinding: FragmentNewPersonalBinding - private lateinit var mUserViewModel: UserViewModel - private lateinit var mUnreadViewModel: MessageUnreadViewModel - private lateinit var mUserHomeViewModel: UserHomeViewModel - private lateinit var mPersonalViewModel: PersonalViewModel - private lateinit var mEnergyUserViewModel: EnergyUserViewModel - - private lateinit var mPersonalFuncGroupAdapter: NewPersonalFunctionGroupAdapter - - private var mIsLogging = false - private var mEnergy: Long = 0 - - override fun getInflatedLayout(): View { - mBinding = FragmentNewPersonalStubBinding.inflate(layoutInflater, null, false) - mBinding.stub.setOnInflateListener { _, inflateId -> - mStubBinding = FragmentNewPersonalBinding.bind(inflateId) - } - return mBinding.root - } - - override fun getLayoutId() = R.layout.fragment_new_personal_stub - - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { - super.onActivityResult(requestCode, resultCode, data) - when (requestCode) { - Constants.REQUEST_LOGIN -> { - onQQLoginCallback(requestCode, resultCode, data) - } - 32973 -> { - onWeiboLoginCallback(requireActivity(), requestCode, resultCode, data) - } - REQUEST_MESSAGE -> { - mUnreadViewModel.retry() - } - } - } - - override fun onClick(v: View?) { - super.onClick(v) - mStubBinding.run { - when (v) { - collapsingToolbar, - toolbar, - personalInfo -> { - if (mUserInfoEntity == null) { - CheckLoginUtils.checkLogin(context, "我的光环-手机登录", null) - } - } - personalLogin -> { - onEvent("我的光环_新", "立即登录", "点击登录") - CheckLoginUtils.checkLogin(context, "我的光环-立即登录", null) - } - personalMsg -> { - if (CheckLoginUtils.isLogin()) { - onEvent("我的光环", "消息") - onEvent("我的光环_新", "消息中心", "点击消息中心") - NewLogUtils.logMessageInformBellClick( - mStubBinding.loginMessageHint.visibility == View.VISIBLE, - "我的" - ) - startActivityForResult( - MessageActivity.getIntent(context, "(我的光环)+(消息中心)"), - REQUEST_MESSAGE - ) - } else { - onEvent("我的光环_新", "功能入口-跳转登录", "消息中心") - CheckLoginUtils.checkLogin(context, "我的光环-消息") {} - } - } - personalUserSmallIcon, personalUserIcon -> { - if (mUserInfoEntity != null) { - onEvent("我的光环", "个人中心") - onEvent("我的光环_新", "头像", "点击头像") - directToHomeActivity( - requireContext(), - UserManager.getInstance().userId, - "", - "我的光环" - ) - } else { - onEvent("我的光环", "手机登录") - CheckLoginUtils.checkLogin(context, "我的光环-手机登录", null) - } - } - personalUserNameSmall, personalUserName -> { - if (mUserInfoEntity != null) { - onEvent("我的光环", "个人中心") - onEvent("我的光环_新", "昵称", "点击昵称") - directToHomeActivity( - requireContext(), - UserManager.getInstance().userId, - "", - "我的光环" - ) - } else { - onEvent("我的光环", "手机登录") - CheckLoginUtils.checkLogin(context, "我的光环-手机登录", null) - } - } - ivArrow, personalHome -> { - if (mUserInfoEntity != null) { - onEvent("我的光环", "个人主页") - onEvent("我的光环_新", "个人主页", "进入个人主页") - directToHomeActivity( - requireContext(), - UserManager.getInstance().userId, - "", - "我的光环" - ) - } else { - CheckLoginUtils.checkLogin(context, "我的光环-个人主页", null) - } - } - personalBadge -> { - onEvent("我的光环_新", "徽章中心", "进入徽章中心") - directToBadgeWall( - requireContext(), - mUserInfoEntity?.userId, - mUserInfoEntity?.name, - mUserInfoEntity?.icon - ) - } - personalReceiveEnergy -> { - log("click_energy", "我的光环") - if (mUserInfoEntity != null) { - onEvent("我的光环_新", "领光能", "点击领光能") - startActivity(EnergyCenterActivity.getIntent(requireContext())) - } else { - CheckLoginUtils.checkLogin(context, "我的光环-领光能", null) - } - } - personalEnergy -> { - log("click_sign", "我的光环") - if (mUserInfoEntity != null) { - onEvent("我的光环_新", "光能值", "点击光能值") - DialogUtils.showEnergyDialog( - requireContext(), - mUserInfoEntity?.name, - mEnergy - ) - } else { - CheckLoginUtils.checkLogin(context, "我的光环-光能值", null) - } - } - personalEnergyCenter -> { - onEvent("我的光环_新", "光能中心", "进入光能中心") - log("click_energy_center", "我的光环", "我的光环-光能中心") - log("view_energy_center", "光能中心") - requireContext().startActivity(EnergyCenterActivity.getIntent(requireContext())) - } - personalEnergyHouse -> { - onEvent("我的光环_新", "光能屋", "进入光能屋") - log("click_energy_store", "我的光环", "我的光环-光能屋") - log("view_energy_store", "光能屋") - requireContext().startActivity(EnergyHouseActivity.getIntent(requireContext())) - } - personalEnergyRecord -> { - log("click_energy_record", "我的光环", "我的光环-光能明细") - log("view_energy_record", "光能明细") - if (mUserInfoEntity != null) { - onEvent("我的光环_新", "光能记录", "进入光能记录") - directToEnergyRecord(requireContext()) - } else { - CheckLoginUtils.checkLogin(context, "我的光环-光能记录", null) - } - } - } - } - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - mDatabase = AppDatabase.getInstance() - val factory = UserViewModel.Factory(requireActivity().application) - mUserViewModel = ViewModelProvider(this, factory).get(UserViewModel::class.java) - mUserHomeViewModel = ViewModelProvider( - this, UserHomeViewModel.Factory( - HaloApp.getInstance().application, - UserManager.getInstance().userId - ) - ).get(UserHomeViewModel::class.java) - mUnreadViewModel = ViewModelProvider( - this, - MessageUnreadViewModel.Factory(HaloApp.getInstance().application) - ).get(MessageUnreadViewModel::class.java) - mPersonalViewModel = ViewModelProvider(this).get(PersonalViewModel::class.java) - mEnergyUserViewModel = ViewModelProvider( - this, EnergyUserViewModel.Factory( - HaloApp.getInstance().application, - UserManager.getInstance().userId - ) - ).get(EnergyUserViewModel::class.java) - - observeNoneUIRelatedChanges() - } - - override fun onFragmentFirstVisible() { - super.onFragmentFirstVisible() - inflateRealView() - observeUIRelatedChanges() - } - - override fun onFragmentResume() { - super.onFragmentResume() - - if (NetworkUtils.isNetworkConnected(requireContext())) { - mUnreadViewModel.retry() - mUserHomeViewModel.getBadgeList() - mUserHomeViewModel.availableBadges() - if (CheckLoginUtils.isLogin()) { - mEnergyUserViewModel.getUserEnergy() - mEnergyUserViewModel.getSignInfo() - } - } -// val currentItem = (parentFragment as MainWrapperFragment).currentItem -// if (currentItem == MainWrapperFragment.INDEX_PERSONAL) { - DisplayUtils.setLightStatusBar(requireActivity(), false) -// } - } - - @SuppressLint("CheckResult", "SetTextI18n") - private fun observeUIRelatedChanges() { - mPersonalViewModel.appEntity.observe(this) { - if (it.versionCode > PackageUtils.getGhVersionCode()) { - notifyItemChange("设置", FunctionalMessageType.NEW_VERSION) - } else { - notifyItemChange("设置", null) - } - } - - mUserViewModel.loginObsUserinfo.observe( - this - ) { userInfoEntity: ApiResponse? -> - if (userInfoEntity != null && userInfoEntity.data != null) { - changeLoginState(true) - } else { - changeLoginState(false) - } - } - - mUserHomeViewModel.badges.observe(this - ) { badgeEntities: List -> - mStubBinding.personalBadgeIcon.setImageURI("") - if (badgeEntities.isEmpty()) { - mStubBinding.personalBadgeTv.visibility = View.GONE - mStubBinding.personalBadgeCountTv.visibility = View.GONE - mStubBinding.personalMyBadgeIcon.visibility = View.VISIBLE - } else { - mStubBinding.personalBadgeTv.visibility = View.VISIBLE - mStubBinding.personalBadgeCountTv.visibility = View.VISIBLE - mStubBinding.personalMyBadgeIcon.visibility = View.GONE - mStubBinding.personalBadgeCountTv.text = badgeEntities.size.toString() + "" - for ((_, _, icon, name, _, wear, _, actions) in badgeEntities) { - if (wear) { - display( - mStubBinding.personalBadgeIcon, - icon - ) - mStubBinding.personalBadgeIcon.setOnClickListener { - DialogUtils.showViewBadgeDialog( - requireContext(), - Badge(name, icon, actions), - object : ConfirmListener { - override fun onConfirm() { - directToBadgeWall( - requireContext(), - mUserInfoEntity?.userId, - mUserInfoEntity?.name, - mUserInfoEntity?.icon - ) - } - } - ) - } - break - } - } - } - } - mUserHomeViewModel.availableBadgeCount.observe(this, - { count: Int -> - mStubBinding.personalBadgeTips.visibility = - if (count > 0) View.VISIBLE else View.GONE - }) - - mUserHomeViewModel.availableBadge.observe(this - ) { badge: BadgeEntity? -> - // 徽章领取弹窗每隔7天弹出一次,所以要判断现在是否是上一次弹出的第7天或者之后 - if (badge != null && System.currentTimeMillis() >= getLong(SP_BADGE_RECORD_SEVEN_DAY)) { - // 徽章领取弹窗每隔7天弹出一次,所以本次弹出后就记录7天后的时间戳 - setLong( - SP_BADGE_RECORD_SEVEN_DAY, - getStartTimeOfDay(System.currentTimeMillis() + 86400000 * 6) - ) - DialogUtils.showReceiveBadgeDialog( - requireContext(), badge, object : ConfirmListener { - override fun onConfirm() { - mPersonalViewModel.applyOrReceiveBadge(badge.id, { - if ("self" == badge.receive?.type) { - showToast("领取成功") - } else { - showToast("申请成功") - } - // 跳转到徽章详情 - directToBadgeDetail( - requireContext(), - mUserInfoEntity?.userId, - badge.id - ) - }, { - if ("self" == badge.receive?.type) { - showToast("领取失败") - } else { - showToast("申请失败") - } - }) - } - } - ) - } - } - - mEnergyUserViewModel.energy.observe(this) { energy: Long -> - mEnergy = energy - if (energy > 9999) { - mStubBinding.personalEnergyTv.text = "9999+" - } else { - mStubBinding.personalEnergyTv.text = energy.toString() + "" - } - } - - mEnergyUserViewModel.signStatus.observe(this) { (todaySignIn) -> - if (todaySignIn) { - mStubBinding.personalEnergy.visibility = View.VISIBLE - mStubBinding.personalReceiveEnergy.visibility = View.GONE - } else { - mStubBinding.personalEnergy.visibility = View.GONE - mStubBinding.personalReceiveEnergy.visibility = View.VISIBLE - } - } - - mPersonalViewModel.haloAddData.observe( - this, - { datas: ArrayList -> - if (datas.isNotEmpty()) { - mPersonalFuncGroupAdapter.setListData(datas) - mPersonalViewModel.checkUpdate() - } - }) - - mUnreadViewModel.liveData.observe(this, { messageUnread: MessageUnreadEntity? -> - if (messageUnread != null && messageUnread.total > 0) { - mStubBinding.personalNewFansTips.visibility = - if (messageUnread.fans > 0) View.VISIBLE else View.GONE - mStubBinding.personalHome.text = - if (messageUnread.fans > 0) (if (messageUnread.fans < 100) messageUnread.fans else "99+").toString() + "位新粉丝" else "个人主页" - val count = messageUnread.total - messageUnread.fans - mStubBinding.loginMessageHint.visibility = - if (count > 0) View.VISIBLE else View.GONE - BindingAdapters.setMessageUnread(mStubBinding.loginMessageHint, count) - } else { - mStubBinding.loginMessageHint.visibility = View.GONE - mStubBinding.personalHome.text = "个人主页" - mStubBinding.personalNewFansTips.visibility = View.GONE - EventBus.getDefault() - .post(EBReuse(MESSAGE_READ_OVER)) - } - }) - mUnreadViewModel.zixunConcernLiveData.observe(this, - { hasConcern: Boolean -> - notifyItemChange( - "游戏动态", - if (hasConcern) FunctionalMessageType.NEW_MESSAGE else null - ) - }) - mUnreadViewModel.addonsUnreadLiveData.observe(this, - { (favorite) -> - notifyItemChange( - "我的收藏", - if (favorite > 0) FunctionalMessageType.NEW_MESSAGE else null - ) - }) - } - - private fun notifyItemChange(funcName: String, msg: FunctionalMessageType?) { - var notifyIndex = -1 - var notifySubIndex = -1 - val mEntityList = mPersonalFuncGroupAdapter.mEntityList - for ((index, group) in mEntityList.withIndex()) { - for ((subIndex, linkEntity) in group.addons.withIndex()) { - if (TextUtils.equals(linkEntity.type, funcName) && linkEntity.message != msg) { - linkEntity.message = msg - notifyIndex = index - notifySubIndex = subIndex - break - } - } - } - if (notifyIndex != -1) { - mStubBinding.personalFunc.postDelayed({ - tryCatchInRelease { - mPersonalFuncGroupAdapter.notifySubItemChanged(notifyIndex, notifySubIndex) - } - }, 500) - } - } - - private fun changeLoginState(isLogin: Boolean) { - if (isLogin) { - if (mUserInfoEntity != null) { - mStubBinding.personalUserIcon.display( - if (mUserInfoEntity?.iconBorder == null) "" else mUserInfoEntity?.iconBorder?.url, - mUserInfoEntity?.icon, - null - ) - displayIcon(mStubBinding.personalUserSmallIcon, mUserInfoEntity?.icon) - mStubBinding.personalUserName.visibility = View.VISIBLE - mStubBinding.personalBadge.visibility = View.VISIBLE - mStubBinding.personalHome.visibility = View.VISIBLE - mStubBinding.personalLogin.visibility = View.GONE - mStubBinding.personalUserName.text = mUserInfoEntity?.name - mStubBinding.personalUserNameSmall.text = mUserInfoEntity?.name - } - mUserHomeViewModel.userId = UserManager.getInstance().userId - mUserHomeViewModel.getBadgeList() - mUserHomeViewModel.availableBadges() - mEnergyUserViewModel.getUserEnergy() - mEnergyUserViewModel.getSignInfo() - loadMessageUnreadTotal(true) - } else { - mStubBinding.personalReceiveEnergy.visibility = View.VISIBLE - mStubBinding.personalEnergy.visibility = View.GONE - mStubBinding.personalUserIcon.display("", "", "") - mStubBinding.personalUserSmallIcon.setImageURI("") - // mPersonalBadgeTv.setText("我的徽章"); - mStubBinding.personalUserNameSmall.text = "立即登录" - mStubBinding.personalUserName.visibility = View.GONE - mStubBinding.personalHome.visibility = View.GONE - mStubBinding.personalBadge.visibility = View.GONE - mStubBinding.personalLogin.visibility = View.VISIBLE - if (mStubBinding.loginMessageHint.visibility == View.VISIBLE) { - mStubBinding.loginMessageHint.visibility = View.GONE - EventBus.getDefault().post(EBReuse(MESSAGE_READ_OVER)) - } - } - } - - private fun inflateRealView() { - mBinding.stub.inflate() - - mStubBinding.collapsingToolbar.setOnClickListener(this) - mStubBinding.toolbar.setOnClickListener(this) - mStubBinding.personalInfo.setOnClickListener(this) - mStubBinding.personalLogin.setOnClickListener(this) - mStubBinding.personalMsg.setOnClickListener(this) - mStubBinding.personalHome.setOnClickListener(this) - mStubBinding.ivArrow.setOnClickListener(this) - mStubBinding.personalLogin.setOnClickListener(this) - mStubBinding.personalUserName.setOnClickListener(this) - mStubBinding.personalUserNameSmall.setOnClickListener(this) - mStubBinding.personalUserIcon.setOnClickListener(this) - mStubBinding.personalUserSmallIcon.setOnClickListener(this) - mStubBinding.personalBadge.setOnClickListener(this) - mStubBinding.personalReceiveEnergy.setOnClickListener(this) - mStubBinding.personalEnergy.setOnClickListener(this) - mStubBinding.personalEnergyCenter.setOnClickListener(this) - mStubBinding.personalEnergyRecord.setOnClickListener(this) - mStubBinding.personalEnergyHouse.setOnClickListener(this) - - mPersonalFuncGroupAdapter = NewPersonalFunctionGroupAdapter(requireContext()) - mStubBinding.personalFunc.layoutManager = LinearLayoutManager(requireContext()) - mStubBinding.personalFunc.adapter = mPersonalFuncGroupAdapter - mStubBinding.personalFunc.addItemDecoration( - SpacingItemDecoration( - onlyDecorateTheFirstItem = true, - notDecorateTheFirstItem = false, - notDecorateTheLastItem = false, - notDecorateTheFirstTwoItems = false, - left = 0, - top = 32F.dip2px(), - right = 0, - bottom = 0 - ) - ) - - val statusBarHeight = - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) 0 else DisplayUtils.getStatusBarHeight( - resources - ) - val params: ViewGroup.LayoutParams = mStubBinding.toolbar.layoutParams - params.height = DisplayUtils.dip2px(50F) + statusBarHeight - mStubBinding.toolbar.layoutParams = params - - mStubBinding.appbar.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { _: AppBarLayout?, verticalOffset: Int -> - val absOffset = abs(verticalOffset) - val invisibleOffset = - DisplayUtils.dip2px(56F + 48F - 50F) - DisplayUtils.getStatusBarHeight(resources) - if (absOffset <= invisibleOffset) { - mStubBinding.personalUserSmallIcon.visibility = View.GONE - mStubBinding.personalUserNameSmall.visibility = View.GONE - mStubBinding.toolbar.background = null - } else { - mStubBinding.personalUserSmallIcon.visibility = View.VISIBLE - mStubBinding.personalUserNameSmall.visibility = View.VISIBLE - mStubBinding.toolbar.setBackgroundResource(R.drawable.bg_personal_top) - } - mStubBinding.listRefresh.isEnabled = absOffset <= 2 - }) - mStubBinding.listRefresh.setColorSchemeColors( - ContextCompat.getColor( - requireContext(), - R.color.theme - ) - ) - mStubBinding.listRefresh.setProgressViewOffset( - false, - 0, - DisplayUtils.dip2px(80F) + DisplayUtils.getStatusBarHeight(requireContext().resources) - ) - mStubBinding.listRefresh.setOnRefreshListener { - mPersonalViewModel.getHaloAddons() - if (CheckLoginUtils.isLogin()) { - mUnreadViewModel.retry() - loadMessageUnreadTotal(false) - mUserHomeViewModel.getBadgeList() - mUserHomeViewModel.availableBadges() - } - mBaseHandler.postDelayed({ mStubBinding.listRefresh.isRefreshing = false }, 2000) - onEvent("我的光环_新", "下拉刷新", "下拉刷新") - } - loadMessageUnreadTotal(true) - } - - private fun observeNoneUIRelatedChanges() { - mPersonalViewModel.getHaloAddons() - mUserViewModel.loginObsUserinfo.observe(this, - { userInfoEntity: ApiResponse? -> - val notifyUserInfo: UserInfoEntity? = userInfoEntity?.data - if (notifyUserInfo != null && mUserInfoEntity == null) { // 单个用户,首次触发 - EventBus.getDefault().post(EBConcernChanged()) - val loginTokenEntity = - UserManager.getInstance().loginTokenEntity - if (mIsLogging && loginTokenEntity != null) { - val loginType = loginTokenEntity.loginType - LogUtils.login( - "success", - loginType, - mPersonalViewModel.getLoginEntranceByType(loginType) - ) - mIsLogging = false - } - } - mUserInfoEntity = notifyUserInfo - if (notifyUserInfo == null) { - mUnreadViewModel.clean() - EventBus.getDefault().post(EBConcernChanged()) - } - }) - mPersonalViewModel.haloAddData.observe( - this, - { datas: ArrayList -> - if (datas.isNotEmpty()) { - loadMessageUnreadTotal(false) - } - }) - } - - // 连接上网络事件 - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEventMainThread(busNetworkState: EBNetworkState) { - if (busNetworkState.isNetworkConnected - && UserManager.getInstance().isLoggedIn - && (mUserInfoEntity == null || TextUtils.isEmpty(UserManager.getInstance().token)) - ) { - mUserViewModel.retryCheckLogin() - } - if (busNetworkState.isNetworkConnected) { - mPersonalViewModel.getHaloAddons() - } - } - -// @Subscribe(threadMode = ThreadMode.MAIN) -// fun onEventMainThread(busNine: EBUISwitch) { -// if (MainWrapperFragment.EB_MAIN_SCROLL_TOP == busNine.getFrom() && MainWrapperFragment.INDEX_PERSONAL == busNine.getPosition()) { -// //mScrollView.fullScroll(ScrollView.FOCUS_UP) -// } -// } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEventMainThread(reuse: EBReuse) { - if (MESSAGE_READ_OVER == reuse.type) { // 消息阅读完成 - mStubBinding.loginMessageHint.visibility = View.GONE - } - } - - override fun onDarkModeChanged() { - super.onDarkModeChanged() - if (::mStubBinding.isInitialized) { - mStubBinding.listRefresh.setBackgroundColor(R.color.background_white.toColor(requireContext())) - mPersonalFuncGroupAdapter.notifyItemRangeChanged(0, mPersonalFuncGroupAdapter.itemCount) - } - } - - companion object { - private const val MESSAGE_READ_OVER = "MESSAGE_READ_OVER" - private const val SP_BADGE_RECORD_SEVEN_DAY = "badgeRecordSevenDay" - private const val REQUEST_MESSAGE = 199 - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFunctionGroupAdapter.kt b/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFunctionGroupAdapter.kt deleted file mode 100644 index fc71e1b087..0000000000 --- a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFunctionGroupAdapter.kt +++ /dev/null @@ -1,75 +0,0 @@ -package com.gh.gamecenter.personal - -import android.content.Context -import android.util.SparseArray -import android.view.LayoutInflater -import android.view.ViewGroup -import android.widget.TextView -import androidx.core.util.isEmpty -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.RecyclerView -import com.gh.gamecenter.common.constant.Constants -import com.gh.gamecenter.core.utils.SPUtils -import com.gh.gamecenter.common.view.GridSpacingItemColorDecoration -import com.gh.gamecenter.R -import com.gh.gamecenter.common.utils.dip2px -import com.gh.gamecenter.common.utils.toColor -import com.gh.gamecenter.entity.FunctionalGroupEntity -import com.lightgame.adapter.BaseRecyclerAdapter - -class NewPersonalFunctionGroupAdapter(val context: Context) : BaseRecyclerAdapter(context) { - val mEntityList = ArrayList() - private val mSubAdapters = SparseArray() - - fun setListData(datas: ArrayList) { - mEntityList.clear() - mEntityList.addAll(datas) - val haveReadRecord: HashSet = SPUtils.getStringSet(Constants.SP_ADDONS_FUNCS_HAVE_READ) as HashSet - mEntityList.forEach loop@{ group -> - group.addons.forEach { func -> - if (func.remind && haveReadRecord.contains(func.id)) { - func.remind = false - } - } - } - notifyDataSetChanged() - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { - return object : RecyclerView.ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_new_personal_fun_group, parent, false)) {} - } - - override fun getItemCount(): Int = mEntityList.size - - override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { - val groupEntity = mEntityList[position] - val groupNameTv = holder.itemView.findViewById(R.id.tv_group_name) - val funcRv = holder.itemView.findViewById(R.id.funcRv) - groupNameTv.text = groupEntity.name - funcRv.apply { - if (adapter != null) { - groupNameTv.setTextColor(R.color.text_title.toColor(holder.itemView.context)) - holder.itemView.setPadding(16F.dip2px(), 0, 16F.dip2px(), 32F.dip2px()) - for (i in 0 until itemDecorationCount) { - removeItemDecorationAt(i) - } - addItemDecoration(GridSpacingItemColorDecoration(context, 0, 32, R.color.background_white)) - (adapter as PersonalFunctionAdapter).checkResetData(groupEntity) - return - } - val personalFunctionAdapter = PersonalFunctionAdapter(context, groupEntity.name, groupEntity.addons) - adapter = personalFunctionAdapter - mSubAdapters.put(position, personalFunctionAdapter) - layoutManager = GridLayoutManager(context, 4) - isNestedScrollingEnabled = false - if (itemDecorationCount == 0) { - addItemDecoration(GridSpacingItemColorDecoration(context, 0, 32, R.color.background_white)) - } - } - } - - fun notifySubItemChanged(index: Int, subIndex: Int) { - if (mSubAdapters.isEmpty() || mSubAdapters[index] == null) return - mSubAdapters[index].notifyItemChanged(subIndex) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt deleted file mode 100644 index 88bd0b2f34..0000000000 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt +++ /dev/null @@ -1,732 +0,0 @@ -package com.gh.gamecenter.personal - -import android.annotation.SuppressLint -import android.content.Intent -import android.database.sqlite.SQLiteException -import android.os.Build -import android.os.Bundle -import android.text.TextUtils -import android.view.View -import android.view.ViewGroup -import androidx.core.content.ContextCompat -import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -import com.gh.common.databind.BindingAdapters -import com.gh.common.util.* -import com.gh.common.util.DirectUtils.directToBadgeDetail -import com.gh.common.util.DirectUtils.directToBadgeWall -import com.gh.common.util.DirectUtils.directToHomeActivity -import com.gh.gamecenter.common.utils.ImageUtils.display -import com.gh.gamecenter.common.utils.ImageUtils.displayIcon -import com.gh.gamecenter.login.utils.LoginHelper.onQQLoginCallback -import com.gh.gamecenter.login.utils.LoginHelper.onWeiboLoginCallback -import com.gh.gamecenter.core.utils.MtaHelper.onEvent -import com.gh.gamecenter.core.utils.SPUtils.getLong -import com.gh.gamecenter.core.utils.SPUtils.setLong -import com.gh.gamecenter.core.utils.TimeUtils.getStartTimeOfDay -import com.gh.gamecenter.core.utils.ToastUtils.showToast -import com.gh.gamecenter.common.view.VerticalItemDecoration -import com.gh.gamecenter.MessageActivity -import com.gh.gamecenter.R -import com.gh.gamecenter.common.base.activity.BaseActivity -import com.gh.gamecenter.common.base.fragment.BaseLazyFragment -import com.gh.gamecenter.common.callback.ConfirmListener -import com.gh.gamecenter.common.retrofit.ApiResponse -import com.gh.gamecenter.common.utils.NetworkUtils -import com.gh.gamecenter.common.utils.PackageFlavorHelper -import com.gh.gamecenter.common.utils.toColor -import com.gh.gamecenter.common.utils.tryCatchInRelease -import com.gh.gamecenter.core.utils.DisplayUtils -import com.gh.gamecenter.databinding.FragmentPersonalBinding -import com.gh.gamecenter.databinding.FragmentPersonalStubBinding -import com.gh.gamecenter.entity.* -import com.gh.gamecenter.eventbus.EBConcernChanged -import com.gh.gamecenter.eventbus.EBNetworkState -import com.gh.gamecenter.fragment.MainWrapperFragment -import com.gh.gamecenter.common.eventbus.EBReuse -import com.gh.gamecenter.message.MessageUnreadRepository.loadMessageUnreadTotal -import com.gh.gamecenter.login.user.UserManager -import com.gh.gamecenter.message.MessageUnreadViewModel -import com.gh.gamecenter.personal.NewPersonalActivity.Companion.getIntent -import com.gh.gamecenter.personalhome.UserHomeViewModel -import com.gh.gamecenter.room.AppDatabase -import com.google.android.material.appbar.AppBarLayout -import com.gh.gamecenter.login.entity.Badge -import com.gh.gamecenter.login.entity.UserInfoEntity -import com.gh.gamecenter.login.user.UserViewModel -import com.halo.assistant.HaloApp -import com.jakewharton.rxbinding2.view.RxView -import com.tencent.connect.common.Constants -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode -import java.util.concurrent.TimeUnit -import kotlin.math.abs - -class PersonalFragment : BaseLazyFragment() { - private var mUserInfoEntity: UserInfoEntity? = null - - private lateinit var mDatabase: AppDatabase - - private lateinit var mBinding: FragmentPersonalStubBinding - private lateinit var mStubBinding: FragmentPersonalBinding - private lateinit var mUserViewModel: UserViewModel - private lateinit var mUnreadViewModel: MessageUnreadViewModel - private lateinit var mUserHomeViewModel: UserHomeViewModel - private lateinit var mPersonalViewModel: PersonalViewModel - - private lateinit var mPersonalFuncGroupAdapter: PersonalFunctionGroupAdapter - - private var mItemDecoration: RecyclerView.ItemDecoration? = null - - private var mIsLogging = false - - override fun getInflatedLayout(): View { - mBinding = FragmentPersonalStubBinding.inflate(layoutInflater, null, false) - mBinding.stub.setOnInflateListener { _, inflateId -> - mStubBinding = FragmentPersonalBinding.bind(inflateId) - } - return mBinding.root - } - - override fun getLayoutId() = R.layout.fragment_personal_stub - - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { - super.onActivityResult(requestCode, resultCode, data) - when (requestCode) { - Constants.REQUEST_LOGIN -> { - onQQLoginCallback(requestCode, resultCode, data) - } - 32973 -> { - onWeiboLoginCallback(requireActivity(), requestCode, resultCode, data) - } - REQUEST_MESSAGE -> { - mUnreadViewModel.retry() - } - } - } - - override fun onClick(v: View?) { - super.onClick(v) - mStubBinding.run { - when (v) { - collapsingToolbar, - toolbar, - personalInfo -> { - if (mUserInfoEntity == null) { - CheckLoginUtils.checkLogin(context, "我的光环-手机登录", null) - } - } - personalLogin -> { - onEvent("我的光环_新", "立即登录", "点击登录") - CheckLoginUtils.checkLogin(context, "我的光环-立即登录", null) - } - personalMsg -> { - if (CheckLoginUtils.isLogin()) { - onEvent("我的光环", "消息") - onEvent("我的光环_新", "消息中心", "点击消息中心") - NewLogUtils.logMessageInformBellClick( - mStubBinding.loginMessageHint.visibility == View.VISIBLE, - "我的" - ) - startActivityForResult( - MessageActivity.getIntent(context, "(我的光环)+(消息中心)"), - REQUEST_MESSAGE - ) - } else { - onEvent("我的光环_新", "功能入口-跳转登录", "消息中心") - CheckLoginUtils.checkLogin(context, "我的光环-消息") {} - } - } - personalUserSmallIcon, personalUserIcon -> { - if (mUserInfoEntity != null) { - onEvent("我的光环", "个人中心") - onEvent("我的光环_新", "头像", "点击头像") - directToHomeActivity( - requireContext(), - UserManager.getInstance().userId, - "", - "我的光环" - ) - } else { - onEvent("我的光环", "手机登录") - CheckLoginUtils.checkLogin(context, "我的光环-手机登录", null) - } - } - personalUserNameSmall, personalUserName -> { - if (mUserInfoEntity != null) { - onEvent("我的光环", "个人中心") - onEvent("我的光环_新", "昵称", "点击昵称") - directToHomeActivity( - requireContext(), - UserManager.getInstance().userId, - "", - "我的光环" - ) - } else { - onEvent("我的光环", "手机登录") - CheckLoginUtils.checkLogin(context, "我的光环-手机登录", null) - } - } - ivArrow, personalHome -> { - if (mUserInfoEntity != null) { - onEvent("我的光环", "个人主页") - onEvent("我的光环_新", "个人主页", "进入个人主页") - directToHomeActivity( - requireContext(), - UserManager.getInstance().userId, - "", - "我的光环" - ) - } else { - CheckLoginUtils.checkLogin(context, "我的光环-个人主页", null) - } - } - personalBadge -> { - onEvent("我的光环_新", "徽章中心", "进入徽章中心") - directToBadgeWall( - requireContext(), - mUserInfoEntity?.userId, - mUserInfoEntity?.name, - mUserInfoEntity?.icon - ) - } - } - } - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - mDatabase = AppDatabase.getInstance() - val factory = UserViewModel.Factory(requireActivity().application) - mUserViewModel = ViewModelProvider(this, factory).get(UserViewModel::class.java) - mUserHomeViewModel = ViewModelProvider( - this, UserHomeViewModel.Factory( - HaloApp.getInstance().application, - UserManager.getInstance().userId - ) - ).get(UserHomeViewModel::class.java) - mUnreadViewModel = ViewModelProvider( - this, - MessageUnreadViewModel.Factory(HaloApp.getInstance().application) - ).get(MessageUnreadViewModel::class.java) - mPersonalViewModel = ViewModelProvider(this).get(PersonalViewModel::class.java) - - observeNoneUIRelatedChanges() - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - if (PackageFlavorHelper.IS_TEST_FLAVOR) { - val indicator = requireActivity() - .window - .decorView - .findViewById(android.R.id.content) - .findViewById(BaseActivity.ID_ROOT_INDICATOR) - indicator?.setOnClickListener { - requireContext().startActivity( - getIntent(requireContext()) - ) - } - } - } - - override fun onFragmentFirstVisible() { - super.onFragmentFirstVisible() - inflateRealView() - observeUIRelatedChanges() - } - - override fun onFragmentResume() { - super.onFragmentResume() - - if (NetworkUtils.isNetworkConnected(requireContext())) { - mUnreadViewModel.retry() - mUserHomeViewModel.getBadgeList() - mUserHomeViewModel.availableBadges() - } - val currentItem = (parentFragment as MainWrapperFragment).currentItem - if (currentItem == MainWrapperFragment.INDEX_PERSONAL) { - DisplayUtils.setLightStatusBar(requireActivity(), false) - } - } - - @SuppressLint("CheckResult") - private fun observeUIRelatedChanges() { - mPersonalViewModel.appEntity.observe(this, { - if (it.versionCode > PackageUtils.getGhVersionCode()) { - notifyItemChange("设置", FunctionalMessageType.NEW_VERSION) - } else { - notifyItemChange("设置", null) - } - }) - - mUserViewModel.loginObsUserinfo.observe( - this, - { userInfoEntity: ApiResponse? -> - if (userInfoEntity != null && userInfoEntity.data != null) { - changeLoginState(true) - } else { - changeLoginState(false) - } - }) - - mUserHomeViewModel.badges.observe(this - ) { badgeEntities: List -> - mStubBinding.personalBadgeIcon.setImageURI("") - if (badgeEntities.isEmpty()) { - mStubBinding.personalBadgeTv.visibility = View.GONE - mStubBinding.personalBadgeCountTv.visibility = View.GONE - mStubBinding.personalMyBadgeIcon.visibility = View.VISIBLE - } else { - mStubBinding.personalBadgeTv.visibility = View.VISIBLE - mStubBinding.personalBadgeCountTv.visibility = View.VISIBLE - mStubBinding.personalMyBadgeIcon.visibility = View.GONE - mStubBinding.personalBadgeCountTv.text = badgeEntities.size.toString() + "" - for ((_, _, icon, name, _, wear, _, actions) in badgeEntities) { - if (wear) { - display( - mStubBinding.personalBadgeIcon, - icon - ) - mStubBinding.personalBadgeIcon.setOnClickListener { - DialogUtils.showViewBadgeDialog( - requireContext(), - Badge(name, icon, actions), - object :ConfirmListener{ - override fun onConfirm() { - directToBadgeWall( - requireContext(), - mUserInfoEntity?.userId, - mUserInfoEntity?.name, - mUserInfoEntity?.icon - ) - } - } - ) - } - break - } - } - } -// mStubBinding.personalBadgeIcon.setImageURI("") -// -// if (badgeEntities.isEmpty()) { -// mStubBinding.personalBadgeTv.setText("我的徽章") -// } else { -// mStubBinding.personalBadgeTv.setText( -// String.format( -// Locale.CHINA, -// "%d枚徽章", -// badgeEntities.size -// ) -// ) -// for ((_, _, icon, name, _, wear, _, actions) in badgeEntities) { -// if (wear) { -// display(mStubBinding.personalBadgeIcon, icon) -// mStubBinding.personalBadgeIcon.setOnClickListener(View.OnClickListener { v: View? -> -// DialogUtils.showViewBadgeDialog( -// requireContext(), -// Badge(name, icon, actions) -// ) { -// directToBadgeWall( -// requireContext(), -// mUserInfoEntity?.userId, -// mUserInfoEntity?.name, -// mUserInfoEntity?.icon -// ) -// } -// }) -// break -// } -// } -// } - } - mUserHomeViewModel.availableBadgeCount.observe(this, - { count: Int -> - mStubBinding.personalBadgeTips.visibility = - if (count > 0) View.VISIBLE else View.GONE - }) - - mUserHomeViewModel.availableBadge.observe(this - ) { badge: BadgeEntity? -> - // 徽章领取弹窗每隔7天弹出一次,所以要判断现在是否是上一次弹出的第7天或者之后 - if (badge != null && System.currentTimeMillis() >= getLong(SP_BADGE_RECORD_SEVEN_DAY)) { - // 徽章领取弹窗每隔7天弹出一次,所以本次弹出后就记录7天后的时间戳 - setLong( - SP_BADGE_RECORD_SEVEN_DAY, - getStartTimeOfDay(System.currentTimeMillis() + 86400000 * 6) - ) - DialogUtils.showReceiveBadgeDialog( - requireContext(), badge,object :ConfirmListener{ - override fun onConfirm() { - mPersonalViewModel.applyOrReceiveBadge(badge.id, { - if ("self" == badge.receive?.type) { - showToast("领取成功") - } else { - showToast("申请成功") - } - // 跳转到徽章详情 - directToBadgeDetail( - requireContext(), - mUserInfoEntity?.userId, - badge.id - ) - }, { - if ("self" == badge.receive?.type) { - showToast("领取失败") - } else { - showToast("申请失败") - } - }) - } - } - ) - } - } - - mPersonalViewModel.haloAddData.observe( - this - ) { datas: ArrayList -> - if (datas.isNotEmpty()) { - mPersonalFuncGroupAdapter.setListData(datas) - mPersonalViewModel.checkUpdate() - } - } - - mUnreadViewModel.liveData.observe(this) { messageUnread: MessageUnreadEntity? -> - if (messageUnread != null && messageUnread.total > 0) { - mStubBinding.personalNewFansTips.visibility = - if (messageUnread.fans > 0) View.VISIBLE else View.GONE - mStubBinding.personalHome.text = - if (messageUnread.fans > 0) (if (messageUnread.fans < 100) messageUnread.fans else "99+").toString() + "位新粉丝" else "个人主页" - val count = messageUnread.total - messageUnread.fans - mStubBinding.loginMessageHint.visibility = - if (count > 0) View.VISIBLE else View.GONE - BindingAdapters.setMessageUnread(mStubBinding.loginMessageHint, count) - } else { - mStubBinding.loginMessageHint.visibility = View.GONE - mStubBinding.personalHome.text = "个人主页" - mStubBinding.personalNewFansTips.visibility = View.GONE - EventBus.getDefault() - .post(EBReuse(MESSAGE_READ_OVER)) - } - } - mUnreadViewModel.zixunConcernLiveData.observe(this, - { hasConcern: Boolean -> - notifyItemChange( - "游戏动态", - if (hasConcern) FunctionalMessageType.NEW_MESSAGE else null - ) - }) - mUnreadViewModel.addonsUnreadLiveData.observe(this, - { (favorite) -> - notifyItemChange( - "我的收藏", - if (favorite > 0) FunctionalMessageType.NEW_MESSAGE else null - ) - }) - - // 微信/签到 - RxView.clicks(mStubBinding.personalSign) - .throttleFirst(1, TimeUnit.SECONDS) - .subscribe { - if (CheckLoginUtils.isLogin()) { - onEvent("我的光环", "签到") - onEvent("我的光环_新", "签到", "点击签到") - sign() - } else { - onEvent("我的光环_新", "功能入口-跳转登录", "签到") - CheckLoginUtils.checkLogin(context, "我的光环-签到") {} - } - } - } - - private fun sign() { - mPersonalViewModel.sign { signEntity -> - mStubBinding.personalSign.setImageDrawable( - ContextCompat.getDrawable( - requireContext(), - R.drawable.personal_sign_icon_yellow - ) - ) - if (mPersonalViewModel.isCanSign(signEntity.lastTime)) { - DialogUtils.showSignDialog( - context, - "签到成功,获得经验:1", - getString(R.string.sign_dialog_content, signEntity.serialSign), - getString(R.string.sign_dialog_content2, signEntity.experience), - getSignSkipText(signEntity.title), - object :ConfirmListener{ - override fun onConfirm() { - mPersonalViewModel.signSkip(signEntity) - } - } - ) - signEntity.lastTime = System.currentTimeMillis() / 1000 - } else { - DialogUtils.showSignDialog( - context, - "今天已签到,明天再来吧~", - getString(R.string.sign_dialog_content, signEntity.serialSign), - getString(R.string.sign_dialog_content2, signEntity.experience), - getSignSkipText(signEntity.title), object : ConfirmListener { - override fun onConfirm() { - mPersonalViewModel.signSkip(signEntity) - } - }) - } - signEntity.id = UserManager.getInstance().userId - if (mDatabase.signDao().updateSignEntity(signEntity) <= 0) { - try { - mDatabase.signDao().addSignEntity(signEntity) - } catch (e: SQLiteException) { - e.printStackTrace() - } - } - } - } - - private fun getSignSkipText(text: String): String = - if (TextUtils.isEmpty(text)) "去首页看看" else text - - private fun notifyItemChange(funcName: String, msg: FunctionalMessageType?) { - var notifyIndex = -1 - var notifySubIndex = -1 - val mEntityList = mPersonalFuncGroupAdapter.mEntityList - for ((index, group) in mEntityList.withIndex()) { - for ((subIndex, linkEntity) in group.addons.withIndex()) { - if (TextUtils.equals(linkEntity.type, funcName) && linkEntity.message != msg) { - linkEntity.message = msg - notifyIndex = index - notifySubIndex = subIndex - break - } - } - } - if (notifyIndex != -1) { - mStubBinding.personalFunc.postDelayed({ - tryCatchInRelease { - mPersonalFuncGroupAdapter.notifySubItemChanged(notifyIndex, notifySubIndex) - } - }, 500) - } - } - - private fun changeLoginState(isLogin: Boolean) { - if (isLogin) { - // 设置背景 - if (mUserInfoEntity?.background != null) { - display(mStubBinding.personalBackground, mUserInfoEntity?.background?.url) - // 自定义背景才需要加阴影 - if (TextUtils.isEmpty(mUserInfoEntity?.background?.id)) { - mStubBinding.personalBackgroundShadow.visibility = View.VISIBLE - } - } else { - display(mStubBinding.personalBackground, R.drawable.bg_home_user_info) - } - val signEntity = - mDatabase.signDao().getSignEntityById(UserManager.getInstance().userId) - if (signEntity != null && !mPersonalViewModel.isCanSign(signEntity.lastTime)) { - mStubBinding.personalSign.setImageDrawable( - ContextCompat.getDrawable( - requireContext(), - R.drawable.personal_sign_icon_yellow - ) - ) - } else { - mStubBinding.personalSign.setImageDrawable( - ContextCompat.getDrawable( - requireContext(), - R.drawable.personal_sign_icon_white - ) - ) - } - if (mUserInfoEntity != null) { - mStubBinding.personalUserIcon.display( - if (mUserInfoEntity?.iconBorder == null) "" else mUserInfoEntity?.iconBorder?.url, - mUserInfoEntity?.icon, - null - ) - displayIcon(mStubBinding.personalUserSmallIcon, mUserInfoEntity?.icon) - mStubBinding.personalUserName.visibility = View.VISIBLE - mStubBinding.personalBadge.visibility = View.VISIBLE - mStubBinding.personalHome.visibility = View.VISIBLE - mStubBinding.personalLogin.visibility = View.GONE - mStubBinding.personalUserName.text = mUserInfoEntity?.name - mStubBinding.personalUserNameSmall.text = mUserInfoEntity?.name - } - mUserHomeViewModel.userId = UserManager.getInstance().userId - mUserHomeViewModel.getBadgeList() - mUserHomeViewModel.availableBadges() - loadMessageUnreadTotal(true) - } else { - display(mStubBinding.personalBackground, R.drawable.personal_top_bg) - mStubBinding.personalBackgroundShadow.visibility = View.GONE - mStubBinding.personalUserIcon.display("", "", "") - mStubBinding.personalUserSmallIcon.setImageURI("") - // mPersonalBadgeTv.setText("我的徽章"); - mStubBinding.personalUserNameSmall.text = "立即登录" - mStubBinding.personalUserName.visibility = View.GONE - mStubBinding.personalHome.visibility = View.GONE - mStubBinding.personalBadge.visibility = View.GONE - mStubBinding.personalLogin.visibility = View.VISIBLE - if (mStubBinding.loginMessageHint.visibility == View.VISIBLE) { - mStubBinding.loginMessageHint.visibility = View.GONE - EventBus.getDefault().post(EBReuse(MESSAGE_READ_OVER)) - } - } - } - - private fun inflateRealView() { - mBinding.stub.inflate() - - mStubBinding.collapsingToolbar.setOnClickListener(this) - mStubBinding.toolbar.setOnClickListener(this) - mStubBinding.personalInfo.setOnClickListener(this) - mStubBinding.personalLogin.setOnClickListener(this) - mStubBinding.personalMsg.setOnClickListener(this) - mStubBinding.personalHome.setOnClickListener(this) - mStubBinding.ivArrow.setOnClickListener(this) - mStubBinding.personalLogin.setOnClickListener(this) - mStubBinding.personalUserName.setOnClickListener(this) - mStubBinding.personalUserNameSmall.setOnClickListener(this) - mStubBinding.personalUserIcon.setOnClickListener(this) - mStubBinding.personalUserSmallIcon.setOnClickListener(this) - mStubBinding.personalBadge.setOnClickListener(this) - - mPersonalFuncGroupAdapter = PersonalFunctionGroupAdapter(requireContext()) - mStubBinding.personalFunc.layoutManager = LinearLayoutManager(requireContext()) - mStubBinding.personalFunc.adapter = mPersonalFuncGroupAdapter - mStubBinding.personalFunc.addItemDecoration(getItemDecoration()) - - val statusBarHeight = - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) 0 else DisplayUtils.getStatusBarHeight( - resources - ) - val params: ViewGroup.LayoutParams = mStubBinding.toolbar.layoutParams - params.height = DisplayUtils.dip2px(50F) + statusBarHeight - mStubBinding.toolbar.layoutParams = params - - mStubBinding.appbar.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { _: AppBarLayout?, verticalOffset: Int -> - val absOffset = abs(verticalOffset) - val invisibleOffset = - DisplayUtils.dip2px(56F + 48F - 50F) - DisplayUtils.getStatusBarHeight(resources) - if (absOffset <= invisibleOffset) { - mStubBinding.personalUserSmallIcon.visibility = View.GONE - mStubBinding.personalUserNameSmall.visibility = View.GONE - mStubBinding.toolbar.background = null - } else { - mStubBinding.personalUserSmallIcon.visibility = View.VISIBLE - mStubBinding.personalUserNameSmall.visibility = View.VISIBLE - mStubBinding.toolbar.setBackgroundResource(R.drawable.personal_top_bg) - } - mStubBinding.listRefresh.isEnabled = absOffset <= 2 - }) - mStubBinding.listRefresh.setColorSchemeColors( - ContextCompat.getColor( - requireContext(), - R.color.theme - ) - ) - mStubBinding.listRefresh.setProgressViewOffset( - false, - 0, - DisplayUtils.dip2px(80F) + DisplayUtils.getStatusBarHeight(requireContext().resources) - ) - mStubBinding.listRefresh.setOnRefreshListener { - mPersonalViewModel.getHaloAddons() - if (CheckLoginUtils.isLogin()) { - mUnreadViewModel.retry() - loadMessageUnreadTotal(false) - mUserHomeViewModel.getBadgeList() - mUserHomeViewModel.availableBadges() - } - mBaseHandler.postDelayed({ mStubBinding.listRefresh.isRefreshing = false }, 2000) - onEvent("我的光环_新", "下拉刷新", "下拉刷新") - } - loadMessageUnreadTotal(true) - } - - private fun observeNoneUIRelatedChanges() { - mPersonalViewModel.getHaloAddons() - mUserViewModel.loginObsUserinfo.observe(this, - { userInfoEntity: ApiResponse? -> - val notifyUserInfo: UserInfoEntity? = userInfoEntity?.data - if (notifyUserInfo != null && mUserInfoEntity == null) { // 单个用户,首次触发 - EventBus.getDefault().post(EBConcernChanged()) - val loginTokenEntity = - UserManager.getInstance().loginTokenEntity - if (mIsLogging && loginTokenEntity != null) { - val loginType = loginTokenEntity.loginType - LogUtils.login( - "success", - loginType, - mPersonalViewModel.getLoginEntranceByType(loginType) - ) - mIsLogging = false - } - } - mUserInfoEntity = notifyUserInfo - if (notifyUserInfo == null) { - mUnreadViewModel.clean() - EventBus.getDefault().post(EBConcernChanged()) - } - }) - mPersonalViewModel.haloAddData.observe( - this, - { datas: ArrayList -> - if (datas.isNotEmpty()) { - loadMessageUnreadTotal(false) - } - }) - } - - // 连接上网络事件 - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEventMainThread(busNetworkState: EBNetworkState) { - if (busNetworkState.isNetworkConnected - && UserManager.getInstance().isLoggedIn - && (mUserInfoEntity == null || TextUtils.isEmpty(UserManager.getInstance().token)) - ) { - mUserViewModel.retryCheckLogin() - } - if (busNetworkState.isNetworkConnected) { - mPersonalViewModel.getHaloAddons() - } - } - -// @Subscribe(threadMode = ThreadMode.MAIN) -// fun onEventMainThread(busNine: EBUISwitch) { -// if (MainWrapperFragment.EB_MAIN_SCROLL_TOP == busNine.getFrom() && MainWrapperFragment.INDEX_PERSONAL == busNine.getPosition()) { -// //mScrollView.fullScroll(ScrollView.FOCUS_UP) -// } -// } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEventMainThread(reuse: EBReuse) { - if (MESSAGE_READ_OVER == reuse.type) { // 消息阅读完成 - mStubBinding.loginMessageHint.visibility = View.GONE - } - } - - private fun getItemDecoration() = VerticalItemDecoration(requireContext(), 8F, false) - .apply { mItemDecoration = this } - - override fun onDarkModeChanged() { - super.onDarkModeChanged() - if (::mStubBinding.isInitialized && ::mPersonalFuncGroupAdapter.isInitialized) { - mStubBinding.listRefresh.setBackgroundColor(R.color.background.toColor(requireContext())) - mPersonalFuncGroupAdapter.notifyItemRangeChanged(0, mPersonalFuncGroupAdapter.itemCount) - mItemDecoration?.let { mStubBinding.personalFunc.removeItemDecoration(it) } - mStubBinding.personalFunc.addItemDecoration(getItemDecoration()) - } - } - - companion object { - private const val MESSAGE_READ_OVER = "MESSAGE_READ_OVER" - private const val SP_BADGE_RECORD_SEVEN_DAY = "badgeRecordSevenDay" - private const val REQUEST_MESSAGE = 199 - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt deleted file mode 100644 index 39f34c761e..0000000000 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt +++ /dev/null @@ -1,346 +0,0 @@ -package com.gh.gamecenter.personal - -import android.content.Context -import android.content.Intent -import android.os.Build -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.ImageView -import android.widget.TextView -import androidx.recyclerview.widget.RecyclerView -import com.facebook.drawee.view.SimpleDraweeView -import com.gh.common.util.CheckLoginUtils -import com.gh.common.util.DataCollectionUtils -import com.gh.common.util.DirectUtils -import com.gh.common.util.NewLogUtils -import com.gh.gamecenter.* -import com.gh.gamecenter.common.constant.Constants -import com.gh.gamecenter.common.utils.DialogHelper -import com.gh.gamecenter.common.utils.ImageUtils -import com.gh.gamecenter.common.utils.PermissionHelper -import com.gh.gamecenter.common.utils.toColor -import com.gh.gamecenter.core.utils.EmptyCallback -import com.gh.gamecenter.core.utils.MtaHelper -import com.gh.gamecenter.core.utils.SPUtils -import com.gh.gamecenter.db.GameTrendsDao -import com.gh.gamecenter.entity.FunctionalGroupEntity -import com.gh.gamecenter.entity.FunctionalLinkEntity -import com.gh.gamecenter.entity.FunctionalMessageType -import com.gh.gamecenter.game.upload.GameSubmissionActivity -import com.gh.gamecenter.gamecollection.mine.MyGameCollectionActivity -import com.gh.gamecenter.gamedetail.myrating.MyRatingActivity -import com.gh.gamecenter.history.HistoryActivity -import com.gh.gamecenter.login.user.UserManager -import com.gh.gamecenter.message.MessageUnreadRepository -import com.gh.gamecenter.mygame.MyGameActivity -import com.gh.gamecenter.qa.myqa.MyAskActivity -import com.gh.gamecenter.security.SecurityActivity -import com.gh.gamecenter.simulatorgame.SimulatorGameActivity -import com.gh.gamecenter.teenagermode.TeenagerModeActivity -import com.gh.gamecenter.toolbox.ToolBoxBlockActivity -import com.gh.gamecenter.video.videomanager.VideoManagerActivity -import com.halo.assistant.HaloApp -import com.lightgame.adapter.BaseRecyclerAdapter - -class PersonalFunctionAdapter(val context: Context, val groupName: String, var mEntityList: ArrayList) : - BaseRecyclerAdapter(context) { - - private var mDisplayUpdateHint = false - private val gameTrendsDao = GameTrendsDao(HaloApp.getInstance().application) - private var countAndKey: Pair? = null - - init { - var dataIds = "" - mEntityList.forEach { - dataIds += it.id - } - if (dataIds.isNotEmpty()) countAndKey = Pair(mEntityList.size, dataIds) - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { - return object : RecyclerView.ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_personal_func, parent, false)) {} - } - - override fun getItemCount(): Int = mEntityList.size - - override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { - val linkEntity = mEntityList[position] - holder.itemView.apply { - val addIconIv = findViewById(R.id.iv_addon_icon) - val nameTv = findViewById(R.id.tv_name) - val updateHintIv = findViewById(R.id.iv_update_hint) - val messageTips = findViewById(R.id.iv_message_tips) - if (linkEntity.iconRes != 0) { - ImageUtils.display(addIconIv, linkEntity.iconRes) - } else { - ImageUtils.display(addIconIv, linkEntity.icon) - } - nameTv.text = linkEntity.name - nameTv.setTextColor(R.color.text_subtitle.toColor(context)) - messageTips.visibility = View.GONE - updateHintIv.visibility = View.GONE - - if (linkEntity.message == null) { - messageTips.visibility = View.GONE - updateHintIv.visibility = View.GONE - } else { - when (linkEntity.message) { - FunctionalMessageType.NEW_VERSION -> { - updateHintIv.visibility = View.VISIBLE - mDisplayUpdateHint = true - } - FunctionalMessageType.NEW_MESSAGE -> { - messageTips.visibility = View.VISIBLE - } - else -> { - //do nothing - } - } - } - if (linkEntity.remind) { - messageTips.visibility = View.VISIBLE - } - if (linkEntity.type == "设置" && !checkPrivacyIsSame()) { - messageTips.visibility = View.VISIBLE - } - - setOnClickListener { - directPage(linkEntity) - } - } - } - - private fun checkPrivacyIsSame(): Boolean { - val currentMd5 = SPUtils.getString(Constants.SP_PRIVACY_CURRENT_MD5) - val settingMd5 = SPUtils.getString(Constants.SP_PRIVACY_SETTING_MD5) - return currentMd5 == settingMd5 - } - - private fun directPage(linkEntity: FunctionalLinkEntity) { - if (linkEntity.remind) { - val haveReadRecord: HashSet = SPUtils.getStringSet(Constants.SP_ADDONS_FUNCS_HAVE_READ) as HashSet - val newReadRecord = hashSetOf()//这里必须重新创建HashSet对象,否则重启app数据不能保存 - newReadRecord.addAll(haveReadRecord) - newReadRecord.add(linkEntity.id) - SPUtils.setStringSet(Constants.SP_ADDONS_FUNCS_HAVE_READ, newReadRecord) - MessageUnreadRepository.loadMessageUnreadTotal(true) - linkEntity.remind = false - notifyDataSetChanged() - } - - MtaHelper.onEvent("我的光环_新", "功能入口", "$groupName+${linkEntity.name}") - NewLogUtils.logHaloSelfClick(groupName, linkEntity.name ?: "", linkEntity.type ?: "", linkEntity.link ?: "",linkEntity.text?:"") - when (linkEntity.type) { - "我的游戏" -> { - if (UserManager.getInstance().isLoggedIn) { - MtaHelper.onEvent("我的光环", "我的游戏") - context.startActivity(Intent(context, MyGameActivity::class.java)) - } else { - MtaHelper.onEvent("我的光环", "我的游戏") - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "我的游戏") - CheckLoginUtils.checkLogin(context, "我的光环-我的游戏") {} - } - } - "我的收藏" -> { - if (UserManager.getInstance().isLoggedIn) { - if ((MessageUnreadRepository.addonsUnread.value?.favorite ?: 0) > 0) { - MessageUnreadRepository.refreshUnreadCount(MessageUnreadRepository.UnreadMessageType.FAVORITE) - } - MtaHelper.onEvent("我的光环", "收藏") - context.startActivity(CollectionActivity.getCollectionActivity(context, "(我的光环)")) - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "我的收藏") - CheckLoginUtils.checkLogin(context, "我的光环-收藏") {} - } - - } - "帮助与反馈" -> { - MtaHelper.onEvent("我的光环", "反馈") - DirectUtils.directToHelpAndFeedback(context) - } - "浏览记录" -> { - context.startActivity(HistoryActivity.getHistoryIntent(context, "我的光环-浏览记录")) - MtaHelper.onEvent("我的光环", "浏览记录") - } - "视频投稿" -> { - if (UserManager.getInstance().isLoggedIn) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH || BuildConfig.DEBUG) { - context.startActivity(VideoManagerActivity.getIntent(context, "", "我的光环-视频投稿")) - } else { - DialogHelper.showDialog( - context, "提示", - "抱歉,您当前系统版本过低,暂不支持视频功能", "我知道了", "" - ) - } - MtaHelper.onEvent("我的光环", "视频投稿") - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "视频投稿") - CheckLoginUtils.checkLogin(context, "我的光环-视频投稿") {} - } - } - "账号安全" -> { - if (UserManager.getInstance().isLoggedIn) { - context.startActivity(SecurityActivity.getIntent(context, "我的光环-账号安全")) - MtaHelper.onEvent("我的光环", "账号安全") - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "账号安全") - CheckLoginUtils.checkLogin(context, "我的光环-账号安全") {} - } - } - "模拟器游戏" -> { - MtaHelper.onEvent("我的光环", "模拟器游戏") - context.startActivity(SimulatorGameActivity.getIntent(context)) - } - "收货信息" -> { - if (UserManager.getInstance().isLoggedIn) { - context.startActivity(DeliveryInfoActivity.getIntent(context)) - MtaHelper.onEvent("我的光环", "收货信息") - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "收货信息") - CheckLoginUtils.checkLogin(context, "我的光环-账号安全") {} - } - } - "游戏评论" -> { - if (UserManager.getInstance().isLoggedIn) { - context.startActivity(MyRatingActivity.getIntent(context, "", "我的光环-游戏评论")) - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "我的游戏评论") - CheckLoginUtils.checkLogin(context, "我的光环-游戏评论") {} - } - } - "我的问答" -> { - if (UserManager.getInstance().isLoggedIn) { - MtaHelper.onEvent("我的光环", "我的问答") - context.startActivity(MyAskActivity.getIntent(context)) - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "我的问答") - CheckLoginUtils.checkLogin(context, "我的光环-我的问答") { } - } - } - "实名认证" -> { - context.startActivity(ShellActivity.getIntent(context, ShellActivity.Type.REAL_NAME_INFO, null)) - } - "微信提醒" -> { - if (UserManager.getInstance().isLoggedIn) { - MtaHelper.onEvent("我的光环", "设置微信提醒") - context.startActivity(WebActivity.getBindWechatIntent(context)) - } else { - CheckLoginUtils.checkLogin(context, "我的光环-微信提醒") { } - } - } - "分享光环" -> { - MtaHelper.onEvent("我的光环", "分享") - context.startActivity(ShareGhActivity.getIntent(context)) - } - "设置" -> { - if (!checkPrivacyIsSame()) { - SPUtils.setString( - Constants.SP_PRIVACY_SETTING_MD5, SPUtils.getString( - Constants.SP_PRIVACY_CURRENT_MD5 - ) - ) - notifyDataSetChanged() - } - MtaHelper.onEvent("我的光环", "设置图标") - DataCollectionUtils.uploadClick(context, "设置图标", "我的光环") - context.startActivity(SettingActivity.getIntent(context, mDisplayUpdateHint, "(我的光环)")) - } - "游戏动态" -> { - if (UserManager.getInstance().isLoggedIn) { - DataCollectionUtils.uploadClick(context, "游戏动态", "发现") - DirectUtils.directToConcernInfo(context) - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "游戏动态") - CheckLoginUtils.checkLogin(context, "我的光环-游戏动态") { } - } - val trendsInfo = gameTrendsDao.findGameTrendsInfo(UserManager.getInstance().userId) - if (trendsInfo != null) { - trendsInfo.readPostTime = System.currentTimeMillis() - gameTrendsDao.add(trendsInfo) - MessageUnreadRepository.loadMessageUnreadTotal(true) - } - } - "资讯中心" -> { - DataCollectionUtils.uploadClick(context, "资讯中心", "发现") - - context.startActivity(InfoActivity.getIntent(context)) - } - "礼包中心" -> { - DataCollectionUtils.uploadClick(context, "礼包中心", "发现") - DirectUtils.directToGift(context, "(发现:礼包)") - } - "工具箱" -> { - DataCollectionUtils.uploadClick(context, "工具箱", "发现") - - context.startActivity(ToolBoxBlockActivity.getIntent(context, "(发现:工具箱)")) - } - "安装包清理" -> { - DataCollectionUtils.uploadClick(context, "安装包清理", "发现") - context.startActivity(CleanApkActivity.getIntent(context)) - } - "个人中心" -> { - if (UserManager.getInstance().isLoggedIn) { - context.startActivity(UserInfoActivity.getIntent(context)) - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "个人中心") - CheckLoginUtils.checkLogin(context, "我的光环-个人中心") {} - } - } - "游戏投稿" -> { - if (UserManager.getInstance().isLoggedIn) { - MtaHelper.onEvent("我的光环", "游戏投稿") - PermissionHelper.checkStoragePermissionBeforeAction(context, object : EmptyCallback { - override fun onCallback() { - context.startActivity(GameSubmissionActivity.getIntent(context, "(我的光环)", "")) - } - }) - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "游戏投稿") - CheckLoginUtils.checkLogin(context, "我的光环-游戏投稿") { } - } - } - "视频数据" -> { - if (UserManager.getInstance().isLoggedIn) { - DirectUtils.directVideoData(context, "我的光环-视频数据") - } else { - MtaHelper.onEvent("我的光环_新", "功能入口-跳转登录", "视频数据") - CheckLoginUtils.checkLogin(context, "我的光环-视频数据") {} - } - } - "青少年模式" -> { - context.startActivity(TeenagerModeActivity.getIntent(context)) - } - "我的游戏单" -> { - if (UserManager.getInstance().isLoggedIn) { - context.startActivity(MyGameCollectionActivity.getIntent(context)) - } else { - CheckLoginUtils.checkLogin(context, "我的光环-我的游戏单") { } - } - } - else -> { - DirectUtils.directToLinkPage(context, linkEntity, "", "我的光环") - } - } - - } - - fun checkResetData(entity: FunctionalGroupEntity) { - var dataIds = "" - entity.addons.forEach { - dataIds += it.id - } - - mEntityList = entity.addons - if (countAndKey?.first == entity.addons.size && countAndKey?.second != dataIds) { - notifyItemRangeChanged(0, itemCount) - } else if (countAndKey?.first != entity.addons.size) { - notifyDataSetChanged() - } else { - notifyItemRangeChanged(0, itemCount) - } - - // 重新刷新数据标识 - countAndKey = Pair(entity.addons.size, dataIds) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionGroupAdapter.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionGroupAdapter.kt deleted file mode 100644 index a73a27ec9d..0000000000 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionGroupAdapter.kt +++ /dev/null @@ -1,91 +0,0 @@ -package com.gh.gamecenter.personal - -import android.content.Context -import android.util.SparseArray -import android.view.LayoutInflater -import android.view.ViewGroup -import android.widget.TextView -import androidx.core.util.isEmpty -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.RecyclerView -import com.gh.gamecenter.common.constant.Constants -import com.gh.gamecenter.core.utils.SPUtils -import com.gh.gamecenter.common.utils.dip2px -import com.gh.gamecenter.common.utils.toColor -import com.gh.gamecenter.common.utils.toDrawable -import com.gh.gamecenter.common.view.GridSpacingItemColorDecoration -import com.gh.gamecenter.R -import com.gh.gamecenter.entity.FunctionalGroupEntity -import com.lightgame.adapter.BaseRecyclerAdapter - -class PersonalFunctionGroupAdapter(val context: Context) : BaseRecyclerAdapter(context) { - val mEntityList = ArrayList() - private val mSubAdapters = SparseArray() - - fun setListData(datas: ArrayList) { - mEntityList.clear() - mEntityList.addAll(datas) - val haveReadRecord: HashSet = SPUtils.getStringSet(Constants.SP_ADDONS_FUNCS_HAVE_READ) as HashSet - mEntityList.forEach loop@{ group -> - group.addons.forEach { func -> - if (func.remind && haveReadRecord.contains(func.id)) { - func.remind = false - } - } - } - notifyDataSetChanged() - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { - return object : RecyclerView.ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_personal_fun_group, parent, false)) {} - } - - override fun getItemCount(): Int = mEntityList.size - - override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { - val groupEntity = mEntityList[position] - val groupNameTv = holder.itemView.findViewById(R.id.tv_group_name) - val funcRv = holder.itemView.findViewById(R.id.funcRv) - groupNameTv.text = groupEntity.name - funcRv.apply { - if (adapter != null) { - groupNameTv.setTextColor(R.color.text_title.toColor(holder.itemView.context)) - holder.itemView.background = R.drawable.bg_personal_card.toDrawable(holder.itemView.context) - holder.itemView.setPadding(18F.dip2px(), 16F.dip2px(), 16F.dip2px(), 28F.dip2px()) - for (i in 0 until itemDecorationCount) { - removeItemDecorationAt(i) - } - addItemDecoration( - GridSpacingItemColorDecoration( - context, - 0, - 32, - R.color.background_white - ) - ) - (adapter as PersonalFunctionAdapter).checkResetData(groupEntity) - return - } - val personalFunctionAdapter = PersonalFunctionAdapter(context, groupEntity.name, groupEntity.addons) - adapter = personalFunctionAdapter - mSubAdapters.put(position, personalFunctionAdapter) - layoutManager = GridLayoutManager(context, 4) - isNestedScrollingEnabled = false - if (itemDecorationCount == 0) { - addItemDecoration( - GridSpacingItemColorDecoration( - context, - 0, - 32, - R.color.background_white - ) - ) - } - } - } - - fun notifySubItemChanged(index: Int, subIndex: Int) { - if (mSubAdapters.isEmpty() || mSubAdapters[index] == null) return - mSubAdapters[index].notifyItemChanged(subIndex) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt deleted file mode 100644 index 01c577f425..0000000000 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt +++ /dev/null @@ -1,264 +0,0 @@ -package com.gh.gamecenter.personal - -import android.annotation.SuppressLint -import android.app.Application -import android.text.TextUtils -import androidx.lifecycle.AndroidViewModel -import androidx.lifecycle.MutableLiveData -import com.gh.gamecenter.common.constant.Constants -import com.gh.common.util.* -import com.gh.gamecenter.GameDetailActivity -import com.gh.gamecenter.MainActivity -import com.gh.gamecenter.NewsDetailActivity -import com.gh.gamecenter.R -import com.gh.gamecenter.common.entity.LinkEntity -import com.gh.gamecenter.core.utils.SPUtils -import com.gh.gamecenter.core.utils.ToastUtils -import com.gh.gamecenter.entity.* -import com.gh.gamecenter.eventbus.EBSkip -import com.gh.gamecenter.fragment.MainWrapperFragment -import com.gh.gamecenter.login.user.UserManager -import com.gh.gamecenter.common.retrofit.BiResponse -import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.retrofit.RetrofitManager -import com.gh.gamecenter.subject.SubjectActivity -import com.halo.assistant.HaloApp -import com.lightgame.utils.Utils -import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.schedulers.Schedulers -import okhttp3.RequestBody -import okhttp3.ResponseBody -import org.greenrobot.eventbus.EventBus -import retrofit2.HttpException -import java.text.SimpleDateFormat -import java.util.* -import kotlin.collections.ArrayList - -class PersonalViewModel(application: Application) : AndroidViewModel(application) { - - val haloAddData = MutableLiveData>() - val appEntity = MutableLiveData() - private val commonFuncs = arrayListOf( - Triple("我的游戏", R.drawable.personal_my_game, "我的游戏"), - Triple("游戏评论", R.drawable.personal_game_comment, "游戏评论"), - Triple("我的问答", R.drawable.personal_my_questions, "我的问答"), - Triple("视频投稿", R.drawable.personal_video_submission, "视频投稿"), - Triple("我的收藏", R.drawable.personal_my_collect, "我的收藏"), - Triple("浏览记录", R.drawable.personal_browsing_history, "浏览记录"), - Triple("账号安全", R.drawable.personal_account_security, "账号安全"), - Triple("模拟器游戏", R.drawable.personal_simulator_game, "模拟器游戏"), - Triple("收货信息", R.drawable.personal_delivery_info, "收货信息"), - Triple("我的游戏单", R.drawable.personal_game_collection, "我的游戏单") - ) - private val contentCenterFuncs = arrayListOf( - Triple("游戏动态", R.drawable.personal_game_dynamic, "游戏动态"), - Triple("资讯中心", R.drawable.personal_news_center, "资讯中心"), - Triple("礼包中心", R.drawable.personal_gif_center, "礼包中心"), - Triple("工具箱", R.drawable.personal_tools, "工具箱") - ) - private val otherFuncs = arrayListOf( - Triple("帮助与反馈", R.drawable.personal_feedback, "帮助与反馈"), - Triple("实名认证", R.drawable.personal_verified, "实名认证"), - Triple("微信提醒", R.drawable.personal_wechat_remind, "微信提醒"), - Triple("安装包清理", R.drawable.personal_package_chean, "安装包清理"), - Triple("分享光环", R.drawable.personal_share, "分享光环"), - Triple("设置", R.drawable.personal_setting, "设置"), - Triple("青少年模式", R.drawable.personal_teenager_mode, "青少年模式") - ) - - init { - initDefaultData() - } - - @SuppressLint("CheckResult") - fun getHaloAddons() { - RetrofitManager.getInstance() - .api.getHaloAddons(HaloApp.getInstance().channel) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(object : BiResponse>() { - override fun onSuccess(data: ArrayList) { - haloAddData.postValue(data) - data.forEach loop@{ - it.addons.forEach { link -> - if (link.type == "设置") { - SPUtils.setString( - Constants.SP_PRIVACY_CURRENT_MD5, link.checkSum?.privacyPolicy - ?: "") - return@loop - } - } - } - } - }) - } - - private fun initDefaultData() { - val datas = ArrayList() - - val groupEntity1 = FunctionalGroupEntity(name = "常用功能") - commonFuncs.forEach { - groupEntity1.addons.add(FunctionalLinkEntity(iconRes = it.second).apply { - name = it.first - type = it.third - }) - } - datas.add(groupEntity1) - - val groupEntity2 = FunctionalGroupEntity(name = "内容中心") - contentCenterFuncs.forEach { - groupEntity2.addons.add(FunctionalLinkEntity(iconRes = it.second).apply { - name = it.first - type = it.third - }) - } - datas.add(groupEntity2) - - val groupEntity3 = FunctionalGroupEntity(name = "其它功能") - otherFuncs.forEach { - groupEntity3.addons.add(FunctionalLinkEntity(iconRes = it.second).apply { - name = it.first - type = it.third - }) - } - datas.add(groupEntity3) - haloAddData.postValue(datas) - } - - fun checkUpdate() { - RetrofitManager.getInstance() - .api - .getUpdate( - PackageUtils.getGhVersionName(), - PackageUtils.getGhVersionCode(), - HaloApp.getInstance().channel - ) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(object : Response() { - override fun onResponse(response: AppEntity?) { - super.onResponse(response) - if (response != null) { - appEntity.postValue(response) - } - } - }) - } - - fun postMessageRead(messageId: String, body: RequestBody, callback: () -> Unit) { - RetrofitManager.getInstance().api - .postMessageRead( - UserManager.getInstance().userId, - messageId, - body - ) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(object : - Response() { - override fun onResponse(response: ResponseBody?) { - super.onResponse(response) - callback.invoke() - } - }) - } - - fun sign(successCallback: (signEntity: SignEntity) -> Unit) { - val context = getApplication().applicationContext - RetrofitManager.getInstance().api - .postSign(UserManager.getInstance().userId) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(object : Response() { - override fun onResponse(signEntity: SignEntity?) { - if (signEntity != null) { - successCallback.invoke(signEntity) - } - } - - override fun onFailure(e: HttpException?) { - if (e == null || e.code() != 401) { - ToastUtils.toast(context.getString(R.string.loading_network_error)) - } - } - }) - } - - @SuppressLint("CheckResult") - fun applyOrReceiveBadge( - id: String, - successCallback: (data: ResponseBody) -> Unit, - failureCallback: () -> Unit - ) { - RetrofitManager.getInstance().api - .applyOrReceiveBadge(id) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(object : BiResponse() { - override fun onSuccess(data: ResponseBody) { - successCallback.invoke(data) - } - - override fun onFailure(exception: java.lang.Exception) { - super.onFailure(exception) - failureCallback.invoke() - } - }) - } - - fun signSkip(signEntity: SignEntity) { - val context = getApplication().applicationContext - val data = signEntity.data - val entrance = "(我的光环)+(签到)" - if (data == null || TextUtils.isEmpty(data.type)) { - EventBus.getDefault().post(EBSkip(MainActivity.EB_SKIP_MAIN, MainWrapperFragment.INDEX_HOME)) - return - } - when (data.type) { - "game" -> { - GameDetailActivity.startGameDetailActivity(context, data.link, entrance) - } - "news" -> { - context.startActivity(NewsDetailActivity.getIntentById(context, data.link, entrance)) - } - "column" -> { - SubjectActivity.startSubjectActivity( - context, - data.link, - null, - false, - entrance - ) - } - else -> { - val linkEntity = LinkEntity() - linkEntity.type = data.type - linkEntity.link = data.link - linkEntity.text = data.text - linkEntity.community = data.community - linkEntity.display = data.display - DirectUtils.directToLinkPage(context, linkEntity, entrance, "") - } - } - } - - fun isCanSign(time: Long): Boolean { - val context = getApplication().applicationContext - val formatDay = SimpleDateFormat("dd", Locale.CHINA) - val lastSignTime = time * 1000 - val curTime = Utils.getTime(context) * 1000 - val lastSignDay = formatDay.format(lastSignTime).toInt() - val curDay = formatDay.format(curTime).toInt() - return lastSignDay != curDay || curTime - lastSignTime > 24 * 60 * 60 * 1000 - } - - fun getLoginEntranceByType(loginTag: String): String { - var entrance = "" - when (loginTag) { - "qq" -> entrance = "我的光环-QQ" - "wechat" -> entrance = "我的光环-微信" - "weibo" -> entrance = "我的光环-新浪微博" - } - return entrance - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/background/BackgroundPreviewFragment.kt b/app/src/main/java/com/gh/gamecenter/personalhome/background/BackgroundPreviewFragment.kt index 8a1da48f51..fd76e75389 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/background/BackgroundPreviewFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/background/BackgroundPreviewFragment.kt @@ -22,7 +22,7 @@ import com.gh.gamecenter.databinding.FragmentBackgroundPreviewBinding import com.gh.gamecenter.entity.ErrorEntity import com.gh.gamecenter.login.user.UserManager import com.gh.gamecenter.common.base.fragment.ToolbarFragment -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.login.entity.BackgroundImageEntity import com.gh.gamecenter.login.user.UserViewModel import com.halo.assistant.HaloApp @@ -63,7 +63,7 @@ class BackgroundPreviewFragment : ToolbarFragment() { mUserViewModel.uploadBackground.observeNonNull(this) { mPostDialog?.dismiss() if (it) { - EnergyTaskHelper.postEnergyTask("update_user_background") + EnergyBridge.postEnergyTask("update_user_background") requireActivity().setResult(Activity.RESULT_OK) requireActivity().finish() diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/border/AvatarBorderFragment.kt b/app/src/main/java/com/gh/gamecenter/personalhome/border/AvatarBorderFragment.kt index 9038b3d008..ee34aacfcc 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/border/AvatarBorderFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/border/AvatarBorderFragment.kt @@ -26,7 +26,7 @@ import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.core.utils.DisplayUtils import com.gh.gamecenter.core.utils.SPUtils import com.gh.gamecenter.databinding.FragmentAvatarBorderBinding -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.AvatarBorderCategoryEntity import com.gh.gamecenter.login.entity.AvatarBorderEntity import com.gh.gamecenter.login.user.UserManager @@ -87,7 +87,7 @@ class AvatarBorderFragment : ToolbarFragment() { mUserViewModel?.uploadAvatarBorder?.observe(this, Observer { mPostDialog?.dismiss() if (it) { - EnergyTaskHelper.postEnergyTask("wear_avatar_frame") + EnergyBridge.postEnergyTask("wear_avatar_frame") requireActivity().finish() mUserViewModel?.uploadAvatarBorder?.value = false } diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/border/ChooseAvatarBorderAdapter.kt b/app/src/main/java/com/gh/gamecenter/personalhome/border/ChooseAvatarBorderAdapter.kt index 0251e7ad2a..48fd35c465 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/border/ChooseAvatarBorderAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/border/ChooseAvatarBorderAdapter.kt @@ -12,7 +12,7 @@ import com.gh.gamecenter.R import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.core.utils.* import com.gh.gamecenter.databinding.AvatarItemBinding -import com.gh.gamecenter.energy.view.EnergyHouseActivity +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.login.entity.AvatarBorderEntity import com.gh.gamecenter.login.user.UserManager import com.lightgame.adapter.BaseRecyclerAdapter @@ -120,8 +120,9 @@ class ChooseAvatarBorderAdapter(context: Context, notifyDataSetChanged() } else { mFragment.startActivityForResult( - EnergyHouseActivity.getIntent(mContext, borderEntity.categoryId), - ChooseAvatarBorderFragment.REQUEST_CODE) + EnergyBridge.getEnergyHouseIntent(mContext, borderEntity.categoryId), + ChooseAvatarBorderFragment.REQUEST_CODE + ) } } } diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/home/UserHistoryViewModel.kt b/app/src/main/java/com/gh/gamecenter/personalhome/home/UserHistoryViewModel.kt index b84d983c18..9376003cdf 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/home/UserHistoryViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/home/UserHistoryViewModel.kt @@ -6,7 +6,6 @@ import android.text.TextUtils import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider -import com.gh.gamecenter.energy.utils.EnergyTaskHelper import com.gh.common.util.ErrorHelper import com.gh.gamecenter.core.utils.UrlFilterUtils import com.gh.gamecenter.common.utils.toObject @@ -17,7 +16,7 @@ import com.gh.gamecenter.entity.ErrorEntity import com.gh.gamecenter.entity.ForumVideoEntity import com.gh.gamecenter.entity.PersonalHistoryEntity import com.gh.gamecenter.common.retrofit.BiResponse -import com.gh.gamecenter.common.retrofit.Response +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.halo.assistant.HaloApp import com.lightgame.utils.Utils @@ -73,7 +72,7 @@ class UserHistoryViewModel(application: Application, Utils.toast(getApplication(), "点赞成功") callback.invoke() - EnergyTaskHelper.postEnergyTask("vote_game_comment", commentId) + EnergyBridge.postEnergyTask("vote_game_comment", commentId) } override fun onFailure(e: HttpException?) { diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryViewModel.kt b/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryViewModel.kt index 834b1466dd..0efba14304 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryViewModel.kt @@ -11,7 +11,7 @@ import com.gh.gamecenter.core.utils.UrlFilterUtils import com.gh.gamecenter.entity.ErrorEntity import com.gh.gamecenter.personalhome.rating.MyRating import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.lightgame.utils.Utils import io.reactivex.Observable @@ -50,7 +50,7 @@ class UserCommentHistoryViewModel(application: Application, var userId: String) Utils.toast(getApplication(), "点赞成功") callback.invoke() - EnergyTaskHelper.postEnergyTask("vote_game_comment", commentId) + EnergyBridge.postEnergyTask("vote_game_comment", commentId) } override fun onFailure(e: HttpException?) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/BaseAnswerOrArticleItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/BaseAnswerOrArticleItemViewHolder.kt index b6a3c66dc5..7bed226c07 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/BaseAnswerOrArticleItemViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/BaseAnswerOrArticleItemViewHolder.kt @@ -15,7 +15,6 @@ import com.gh.gamecenter.core.utils.* import com.gh.gamecenter.common.entity.CommunityEntity import com.gh.gamecenter.entity.VoteEntity import com.gh.gamecenter.forum.detail.ForumDetailActivity -import com.gh.gamecenter.login.user.UserManager import com.gh.gamecenter.qa.article.detail.ArticleDetailActivity import com.gh.gamecenter.qa.comment.CommentActivity import com.gh.gamecenter.qa.entity.AnswerEntity @@ -26,7 +25,7 @@ import com.gh.gamecenter.qa.questions.newdetail.NewQuestionDetailActivity import com.gh.gamecenter.qa.video.detail.ForumVideoDetailActivity import com.gh.gamecenter.common.retrofit.BiResponse import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.lightgame.utils.Utils import com.lightgame.view.CheckableImageView @@ -320,7 +319,7 @@ open class BaseAnswerOrArticleItemViewHolder(itemView: View) : BaseRecyclerViewH .subscribe(object : BiResponse() { override fun onSuccess(data: ResponseBody) { //Utils.toast(getApplication(), "已点赞") - EnergyTaskHelper.postEnergyTask("vote_video", entity.id) + EnergyBridge.postEnergyTask("vote_video", entity.id) } override fun onFailure(exception: Exception) { @@ -346,10 +345,10 @@ open class BaseAnswerOrArticleItemViewHolder(itemView: View) : BaseRecyclerViewH override fun onResponse(response: VoteEntity?) { if (entity.type == "community_article") { entity.me.isCommunityArticleVote = true - EnergyTaskHelper.postEnergyTask("vote_community_article", entity.id) + EnergyBridge.postEnergyTask("vote_community_article", entity.id) } else { entity.me.isAnswerVoted = true - EnergyTaskHelper.postEnergyTask("vote_answer", entity.id) + EnergyBridge.postEnergyTask("vote_answer", entity.id) } ToastUtils.showToast("已赞同") } @@ -473,7 +472,7 @@ open class BaseAnswerOrArticleItemViewHolder(itemView: View) : BaseRecyclerViewH override fun onResponse(response: VoteEntity?) { entity.me.isCommunityArticleVote = true ToastUtils.showToast("已赞同") - EnergyTaskHelper.postEnergyTask("vote_community_article", entity.id) + EnergyBridge.postEnergyTask("vote_community_article", entity.id) } override fun onFailure(e: HttpException?) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt index 227f21523c..a0589c669a 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt @@ -6,7 +6,6 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.gh.common.history.HistoryHelper import com.gh.common.util.CollectionUtils -import com.gh.gamecenter.energy.utils.EnergyTaskHelper import com.gh.common.util.ErrorHelper import com.gh.common.util.LogUtils import com.gh.gamecenter.R @@ -17,6 +16,7 @@ import com.gh.gamecenter.common.syncpage.SyncFieldConstants import com.gh.gamecenter.common.syncpage.SyncPageRepository import com.gh.gamecenter.core.utils.MtaHelper import com.gh.gamecenter.core.utils.StringUtils +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.SpecialColumn import com.gh.gamecenter.entity.VoteEntity import com.gh.gamecenter.eventbus.EBUserFollow @@ -95,7 +95,7 @@ class AnswerDetailViewModel(application: Application) : AndroidViewModel(applica syncVoteData(answerId) - EnergyTaskHelper.postEnergyTask("vote_answer", answerId) + EnergyBridge.postEnergyTask("vote_answer", answerId) } override fun onFailure(e: HttpException?) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt index 4ff3b2fc21..5f3366715d 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt @@ -18,7 +18,7 @@ import com.gh.gamecenter.core.utils.UrlFilterUtils import com.gh.gamecenter.qa.entity.AnswerDraftEntity import com.gh.gamecenter.qa.entity.Questions import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.lightgame.utils.Utils import io.reactivex.Single import io.reactivex.android.schedulers.AndroidSchedulers @@ -80,7 +80,7 @@ class AnswerEditViewModel(application: Application, syncAnswerCount() tryWithDefaultCatch { - EnergyTaskHelper.postEnergyTask("post_answer", JSONObject(data).optString("_id")) + EnergyBridge.postEnergyTask("post_answer", JSONObject(data).optString("_id")) } } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailViewModel.kt index a271725c3d..15ad368dc2 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailViewModel.kt @@ -16,11 +16,10 @@ import com.gh.gamecenter.common.utils.toRequestBody import com.gh.gamecenter.entity.* import com.gh.gamecenter.eventbus.EBCollectionChanged import com.gh.gamecenter.eventbus.EBUserFollow -import com.gh.gamecenter.login.user.UserManager import com.gh.gamecenter.qa.comment.base.BaseCommentViewModel import com.gh.gamecenter.qa.entity.ArticleDetailEntity import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.lightgame.utils.Utils import io.reactivex.Observable @@ -140,7 +139,7 @@ class ArticleDetailViewModel( syncVoteData() - EnergyTaskHelper.postEnergyTask("vote_community_article", articleId) + EnergyBridge.postEnergyTask("vote_community_article", articleId) } override fun onFailure(e: HttpException?) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt index 443c30a549..fed64431d3 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditViewModel.kt @@ -15,7 +15,7 @@ import com.gh.gamecenter.common.retrofit.Response import com.gh.gamecenter.common.utils.tryWithDefaultCatch import com.gh.gamecenter.core.utils.HtmlUtils import com.gh.gamecenter.core.utils.ToastUtils -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.ActivityLabelEntity import com.gh.gamecenter.entity.GameEntity import com.gh.gamecenter.login.user.UserManager @@ -171,7 +171,7 @@ class ArticleEditViewModel(application: Application) : BaseRichEditorViewModel(a if (detailEntity == null) { tryWithDefaultCatch { - EnergyTaskHelper.postEnergyTask("publish_community_article", JSONObject(data).optString("_id")) + EnergyBridge.postEnergyTask("publish_community_article", JSONObject(data).optString("_id")) } } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentViewModel.kt index 6692667484..c20f0beeaf 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentViewModel.kt @@ -6,7 +6,6 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider -import com.gh.gamecenter.energy.utils.EnergyTaskHelper import com.gh.gamecenter.common.utils.UploadImageUtils import com.gh.gamecenter.common.baselist.ListViewModel import com.gh.gamecenter.common.retrofit.ApiResponse @@ -18,6 +17,7 @@ import com.gh.gamecenter.common.syncpage.SyncPageRepository import com.gh.gamecenter.common.utils.createRequestBodyAny import com.gh.gamecenter.common.utils.tryCatchInRelease import com.gh.gamecenter.common.utils.tryWithDefaultCatch +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.CommentDraft import com.gh.gamecenter.entity.CommentEntity import com.gh.gamecenter.retrofit.RetrofitManager @@ -204,13 +204,13 @@ open class NewCommentViewModel( if (commentType == CommentType.COMMUNITY_ARTICLE && commentEntity == null) { tryWithDefaultCatch { - EnergyTaskHelper.postEnergyTask("comment_community_article", JSONObject(response?.string()).optString("_id")) + EnergyBridge.postEnergyTask("comment_community_article", JSONObject(response?.string()).optString("_id")) } } if (commentType == CommentType.VIDEO && commentEntity == null) { tryWithDefaultCatch { - EnergyTaskHelper.postEnergyTask("comment_video", JSONObject(response?.string()).optString("_id")) + EnergyBridge.postEnergyTask("comment_video", JSONObject(response?.string()).optString("_id")) } } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditViewModel.kt index 375b18e3b3..49bd0446f6 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditViewModel.kt @@ -9,7 +9,6 @@ import androidx.lifecycle.MutableLiveData import com.gh.base.BaseRichEditorViewModel import com.gh.base.RichType import com.gh.gamecenter.common.base.fragment.WaitingDialogFragment -import com.gh.common.util.* import com.gh.gamecenter.R import com.gh.gamecenter.common.utils.singleToMain import com.gh.gamecenter.common.utils.toJson @@ -27,7 +26,7 @@ import com.gh.gamecenter.qa.entity.QuestionDraftEntity import com.gh.gamecenter.qa.entity.QuestionsDetailEntity import com.gh.gamecenter.common.retrofit.BiResponse import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.lightgame.utils.Utils import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers @@ -230,7 +229,7 @@ class QuestionEditViewModel(application: Application) : BaseRichEditorViewModel( if (questionEntity == null) { tryWithDefaultCatch { - EnergyTaskHelper.postEnergyTask("post_question", JSONObject(data).optString("_id")) + EnergyBridge.postEnergyTask("post_question", JSONObject(data).optString("_id")) } } } diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 977d6015c3..d514b5e53c 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -19,19 +19,12 @@ import com.gh.gamecenter.qa.entity.ArticleDetailEntity; import com.gh.gamecenter.qa.entity.ArticleDraftEntity; import com.gh.gamecenter.qa.entity.ArticleEntity; import com.gh.gamecenter.qa.entity.AskSubjectEntity; -import com.gh.gamecenter.qa.entity.AskTagGroupsEntity; -import com.gh.gamecenter.qa.entity.CommunityHotSearch; -import com.gh.gamecenter.qa.entity.CommunitySelectEntity; -import com.gh.gamecenter.qa.entity.CommunitySelectOpenEntity; import com.gh.gamecenter.qa.entity.EditorInsertDefaultEntity; import com.gh.gamecenter.qa.entity.InviteEntity; import com.gh.gamecenter.qa.entity.QuestionDraftEntity; import com.gh.gamecenter.qa.entity.Questions; import com.gh.gamecenter.qa.entity.QuestionsDetailEntity; import com.gh.gamecenter.qa.entity.QuestionsIndexEntity; -import com.gh.gamecenter.qa.entity.SearchHottestEntity; -import com.gh.gamecenter.qa.entity.SearchNewestEntity; -import com.gh.gamecenter.qa.entity.SuggestedFollowEntity; import com.google.gson.JsonObject; import java.util.ArrayList; @@ -44,7 +37,6 @@ import io.reactivex.Observable; import io.reactivex.Single; import okhttp3.RequestBody; import okhttp3.ResponseBody; -import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.DELETE; import retrofit2.http.GET; @@ -90,12 +82,6 @@ public interface ApiService { @GET("games/{game_id}?view=article") Observable getGameNewsDigest(@Path("game_id") String game_id); - /** - * 获取游戏详情 - */ - @GET("games/{game_id}?view=detail") - Observable getGameDetail(@Path("game_id") String game_id); - /** * 获取热门卡牌 */ @@ -134,12 +120,6 @@ public interface ApiService { @GET("games?view=digest") Observable> loadGameDataByPackageName(@Query("filter") String filter); - /** - * 获取游戏更新 - */ - @GET("games?view=digest") - Observable getGameUpdate(@Query("filter") String filter); - /** * 获取游戏更新 */ @@ -245,19 +225,6 @@ public interface ApiService { @GET("index/slides") Observable> getSlide(); - /** - * 获取游戏插件专题数据 - */ - @GET("index/columns?page_size=10") - Observable> getColumn(@Query("page") int page); - - /** - * 获取主页专题入口数据 - */ - @GET("index/recommends") - Observable> getSubjectDigest(); - - /** * 获取专题数据 */ @@ -270,18 +237,6 @@ public interface ApiService { @GET("columns/{column_id}/setting") Observable getColumnSettings(@Path("column_id") String column_id); -// /** -// * 获取界面设置参数 -// */ -// @GET("support/setting/ui") -// Observable getUISetting(); - -// /** -// * 获取下载按钮显示状态 -// */ -// @GET("support/download_status") -// Observable getDownloadStatus(@Query("version") String version, @Query("channel") String channel); - /** * 获取专题游戏 用于主页换一批 */ @@ -308,12 +263,6 @@ public interface ApiService { @GET("games/plugin_tags") Observable> getTags(); -// /** -// * 获取热门搜索 -// */ -// @GET("settings") -// Observable getHotSearch(); - /** * 获取开服表数据 */ @@ -524,13 +473,6 @@ public interface ApiService { @GET("users/{user_id}/follows/libao") Observable> getConcernLibao(@Path("user_id") String user_id, @Query("page") int page); - /** - * 获取游戏详情礼包数据 - */ - @GET("libao") - Observable> getLibaoByGame(@Query("filter") String filter, - @Query("page") int page, @Query("page_size") int pageSize); - /** * 获取礼包详情数据 */ @@ -615,65 +557,6 @@ public interface ApiService { /****** 问答(社区相关) *******/ - /** - * 社区列表已开通页面 - */ - @GET("communities") - Observable> getCommunitySelectOpened(@Query("channel") String channel, - @Query("filter") String filter, - @Query("page") int page, - @Query("page_size") int pageSize); - - /** - * 社区列表 - */ - @GET("communities") - Observable> getCommunityVoting(@Query("channel") String channel, @Query("filter") String filter); - - /** - * 投票社区 - */ - @POST("communities") - Observable postCommunities(@Body RequestBody body); - - - /** - * 获取社区首页精选 - */ - @GET("communities/{community_id}/recommends") - Call> getAskRecommends(@Path("community_id") String communityId, @Query("filter") String filter); - - /** - * 获取社区首页-问题列表 - */ - @GET("communities/{community_id}/questions?view=digest") - Observable> getAskQuestions(@Path("community_id") String communityId, @Query("filter") String filter, @Query("page") int page); - - /** - * 获取社区首页栏目:默认 - */ - @GET("communities/{community_id}/tag_groups") - Observable> getDefaultAskTagGroups(@Path("community_id") String communityId); - - /** - * 获取社区首页栏目:用户排序 - */ - @GET("users/{user_id}/communities/{community_id}/tag_groups") - Observable> getUserAskTagGroups(@Path("user_id") String user_id, @Path("community_id") String communityId); - - /** - * 保存用户社区首页栏目的排序 - */ - @POST("users/{user_id}/communities/{community_id}/tag_groups") - Observable postUserAskTagGroups(@Body RequestBody body, @Path("user_id") String user_id, @Path("community_id") String communityId); - - - /** - * 保存用户社区首页栏目的排序 - */ - @DELETE("users/{user_id}/communities/{community_id}/tag_groups") - Observable deleteUserAskTagGroups(@Path("user_id") String user_id, @Path("community_id") String communityId); - /** * 社区问题详情 @@ -706,55 +589,6 @@ public interface ApiService { @POST("bbses/questions/{question_id}:invite") Observable postInvite(@Body RequestBody body, @Path("question_id") String questionId); - /** - * 搜索社区回答 - */ - @GET("communities/{community_id}:search") - Observable> getAskSearch(@Path("community_id") String communityId, - @Query("keyword") String keyword, - @Query("filter") String filter, - @Query("sort") String sort, - @Query("page") int page); - - /** - * 搜索社区最新回答 - */ - @GET("communities/{community_id}:search") - Observable> getAskSearchNewest(@Path("community_id") String communityId, - @Query("keyword") String keyword, - @Query("filter") String filter, - @Query("sort") String sort, - @Query("page") int page); - - /** - * 搜索社区问题 - */ - @GET("communities/{community_id}:search") - Observable> getAskSearchQuestion(@Path("community_id") String communityId, - @Query("keyword") String keyword, - @Query("filter") String filter, - @Query("sort") String sort, - @Query("page") int page); - - /** - * 搜索社区用户 - */ - @GET("communities/{community_id}:search") - Observable> getAskSearchUser(@Path("community_id") String communityId, - @Query("keyword") String keyword, - @Query("filter") String filter, - @Query("page") int page); - - /** - * 搜索社区文章 - */ - @GET("communities/{community_id}:search") - Observable> getAskSearchArticle(@Path("community_id") String communityId, - @Query("keyword") String keyword, - @Query("filter") String filter, - @Query("sort") String sort, - @Query("page") int page); - /** * 搜索社区问题(编辑问题索引) */ @@ -786,12 +620,6 @@ public interface ApiService { @GET("communities/{community_id}/tags") Observable> getCommunitiesTags(@Path("community_id") String communityId); - /** - * 根据问题标题匹配标签问题标签 - */ - @GET("communities/{community_id}/tags") - Observable> getQuestionTagsByTitle(@Path("community_id") String communityId, @Query("filter") String filter); - /** * 添加社区问题 */ @@ -828,13 +656,6 @@ public interface ApiService { @POST("answers/{answer_id}:unoppose") Observable postAnswerUnoppose(@Path("answer_id") String answerId); - /** - * 获取个人主页的问题列表 - */ - @GET("users/{user_id}/questions?view=home_page") - Observable> getMyHomeQuestions(@Path("user_id") String userId, @Query("page") int page, - @Query("channel") String channel, @Query("timestamp") long timestamp); - /** * 获取用户的问题列表 */ @@ -842,13 +663,6 @@ public interface ApiService { Observable> getMyQuestions(@Path("user_id") String userId, @Query("page") int page, @Query("channel") String channel, @Query("timestamp") long timestamp); - /** - * 获取个人主页的回答列表 - */ - @GET("users/{user_id}/answers?view=home_page") - Observable> getMyHomeAnswers(@Path("user_id") String userId, @Query("page") int page, - @Query("channel") String channel, @Query("timestamp") long timestamp); - /** * 获取用户的回答列表 */ @@ -924,12 +738,6 @@ public interface ApiService { @GET("communities/{community_id}/columns/{column_id}") Observable getAskSubjectData(@Path("community_id") String communityId, @Path("column_id") String columnId); - /** - * 获取社区轮播图列表 - */ - @GET("communities/{community_id}/slides") - Observable> getAskSlide(@Path("community_id") String communityId); - /** * 社区专题的答案 */ @@ -1066,51 +874,12 @@ public interface ApiService { @GET("categories/{category_id}/directories") Observable> getCategories(@Path("category_id") String categoryId, @Query("page") int page); - /** - * 获取分类游戏 - */ - @Headers({"Content-Type: application/json", "Accept: application/json"}) - @GET("categories/{category_id}/games") - Observable> getGamesInCategory(@Path("category_id") String categoryId, @Query("sort") String sort, @Query("page") int page); - /** * 获取分类游戏 */ @GET("categories/{category_id}/games") Single> getGamesInCategory(@Path("category_id") String categoryId, @Query("sort") String sort, @Query("filter") String filter, @Query("page") int page); - - /** - * 社区专栏的标签列表: 默认 - */ - @GET("communities/{community_id}/special-columns") - Observable> getAskColumnsTags(@Path("community_id") String communityId); - - /** - * 获取用户的专栏列表 - */ - @GET("users/{user_id}/communities/{community_id}/special-columns") - Observable> getUserAskColumnsTags(@Path("user_id") String userId, @Path("community_id") String communityId); - - /** - * 获取用户的专栏列表 - */ - @GET("communities/{community_id}/special-columns/{column_id}") - Observable getAskColumnsTagsById(@Path("community_id") String communityId, @Path("column_id") String columnId); - - /** - * 调整专栏排序 - */ - @PUT("users/{user_id}/communities/{community_id}/special-columns") - Observable patchUserAskColumnsTags(@Body RequestBody body, @Path("user_id") String userId, @Path("community_id") String communityId); - - /** - * 调整专栏排序 - */ - @DELETE("users/{user_id}/communities/{community_id}/special-columns") - Observable deleteUserAskColumnsTags(@Path("user_id") String userId, @Path("community_id") String communityId); - - /** * 社区专栏的热门答案列表 */ @@ -1217,19 +986,6 @@ public interface ApiService { @Query("channel") String channel, @Query("filter") String filter); - /** - * 检测游戏是否开启社区,用在游戏详情页的答案列表。如果有可用答案,将会返回社区ID和专题ID - */ - @POST("games/{game_id}/has-community") - Observable checkHasCommunity(@Path("game_id") String gameId); - - /** - * 获取推送别名 - */ - @Headers({"Content-Type: application/json", "Accept: application/json"}) - @POST("umeng/alias") - Observable getAlias(@Body RequestBody body); - @GET() Observable getImageInfo(@Url String url); @@ -1243,12 +999,6 @@ public interface ApiService { @GET("dialog") Single getOpeningDialog(@Query("channel") String channel, @Query("prev_id") String previousId, @Query("prev_time") Long previousTime, @Query("open_type") String openType); - /** - * 告诉后台用户结束了客服会话 - */ - @POST("users/{user_id}/im:ending") - Observable postImEnding(@Path("user_id") String userId); - /** * 将消息标记为已读 */ @@ -1443,12 +1193,6 @@ public interface ApiService { Observable postCommunityArticleCommentReport(@Path("comment_id") String commentId, @Body RequestBody reportData); - /** - * 获取个人主页的回答列表 - */ - @GET("communities/{community_id}/answers") - Observable> getCommunitiesAnswer(@Path("community_id") String communityId, @Query("page") int page); - /** * 游戏评分页面 */ @@ -1464,12 +1208,6 @@ public interface ApiService { @Query("filter") String filter, @Query("sort") String sort); - /** - * 获取游戏详情介绍页面的评论 - */ - @GET("games/{game_id}/comments:hot") - Observable> getGameCommentsForDesc(@Path("game_id") String gameId, @Query("page") int page); - /** * 添加游戏评论 */ @@ -1527,30 +1265,6 @@ public interface ApiService { @GET("blocks/smart_column") Observable getBlockSmartColumn(); - /** - * 获取社区内容列表(推荐最新) - */ - @GET("communities/{community_id}/contents") - Observable> getCommunitiesRecommendNewest(@Path("community_id") String communityId, @Query("page") int page); - - /** - * 获取问答关注动态 - */ - @GET("communities/{community_id}/users/{user_id}/followers/histories") - Observable> getAskFollow(@Path("community_id") String communityId, @Path("user_id") String userId, @Query("page") int page, @Query("timestamp") long timestamp); - - /** - * 获取推荐关注列表 - */ - @GET("communities/{community_id}/users/{user_id}/recommend-followers") - Observable> getRecommendUsers(@Path("community_id") String communityId, @Path("user_id") String userId); - - /** - * 获取社区未读关注信息 - */ - @GET("communities/{community_id}/users/{user_id}/followers/histories:unread") - Observable getUnreadCommunityTimeline(@Path("community_id") String communityId, @Path("user_id") String userId); - /** * 版主修改问题 */ @@ -1602,13 +1316,6 @@ public interface ApiService { @POST("answers/{answer_id}/comments/{comment_id}:hide") Observable hideAnswerComment(@Path("answer_id") String answerId, @Path("comment_id") String commentId); - - /** - * 获取问答-推荐的推荐关注列表 - */ - @GET("communities/{community_id}/suggested_follows") - Observable> getSuggestedFollows(@Path("community_id") String communityId); - /** * 百度ocpc激活 */ @@ -1625,19 +1332,6 @@ public interface ApiService { @GET("reserve_columns") Observable> getReserveColumns(); - /** - * 标记用户点击了该推送 - */ - @POST("./umeng:receive") - Single postUmengReceiveInfo(@Body RequestBody body); - - /** - * 获取单个社区摘要 - * 404 : 隐藏 - */ - @GET("communities/{community_id}") - Observable getCommunityDesc(@Path("community_id") String community_id); - /** * 设置回答详情的的评论区域是否开启 */ @@ -1675,37 +1369,6 @@ public interface ApiService { @POST("communities/articles/comments/{comment_id}:hide") Observable hideCommunityArticleComment(@Path("comment_id") String commendId); - /** - * 设置回答详情的的评论区域是否开启 - */ - @POST("communities/{community_id}/articles/{article_id}:commentable") - Observable postCommunityArticleCommentable(@Path("community_id") String communityId, @Path("article_id") String articleId, @Body RequestBody body); - - - /** - * 获取社区默认搜索文案 - */ - @GET("communities/{community_id}/default_search") - Observable getCommunityDefaultSearch(@Path("community_id") String communityId); - - /** - * 获取默认社区们搜索文案 - */ - @GET("communities/{community_id}/hot_search") - Observable> getCommunityHotSearch(@Path("community_id") String communityId); - - /** - * 获取单条社区文章摘要 - */ - @GET("communities/{community_id}/articles/{article_id}?view=digest") - Observable getCommunityArticle(@Path("community_id") String communityId, @Path("article_id") String articleId); - - /** - * 获取单条回答摘要 - */ - @GET("answers/{answer_id}?view=recommend") - Observable getCommunityArticle(@Path("answer_id") String articleId); - /** * 获取游戏评分回复列表 */ @@ -1792,12 +1455,6 @@ public interface ApiService { @GET("users/{user_id}/games/comments") Single> getMyRating(@Path("user_id") String userId, @Query("page") int page, @Query("filter") String filter); - /** - * 我的光环-用户的优秀评论列表 - */ - @GET("users/{user_id}/games/comments?page=1&filter=view:jingxuan") - Single> getExcellentComments(@Path("user_id") String userId); - /** * 游戏评分-修改 */ @@ -1810,18 +1467,6 @@ public interface ApiService { @GET("devices/alias") Single getDeviceAlias(@Query("model") String model); - /** - * 获取社区推荐位 - */ - @GET("communities/{community_id}/community-recommends") - Single> getCommunityRecommendedEntrances(@Path("community_id") String communityId); - - /** - * 获取社区的全部文章 - */ - @GET("communities/{community_id}/articles") - Single> getAllCommunityArticles(@Path("community_id") String communityId, @Query("sort") String sort, @Query("page") int page, @Query("timestamp") long timestamp); - /** * 获取评分修改记录 */ @@ -1904,15 +1549,6 @@ public interface ApiService { @GET("activities/videos/{video_id}/stream?page_size=20") Single> getActivitiesVideoStream(@Path("video_id") String videoId, @Query("page") int page, @Query("type") String type, @Query("act") String act); - /** - * 获取活动的视频流(新版) - * - * @param type hot最热,new最新,award获奖(只返回获奖视频) - * @param act 活动名称 - */ - @GET("activities/videos/{video_id}/stream") - Single> getActivitiesVideoStream(@Path("video_id") String videoId, @Query("type") String type, @Query("act") String act, @Query("filter") String filter); - /** * 获取活动的视频流(可滑动) * @@ -1951,12 +1587,6 @@ public interface ApiService { @POST("videos/{video_id}:share") Single shareVideoStatistics(@Path("video_id") String videoId); - /** - * 分享统计 - */ - @POST("shares") - Single postShareResult(@Body RequestBody body); - /** * 社区内容浏览记录 */ @@ -2005,15 +1635,6 @@ public interface ApiService { @GET("sts/oss?type=user") Single getOssUpdateConfig(); - @GET("sts/oss") - Single getOssUpdateConfig(@Query("type") String type); - - /** - * 获取首页顶部 tab - */ - @GET("home/tabs") - Single> getHomeTabs(@Query("channel") String channel, @Query("version") String version); - /** * 获取视频标签 */ @@ -2038,24 +1659,6 @@ public interface ApiService { @POST("videos/{video_id}") Observable patchVideo(@Body RequestBody body, @Path("video_id") String videoId); - /** - * 获取相应问题的邀请列表 - */ - @GET("questions/{question_id}/invitations") - Single> getQuestionInvitations(@Path("question_id") String questionId); - - /** - * 对相应问题进行只能邀请 - */ - @POST("questions/{question_id}:smart_invite") - Single postSmartInvitations(@Path("question_id") String questionId); - - /** - * 获取对应问题的相似回答 - */ - @GET("questions/{question_id}/similar_answers") - Single> getSimilarAnswers(@Path("question_id") String questionId); - /** * 提交视频草稿 */ @@ -2207,12 +1810,6 @@ public interface ApiService { @GET("anliwall/comments/{comment_id}") Single getAmwayDetail(@Path("comment_id") String commentId); - /** - * 获取通知权限引导数据 - */ - @GET("boot_popup") - Single getBootPopup(); - /** * 专题合集配置接口 */ @@ -2237,42 +1834,18 @@ public interface ApiService { @GET("games/comments/guide_tags") Observable> guideTags(); - /** - * 首页-轮播图 - */ - @GET("home/slides") - Single> getHomeSlides(@Query("channel") String channel, @Query("version") String version); - - /** - * 首页-推荐入口 - */ - @GET("home/recommends") - Single> getHomeRecommends(@Query("channel") String channel, @Query("version") String version); - /** * 首页-内容列表 */ @GET("home/contents") Single> getHomeContents(@Query("channel") String channel, @Query("version") String version, @Query("page") int page); - /** - * 首页游戏库配置 - */ - @GET("home/navbar") - Single getHomeNavBar(@Query("channel") String channel, @Query("version") String version); - /** * 首页导航栏数据v2 */ @GET("home/navbar/v2") Single getHomeNavBarV2(@Query("channel") String channel, @Query("version") String version); - /** - * 获取我的光环功能列表 - */ - @GET("halo_addons") - Single> getHaloAddons(@Query("channel") String channel); - /** * 获取我的光环(新)数据 */ @@ -2408,12 +1981,6 @@ public interface ApiService { @GET("games/auth_dialogs") Observable> authDialog(); - /** - * 用户关闭游戏实名认证弹窗 - */ - @POST("games/{gameId}/auth_dialog/{dialogId}:close") - Single closeAuthDialog(@Path("gameId") String gameId, @Path("dialogId") String dialogId); - /** * 获取游戏大事件 */ @@ -2559,12 +2126,6 @@ public interface ApiService { @POST("bbses/{bbs_id}:unfollow") Single unFollowForum(@Path("bbs_id") String bbsId); - /** - * 获取论坛关注Tab内容 - */ - @GET("users/{user_id}/follows/bbses/contents") - Observable> getForumFollowArticle(@Path("user_id") String userId, @Query("sort") String sort, @Query("page") int page); - /** * 获取论坛推荐Tab内容 */ @@ -2766,12 +2327,6 @@ public interface ApiService { @GET("./bbses:search") Observable> searchForumContent(@QueryMap HashMap map, @Query("page") int page); - /** - * 应用跳转 - */ - @GET("packages/{package}/redirect") - Single redirectGameDetail(@Path("package") String packageName); - /** * 启动广告 */ diff --git a/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt b/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt index 3a7e3f9581..da5568eeb5 100644 --- a/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/security/BindPhoneFragment.kt @@ -8,7 +8,6 @@ import android.view.View import androidx.lifecycle.Observer import com.gh.gamecenter.common.constant.Constants import com.gh.common.util.DialogUtils -import com.gh.gamecenter.energy.utils.EnergyTaskHelper.postInviteCodeTask import com.gh.gamecenter.R import com.gh.gamecenter.common.BuildConfig import com.gh.gamecenter.common.base.activity.ToolBarActivity @@ -19,7 +18,7 @@ import com.gh.gamecenter.core.utils.* import com.gh.gamecenter.databinding.FragmentBindPhoneBinding import com.gh.gamecenter.login.user.UserManager import com.gh.gamecenter.common.base.fragment.ToolbarFragment -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.lightgame.utils.Utils class BindPhoneFragment : ToolbarFragment() { @@ -127,13 +126,13 @@ class BindPhoneFragment : ToolbarFragment() { mViewModel.finishLiveData.observe(viewLifecycleOwner, Observer { isSuccess -> if (isSuccess) { // 上报光能任务 - EnergyTaskHelper.postEnergyTask("bind_mobile") + EnergyBridge.postEnergyTask("bind_mobile") // 已完成填写邀请码 val inviteCode = mBinding.bindPhoneInviteEt.text.toString().trim() if (inviteCode.isNotBlank()) { SPUtils.setBoolean(Constants.SP_HAS_COMPLETE_INVITE_CODE, true) - postInviteCodeTask(inviteCode, "mobile_binding", {}) + EnergyBridge.postInviteCodeTask(inviteCode, "mobile_binding", {}) } // 更新本地用户已绑定手机的信息 diff --git a/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt b/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt index 472c210537..f11cd6eec2 100644 --- a/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt @@ -11,7 +11,6 @@ import com.gh.gamecenter.databinding.FragmentSecurityBinding import com.gh.gamecenter.common.eventbus.EBReuse import com.gh.gamecenter.login.user.UserManager import com.gh.gamecenter.common.base.fragment.ToolbarFragment -import com.gh.gamecenter.personal.PersonalFragment import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode diff --git a/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt b/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt index 27bb565ae8..19d54082a7 100644 --- a/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/video/detail/VideoDetailContainerViewModel.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView import com.gh.gamecenter.common.exposure.meta.MetaUtil import com.gh.common.history.HistoryDatabase import com.gh.gamecenter.core.runOnIoThread -import com.gh.common.util.* import com.gh.download.DownloadManager import com.gh.gamecenter.common.utils.createRequestBodyAny import com.gh.gamecenter.common.utils.singleToMain @@ -22,7 +21,7 @@ import com.gh.gamecenter.eventbus.EBUserFollow import com.gh.gamecenter.login.user.UserManager import com.gh.gamecenter.common.retrofit.BiResponse import com.gh.gamecenter.common.retrofit.Response -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.google.gson.JsonObject import com.lightgame.utils.Utils @@ -443,7 +442,7 @@ class VideoDetailContainerViewModel(application: Application) : AndroidViewModel .subscribe(object : BiResponse() { override fun onSuccess(data: ResponseBody) { //Utils.toast(getApplication(), "已点赞") - EnergyTaskHelper.postEnergyTask("vote_video", videoDetail.id) + EnergyBridge.postEnergyTask("vote_video", videoDetail.id) } override fun onFailure(exception: Exception) { diff --git a/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoViewModel.kt b/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoViewModel.kt index 8391dbc28f..73fd413a8e 100644 --- a/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoViewModel.kt @@ -19,7 +19,7 @@ import com.gh.gamecenter.common.mvvm.Resource import com.gh.gamecenter.common.retrofit.BiResponse import com.gh.gamecenter.common.retrofit.Response import com.gh.gamecenter.common.utils.UploadImageUtils -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.retrofit.RetrofitManager import com.google.gson.JsonObject import com.lightgame.utils.Utils @@ -32,7 +32,6 @@ import org.json.JSONObject import retrofit2.HttpException import java.io.File - class UploadVideoViewModel(application: Application) : AndroidViewModel(application) { private val mApi = RetrofitManager.getInstance().api @@ -74,7 +73,7 @@ class UploadVideoViewModel(application: Application) : AndroidViewModel(applicat val length = jsonObject.getLong("length") postLiveData.postValue(Resource.success(MyVideoEntity(id = videoId, poster = poster, url = url, length = length, status = "pending"))) - EnergyTaskHelper.postEnergyTask("upload_video", videoId) + EnergyBridge.postEnergyTask("upload_video", videoId) } } diff --git a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.kt b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.kt index 58be9c29b9..20f34bb00b 100644 --- a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.kt +++ b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.kt @@ -39,7 +39,7 @@ import com.gh.gamecenter.core.utils.EmptyCallback import com.gh.gamecenter.core.utils.GsonUtils import com.gh.gamecenter.core.utils.SPUtils import com.gh.gamecenter.databinding.FragmentSettingBinding -import com.gh.gamecenter.energy.utils.EnergyTaskHelper +import com.gh.gamecenter.energy.EnergyBridge import com.gh.gamecenter.entity.WechatConfigEntity import com.gh.gamecenter.fragment.MainWrapperFragment import com.gh.gamecenter.game.upload.GameSubmissionActivity @@ -178,7 +178,7 @@ class SettingsFragment : ToolbarFragment() { } if (UsageStatsHelper.checkForPermission() && SPUtils.getBoolean(UsageStatsHelper.USAGE_STATUS_SP_KEY, true)) { mUsageStatus = true - EnergyTaskHelper.postEnergyTask("open_game_time") + EnergyBridge.postEnergyTask("open_game_time") } else { mUsageStatus = false } @@ -463,13 +463,11 @@ class SettingsFragment : ToolbarFragment() { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == UsageStatsHelper.USAGE_STATUS_REQUEST_CODE && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { - if (UsageStatsHelper.checkForPermission()) EnergyTaskHelper.postEnergyTask("open_game_time") + if (UsageStatsHelper.checkForPermission()) EnergyBridge.postEnergyTask("open_game_time") SPUtils.setBoolean(UsageStatsHelper.USAGE_STATUS_SP_KEY, UsageStatsHelper.checkForPermission()) initUsageStats() } - // 当前登录方式为手机号登录,更换手机号后,回到该界面更新"退出账号"的手机号 - // 当前登录方式为手机号登录,更换手机号后,回到该界面更新"退出账号"的手机号 if (requestCode == INSERT_MOBILE_CODE) { initLoginStatus() diff --git a/app/src/main/res/drawable-xhdpi/personal_home_arrow.png b/app/src/main/res/drawable-xhdpi/personal_home_arrow.png deleted file mode 100644 index b7368c9004..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/personal_home_arrow.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/personal_new_version.png b/app/src/main/res/drawable-xhdpi/personal_new_version.png deleted file mode 100644 index 2038f5ebf3..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/personal_new_version.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/reuse_network_error_dark.webp b/app/src/main/res/drawable-xhdpi/reuse_network_error_dark.webp deleted file mode 100644 index eb17cdd553..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/reuse_network_error_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_im_feedback.webp b/app/src/main/res/drawable-xxhdpi/ic_im_feedback.webp deleted file mode 100644 index 35a785b6d0..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_im_feedback.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_account_security.webp b/app/src/main/res/drawable-xxhdpi/personal_account_security.webp deleted file mode 100644 index f48b4a21f1..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_account_security.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_browsing_history.webp b/app/src/main/res/drawable-xxhdpi/personal_browsing_history.webp deleted file mode 100644 index 0248557ba9..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_browsing_history.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_delivery_info.webp b/app/src/main/res/drawable-xxhdpi/personal_delivery_info.webp deleted file mode 100644 index d64232f91a..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_delivery_info.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_feedback.webp b/app/src/main/res/drawable-xxhdpi/personal_feedback.webp deleted file mode 100644 index 96ee8c291f..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_feedback.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_game_collection.webp b/app/src/main/res/drawable-xxhdpi/personal_game_collection.webp deleted file mode 100644 index cb3281513b..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_game_collection.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_game_comment.webp b/app/src/main/res/drawable-xxhdpi/personal_game_comment.webp deleted file mode 100644 index f86bba7efb..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_game_comment.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_game_dynamic.webp b/app/src/main/res/drawable-xxhdpi/personal_game_dynamic.webp deleted file mode 100644 index 064b9854db..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_game_dynamic.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_gif_center.webp b/app/src/main/res/drawable-xxhdpi/personal_gif_center.webp deleted file mode 100644 index cca9559be0..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_gif_center.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_my_collect.webp b/app/src/main/res/drawable-xxhdpi/personal_my_collect.webp deleted file mode 100644 index 44cbe76f4b..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_my_collect.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_my_game.webp b/app/src/main/res/drawable-xxhdpi/personal_my_game.webp deleted file mode 100644 index d92c6ffae9..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_my_game.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_my_questions.webp b/app/src/main/res/drawable-xxhdpi/personal_my_questions.webp deleted file mode 100644 index c91e4cb412..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_my_questions.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_news_center.webp b/app/src/main/res/drawable-xxhdpi/personal_news_center.webp deleted file mode 100644 index 6c7548d627..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_news_center.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_package_chean.webp b/app/src/main/res/drawable-xxhdpi/personal_package_chean.webp deleted file mode 100644 index ac48076547..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_package_chean.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_setting.webp b/app/src/main/res/drawable-xxhdpi/personal_setting.webp deleted file mode 100644 index e1d1cda487..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_setting.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_share.webp b/app/src/main/res/drawable-xxhdpi/personal_share.webp deleted file mode 100644 index 8bc98dc8c6..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_share.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_sign_icon_white.webp b/app/src/main/res/drawable-xxhdpi/personal_sign_icon_white.webp deleted file mode 100644 index 13c1d1645f..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_sign_icon_white.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_sign_icon_yellow.webp b/app/src/main/res/drawable-xxhdpi/personal_sign_icon_yellow.webp deleted file mode 100644 index b6d694ecfa..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_sign_icon_yellow.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_simulator_game.webp b/app/src/main/res/drawable-xxhdpi/personal_simulator_game.webp deleted file mode 100644 index 7f3cfbeb5c..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_simulator_game.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_teenager_mode.webp b/app/src/main/res/drawable-xxhdpi/personal_teenager_mode.webp deleted file mode 100644 index 7dba41d4fa..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_teenager_mode.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_tools.webp b/app/src/main/res/drawable-xxhdpi/personal_tools.webp deleted file mode 100644 index d0372fe5d5..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_tools.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_verified.webp b/app/src/main/res/drawable-xxhdpi/personal_verified.webp deleted file mode 100644 index aa97814c7c..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_verified.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_video_submission.webp b/app/src/main/res/drawable-xxhdpi/personal_video_submission.webp deleted file mode 100644 index 3132837c5f..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_video_submission.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/personal_wechat_remind.webp b/app/src/main/res/drawable-xxhdpi/personal_wechat_remind.webp deleted file mode 100644 index d3f8fb6d70..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/personal_wechat_remind.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/bg_personal_info.webp b/app/src/main/res/drawable-xxxhdpi/bg_personal_info.webp deleted file mode 100644 index 2b3d94b5b1..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/bg_personal_info.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/bg_personal_top.webp b/app/src/main/res/drawable-xxxhdpi/bg_personal_top.webp deleted file mode 100644 index 52650942a9..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/bg_personal_top.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/personal_simulator_game.webp b/app/src/main/res/drawable-xxxhdpi/personal_simulator_game.webp deleted file mode 100644 index ab4892b014..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/personal_simulator_game.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/personal_teenager_mode.webp b/app/src/main/res/drawable-xxxhdpi/personal_teenager_mode.webp deleted file mode 100644 index 836ee7ca8c..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/personal_teenager_mode.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/personal_top_bg.webp b/app/src/main/res/drawable-xxxhdpi/personal_top_bg.webp deleted file mode 100644 index 7f6634a9bf..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/personal_top_bg.webp and /dev/null differ diff --git a/app/src/main/res/layout/dialog_energy.xml b/app/src/main/res/layout/dialog_energy.xml deleted file mode 100644 index 1da95887f6..0000000000 --- a/app/src/main/res/layout/dialog_energy.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_invite_bind.xml b/app/src/main/res/layout/dialog_invite_bind.xml deleted file mode 100644 index 6feb87adf9..0000000000 --- a/app/src/main/res/layout/dialog_invite_bind.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_sign_rule.xml b/app/src/main/res/layout/dialog_sign_rule.xml deleted file mode 100644 index 4a9c1b8a7c..0000000000 --- a/app/src/main/res/layout/dialog_sign_rule.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_new_personal.xml b/app/src/main/res/layout/fragment_new_personal.xml deleted file mode 100644 index c1766e8960..0000000000 --- a/app/src/main/res/layout/fragment_new_personal.xml +++ /dev/null @@ -1,480 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_new_personal_stub.xml b/app/src/main/res/layout/fragment_new_personal_stub.xml deleted file mode 100644 index 391830aec6..0000000000 --- a/app/src/main/res/layout/fragment_new_personal_stub.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/app/src/main/res/layout/fragment_personal.xml b/app/src/main/res/layout/fragment_personal.xml deleted file mode 100644 index 665acce507..0000000000 --- a/app/src/main/res/layout/fragment_personal.xml +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_new_personal_fun_group.xml b/app/src/main/res/layout/item_new_personal_fun_group.xml deleted file mode 100644 index fb566200f9..0000000000 --- a/app/src/main/res/layout/item_new_personal_fun_group.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_personal_fun_group.xml b/app/src/main/res/layout/item_personal_fun_group.xml deleted file mode 100644 index 7a9b336a41..0000000000 --- a/app/src/main/res/layout/item_personal_fun_group.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_personal_func.xml b/app/src/main/res/layout/item_personal_func.xml deleted file mode 100644 index dbede339de..0000000000 --- a/app/src/main/res/layout/item_personal_func.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/module_common/src/main/java/com/gh/gamecenter/common/utils/ShareUtils.java b/module_common/src/main/java/com/gh/gamecenter/common/utils/ShareUtils.java index a767b13ac2..8d6e38be11 100644 --- a/module_common/src/main/java/com/gh/gamecenter/common/utils/ShareUtils.java +++ b/module_common/src/main/java/com/gh/gamecenter/common/utils/ShareUtils.java @@ -154,10 +154,14 @@ public class ShareUtils { EventBus.getDefault().post(new EBShare(ShareUtils.shareEntrance)); LogUtils.uploadShareResult(shareType, ShareUtils.shareEntrance.getName(), "success", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); - energyTaskProvider.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); - if (ShareUtils.shareEntrance == ShareEntrance.inviteFriends) { - energyTaskProvider.logInviteResult("成功", mShareType.getName()); + + if (energyTaskProvider != null) { + energyTaskProvider.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); + if (ShareUtils.shareEntrance == ShareEntrance.inviteFriends) { + energyTaskProvider.logInviteResult("成功", mShareType.getName()); + } } + if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.askNormal || ShareUtils.shareEntrance == ShareEntrance.communityArticle || ShareUtils.shareEntrance == ShareUtils.ShareEntrance.video) { @@ -185,7 +189,9 @@ public class ShareUtils { ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); if (ShareUtils.shareEntrance == ShareEntrance.inviteFriends) { IEnergyTaskProvider energyTaskProvider = (IEnergyTaskProvider) ARouter.getInstance().build(RouteConsts.provider.energyTask).navigation(); - energyTaskProvider.logInviteResult("失败", mShareType.getName()); + if (energyTaskProvider != null) { + energyTaskProvider.logInviteResult("失败", mShareType.getName()); + } } if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.askNormal || ShareUtils.shareEntrance == ShareEntrance.communityArticle || @@ -201,7 +207,9 @@ public class ShareUtils { ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); if (ShareUtils.shareEntrance == ShareEntrance.inviteFriends) { IEnergyTaskProvider energyTaskProvider = (IEnergyTaskProvider) ARouter.getInstance().build(RouteConsts.provider.energyTask).navigation(); - energyTaskProvider.logInviteResult("取消", mShareType.getName()); + if (energyTaskProvider != null) { + energyTaskProvider.logInviteResult("取消", mShareType.getName()); + } } if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.askNormal || ShareUtils.shareEntrance == ShareEntrance.communityArticle || diff --git a/module_core/src/main/java/com/gh/gamecenter/core/provider/IEnergyTaskProvider.kt b/module_core/src/main/java/com/gh/gamecenter/core/provider/IEnergyTaskProvider.kt index 1aa863ddf9..d70a1364b7 100644 --- a/module_core/src/main/java/com/gh/gamecenter/core/provider/IEnergyTaskProvider.kt +++ b/module_core/src/main/java/com/gh/gamecenter/core/provider/IEnergyTaskProvider.kt @@ -1,5 +1,7 @@ package com.gh.gamecenter.core.provider +import android.content.Context +import android.content.Intent import com.alibaba.android.arouter.facade.template.IProvider interface IEnergyTaskProvider : IProvider { @@ -11,4 +13,17 @@ interface IEnergyTaskProvider : IProvider { fun postEnergyTask(action: String) fun postInviteCodeTask(code: String, from: String, callback: (() -> Unit)?) + + fun postEnergyTask(action: String, id: String) + + fun postEnergyTask(action: String, id: String, packageName: String) + + fun postEnergyTask(action: String, id: String? = null, packageName: String? = null, url: String? = null) + + fun getEnergyCenterIntent(context: Context?): Intent? + + fun getEnergyCenterIntent(context: Context?, initTabIndex: Int): Intent? + + fun getEnergyHouseIntent(context: Context?, categoryId: String? = null): Intent? + } \ No newline at end of file diff --git a/module_energy/src/main/java/com/gh/gamecenter/energy/provider/EnergyTaskProviderImpl.kt b/module_energy/src/main/java/com/gh/gamecenter/energy/provider/EnergyTaskProviderImpl.kt index 3d6301ba27..ef5841523b 100644 --- a/module_energy/src/main/java/com/gh/gamecenter/energy/provider/EnergyTaskProviderImpl.kt +++ b/module_energy/src/main/java/com/gh/gamecenter/energy/provider/EnergyTaskProviderImpl.kt @@ -1,11 +1,14 @@ package com.gh.gamecenter.energy.provider import android.content.Context +import android.content.Intent import com.alibaba.android.arouter.facade.annotation.Route import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.core.provider.IEnergyTaskProvider import com.gh.gamecenter.energy.utils.EnergyTaskHelper import com.gh.gamecenter.energy.utils.IntegralLogHelper +import com.gh.gamecenter.energy.view.EnergyCenterActivity +import com.gh.gamecenter.energy.view.EnergyHouseActivity @Route(path = RouteConsts.provider.energyTask, name = "EnergyTask暴露服务") class EnergyTaskProviderImpl : IEnergyTaskProvider { @@ -25,6 +28,30 @@ class EnergyTaskProviderImpl : IEnergyTaskProvider { EnergyTaskHelper.postInviteCodeTask(code, from, callback) } + override fun getEnergyCenterIntent(context: Context?): Intent? { + return EnergyCenterActivity.getIntent(context) + } + + override fun getEnergyCenterIntent(context: Context?, initTabIndex: Int): Intent? { + return EnergyCenterActivity.getIntent(context, initTabIndex) + } + + override fun getEnergyHouseIntent(context: Context?, categoryId: String?): Intent? { + return EnergyHouseActivity.getIntent(context, categoryId) + } + + override fun postEnergyTask(action: String, id: String) { + EnergyTaskHelper.postEnergyTask(action, id) + } + + override fun postEnergyTask(action: String, id: String, packageName: String) { + EnergyTaskHelper.postEnergyTask(action, id, packageName) + } + + override fun postEnergyTask(action: String, id: String?, packageName: String?, url: String?) { + EnergyTaskHelper.postEnergyTask(action, id, packageName, url) + } + override fun init(context: Context?) { } diff --git a/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java b/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java index 9587e92c30..7fd0a84eb5 100644 --- a/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java +++ b/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java @@ -344,7 +344,9 @@ public class UserRepository { break; case UserViewModel.TYPE_ID_CARD: IEnergyTaskProvider energyTaskHelper = (IEnergyTaskProvider) ARouter.getInstance().build(RouteConsts.provider.energyTask).navigation(); - energyTaskHelper.postEnergyTask("authentication"); + if (energyTaskHelper != null) { + energyTaskHelper.postEnergyTask("authentication"); + } mCacheUserInfoEntity.setIdCard(GsonUtils.fromJson(content, IdCardEntity.class)); break; case UserViewModel.TYPE_INTRODUCE: @@ -536,6 +538,9 @@ public class UserRepository { if (UserManager.getInstance().getLoginTokenEntity() != null) { IEnergyTaskProvider energyTaskHelper = (IEnergyTaskProvider) ARouter.getInstance().build(RouteConsts.provider.energyTask).navigation(); + + if (energyTaskHelper == null) return; + if (UserManager.getInstance().getLoginTokenEntity().isFirstLogin()) { energyTaskHelper.postEnergyTask("register"); } else { diff --git a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java index 104f939d76..2550b0ce95 100644 --- a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java +++ b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java @@ -405,7 +405,9 @@ public class LoginFragment if (!TextUtils.isEmpty(inviteCode)) { SPUtils.setBoolean(Constants.SP_HAS_COMPLETE_INVITE_CODE, true); IEnergyTaskProvider energyTaskHelper = (IEnergyTaskProvider) ARouter.getInstance().build(RouteConsts.provider.energyTask).navigation(); - energyTaskHelper.postInviteCodeTask(inviteCode, "mobile_login", null); + if(energyTaskHelper != null) { + energyTaskHelper.postInviteCodeTask(inviteCode, "mobile_login", null); + } } String loginType = loginTokenEntity.getLoginType(); diff --git a/module_login/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java b/module_login/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java index 703dc01c1c..5b2da6560b 100644 --- a/module_login/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java +++ b/module_login/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java @@ -79,7 +79,9 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler, WeC com.gh.gamecenter.common.utils.LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "success", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); IEnergyTaskProvider energyTaskProvider = (IEnergyTaskProvider) ARouter.getInstance().build(RouteConsts.provider.energyTask).navigation(); - energyTaskProvider.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); + if (energyTaskProvider != null) { + energyTaskProvider.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); + } if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.askNormal || ShareUtils.shareEntrance == ShareUtils.ShareEntrance.communityArticle || ShareUtils.shareEntrance == ShareUtils.ShareEntrance.video) {