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) {