= if (url?.contains("android_page_type=singleton") == true) {
+ SingletonWebActivity::class.java
+ } else {
+ WebActivity::class.java
+ }
+ if (url?.contains("leave_web_page_handle_back_pressed=true") == true) {
+ bundle.putBoolean(WebFragment.KEY_LEAVE_WEB_PAGE_TO_HANDLE_BACK_PRESSED, true)
+ }
+ val intent = Intent(context, cls)
+ intent.putExtra(NORMAL_FRAGMENT_NAME, WebFragment::class.java.canonicalName)
+ intent.putExtra(NORMAL_FRAGMENT_BUNDLE, bundle)
+ return intent
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java
index 052bb3130a..1bcf05bf4c 100644
--- a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java
@@ -1,5 +1,7 @@
package com.gh.gamecenter;
+import static com.gh.gamecenter.common.constant.EntranceConsts.*;
+
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
@@ -12,21 +14,22 @@ import android.util.Base64;
import androidx.annotation.NonNull;
+import com.alibaba.android.arouter.facade.annotation.Route;
import com.gh.common.Base64ImageHolder;
import com.gh.common.constant.Config;
-import com.gh.common.util.BiCallback;
-import com.gh.common.util.BitmapUtils;
import com.gh.common.util.EnergyTaskHelper;
-import com.gh.common.util.ImageUtils;
import com.gh.common.util.IntegralLogHelper;
import com.gh.common.util.LogUtils;
import com.gh.common.util.NewLogUtils;
-import com.gh.common.util.ShareUtils;
-import com.gh.gamecenter.eventbus.EBShare;
+import com.gh.gamecenter.common.callback.BiCallback;
+import com.gh.gamecenter.common.constant.RouteConsts;
+import com.gh.gamecenter.common.eventbus.EBShare;
+import com.gh.gamecenter.common.utils.BitmapUtils;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.common.utils.ShareUtils;
import com.lightgame.utils.Utils;
import com.sina.weibo.sdk.api.ImageObject;
import com.sina.weibo.sdk.api.TextObject;
-import com.sina.weibo.sdk.api.WebpageObject;
import com.sina.weibo.sdk.api.WeiboMultiMessage;
import com.sina.weibo.sdk.auth.AuthInfo;
import com.sina.weibo.sdk.common.UiError;
@@ -37,24 +40,15 @@ import com.sina.weibo.sdk.share.WbShareCallback;
import org.greenrobot.eventbus.EventBus;
import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.UUID;
/**
* Created by khy on 2016/11/23.
*
* 微博分享
*/
+@Route(path = RouteConsts.activity.weiBoShareActivity)
public class WeiBoShareActivity extends Activity implements WbShareCallback {
-
- private static final String KET_SHARE_STYLE = "shareStyle";
- private static final String KET_SHAREICON = "shareIcon";
- private static final String KET_SHAREURL = "shareUrl";
- private static final String KET_TITLE = "KET_TITLE";
- private static final String KET_TYPE = "KET_TYPE";
- private static final String KET_SUMMARY = "KET_SUMMARY";
-
private static final String WEIBO_SCOPE = (
"email,direct_messages_read,direct_messages_write,"
+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
@@ -261,7 +255,7 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback {
public void onComplete() {
Utils.toast(this, R.string.share_success_hint);
if ("NORMAL".equals(mShareStyle)) {
- LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "success",
+ 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());
@@ -271,9 +265,9 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback {
if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.askNormal ||
ShareUtils.shareEntrance == ShareUtils.ShareEntrance.communityArticle ||
ShareUtils.shareEntrance == ShareUtils.ShareEntrance.video) {
- NewLogUtils.logShareResult(ShareUtils.additionalParams, true);
+ com.gh.gamecenter.common.utils.NewLogUtils.logShareResult(ShareUtils.additionalParams, true);
} else if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.gameCollection) {
- NewLogUtils.logViewOrClickGameCollectionDetail(
+ com.gh.gamecenter.common.utils.NewLogUtils.logViewOrClickGameCollectionDetail(
"click_game_collect_detail_favorite_success",
ShareUtils.shareEntity.getShareTitle(),
ShareUtils.resourceId,
@@ -290,7 +284,7 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback {
public void onError(UiError uiError) {
Utils.toast(this, R.string.share_fail_hint);
if ("NORMAL".equals(mShareStyle)) {
- LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "fail",
+ com.gh.gamecenter.common.utils.LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "fail",
ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId);
if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.inviteFriends) {
IntegralLogHelper.INSTANCE.logInviteResult("失败", "微博");
@@ -298,7 +292,7 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback {
if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.askNormal ||
ShareUtils.shareEntrance == ShareUtils.ShareEntrance.communityArticle ||
ShareUtils.shareEntrance == ShareUtils.ShareEntrance.video) {
- NewLogUtils.logShareResult(ShareUtils.additionalParams, false);
+ com.gh.gamecenter.common.utils.NewLogUtils.logShareResult(ShareUtils.additionalParams, false);
}
} else {
IntegralLogHelper.INSTANCE.logInviteResult("失败", "微博");
@@ -310,7 +304,7 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback {
public void onCancel() {
Utils.toast(this, R.string.share_cancel_hint);
if ("NORMAL".equals(mShareStyle)) {
- LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "cancel",
+ com.gh.gamecenter.common.utils.LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "cancel",
ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId);
if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.inviteFriends) {
IntegralLogHelper.INSTANCE.logInviteResult("取消", "微博");
@@ -318,7 +312,7 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback {
if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.askNormal ||
ShareUtils.shareEntrance == ShareUtils.ShareEntrance.communityArticle ||
ShareUtils.shareEntrance == ShareUtils.ShareEntrance.video) {
- NewLogUtils.logShareResult(ShareUtils.additionalParams, false);
+ com.gh.gamecenter.common.utils.NewLogUtils.logShareResult(ShareUtils.additionalParams, false);
}
} else {
IntegralLogHelper.INSTANCE.logInviteResult("取消", "微博");
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java
index 36d8ebab21..5e8c922082 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java
@@ -15,16 +15,16 @@ import android.widget.TextView;
import androidx.collection.ArrayMap;
import androidx.core.content.ContextCompat;
-import com.gh.common.util.BitmapUtils;
-import com.gh.common.util.MtaHelper;
+import com.gh.gamecenter.common.utils.BitmapUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
import com.gh.common.util.PackageInstaller;
import com.gh.common.util.PackageUtils;
-import com.gh.common.util.TimeUtils;
+import com.gh.gamecenter.core.utils.TimeUtils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.KcSelectGameViewHolder;
import com.gh.gamecenter.databinding.KcGameSelectItemBinding;
import com.gh.gamecenter.entity.InstallGameEntity;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.Response;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.lightgame.utils.RuntimeUtils;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java
index 920b355b8e..edc67d0f5a 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java
@@ -8,20 +8,20 @@ import android.view.ViewGroup;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
-import com.gh.common.constant.ItemViewType;
+import com.gh.gamecenter.common.constant.ItemViewType;
import com.gh.common.util.CheckLoginUtils;
import com.gh.common.util.CommentUtils;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.DirectUtils;
-import com.gh.common.util.ImageUtils;
-import com.gh.common.util.MtaHelper;
-import com.gh.common.util.TextHelper;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
+import com.gh.gamecenter.common.utils.TextHelper;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.CommentViewHolder;
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
import com.gh.gamecenter.entity.ArticleCommentParent;
import com.gh.gamecenter.entity.CommentEntity;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.lightgame.utils.Utils;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java
index ab0d87d11a..67e847a527 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java
@@ -14,11 +14,11 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import com.gh.common.constant.Config;
import com.gh.common.util.DataCollectionUtils;
-import com.gh.common.util.DisplayUtils;
+import com.gh.gamecenter.core.utils.DisplayUtils;
import com.gh.common.util.NewsUtils;
-import com.gh.common.util.StringUtils;
-import com.gh.common.util.TextHelper;
-import com.gh.common.util.UrlFilterUtils;
+import com.gh.gamecenter.core.utils.StringUtils;
+import com.gh.gamecenter.common.utils.TextHelper;
+import com.gh.gamecenter.core.utils.UrlFilterUtils;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.NewsSearchActivity;
import com.gh.gamecenter.R;
@@ -30,7 +30,7 @@ import com.gh.gamecenter.databinding.GameNewsSearchItemBinding;
import com.gh.gamecenter.databinding.GameNewsTypeItemBinding;
import com.gh.gamecenter.databinding.NewsTextItemBinding;
import com.gh.gamecenter.entity.NewsEntity;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.lightgame.utils.Utils;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java
index f3e83703e4..b23b0e7985 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java
@@ -12,16 +12,16 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.facebook.drawee.view.SimpleDraweeView;
-import com.gh.common.exposure.ExposureEntity;
+import com.gh.gamecenter.common.entity.ExposureEntity;
import com.gh.common.exposure.ExposureEvent;
import com.gh.common.exposure.ExposureSource;
import com.gh.common.exposure.ExposureType;
import com.gh.common.util.DataLogUtils;
import com.gh.common.util.DirectUtils;
-import com.gh.common.util.ImageUtils;
-import com.gh.common.util.MtaHelper;
-import com.gh.common.util.PageSwitchDataHelper;
-import com.gh.common.util.StringUtils;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
+import com.gh.gamecenter.core.utils.PageSwitchDataHelper;
+import com.gh.gamecenter.core.utils.StringUtils;
import com.gh.gamecenter.MainActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.entity.GameEntity;
@@ -33,8 +33,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
-import kotlin.Pair;
-
/**
* ImagePagerAdapter
*
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java
index 6c2a2f7af6..3728115e5b 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java
@@ -17,15 +17,15 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
-import com.gh.base.OnRequestCallBackListener;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.ExtensionsKt;
-import com.gh.common.util.ExtraTagHandler;
+import com.gh.gamecenter.common.callback.OnRequestCallBackListener;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.core.utils.DisplayUtils;
+import com.gh.gamecenter.core.utils.ExtraTagHandler;
import com.gh.common.util.LibaoUtils;
-import com.gh.common.util.PicassoImageGetter;
+import com.gh.gamecenter.common.utils.PicassoImageGetter;
import com.gh.common.util.PlatformUtils;
-import com.gh.common.util.SpanBuilder;
-import com.gh.common.util.StringUtils;
+import com.gh.gamecenter.core.utils.SpanBuilder;
+import com.gh.gamecenter.core.utils.StringUtils;
import com.gh.common.view.DownloadProgressBar;
import com.gh.gamecenter.GameDetailActivity;
import com.gh.gamecenter.R;
@@ -41,7 +41,7 @@ import com.gh.gamecenter.entity.LibaoEntity;
import com.gh.gamecenter.entity.LibaoStatusEntity;
import com.gh.gamecenter.entity.MeEntity;
import com.gh.gamecenter.entity.UserDataLibaoEntity;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.gh.gamecenter.suggest.SuggestType;
import com.lightgame.adapter.BaseRecyclerAdapter;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
index 90bf213c8e..20135677ed 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java
@@ -17,16 +17,16 @@ import com.gh.common.util.ConcernContentUtils;
import com.gh.common.util.DataCollectionUtils;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.DirectUtils;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.util.ExtensionsKt;
-import com.gh.common.util.ImageUtils;
-import com.gh.common.util.MtaHelper;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.core.utils.DisplayUtils;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
import com.gh.common.util.NewsUtils;
-import com.gh.common.util.NumberUtils;
-import com.gh.common.util.StringUtils;
-import com.gh.common.util.TextHelper;
-import com.gh.common.util.TimestampUtils;
+import com.gh.gamecenter.core.utils.NumberUtils;
+import com.gh.gamecenter.core.utils.StringUtils;
+import com.gh.gamecenter.common.utils.TextHelper;
+import com.gh.gamecenter.common.utils.TimestampUtils;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.ShareCardActivity;
@@ -42,9 +42,9 @@ import com.gh.gamecenter.entity.ArticleCommentParent;
import com.gh.gamecenter.entity.CommentEntity;
import com.gh.gamecenter.entity.ConcernEntity;
import com.gh.gamecenter.manager.VisitManager;
-import com.gh.gamecenter.retrofit.JSONObjectResponse;
-import com.gh.gamecenter.retrofit.OkHttpCache;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.JSONObjectResponse;
+import com.gh.gamecenter.common.retrofit.OkHttpCache;
+import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.lightgame.utils.Utils;
@@ -307,8 +307,8 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter {
, StringUtils.buildString(mEntrance, "+(消息详情)")));
} else {
Intent intent = new Intent(mContext, NewsDetailActivity.class);
- intent.putExtra(EntranceUtils.KEY_NEWSID, mConcernEntity.getId());
- intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(mEntrance, "+(消息详情)"));
+ intent.putExtra(EntranceConsts.KEY_NEWSID, mConcernEntity.getId());
+ intent.putExtra(EntranceConsts.KEY_ENTRANCE, StringUtils.buildString(mEntrance, "+(消息详情)"));
mContext.startActivity(intent);
}
});
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ReportReasonAdapter.kt b/app/src/main/java/com/gh/gamecenter/adapter/ReportReasonAdapter.kt
index cab6368e17..8ee3c5fcd4 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/ReportReasonAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/adapter/ReportReasonAdapter.kt
@@ -4,7 +4,7 @@ import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.goneIf
+import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.databinding.ItemReportReasonBinding
import com.lightgame.adapter.BaseRecyclerAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/SubjectTypeAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/SubjectTypeAdapter.java
index 3932b38590..d411f2544a 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/SubjectTypeAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/SubjectTypeAdapter.java
@@ -13,7 +13,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.lightgame.adapter.BaseRecyclerAdapter;
-import com.gh.common.util.DisplayUtils;
+import com.gh.gamecenter.core.utils.DisplayUtils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.SubjectTypeAdapter.GameTypeViewHolder;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java
index 3a7015f9f4..6f50c533cc 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java
@@ -5,10 +5,10 @@ import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
-import com.gh.base.OnRequestCallBackListener;
-import com.gh.common.util.ImageUtils;
-import com.gh.common.util.MtaHelper;
-import com.gh.common.util.UrlFilterUtils;
+import com.gh.gamecenter.common.callback.OnRequestCallBackListener;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
+import com.gh.gamecenter.core.utils.UrlFilterUtils;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.SuggestionActivity;
@@ -18,7 +18,7 @@ import com.gh.gamecenter.adapter.viewholder.ReuseViewHolder;
import com.gh.gamecenter.adapter.viewholder.ToolBoxViewHolder;
import com.gh.gamecenter.databinding.ToolboxItemBinding;
import com.gh.gamecenter.entity.ToolBoxEntity;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.gh.gamecenter.suggest.SuggestType;
import com.lightgame.adapter.BaseRecyclerAdapter;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java
index 33c364164a..7488b3065b 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java
@@ -8,10 +8,10 @@ import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
-import com.gh.base.OnRequestCallBackListener;
+import com.gh.gamecenter.common.callback.OnRequestCallBackListener;
import com.gh.common.util.DirectUtils;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.EntranceUtils;
+import com.gh.gamecenter.core.utils.DisplayUtils;
+import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.GameDetailActivity;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
@@ -84,7 +84,7 @@ public class VoteAdapter extends ListAdapter {
}
} else {
LinkEntity link = versionVoteEntity.getLink();
- if (EntranceUtils.HOST_GAME.equals(link.getType())) {
+ if (EntranceConsts.HOST_GAME.equals(link.getType())) {
viewHolder.binding.voteItemBtn.setText(R.string.download);
} else {
viewHolder.binding.voteItemBtn.setText(R.string.libao_check);
@@ -126,10 +126,10 @@ public class VoteAdapter extends ListAdapter {
LinkEntity link = versionVoteEntity.getLink();
String entrance = "(游戏求版本)";
switch (link.getType() == null ? "" : link.getType()) {
- case EntranceUtils.HOST_GAME:
+ case EntranceConsts.HOST_GAME:
GameDetailActivity.startGameDetailActivity(mContext, link.getLink(), entrance, -1, false, false, false, true, null);
break;
- case EntranceUtils.HOST_ARTICLE:
+ case EntranceConsts.HOST_ARTICLE:
mContext.startActivity(NewsDetailActivity.getIntentById(mContext, link.getLink(), entrance));
break;
default:
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AreaViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AreaViewHolder.java
index a876d4a42e..113e217a03 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AreaViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AreaViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.AreaItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AskTabItemViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AskTabItemViewHolder.java
index 9f328308ea..4acaa1bbd0 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AskTabItemViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/AskTabItemViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.AskOrderTabItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentHeadViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentHeadViewHolder.java
index e2070a9e9f..29baf44c36 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentHeadViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentHeadViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.CommentHeadItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentViewHolder.java
index ec964b9a17..0ac3a17ff6 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/CommentViewHolder.java
@@ -8,7 +8,7 @@ import android.widget.TextView;
import androidx.annotation.Nullable;
import com.facebook.drawee.view.SimpleDraweeView;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.R;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ConcernViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ConcernViewHolder.java
index 0ef452837e..dc0a131967 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ConcernViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ConcernViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.ConcernItemBinding;
/**
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 eb4aa5d7c4..792fe96c0d 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
@@ -9,7 +9,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentActivity;
-import com.gh.common.constant.Constants;
+import com.gh.gamecenter.common.constant.Constants;
import com.gh.common.dialog.CertificationDialog;
import com.gh.common.dialog.DeviceRemindDialog;
import com.gh.common.dialog.GameOffServiceDialogFragment;
@@ -22,18 +22,18 @@ import com.gh.common.util.CheckLoginUtils;
import com.gh.common.util.DataLogUtils;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DetailDownloadUtils;
-import com.gh.common.util.DialogHelper;
+import com.gh.gamecenter.common.utils.DialogHelper;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.DownloadDialogHelper;
import com.gh.common.util.EnergyTaskHelper;
import com.gh.common.util.LogUtils;
-import com.gh.common.util.MtaHelper;
+import com.gh.gamecenter.core.utils.MtaHelper;
import com.gh.common.util.PackageInstaller;
import com.gh.common.util.PackageUtils;
-import com.gh.common.util.PermissionHelper;
+import com.gh.gamecenter.common.utils.PermissionHelper;
import com.gh.common.util.RealNameHelper;
import com.gh.common.util.ReservationHelper;
-import com.gh.common.util.StringUtils;
+import com.gh.gamecenter.core.utils.StringUtils;
import com.gh.common.view.DownloadProgressBar;
import com.gh.download.DownloadManager;
import com.gh.download.dialog.DownloadDialog;
@@ -236,7 +236,6 @@ public class DetailViewHolder {
return;
}
- DataUtils.onGameLaunchEvent(mViewHolder.context, mGameEntity.getName(), mGameEntity.getApk().get(0).getPlatform(), mName);
PackageUtils.launchApplicationByPackageName(mViewHolder.context, mGameEntity.getApk().get(0).getPackageName());
} else {
GamePermissionDialogFragment.show((AppCompatActivity) mViewHolder.context, mGameEntity, mGameEntity.getInfo(), () -> {
@@ -371,12 +370,6 @@ public class DetailViewHolder {
ApkEntity apkEntity = mGameEntity.getApk().get(0);
String msg = FileUtils.isCanDownload(mViewHolder.context, apkEntity.getSize());
if (TextUtils.isEmpty(msg)) {
- DataUtils.onGameDownloadEvent(mViewHolder.context, mGameEntity.getName(),
- apkEntity.getPlatform(),
- StringUtils.buildString(mEntrance, "+(", mName, "[", mTitle, "])"),
- "下载开始",
- method);
-
DownloadManager.createDownload(mViewHolder.context,
apkEntity,
mGameEntity,
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DownloadHeadViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DownloadHeadViewHolder.java
index 036588a7ac..8edb5bb97a 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DownloadHeadViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DownloadHeadViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.DownloadmanagerItemHeadBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java
index 2bcab214b0..ee84f90e7d 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java
@@ -7,8 +7,8 @@ import android.widget.TextView;
import androidx.annotation.StringRes;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.R;
import com.gh.gamecenter.baselist.ListViewModel;
import com.gh.gamecenter.baselist.LoadType;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameCollectionItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameCollectionItemViewHolder.kt
index 24ebf431eb..d395a20fef 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameCollectionItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameCollectionItemViewHolder.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.GameCollectionItemBinding
class GameCollectionItemViewHolder(var binding: GameCollectionItemBinding) : BaseRecyclerViewHolder(binding.root)
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailCalenderViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailCalenderViewHolder.java
index 0634b687df..28590ad905 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailCalenderViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailCalenderViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.GamedetailCalendarItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNewsViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNewsViewHolder.java
index 6eb6833649..79959b4adb 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNewsViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNewsViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.GamedetailItemNewsBinding;
import com.gh.gamecenter.entity.GameDetailEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNoticeViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNoticeViewHolder.java
index ad5c876969..1c0e230a0c 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNoticeViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDetailNoticeViewHolder.java
@@ -1,7 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.GamedetailItemNoticeBinding;
import com.gh.gamecenter.entity.GameDetailEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDownloadViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDownloadViewHolder.java
index 230c0d9a84..a48247480c 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDownloadViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameDownloadViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.FmDownloadmanagerItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameHeadViewHolder.kt b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameHeadViewHolder.kt
index 8c47c2bf6a..05b9b4e86b 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameHeadViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameHeadViewHolder.kt
@@ -2,9 +2,9 @@ package com.gh.gamecenter.adapter.viewholder
import android.view.View
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.dip2px
-import com.gh.common.util.toColor
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.GameHeadItemBinding
import com.gh.gamecenter.entity.SubjectEntity
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameImageViewHolder.kt b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameImageViewHolder.kt
index d66ebe17d0..f4eb909cb1 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameImageViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameImageViewHolder.kt
@@ -1,11 +1,11 @@
package com.gh.gamecenter.adapter.viewholder
import com.facebook.drawee.generic.RoundingParams
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.databind.BindingAdapters
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.ImageUtils
-import com.gh.common.util.goneIf
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.GameImageItemBinding
import com.gh.gamecenter.entity.GameEntity
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsSearchViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsSearchViewHolder.java
index 66cc318f00..5581386d11 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsSearchViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsSearchViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.GameNewsSearchItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeListViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeListViewHolder.java
index 67610ea4e7..f5bbfd54b3 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeListViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeListViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.GameNewsTypeItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeViewHolder.java
index a99fa46b00..3953127b6a 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameNewsTypeViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.GameNewsTypeListItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameUpdateViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameUpdateViewHolder.java
index a2f8b786b5..e823f48354 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameUpdateViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameUpdateViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.FmUpdateItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewHolder.java
index f4260eec92..19f5fbdf86 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewHolder.java
@@ -9,7 +9,7 @@ import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.facebook.drawee.view.SimpleDraweeView;
-import com.gh.common.view.DrawableView;
+import com.gh.gamecenter.common.view.DrawableView;
import com.gh.common.view.GameIconView;
import com.gh.gamecenter.databinding.GameItemBinding;
import com.gh.gamecenter.entity.ColorEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewPagerViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewPagerViewHolder.java
index cf749c18e5..b26e0684a5 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewPagerViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameViewPagerViewHolder.java
@@ -3,7 +3,7 @@ package com.gh.gamecenter.adapter.viewholder;
import android.view.ViewGroup;
import android.widget.FrameLayout;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.GameViewpagerItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java
index 41f2a129b6..d38d60ce73 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/KcSelectGameViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.KcGameSelectItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LiBaoCodeViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LiBaoCodeViewHolder.java
index 9eefab7b98..88edc71e17 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LiBaoCodeViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LiBaoCodeViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.LibaoCodeItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailContentViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailContentViewHolder.java
index 940cf01c65..d76d674fb2 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailContentViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailContentViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.LibaodetailItemContentBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailTopViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailTopViewHolder.java
index 5686faa5c4..061b61e4ff 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailTopViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoDetailTopViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.LibaodetailItemTopBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoNormalViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoNormalViewHolder.java
index 0ba24e4d30..17373990ee 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoNormalViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/LibaoNormalViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.LibaoItemBinding;
import com.gh.gamecenter.entity.LibaoEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ListSectionItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ListSectionItemViewHolder.kt
index a855da9882..3ccfbd0e3c 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ListSectionItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ListSectionItemViewHolder.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.ListSectionItemBinding
class ListSectionItemViewHolder(val binding: ListSectionItemBinding) : BaseRecyclerViewHolder(binding.root) {
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailCommentListViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailCommentListViewHolder.java
index f62b0c1598..c9416b5220 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailCommentListViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailCommentListViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.NewsDetailCommentBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailGameViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailGameViewHolder.java
index 286e8add9e..b2a1adf8b6 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailGameViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDetailGameViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.NewsdetailItemGameBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDigestViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDigestViewHolder.java
index a5c71e4163..26a86065cf 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDigestViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsDigestViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.NewsDigestItemBinding;
import com.gh.gamecenter.entity.ConcernEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsFooterViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsFooterViewHolder.java
index f889669944..7e6304b642 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsFooterViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsFooterViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.NewsFooterItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage1ViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage1ViewHolder.java
index 32af142c9e..44b69b3ecb 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage1ViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage1ViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.NewsImage1ItemBinding;
import com.gh.gamecenter.entity.NewsEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage2ViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage2ViewHolder.java
index 3b08cc4d0a..129b6d5da8 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage2ViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage2ViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.NewsImage2ItemBinding;
import com.gh.gamecenter.entity.NewsEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage3ViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage3ViewHolder.java
index a93d563557..0eff73f6f1 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage3ViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsImage3ViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.NewsImage3ItemBinding;
import com.gh.gamecenter.entity.NewsEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsTextViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsTextViewHolder.java
index 5622ee4575..3fce23ff3b 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsTextViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/NewsTextViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.NewsTextItemBinding;
import com.gh.gamecenter.entity.NewsEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ReuseViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ReuseViewHolder.java
index e370ca6a9d..40815ed094 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ReuseViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ReuseViewHolder.java
@@ -2,8 +2,8 @@ package com.gh.gamecenter.adapter.viewholder;
import android.view.View;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
/**
* Created by LGT on 2016/8/12.
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/SearchHistoryViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/SearchHistoryViewHolder.java
index f25ccdf573..28b60d30b1 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/SearchHistoryViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/SearchHistoryViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.FmSearchHistoryItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/StrategyDialogViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/StrategyDialogViewHolder.java
index 347fa07bb1..4abccf9560 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/StrategyDialogViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/StrategyDialogViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.DialogStrategyItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ToolBoxViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ToolBoxViewHolder.java
index 6220018c67..889b4f7ed4 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ToolBoxViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ToolBoxViewHolder.java
@@ -1,7 +1,7 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
-import com.gh.base.OnListClickListener;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.callback.OnListClickListener;
import com.gh.gamecenter.databinding.ToolboxItemBinding;
import com.gh.gamecenter.entity.ToolBoxEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ViewHolder.kt b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ViewHolder.kt
index e54127a06b..a56e7dd830 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ViewHolder.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.*
class SearchGameFooterViewHolder(val binding: SearchGameFooterBinding) : BaseRecyclerViewHolder(binding.root)
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/VoteViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/VoteViewHolder.java
index 5cc3fe8da0..7ee3fac1b2 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/VoteViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/VoteViewHolder.java
@@ -1,6 +1,6 @@
package com.gh.gamecenter.adapter.viewholder;
-import com.gh.base.BaseRecyclerViewHolder;
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder;
import com.gh.gamecenter.databinding.VoteItemBinding;
/**
diff --git a/app/src/main/java/com/gh/gamecenter/amway/AmwayActivity.kt b/app/src/main/java/com/gh/gamecenter/amway/AmwayActivity.kt
index 0bdd6f1f95..63272ce88e 100644
--- a/app/src/main/java/com/gh/gamecenter/amway/AmwayActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/amway/AmwayActivity.kt
@@ -1,8 +1,8 @@
package com.gh.gamecenter.amway
import android.os.Bundle
-import com.gh.base.BaseActivity
-import com.gh.common.util.DisplayUtils
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.R
/**
diff --git a/app/src/main/java/com/gh/gamecenter/amway/AmwayAdapter.kt b/app/src/main/java/com/gh/gamecenter/amway/AmwayAdapter.kt
index 14c775a761..6f9a566314 100644
--- a/app/src/main/java/com/gh/gamecenter/amway/AmwayAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/amway/AmwayAdapter.kt
@@ -7,15 +7,21 @@ import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.airbnb.lottie.LottieAnimationView
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.IExposable
import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.callback.ConfirmListener
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.AmwayCommentItemBinding
import com.gh.gamecenter.eventbus.EBDownloadStatus
import com.gh.gamecenter.game.GameAndPosition
@@ -208,6 +214,7 @@ class AmwayAdapter(
binding.gameContainer.setOnClickListener {
GameDetailActivity.startGameDetailActivity(binding.root.context, amway.game.id, "${viewModel.entrance}+(安利墙)", itemData.exposureEvent)
MtaHelper.onEvent("安利墙", "点击", "评论${blockPosition}_${amway.game.name}_游戏")
+ NewLogUtils.logShareWallSquareCardClick(amway.game.name ?: "", amway.game.id, "游戏信息")
}
binding.gameIconView.displayGameIcon(
@@ -228,14 +235,16 @@ class AmwayAdapter(
binding.commentContainer.setOnClickListener {
val intent = RatingReplyActivity.getIntent(
context, amway.game.id, amway.comment, false, viewModel.entrance
- ?: "", EntranceUtils.ENTRANCE_AMWAY
+ ?: "", EntranceConsts.ENTRANCE_AMWAY
)
SyncDataBetweenPageHelper.startActivityForResult(binding.root.context, intent, RatingFragment.RATING_REPLAY_REQUEST, adapterPosition)
MtaHelper.onEvent("安利墙", "点击", "评论${blockPosition}_${amway.game.name}_评论")
+ NewLogUtils.logShareWallSquareCardClick(amway.game.name ?: "", amway.game.id, "评论内容")
}
binding.userClickableView.setOnClickListener {
- DirectUtils.directToHomeActivity(context, amway.comment.user.id, viewModel.entrance, EntranceUtils.ENTRANCE_AMWAY)
+ DirectUtils.directToHomeActivity(context, amway.comment.user.id, viewModel.entrance, EntranceConsts.ENTRANCE_AMWAY)
+ NewLogUtils.logShareWallSquareCardClick(amway.game.name ?: "", amway.game.id, "用户信息")
}
if (amway.comment.me.isVoted) {
@@ -266,11 +275,13 @@ class AmwayAdapter(
ImageUtils.display(binding.sdvUserBadge, amway.comment.user.badge?.icon)
binding.sdvUserBadge.goneIf(amway.comment.user.badge == null)
binding.sdvUserBadge.setOnClickListener {
- DialogUtils.showViewBadgeDialog(context, amway.comment.user.badge) {
- MtaHelper.onEvent("进入徽章墙_用户记录", "安利墙", "${amway.comment.user.name}(${amway.comment.user.id})")
- MtaHelper.onEvent("徽章中心", "进入徽章中心", "安利墙")
- DirectUtils.directToBadgeWall(context, amway.comment.user.id, amway.comment.user.name, amway.comment.user.icon)
- }
+ DialogUtils.showViewBadgeDialog(context, amway.comment.user.badge, object : ConfirmListener {
+ override fun onConfirm() {
+ MtaHelper.onEvent("进入徽章墙_用户记录", "安利墙", "${amway.comment.user.name}(${amway.comment.user.id})")
+ MtaHelper.onEvent("徽章中心", "进入徽章中心", "安利墙")
+ DirectUtils.directToBadgeWall(context, amway.comment.user.id, amway.comment.user.name, amway.comment.user.icon)
+ }
+ })
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/amway/AmwayFragment.kt b/app/src/main/java/com/gh/gamecenter/amway/AmwayFragment.kt
index 10dc0aadda..aec7be1fa3 100644
--- a/app/src/main/java/com/gh/gamecenter/amway/AmwayFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/amway/AmwayFragment.kt
@@ -9,11 +9,12 @@ import androidx.core.content.ContextCompat
import androidx.core.view.ViewCompat
import androidx.recyclerview.widget.RecyclerView
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.TimeElapsedHelper
+import com.gh.gamecenter.core.utils.TimeElapsedHelper
import com.gh.common.exposure.ExposureListener
import com.gh.common.exposure.ExposureSource
import com.gh.common.util.*
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.common.util.DialogUtils
+import com.gh.gamecenter.common.view.VerticalItemDecoration
import com.gh.common.xapk.XapkInstaller
import com.gh.common.xapk.XapkUnzipStatus
import com.gh.download.DownloadManager
@@ -21,6 +22,9 @@ import com.gh.gamecenter.R
import com.gh.gamecenter.amway.search.AmwaySearchActivity
import com.gh.gamecenter.baselist.LazyListFragment
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentAmwayAlBinding
import com.gh.gamecenter.databinding.FragmentAmwayBinding
import com.gh.gamecenter.entity.RatingComment
@@ -63,7 +67,7 @@ class AmwayFragment : LazyListFragment() {
}
override fun onCreate(savedInstanceState: Bundle?) {
- mUseAlternativeLayout = arguments?.getBoolean(EntranceUtils.KEY_IS_HOME, false) ?: false
+ mUseAlternativeLayout = arguments?.getBoolean(EntranceConsts.KEY_IS_HOME, false) ?: false
super.onCreate(savedInstanceState)
}
@@ -76,7 +80,7 @@ class AmwayFragment : LazyListFragment() {
override fun onFragmentFirstVisible() {
super.onFragmentFirstVisible()
- mViewModel.fixedTopAmwayId = arguments?.getString(EntranceUtils.KEY_ID)
+ mViewModel.fixedTopAmwayId = arguments?.getString(EntranceConsts.KEY_ID)
mViewModel.initData()
mViewModel.entrance = mEntrance
}
@@ -125,12 +129,13 @@ class AmwayFragment : LazyListFragment() {
return mViewModel
}
- override fun getItemDecoration() = VerticalItemDecoration(context, 12F, false).apply { mItemDecoration = this }
+ override fun getItemDecoration() = VerticalItemDecoration(context, 12F, false)
+ .apply { mItemDecoration = this }
override fun provideListAdapter(): ListAdapter<*> {
if (mAdapter == null) {
val basicExposureSource = arrayListOf().apply {
- arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE)?.let {
+ arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE)?.let {
add(it)
}
add(ExposureSource("安利墙", ""))
diff --git a/app/src/main/java/com/gh/gamecenter/amway/AmwaySuccessFragment.kt b/app/src/main/java/com/gh/gamecenter/amway/AmwaySuccessFragment.kt
index 0789945051..32661a3dd7 100644
--- a/app/src/main/java/com/gh/gamecenter/amway/AmwaySuccessFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/amway/AmwaySuccessFragment.kt
@@ -2,15 +2,15 @@ package com.gh.gamecenter.amway
import android.os.Bundle
import android.view.View
-import com.gh.common.util.EntranceUtils
+import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
import com.gh.gamecenter.databinding.FragmentAmwaySuccessBinding
import com.gh.gamecenter.entity.GameEntity
-import com.gh.gamecenter.normal.NormalFragment
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
-class AmwaySuccessFragment : NormalFragment() {
+class AmwaySuccessFragment : ToolbarFragment() {
private var mGameEntity: GameEntity? = null
private val mBinding: FragmentAmwaySuccessBinding by lazy { FragmentAmwaySuccessBinding.inflate(layoutInflater) }
@@ -18,7 +18,7 @@ class AmwaySuccessFragment : NormalFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- mGameEntity = arguments?.get(EntranceUtils.KEY_DATA) as GameEntity?
+ mGameEntity = arguments?.get(EntranceConsts.KEY_DATA) as GameEntity?
}
override fun getLayoutId() = 0
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 736ebdad76..faa97c4101 100644
--- a/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt
@@ -7,14 +7,15 @@ import com.gh.download.DownloadManager
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.baselist.LoadStatus
import com.gh.gamecenter.baselist.LoadType
+import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.entity.AmwayCommentEntity
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.RatingComment
import com.gh.gamecenter.entity.SubjectEntity
import com.gh.gamecenter.home.LegacyHomeItemData
import com.gh.gamecenter.home.LegacyHomeSubjectTransformer
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.lightgame.utils.Utils
import io.reactivex.Observable
@@ -102,7 +103,7 @@ class AmwayViewModel(application: Application) : ListViewModel>() {
override fun onSuccess(data: List) {
// 为从启动弹窗跳转过来的 gameEntity 附上启动弹窗的相关数据供曝光数据使用 (草)
- if (entrance == EntranceUtils.ENTRANCE_WELCOME) {
+ if (entrance == EntranceConsts.ENTRANCE_WELCOME) {
for (subject in data) {
subject.data?.let {
for (game in it) {
@@ -193,7 +194,7 @@ class AmwayViewModel(application: Application) : ListViewModel(context: Context) :
diff --git a/app/src/main/java/com/gh/gamecenter/baselist/LazyListFragment.java b/app/src/main/java/com/gh/gamecenter/baselist/LazyListFragment.java
index aa11083c2c..37f305efa5 100644
--- a/app/src/main/java/com/gh/gamecenter/baselist/LazyListFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/baselist/LazyListFragment.java
@@ -15,10 +15,10 @@ import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.ethanhua.skeleton.SkeletonScreen;
-import com.gh.base.fragment.LazyFragment;
-import com.gh.common.util.NumberUtils;
-import com.gh.common.view.FixLinearLayoutManager;
-import com.gh.common.view.VerticalItemDecoration;
+import com.gh.gamecenter.common.base.fragment.LazyFragment;
+import com.gh.gamecenter.core.utils.NumberUtils;
+import com.gh.gamecenter.common.view.FixLinearLayoutManager;
+import com.gh.gamecenter.common.view.VerticalItemDecoration;
import com.gh.gamecenter.R;
import com.halo.assistant.HaloApp;
diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java b/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java
index eb940d47e4..9f6e955957 100644
--- a/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java
@@ -14,10 +14,10 @@ import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-import com.gh.base.ToolBarActivity;
-import com.gh.common.util.NumberUtils;
-import com.gh.common.view.FixLinearLayoutManager;
-import com.gh.common.view.VerticalItemDecoration;
+import com.gh.gamecenter.common.base.ToolBarActivity;
+import com.gh.gamecenter.core.utils.NumberUtils;
+import com.gh.gamecenter.common.view.FixLinearLayoutManager;
+import com.gh.gamecenter.common.view.VerticalItemDecoration;
import com.gh.gamecenter.R;
import com.halo.assistant.HaloApp;
diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java b/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java
index d2140c0f1b..9e65c7ab71 100644
--- a/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java
@@ -2,9 +2,8 @@ package com.gh.gamecenter.baselist;
import android.annotation.SuppressLint;
import android.content.Context;
-import android.os.AsyncTask;
-import com.gh.common.util.ExtensionsKt;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
import com.lightgame.adapter.BaseRecyclerAdapter;
import java.util.ArrayList;
diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListExecutor.kt b/app/src/main/java/com/gh/gamecenter/baselist/ListExecutor.kt
index c47ee78391..c85fdb63e6 100644
--- a/app/src/main/java/com/gh/gamecenter/baselist/ListExecutor.kt
+++ b/app/src/main/java/com/gh/gamecenter/baselist/ListExecutor.kt
@@ -1,7 +1,7 @@
package com.gh.gamecenter.baselist
-import com.gh.base.GHThreadFactory
-import com.gh.common.AppExecutor
+import com.gh.gamecenter.core.GHThreadFactory
+import com.gh.gamecenter.core.AppExecutor
import java.util.concurrent.Executors
object ListExecutor {
diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java b/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java
index 6e86ce4243..1651b827b8 100644
--- a/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java
@@ -16,11 +16,11 @@ import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.ethanhua.skeleton.SkeletonScreen;
-import com.gh.common.util.NumberUtils;
-import com.gh.common.view.FixLinearLayoutManager;
-import com.gh.common.view.VerticalItemDecoration;
+import com.gh.gamecenter.core.utils.NumberUtils;
+import com.gh.gamecenter.common.view.FixLinearLayoutManager;
+import com.gh.gamecenter.common.view.VerticalItemDecoration;
import com.gh.gamecenter.R;
-import com.gh.gamecenter.normal.NormalFragment;
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment;
import com.halo.assistant.HaloApp;
import java.lang.reflect.ParameterizedType;
@@ -34,7 +34,7 @@ import io.reactivex.Single;
* Created by khy on 2/12/17.
*/
-public abstract class ListFragment extends NormalFragment implements
+public abstract class ListFragment extends ToolbarFragment implements
Observer>,
SwipeRefreshLayout.OnRefreshListener,
OnDataObservable {
diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListHeadViewModel.java b/app/src/main/java/com/gh/gamecenter/baselist/ListHeadViewModel.java
index 0d833aa76a..90cd88ebed 100644
--- a/app/src/main/java/com/gh/gamecenter/baselist/ListHeadViewModel.java
+++ b/app/src/main/java/com/gh/gamecenter/baselist/ListHeadViewModel.java
@@ -6,7 +6,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.gh.gamecenter.mvvm.Resource;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.gh.gamecenter.retrofit.service.ApiService;
diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListViewModel.java b/app/src/main/java/com/gh/gamecenter/baselist/ListViewModel.java
index 31924e577e..b42829b648 100644
--- a/app/src/main/java/com/gh/gamecenter/baselist/ListViewModel.java
+++ b/app/src/main/java/com/gh/gamecenter/baselist/ListViewModel.java
@@ -8,13 +8,12 @@ import androidx.lifecycle.MutableLiveData;
import com.gh.common.filter.RegionSettingHelper;
import com.gh.common.util.ApkActiveUtils;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.util.ExtensionsKt;
+import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.download.DownloadManager;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
import com.gh.gamecenter.entity.GameEntity;
-import com.gh.gamecenter.retrofit.BiResponse;
-import com.gh.gamecenter.retrofit.Response;
-import com.halo.assistant.HaloApp;
+import com.gh.gamecenter.common.retrofit.BiResponse;
+import com.gh.gamecenter.common.retrofit.Response;
import org.jetbrains.annotations.NotNull;
@@ -121,7 +120,7 @@ public abstract class ListViewModel extends Ba
game.setEntryMap(DownloadManager.getInstance().getEntryMap(game.getName()));
// 当页面是由启动弹窗过来的第一或第二个页面的时候添加启动弹窗信息
- if (mEntrance.contains(EntranceUtils.ENTRANCE_WELCOME)
+ if (mEntrance.contains(EntranceConsts.ENTRANCE_WELCOME)
&& ExtensionsKt.countOccurrences(mEntrance, "+") <= 1) {
game.setWelcomeDialogInfoIfAvailable();
}
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/BannerAdapter.kt b/app/src/main/java/com/gh/gamecenter/catalog/BannerAdapter.kt
index 1d22999efc..7a89509358 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/BannerAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/BannerAdapter.kt
@@ -9,10 +9,10 @@ import com.facebook.drawee.view.SimpleDraweeView
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.util.DirectUtils
-import com.gh.common.util.ImageUtils
-import com.gh.common.util.PageSwitchDataHelper
+import com.gh.gamecenter.common.utils.ImageUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.RecyclingPagerAdapter
+import com.gh.gamecenter.core.utils.PageSwitchDataHelper
import com.gh.gamecenter.entity.GameEntity
class BannerAdapter(
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/CatalogActivity.kt b/app/src/main/java/com/gh/gamecenter/catalog/CatalogActivity.kt
index cb6b2f6076..6d23b4ae2d 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/CatalogActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/CatalogActivity.kt
@@ -3,13 +3,12 @@ package com.gh.gamecenter.catalog
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.base.DownloadToolbarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class CatalogActivity : NormalActivity() {
+class CatalogActivity : DownloadToolbarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -35,9 +34,9 @@ class CatalogActivity : NormalActivity() {
companion object {
fun getIntent(context: Context, catalogId: String, catalogTitle: String, entrance: String): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_CATALOG_ID, catalogId)
- bundle.putString(EntranceUtils.KEY_CATALOG_TITLE, catalogTitle)
- bundle.putString(EntranceUtils.KEY_ENTRANCE, entrance)
+ bundle.putString(EntranceConsts.KEY_CATALOG_ID, catalogId)
+ bundle.putString(EntranceConsts.KEY_CATALOG_TITLE, catalogTitle)
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance)
return getTargetIntent(context, CatalogActivity::class.java, CatalogFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/CatalogAdapter.kt b/app/src/main/java/com/gh/gamecenter/catalog/CatalogAdapter.kt
index f95eb6cf22..9346c4fe23 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/CatalogAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/CatalogAdapter.kt
@@ -3,10 +3,10 @@ package com.gh.gamecenter.catalog
import android.content.Context
import android.view.View
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.goneIf
-import com.gh.common.util.toBinding
-import com.gh.common.util.toColor
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.CatalogItemBinding
import com.gh.gamecenter.entity.CatalogEntity
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/CatalogFragment.kt b/app/src/main/java/com/gh/gamecenter/catalog/CatalogFragment.kt
index dd926ca24f..3f34a4ef14 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/CatalogFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/CatalogFragment.kt
@@ -4,12 +4,12 @@ import android.os.Bundle
import android.view.View
import androidx.core.os.bundleOf
import androidx.lifecycle.Observer
-import com.gh.base.fragment.LazyFragment
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.toColor
-import com.gh.common.util.viewModelProviderFromParent
-import com.gh.common.view.FixLinearLayoutManager
+import com.gh.gamecenter.common.base.fragment.LazyFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.viewModelProviderFromParent
+import com.gh.gamecenter.common.view.FixLinearLayoutManager
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.FragmentCatalogBinding
import com.gh.gamecenter.entity.CatalogEntity
@@ -29,13 +29,13 @@ class CatalogFragment : LazyFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
savedInstanceState?.run {
- mLastSelectedPosition = getInt(EntranceUtils.KEY_LAST_SELECTED_POSITION)
+ mLastSelectedPosition = getInt(EntranceConsts.KEY_LAST_SELECTED_POSITION)
}
}
override fun onSaveInstanceState(outState: Bundle) {
mViewModel?.run {
- outState.putInt(EntranceUtils.KEY_LAST_SELECTED_POSITION, selectedCatalogPosition)
+ outState.putInt(EntranceConsts.KEY_LAST_SELECTED_POSITION, selectedCatalogPosition)
}
super.onSaveInstanceState(outState)
}
@@ -47,12 +47,12 @@ class CatalogFragment : LazyFragment() {
}
override fun onFragmentFirstVisible() {
- mCatalogId = arguments?.getString(EntranceUtils.KEY_CATALOG_ID) ?: ""
- mCatalogTitle = arguments?.getString(EntranceUtils.KEY_CATALOG_TITLE) ?: ""
+ mCatalogId = arguments?.getString(EntranceConsts.KEY_CATALOG_ID) ?: ""
+ mCatalogTitle = arguments?.getString(EntranceConsts.KEY_CATALOG_TITLE) ?: ""
mViewModel = viewModelProviderFromParent(CatalogViewModel.Factory(mCatalogId, mCatalogTitle), mCatalogId)
mViewModel?.validEntranceName = if (mEntrance.contains("首页")) "首页" else "板块"
- if (arguments?.getBoolean(EntranceUtils.KEY_IS_HOME) == true) {
+ if (arguments?.getBoolean(EntranceConsts.KEY_IS_HOME) == true) {
mViewModel?.validEntranceName = "首页Tab栏"
}
mViewModel?.logAppearance()
@@ -96,7 +96,7 @@ class CatalogFragment : LazyFragment() {
})
// 嵌入在首页时特殊处理
- if (arguments?.getBoolean(EntranceUtils.KEY_IS_HOME) == true) {
+ if (arguments?.getBoolean(EntranceConsts.KEY_IS_HOME) == true) {
mBinding?.divider?.visibility = View.GONE
mBinding?.root?.setBackgroundColor(R.color.background_white.toColor(requireContext()))
mBinding?.root?.setPadding(0, 8F.dip2px(), 0, 0)
@@ -122,19 +122,20 @@ class CatalogFragment : LazyFragment() {
mSpecialCatalogFragment = childFragmentManager.findFragmentByTag(SpecialCatalogFragment::class.java.simpleName) as? SpecialCatalogFragment
?: SpecialCatalogFragment()
mSpecialCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_IS_CATEGORY_V2 to false,
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_CATALOG_TITLE to mCatalogTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE)
+ EntranceConsts.KEY_IS_CATEGORY_V2 to false,
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCatalogTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(
+ EntranceConsts.KEY_EXPOSURE_SOURCE)
)
childFragmentManager.beginTransaction().replace(R.id.container_sub_catalog, mSpecialCatalogFragment!!, SpecialCatalogFragment::class.java.simpleName).commitAllowingStateLoss()
} else {
mSubCatalogFragment = childFragmentManager.findFragmentByTag(SubCatalogFragment::class.java.simpleName) as? SubCatalogFragment
?: SubCatalogFragment()
mSubCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_PRIMARY_CATALOG_ID to subCatalog[selectedCatalogPosition].id,
- EntranceUtils.KEY_CATALOG_TITLE to mCatalogTitle
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_PRIMARY_CATALOG_ID to subCatalog[selectedCatalogPosition].id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCatalogTitle
)
childFragmentManager.beginTransaction().replace(R.id.container_sub_catalog, mSubCatalogFragment!!, SubCatalogFragment::class.java.simpleName).commitAllowingStateLoss()
}
@@ -151,9 +152,9 @@ class CatalogFragment : LazyFragment() {
mSubCatalogFragment = childFragmentManager.findFragmentByTag(SubCatalogFragment::class.java.simpleName) as? SubCatalogFragment
?: SubCatalogFragment()
mSubCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_PRIMARY_CATALOG_ID to subCatalog[position].id,
- EntranceUtils.KEY_CATALOG_TITLE to mCatalogTitle
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_PRIMARY_CATALOG_ID to subCatalog[position].id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCatalogTitle
)
childFragmentManager.beginTransaction().replace(R.id.container_sub_catalog, mSubCatalogFragment!!, SubCatalogFragment::class.java.simpleName).commitAllowingStateLoss()
} else {
@@ -161,18 +162,19 @@ class CatalogFragment : LazyFragment() {
mSpecialCatalogFragment = childFragmentManager.findFragmentByTag(SpecialCatalogFragment::class.java.simpleName) as? SpecialCatalogFragment
?: SpecialCatalogFragment()
mSpecialCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_IS_CATEGORY_V2 to false,
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_CATALOG_TITLE to mCatalogTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE)
+ EntranceConsts.KEY_IS_CATEGORY_V2 to false,
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCatalogTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(
+ EntranceConsts.KEY_EXPOSURE_SOURCE)
)
childFragmentManager.beginTransaction().replace(R.id.container_sub_catalog, mSpecialCatalogFragment!!, SpecialCatalogFragment::class.java.simpleName).commitAllowingStateLoss()
} else {
if (mSubCatalogFragment?.isStateSaved == false) {
mSubCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_PRIMARY_CATALOG_ID to subCatalog[position].id,
- EntranceUtils.KEY_CATALOG_TITLE to mCatalogTitle
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_PRIMARY_CATALOG_ID to subCatalog[position].id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCatalogTitle
)
}
mSubCatalogFragment?.changeSubCatalog(subCatalog[position].id)
@@ -181,9 +183,9 @@ class CatalogFragment : LazyFragment() {
} else {
if (mSubCatalogFragment?.isStateSaved == false) {
mSubCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_PRIMARY_CATALOG_ID to subCatalog[position].id,
- EntranceUtils.KEY_CATALOG_TITLE to mCatalogTitle
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_PRIMARY_CATALOG_ID to subCatalog[position].id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCatalogTitle
)
}
mSubCatalogFragment?.changeSubCatalog(subCatalog[position].id)
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/CatalogViewModel.kt b/app/src/main/java/com/gh/gamecenter/catalog/CatalogViewModel.kt
index 154b97e34e..2d64321288 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/CatalogViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/CatalogViewModel.kt
@@ -8,7 +8,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.gh.common.util.LogUtils
import com.gh.gamecenter.entity.CatalogEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListActivity.kt b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListActivity.kt
index 07b294eb79..a18c525148 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListActivity.kt
@@ -3,14 +3,13 @@ package com.gh.gamecenter.catalog
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.base.DownloadToolbarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
import com.gh.gamecenter.entity.CatalogEntity
-class NewCatalogListActivity : NormalActivity() {
+class NewCatalogListActivity : DownloadToolbarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -37,12 +36,12 @@ class NewCatalogListActivity : NormalActivity() {
catalog: CatalogEntity,
initTitle: String): Intent {
val bundle = Bundle()
- bundle.putParcelable(EntranceUtils.KEY_DATA, catalog)
- bundle.putString(EntranceUtils.KEY_PRIMARY_CATALOG_ID, primaryCatalogId)
- bundle.putString(EntranceUtils.KEY_PRIMARY_CATALOG_NAME, primaryCatalogName)
- bundle.putString(EntranceUtils.KEY_NAME, catalog.name)
- bundle.putString(EntranceUtils.KEY_CATALOG_TITLE, catalogTitle)
- bundle.putString(EntranceUtils.KEY_CATALOG_INIT_TITLE, initTitle)
+ bundle.putParcelable(EntranceConsts.KEY_DATA, catalog)
+ bundle.putString(EntranceConsts.KEY_PRIMARY_CATALOG_ID, primaryCatalogId)
+ bundle.putString(EntranceConsts.KEY_PRIMARY_CATALOG_NAME, primaryCatalogName)
+ bundle.putString(EntranceConsts.KEY_NAME, catalog.name)
+ bundle.putString(EntranceConsts.KEY_CATALOG_TITLE, catalogTitle)
+ bundle.putString(EntranceConsts.KEY_CATALOG_INIT_TITLE, initTitle)
return getTargetIntent(context, NewCatalogListActivity::class.java, NewCatalogListFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt
index 69c2d417aa..6e1f3e118b 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListAdapter.kt
@@ -4,7 +4,7 @@ import android.content.Context
import android.util.SparseArray
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.ExposureType
@@ -15,6 +15,9 @@ import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.adapter.viewholder.GameViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.core.utils.StringUtils
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.eventbus.EBDownloadStatus
import com.gh.gamecenter.game.GameItemViewHolder
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListFragment.kt b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListFragment.kt
index 20b46e6d42..979389be63 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListFragment.kt
@@ -3,16 +3,20 @@ package com.gh.gamecenter.catalog
import android.os.Bundle
import android.view.View
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.exposure.ExposureListener
import com.gh.common.exposure.ExposureSource
-import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.observeNonNull
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.common.view.CatalogFilterView
import com.gh.common.xapk.XapkInstaller
import com.gh.common.xapk.XapkUnzipStatus
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.databinding.FragmentCatalogListBinding
import com.gh.gamecenter.entity.*
import com.gh.gamecenter.eventbus.EBDownloadStatus
@@ -62,15 +66,15 @@ class NewCatalogListFragment : ListFragment
override fun onCreate(savedInstanceState: Bundle?) {
mViewModel = provideListViewModel()
- mViewModel.title = arguments?.getString(EntranceUtils.KEY_NAME) ?: ""
- mViewModel.categoryTitle = arguments?.getString(EntranceUtils.KEY_CATALOG_TITLE) ?: ""
- mEntrance = arguments?.getString(EntranceUtils.KEY_ENTRANCE) ?: Constants.ENTRANCE_UNKNOWN
- mPrimeCatalog = arguments?.getParcelable(EntranceUtils.KEY_DATA)
+ mViewModel.title = arguments?.getString(EntranceConsts.KEY_NAME) ?: ""
+ mViewModel.categoryTitle = arguments?.getString(EntranceConsts.KEY_CATALOG_TITLE) ?: ""
+ mEntrance = arguments?.getString(EntranceConsts.KEY_ENTRANCE) ?: Constants.ENTRANCE_UNKNOWN
+ mPrimeCatalog = arguments?.getParcelable(EntranceConsts.KEY_DATA)
mSubCatalogList = mPrimeCatalog?.subCatalog as? ArrayList ?: arrayListOf()
- mInitCatalogName = arguments?.getString(EntranceUtils.KEY_CATALOG_INIT_TITLE) ?: ""
- mPrimaryCatalogName = arguments?.getString(EntranceUtils.KEY_PRIMARY_CATALOG_NAME) ?: ""
- mPrimaryCatalogId = arguments?.getString(EntranceUtils.KEY_PRIMARY_CATALOG_ID) ?: ""
+ mInitCatalogName = arguments?.getString(EntranceConsts.KEY_CATALOG_INIT_TITLE) ?: ""
+ mPrimaryCatalogName = arguments?.getString(EntranceConsts.KEY_PRIMARY_CATALOG_NAME) ?: ""
+ mPrimaryCatalogId = arguments?.getString(EntranceConsts.KEY_PRIMARY_CATALOG_ID) ?: ""
mViewModel.selectedCatalog = mSubCatalogList.find { entity -> entity.name == mInitCatalogName }
?: CatalogEntity.SubCatalogEntity()
@@ -190,9 +194,10 @@ class NewCatalogListFragment : ListFragment
override fun onNightModeChange() {
super.onNightModeChange()
- mBinding?.run {
- filterContainer.setRootBackgroundColor(R.color.background_white.toColor(requireContext()))
- filterContainer.setItemTextColor(R.color.text_subtitle.toColor(requireContext()))
+ mBinding?.filterContainer?.run {
+ setRootBackgroundColor(R.color.background_white.toColor(requireContext()))
+ setItemTextColor(R.color.text_subtitle.toColor(requireContext()))
+ updatePopupWindow()
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt
index a9bf98689d..08b3ab6212 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt
@@ -2,9 +2,9 @@ package com.gh.gamecenter.catalog
import android.app.Application
import androidx.lifecycle.MutableLiveData
-import com.gh.common.exposure.ExposureEntity
+import com.gh.gamecenter.common.entity.ExposureEntity
import com.gh.common.exposure.ExposureUtils
-import com.gh.common.util.UrlFilterUtils
+import com.gh.gamecenter.core.utils.UrlFilterUtils
import com.gh.common.view.CatalogFilterView
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.entity.CatalogEntity
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogAdapter.kt b/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogAdapter.kt
index ab283d8e45..c317aee1cb 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogAdapter.kt
@@ -11,8 +11,8 @@ import android.widget.LinearLayout
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.IExposable
@@ -20,6 +20,8 @@ import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.PageSwitchDataHelper
import com.gh.gamecenter.databinding.*
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.subject.SubjectActivity.Companion.startSubjectActivity
@@ -164,6 +166,8 @@ class SpecialCatalogAdapter(
val specialLink = entity.link
holder.binding.run {
headTitle.text = specialLink.text
+ headTitle.setTextColor(R.color.text_title.toColor(mContext))
+ headMore.setTextColor(R.color.theme_font.toColor(mContext))
headMore.setOnClickListener {
if (entity.type == "专题合集") {
DirectUtils.directToColumnCollection(
diff --git a/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogFragment.kt b/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogFragment.kt
index d8edb2d7e0..20093e678d 100644
--- a/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/catalog/SpecialCatalogFragment.kt
@@ -3,12 +3,13 @@ package com.gh.gamecenter.catalog
import android.os.Bundle
import android.view.View
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.exposure.ExposureListener
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.viewModelProvider
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.databinding.FragmentListBaseSkeletonBinding
class SpecialCatalogFragment : ListFragment() {
@@ -31,7 +32,7 @@ class SpecialCatalogFragment : ListFragment
+
+ mIsCategoryV2 = arguments?.getBoolean(EntranceConsts.KEY_IS_CATEGORY_V2) ?: false
+ mCatalogId = arguments?.getString(EntranceConsts.KEY_CATALOG_ID) ?: ""
+ mCatalogTitle = arguments?.getString(EntranceConsts.KEY_CATALOG_TITLE) ?: ""
+ mLastPageDataMap = arguments?.getSerializable(EntranceConsts.KEY_LAST_PAGE_DATA) as? HashMap
super.onCreate(savedInstanceState)
@@ -91,4 +93,13 @@ class SpecialCatalogFragment : ListFragment {
val category = mEntityList[position]
holder.binding.run {
+ divider.setBackgroundColor(R.color.background.toColor(mContext))
containerPrimaryCategory.setOnClickListener {
- IntentUtils.startCategoryListActivity(root.context, categoryTitle, category)
+ root.context.startActivity(getIntent(root.context, categoryTitle, category, "全部"))
}
ImageUtils.display(iconIv, category.icon)
categoryName.text = category.name
diff --git a/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryFragment.kt b/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryFragment.kt
index 686d9c8903..74e69f6c46 100644
--- a/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryFragment.kt
@@ -4,10 +4,10 @@ import android.graphics.Color
import android.view.View
import androidx.lifecycle.ViewModelProviders
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.toColor
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.view.VerticalItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LazyListFragment
import com.gh.gamecenter.databinding.FragmentListBaseSkeletonBinding
@@ -28,15 +28,15 @@ class CategoryDirectoryFragment : LazyListFragment ?: arrayListOf()
- val initSelectedCategory = arguments?.getString(EntranceUtils.KEY_CATEGORY_INIT_TITLE)
+ val initSelectedCategory = arguments?.getString(EntranceConsts.KEY_CATEGORY_INIT_TITLE)
mViewModel.selectedCategory = mSubCategoryList.find { categoryEntity -> categoryEntity.name == initSelectedCategory }
?: CategoryEntity()
@@ -70,7 +75,7 @@ class NewCategoryListFragment : ListFragment>? {
@@ -56,8 +56,8 @@ class NewCategoryListViewModel(application: Application)
if (sortSize != null && sortSize != mSortSize) {
mSortSize = sortSize
refresh.postValue(true)
- } else if (sortType != null && sortType != mSortType) {
- mSortType = sortType
+ } else if (sortType != null && sortType != this.sortType) {
+ this.sortType = sortType
refresh.postValue(true)
}
}
@@ -69,7 +69,7 @@ class NewCategoryListViewModel(application: Application)
}
fun getSortType(): String? {
- return if (mSortType == ConfigFilterView.SortType.RECOMMENDED) {
+ return if (sortType == ConfigFilterView.SortType.RECOMMENDED) {
"download:-1"
} else {
"publish:-1"
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryDirectoryAdapter.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryDirectoryAdapter.kt
index 3a73e156f7..dc3c94565b 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryDirectoryAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryDirectoryAdapter.kt
@@ -4,10 +4,11 @@ import android.content.Context
import android.view.ViewGroup
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.dip2px
-import com.gh.common.view.GridSpacingItemColorDecoration
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.view.GridSpacingItemColorDecoration
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.databinding.CategoryDirectoryItemBinding
import com.gh.gamecenter.entity.CategoryEntity
import com.lightgame.adapter.BaseRecyclerAdapter
@@ -40,6 +41,7 @@ class CategoryDirectoryAdapter(context: Context,
val entity = mList[position]
title.text = entity.name
+ title.setTextColor(R.color.text_title.toColor(mContext))
subCategoryRv.run {
if (adapter is SubCategoryAdapter) {
@@ -62,7 +64,14 @@ class CategoryDirectoryAdapter(context: Context,
position
)
}
- addItemDecoration(GridSpacingItemColorDecoration(mContext, 6, 6, R.color.transparent))
+ addItemDecoration(
+ GridSpacingItemColorDecoration(
+ mContext,
+ 6,
+ 6,
+ R.color.transparent
+ )
+ )
}
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Activity.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Activity.kt
index 5d82f7b5ab..07b011a66c 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Activity.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Activity.kt
@@ -3,17 +3,17 @@ package com.gh.gamecenter.category2
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import android.view.MenuItem
-import com.gh.common.util.EntranceUtils
-import com.gh.gamecenter.NormalActivity
+import com.gh.base.DownloadToolbarActivity
import com.gh.gamecenter.R
-import com.gh.gamecenter.SearchActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class CategoryV2Activity : NormalActivity() {
+class CategoryV2Activity : DownloadToolbarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setToolbarMenu(R.menu.menu_search)
+ updateStatusBarColor(R.color.black, R.color.white)
}
override fun showDownloadMenu(): Boolean {
@@ -24,12 +24,19 @@ class CategoryV2Activity : NormalActivity() {
return getTargetIntent(this, CategoryV2Activity::class.java, CategoryV2Fragment::class.java)
}
+ override fun isAutoResetViewBackgroundEnabled() = true
+
+ override fun onNightModeChange() {
+ super.onNightModeChange()
+ updateStatusBarColor(R.color.black, R.color.white)
+ }
+
companion object {
fun getIntent(context: Context, catalogId: String, catalogTitle: String, entrance: String): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_CATEGORY_ID, catalogId)
- bundle.putString(EntranceUtils.KEY_CATEGORY_TITLE, catalogTitle)
- bundle.putString(EntranceUtils.KEY_ENTRANCE, entrance)
+ bundle.putString(EntranceConsts.KEY_CATEGORY_ID, catalogId)
+ bundle.putString(EntranceConsts.KEY_CATEGORY_TITLE, catalogTitle)
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance)
return getTargetIntent(context, CategoryV2Activity::class.java, CategoryV2Fragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Adapter.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Adapter.kt
index 610cd46c6c..5b86f49826 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Adapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Adapter.kt
@@ -3,10 +3,10 @@ package com.gh.gamecenter.category2
import android.content.Context
import android.view.View
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.goneIf
-import com.gh.common.util.toBinding
-import com.gh.common.util.toColor
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.CategoryV2ItemBinding
import com.gh.gamecenter.entity.SidebarsEntity
@@ -31,12 +31,12 @@ class CategoryV2Adapter(
recommendTag.goneIf(!catalogEntity.recommended)
if (catalogEntity.name == mViewModel.selectedCategoryName) {
selectedTag.visibility = View.VISIBLE
- catalogName.setTextColor(R.color.theme_font.toColor())
- root.setBackgroundColor(R.color.white.toColor())
+ catalogName.setTextColor(R.color.theme_font.toColor(mContext))
+ root.setBackgroundColor(R.color.background_white.toColor(mContext))
} else {
selectedTag.visibility = View.GONE
- catalogName.setTextColor(R.color.text_title.toColor())
- root.setBackgroundColor(R.color.background.toColor())
+ catalogName.setTextColor(R.color.text_title.toColor(mContext))
+ root.setBackgroundColor(R.color.background.toColor(mContext))
}
root.setOnClickListener {
if (catalogEntity.name != mViewModel.selectedCategoryName) {
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Fragment.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Fragment.kt
index 3968b40de6..c7cd8414e9 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Fragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2Fragment.kt
@@ -10,13 +10,17 @@ import androidx.core.view.GravityCompat
import androidx.drawerlayout.widget.DrawerLayout
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
-import com.gh.base.fragment.LazyFragment
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.base.fragment.LazyFragment
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.util.*
-import com.gh.common.view.FixLinearLayoutManager
+import com.gh.common.util.LogUtils
+import com.gh.gamecenter.common.view.FixLinearLayoutManager
import com.gh.gamecenter.R
import com.gh.gamecenter.SearchActivity
import com.gh.gamecenter.catalog.SpecialCatalogFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentCategoryBinding
import com.gh.gamecenter.entity.CategoryEntity
import com.gh.gamecenter.entity.SidebarsEntity
@@ -39,13 +43,13 @@ class CategoryV2Fragment : LazyFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
savedInstanceState?.run {
- mLastSelectedPosition = getInt(EntranceUtils.KEY_LAST_SELECTED_POSITION)
+ mLastSelectedPosition = getInt(EntranceConsts.KEY_LAST_SELECTED_POSITION)
}
}
override fun onSaveInstanceState(outState: Bundle) {
mViewModel?.run {
- outState.putInt(EntranceUtils.KEY_LAST_SELECTED_POSITION, selectedCategoryPosition)
+ outState.putInt(EntranceConsts.KEY_LAST_SELECTED_POSITION, selectedCategoryPosition)
}
super.onSaveInstanceState(outState)
}
@@ -57,14 +61,14 @@ class CategoryV2Fragment : LazyFragment() {
}
override fun onFragmentFirstVisible() {
- mCategoryId = arguments?.getString(EntranceUtils.KEY_CATEGORY_ID) ?: ""
- mCategoryTitle = arguments?.getString(EntranceUtils.KEY_CATEGORY_TITLE) ?: ""
+ mCategoryId = arguments?.getString(EntranceConsts.KEY_CATEGORY_ID) ?: ""
+ mCategoryTitle = arguments?.getString(EntranceConsts.KEY_CATEGORY_TITLE) ?: ""
mLastPageDataMap = PageSwitchDataHelper.popLastPageData()
mViewModel = viewModelProviderFromParent(CategoryV2ViewModel.Factory(mCategoryId, mCategoryTitle), mCategoryId)
// 除了这里以外,下面还有一个判断是否为首页 tab 栏的赋值
mViewModel?.entrance = if (mEntrance.contains("首页")) "首页" else "板块"
- if (arguments?.getBoolean(EntranceUtils.KEY_IS_HOME) == true) {
+ if (arguments?.getBoolean(EntranceConsts.KEY_IS_HOME) == true) {
mHomeViewModel = viewModelProviderFromParent()
mViewModel?.entrance = "首页Tab栏"
}
@@ -102,11 +106,11 @@ class CategoryV2Fragment : LazyFragment() {
directoryRv.layoutParams.width = width
// 嵌入在首页时特殊处理
- if (arguments?.getBoolean(EntranceUtils.KEY_IS_HOME) == true) {
- root.setBackgroundColor(Color.WHITE)
+ if (arguments?.getBoolean(EntranceConsts.KEY_IS_HOME) == true) {
+ root.setBackgroundColor(R.color.background_white.toColor(requireContext()))
root.setPadding(0, 8F.dip2px(), 0, 0)
directoryRv.isNestedScrollingEnabled = false
- categoryRv.setBackgroundColor(R.color.background.toColor())
+ categoryRv.setBackgroundColor(R.color.background.toColor(requireContext()))
}
}
@@ -300,11 +304,11 @@ class CategoryV2Fragment : LazyFragment() {
.findFragmentByTag(SpecialCatalogFragment::class.java.simpleName)
as? SpecialCatalogFragment ?: SpecialCatalogFragment()
mSpecialCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_IS_CATEGORY_V2 to true,
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_CATALOG_TITLE to mCategoryTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE),
- EntranceUtils.KEY_LAST_PAGE_DATA to mLastPageDataMap
+ EntranceConsts.KEY_IS_CATEGORY_V2 to true,
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCategoryTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE),
+ EntranceConsts.KEY_LAST_PAGE_DATA to mLastPageDataMap
)
childFragmentManager
.beginTransaction()
@@ -324,11 +328,11 @@ class CategoryV2Fragment : LazyFragment() {
.findFragmentByTag(CategoryV2ListFragment::class.java.simpleName)
as? CategoryV2ListFragment ?: CategoryV2ListFragment()
mCategoryV2ListFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATEGORY_ID to id,
- EntranceUtils.KEY_SUB_CATEGORY_ID to sidebars[selectedCategoryPosition].categoryId,
- EntranceUtils.KEY_CATEGORY_TITLE to mCategoryTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE),
- EntranceUtils.KEY_LAST_PAGE_DATA to mLastPageDataMap
+ EntranceConsts.KEY_CATEGORY_ID to id,
+ EntranceConsts.KEY_SUB_CATEGORY_ID to sidebars[selectedCategoryPosition].categoryId,
+ EntranceConsts.KEY_CATEGORY_TITLE to mCategoryTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE),
+ EntranceConsts.KEY_LAST_PAGE_DATA to mLastPageDataMap
)
childFragmentManager
.beginTransaction()
@@ -353,11 +357,11 @@ class CategoryV2Fragment : LazyFragment() {
.findFragmentByTag(CategoryV2ListFragment::class.java.simpleName)
as? CategoryV2ListFragment ?: CategoryV2ListFragment()
mCategoryV2ListFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATEGORY_ID to id,
- EntranceUtils.KEY_SUB_CATEGORY_ID to sidebars[position].categoryId,
- EntranceUtils.KEY_CATALOG_TITLE to mCategoryTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE),
- EntranceUtils.KEY_LAST_PAGE_DATA to mLastPageDataMap
+ EntranceConsts.KEY_CATEGORY_ID to id,
+ EntranceConsts.KEY_SUB_CATEGORY_ID to sidebars[position].categoryId,
+ EntranceConsts.KEY_CATALOG_TITLE to mCategoryTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE),
+ EntranceConsts.KEY_LAST_PAGE_DATA to mLastPageDataMap
)
childFragmentManager
.beginTransaction()
@@ -371,11 +375,11 @@ class CategoryV2Fragment : LazyFragment() {
.findFragmentByTag(SpecialCatalogFragment::class.java.simpleName)
as? SpecialCatalogFragment ?: SpecialCatalogFragment()
mSpecialCatalogFragment?.arguments = bundleOf(
- EntranceUtils.KEY_IS_CATEGORY_V2 to true,
- EntranceUtils.KEY_CATALOG_ID to id,
- EntranceUtils.KEY_CATALOG_TITLE to mCategoryTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE),
- EntranceUtils.KEY_LAST_PAGE_DATA to mLastPageDataMap
+ EntranceConsts.KEY_IS_CATEGORY_V2 to true,
+ EntranceConsts.KEY_CATALOG_ID to id,
+ EntranceConsts.KEY_CATALOG_TITLE to mCategoryTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE),
+ EntranceConsts.KEY_LAST_PAGE_DATA to mLastPageDataMap
)
childFragmentManager
.beginTransaction()
@@ -384,11 +388,11 @@ class CategoryV2Fragment : LazyFragment() {
} else {
if (mCategoryV2ListFragment?.isStateSaved == false) {
mCategoryV2ListFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATEGORY_ID to id,
- EntranceUtils.KEY_SUB_CATEGORY_ID to sidebars[position].categoryId,
- EntranceUtils.KEY_CATALOG_TITLE to mCategoryTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE),
- EntranceUtils.KEY_LAST_PAGE_DATA to mLastPageDataMap
+ EntranceConsts.KEY_CATEGORY_ID to id,
+ EntranceConsts.KEY_SUB_CATEGORY_ID to sidebars[position].categoryId,
+ EntranceConsts.KEY_CATALOG_TITLE to mCategoryTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE),
+ EntranceConsts.KEY_LAST_PAGE_DATA to mLastPageDataMap
)
}
mCategoryV2ListFragment?.changeCategoryTab(sidebars[position].categoryId)
@@ -406,11 +410,11 @@ class CategoryV2Fragment : LazyFragment() {
} else {
if (mCategoryV2ListFragment?.isStateSaved == false) {
mCategoryV2ListFragment?.arguments = bundleOf(
- EntranceUtils.KEY_CATEGORY_ID to id,
- EntranceUtils.KEY_SUB_CATEGORY_ID to sidebars[position].categoryId,
- EntranceUtils.KEY_CATALOG_TITLE to mCategoryTitle,
- EntranceUtils.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE),
- EntranceUtils.KEY_LAST_PAGE_DATA to mLastPageDataMap
+ EntranceConsts.KEY_CATEGORY_ID to id,
+ EntranceConsts.KEY_SUB_CATEGORY_ID to sidebars[position].categoryId,
+ EntranceConsts.KEY_CATALOG_TITLE to mCategoryTitle,
+ EntranceConsts.KEY_EXPOSURE_SOURCE to arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE),
+ EntranceConsts.KEY_LAST_PAGE_DATA to mLastPageDataMap
)
}
mCategoryV2ListFragment?.changeCategoryTab(sidebars[position].categoryId)
@@ -461,4 +465,16 @@ class CategoryV2Fragment : LazyFragment() {
requireContext().resources.getDimension(R.dimen.main_bottom_tab_height).toInt() - it.appBarOffset)
}
}
+
+ override fun onNightModeChange() {
+ super.onNightModeChange()
+ mBinding?.categoryRv?.adapter?.run {
+ mBinding?.categoryRv?.recycledViewPool?.clear()
+ notifyItemRangeChanged(0, itemCount)
+ }
+ mBinding?.directoryRv?.adapter?.run {
+ mBinding?.directoryRv?.recycledViewPool?.clear()
+ notifyItemRangeChanged(0, itemCount)
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt
index b15d225b82..36459ce123 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListAdapter.kt
@@ -5,20 +5,25 @@ import android.util.SparseArray
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.databind.BindingAdapters
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.ExposureType
import com.gh.common.exposure.IExposable
import com.gh.common.util.*
-import com.gh.common.view.DrawableView
+import com.gh.gamecenter.common.view.DrawableView
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.adapter.viewholder.GameViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.CategoryGameItemBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.eventbus.EBDownloadStatus
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListFragment.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListFragment.kt
index 4f0cae0f4c..c0ba61b88f 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListFragment.kt
@@ -4,15 +4,18 @@ import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.exposure.ExposureListener
import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
import com.gh.common.view.CategoryFilterView
import com.gh.common.xapk.XapkInstaller
import com.gh.common.xapk.XapkUnzipStatus
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.FragmentCategoryListBinding
import com.gh.gamecenter.databinding.LayoutSelectedCategoryBinding
import com.gh.gamecenter.entity.CategoryEntity
@@ -54,7 +57,7 @@ class CategoryV2ListFragment : ListFragment
viewModelProvider(CategoryV2ListViewModel.Factory(
mCategoryId,
mSubCategoryId,
- arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE)))
+ arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE)))
override fun provideListAdapter() = mAdapter
?: CategoryV2ListAdapter(
@@ -73,13 +76,12 @@ class CategoryV2ListFragment : ListFragment
override fun getItemDecoration() = null
override fun onCreate(savedInstanceState: Bundle?) {
- mCategoryId = arguments?.getString(EntranceUtils.KEY_CATEGORY_ID) ?: ""
- mSubCategoryId = arguments?.getString(EntranceUtils.KEY_SUB_CATEGORY_ID) ?: ""
- mCategoryTitle = arguments?.getString(EntranceUtils.KEY_CATEGORY_TITLE) ?: ""
- mLastPageDataMap = arguments?.getSerializable(EntranceUtils.KEY_LAST_PAGE_DATA) as? HashMap
-
+ mCategoryId = arguments?.getString(EntranceConsts.KEY_CATEGORY_ID) ?: ""
+ mSubCategoryId = arguments?.getString(EntranceConsts.KEY_SUB_CATEGORY_ID) ?: ""
+ mCategoryTitle = arguments?.getString(EntranceConsts.KEY_CATEGORY_TITLE) ?: ""
+ mLastPageDataMap = arguments?.getSerializable(EntranceConsts.KEY_LAST_PAGE_DATA) as? HashMap
mCategoryViewModel = viewModelProviderFromParent(CategoryV2ViewModel.Factory(mCategoryId, mCategoryTitle), mCategoryId)
- mEntrance = arguments?.getString(EntranceUtils.KEY_ENTRANCE) ?: Constants.ENTRANCE_UNKNOWN
+ mEntrance = arguments?.getString(EntranceConsts.KEY_ENTRANCE) ?: Constants.ENTRANCE_UNKNOWN
super.onCreate(savedInstanceState)
}
@@ -315,4 +317,13 @@ class CategoryV2ListFragment : ListFragment
fun openDirectoryLayout() {
(parentFragment as? CategoryV2Fragment)?.openDirectoryLayout()
}
+
+ override fun onNightModeChange() {
+ super.onNightModeChange()
+ mBinding?.filterContainer?.run {
+ setRootBackgroundColor(R.color.background_white.toColor(requireContext()))
+ setItemTextColor(R.color.text_subtitle.toColor(requireContext()))
+ updatePopupWindow()
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListViewModel.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListViewModel.kt
index 5b7f8b861d..10c19a6b3b 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ListViewModel.kt
@@ -4,10 +4,10 @@ import android.app.Application
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.exposure.ExposureEntity
+import com.gh.gamecenter.common.entity.ExposureEntity
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.ExposureUtils
-import com.gh.common.util.UrlFilterUtils
+import com.gh.gamecenter.core.utils.UrlFilterUtils
import com.gh.common.view.CategoryFilterView
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.entity.GameEntity
diff --git a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ViewModel.kt b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ViewModel.kt
index 3196a24d62..881a957e73 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/CategoryV2ViewModel.kt
@@ -9,7 +9,7 @@ import androidx.lifecycle.ViewModelProvider
import com.gh.common.util.LogUtils
import com.gh.gamecenter.entity.CategoryEntity
import com.gh.gamecenter.entity.SidebarsEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/category2/SubCategoryAdapter.kt b/app/src/main/java/com/gh/gamecenter/category2/SubCategoryAdapter.kt
index cff08601e1..c135fe7cd4 100644
--- a/app/src/main/java/com/gh/gamecenter/category2/SubCategoryAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/category2/SubCategoryAdapter.kt
@@ -3,11 +3,12 @@ package com.gh.gamecenter.category2
import android.content.Context
import android.view.View
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.ToastUtils
-import com.gh.common.util.goneIf
-import com.gh.common.util.toColor
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.core.utils.ToastUtils
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.databinding.SubCategoryItemBinding
import com.gh.gamecenter.entity.CategoryEntity
import com.lightgame.adapter.BaseRecyclerAdapter
@@ -32,12 +33,12 @@ class SubCategoryAdapter(
if (categoryEntity.selected) {
selectedIv.visibility = View.VISIBLE
- container.setBackgroundResource(R.drawable.bg_category_selected)
- name.setTextColor(R.color.theme_font.toColor())
+ container.background = R.drawable.bg_category_selected.toDrawable(mContext)
+ name.setTextColor(R.color.theme_font.toColor(mContext))
} else {
selectedIv.visibility = View.GONE
- container.setBackgroundResource(R.drawable.bg_shape_f8_radius_8)
- name.setTextColor(R.color.text_title.toColor())
+ container.background = R.drawable.bg_shape_f8_radius_8.toDrawable(mContext)
+ name.setTextColor(R.color.text_title.toColor(mContext))
}
root.setOnClickListener {
@@ -47,8 +48,8 @@ class SubCategoryAdapter(
categoryEntity.selected -> {
categoryEntity.selected = false
selectedIv.visibility = View.GONE
- container.setBackgroundResource(R.drawable.bg_shape_f8_radius_8)
- name.setTextColor(R.color.text_title.toColor())
+ container.background = R.drawable.bg_shape_f8_radius_8.toDrawable(mContext)
+ name.setTextColor(R.color.text_title.toColor(mContext))
mViewModel.run {
if (selectedCount > 0) {
selectedCount--
@@ -63,8 +64,8 @@ class SubCategoryAdapter(
categoryEntity.selected = true
categoryEntity.primaryIndex = mPrimaryIndex
selectedIv.visibility = View.VISIBLE
- container.setBackgroundResource(R.drawable.bg_category_selected)
- name.setTextColor(R.color.theme_font.toColor())
+ container.background = R.drawable.bg_category_selected.toDrawable(mContext)
+ name.setTextColor(R.color.theme_font.toColor(mContext))
mViewModel.run {
if (selectedCount < 5) {
selectedCount++
diff --git a/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java b/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java
index e0c328f3f0..4f52920db5 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java
@@ -8,13 +8,13 @@ import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
-import com.gh.base.OnListClickListener;
-import com.gh.common.constant.ItemViewType;
-import com.gh.common.syncpage.ISyncAdapterHandler;
+import com.gh.gamecenter.common.callback.OnListClickListener;
+import com.gh.gamecenter.common.constant.ItemViewType;
+import com.gh.gamecenter.common.syncpage.ISyncAdapterHandler;
import com.gh.common.util.CollectionUtils;
-import com.gh.common.util.DialogHelper;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.ExtensionsKt;
+import com.gh.gamecenter.common.utils.DialogHelper;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.core.utils.DisplayUtils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
import com.gh.gamecenter.baselist.ListAdapter;
diff --git a/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java b/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java
index 7b4b06a9c3..0038463619 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java
@@ -4,9 +4,14 @@ import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.ViewModelProviders;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.gh.common.util.CollectionUtils;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.view.CustomDividerItemDecoration;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.common.view.CustomDividerItemDecoration;
import com.gh.gamecenter.R;
import com.gh.gamecenter.baselist.ListAdapter;
import com.gh.gamecenter.baselist.ListFragment;
@@ -20,11 +25,6 @@ import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.jetbrains.annotations.NotNull;
-import androidx.annotation.Nullable;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.ViewModelProviders;
-import androidx.recyclerview.widget.RecyclerView;
-
/**
* Created by khy on 22/12/17.
*/
@@ -45,9 +45,9 @@ public class AnswerFragment extends ListFragment
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
- mType = getArguments().getString(EntranceUtils.KEY_TYPE, COLLECTION);
+ mType = getArguments().getString(EntranceConsts.KEY_TYPE, COLLECTION);
super.onCreate(savedInstanceState);
- mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.white));
+ mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.background_white));
}
@Override
@@ -97,4 +97,16 @@ public class AnswerFragment extends ListFragment
itemDecoration.setDrawable(insetDivider);
return itemDecoration;
}
+
+ @Override
+ protected void onNightModeChange() {
+ super.onNightModeChange();
+ mCachedView.post(() -> {
+ mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.background_white));
+ });
+ if (mListRv != null && mListRv.getItemDecorationCount() > 0) {
+ mListRv.removeItemDecorationAt(0);
+ mListRv.addItemDecoration(getItemDecoration());
+ }
+ }
}
diff --git a/app/src/main/java/com/gh/gamecenter/collection/AnswerViewModel.kt b/app/src/main/java/com/gh/gamecenter/collection/AnswerViewModel.kt
index 2f7cca644c..ecd336bc1d 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/AnswerViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/AnswerViewModel.kt
@@ -2,14 +2,14 @@ package com.gh.gamecenter.collection
import android.annotation.SuppressLint
import android.app.Application
-import com.gh.common.AppExecutor
+import com.gh.gamecenter.core.AppExecutor
import com.gh.common.history.HistoryDatabase
import com.gh.common.history.HistoryHelper
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.baselist.LoadType
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.qa.entity.AnswerEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.Observable
import io.reactivex.Single
diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java
index ab2583d564..e24f38d357 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java
@@ -12,14 +12,14 @@ import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
-import com.gh.base.OnListClickListener;
-import com.gh.common.constant.ItemViewType;
-import com.gh.common.util.DialogHelper;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.ExtensionsKt;
-import com.gh.common.util.ImageUtils;
+import com.gh.gamecenter.common.callback.OnListClickListener;
+import com.gh.gamecenter.common.constant.ItemViewType;
+import com.gh.gamecenter.common.utils.DialogHelper;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.core.utils.DisplayUtils;
+import com.gh.gamecenter.common.utils.ImageUtils;
import com.gh.common.util.NewsUtils;
-import com.gh.common.util.NumberUtils;
+import com.gh.gamecenter.core.utils.NumberUtils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
import com.gh.gamecenter.adapter.viewholder.NewsImage1ViewHolder;
@@ -33,7 +33,7 @@ import com.gh.gamecenter.databinding.PopupHistoryOptionBinding;
import com.gh.gamecenter.entity.NewsEntity;
import com.gh.gamecenter.history.ManageOption;
import com.gh.gamecenter.manager.VisitManager;
-import com.gh.gamecenter.retrofit.JSONObjectResponse;
+import com.gh.gamecenter.common.retrofit.JSONObjectResponse;
import com.gh.gamecenter.retrofit.RetrofitManager;
import org.json.JSONException;
diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java
index 85bf1d5373..423a2cf723 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java
@@ -4,11 +4,15 @@ import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.gh.common.util.CollectionUtils;
import com.gh.common.util.DataCollectionUtils;
-import com.gh.common.util.DialogHelper;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.view.CustomDividerItemDecoration;
+import com.gh.gamecenter.common.utils.DialogHelper;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.common.view.CustomDividerItemDecoration;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.baselist.ListAdapter;
@@ -23,10 +27,6 @@ import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.jetbrains.annotations.NotNull;
-import androidx.annotation.Nullable;
-import androidx.core.content.ContextCompat;
-import androidx.recyclerview.widget.RecyclerView;
-
/**
* Created by khy on 18/07/17.
*/
@@ -42,9 +42,9 @@ public class ArticleFragment extends ListFragment
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
- mType = getArguments().getString(EntranceUtils.KEY_TYPE, COLLECTION);
+ mType = getArguments().getString(EntranceConsts.KEY_TYPE, COLLECTION);
super.onCreate(savedInstanceState);
- mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.white));
+ mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.background_white));
}
@Override
@@ -121,4 +121,16 @@ public class ArticleFragment extends ListFragment
itemDecoration.setDrawable(insetDivider);
return itemDecoration;
}
+
+ @Override
+ protected void onNightModeChange() {
+ super.onNightModeChange();
+ mCachedView.post(() -> {
+ mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.background_white));
+ });
+ if (mListRv != null && mListRv.getItemDecorationCount() > 0) {
+ mListRv.removeItemDecorationAt(0);
+ mListRv.addItemDecoration(getItemDecoration());
+ }
+ }
}
diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleViewModel.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleViewModel.java
index 56a5d41d3e..2ccd953e6a 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/ArticleViewModel.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleViewModel.java
@@ -2,10 +2,10 @@ package com.gh.gamecenter.collection;
import android.app.Application;
-import com.gh.common.AppExecutor;
+import com.gh.gamecenter.core.AppExecutor;
import com.gh.common.history.HistoryDatabase;
import com.gh.common.history.HistoryHelper;
-import com.gh.common.util.UrlFilterUtils;
+import com.gh.gamecenter.core.utils.UrlFilterUtils;
import com.gh.gamecenter.baselist.ListViewModel;
import com.gh.gamecenter.baselist.LoadType;
import com.gh.gamecenter.entity.NewsEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/collection/CollectionCommunityArticleViewHolder.kt b/app/src/main/java/com/gh/gamecenter/collection/CollectionCommunityArticleViewHolder.kt
index 2007478ccc..042f7ec251 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/CollectionCommunityArticleViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/CollectionCommunityArticleViewHolder.kt
@@ -1,6 +1,7 @@
package com.gh.gamecenter.collection
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.CollectionComunityArticleItemBinding
-class CollectionCommunityArticleViewHolder(val binding: CollectionComunityArticleItemBinding):BaseRecyclerViewHolder(binding.root)
+class CollectionCommunityArticleViewHolder(val binding: CollectionComunityArticleItemBinding):
+ BaseRecyclerViewHolder(binding.root)
diff --git a/app/src/main/java/com/gh/gamecenter/collection/CollectionWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/collection/CollectionWrapperFragment.java
index d62ac44944..368a5cae60 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/CollectionWrapperFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/CollectionWrapperFragment.java
@@ -3,15 +3,14 @@ package com.gh.gamecenter.collection;
import android.os.Bundle;
import android.view.View;
-import com.gh.base.fragment.BaseFragment_TabLayout;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.util.MtaHelper;
+import com.gh.gamecenter.common.base.fragment.BaseFragment_TabLayout;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.core.utils.MtaHelper;
import com.gh.gamecenter.R;
import com.gh.gamecenter.manager.UserManager;
import java.util.List;
-import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
/**
@@ -76,8 +75,8 @@ public class CollectionWrapperFragment extends BaseFragment_TabLayout {
} else {
gameCollectionArguments = new Bundle();
}
- gameCollectionArguments.putString(EntranceUtils.KEY_USER_ID, UserManager.getInstance().getUserId());
- gameCollectionArguments.putString(EntranceUtils.KEY_TYPE, GamesCollectionFragment.TYPE_COLLECT);
+ gameCollectionArguments.putString(EntranceConsts.KEY_USER_ID, UserManager.getInstance().getUserId());
+ gameCollectionArguments.putString(EntranceConsts.KEY_TYPE, GamesCollectionFragment.TYPE_COLLECT);
fragments.add(new GamesCollectionFragment().with(gameCollectionArguments));
fragments.add(new ToolsFragment().with(getArguments()));
diff --git a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt
index 1d7765d312..91df199a22 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt
@@ -9,12 +9,12 @@ import android.widget.LinearLayout
import android.widget.PopupWindow
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
-import com.gh.common.syncpage.ISyncAdapterHandler
-import com.gh.common.util.*
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.common.syncpage.ISyncAdapterHandler
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.CommunityAnswerItemBinding
import com.gh.gamecenter.databinding.PopupHistoryOptionBinding
import com.gh.gamecenter.entity.CommunityEntity
diff --git a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt
index 111b5b8ed0..32fbbf2bf2 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt
@@ -4,10 +4,10 @@ import android.os.Bundle
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.RecyclerView
import com.gh.common.util.CollectionUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
-import com.gh.common.view.CustomDividerItemDecoration
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
+import com.gh.gamecenter.common.view.CustomDividerItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
import com.gh.gamecenter.baselist.LoadType
@@ -25,9 +25,9 @@ class CommunityArticleFragment : ListFragment 0) {
+ mListRv?.removeItemDecorationAt(0)
+ mListRv?.addItemDecoration(itemDecoration)
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleViewModel.kt b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleViewModel.kt
index b024feea56..5e2daac106 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleViewModel.kt
@@ -2,7 +2,7 @@ package com.gh.gamecenter.collection
import android.annotation.SuppressLint
import android.app.Application
-import com.gh.common.AppExecutor
+import com.gh.gamecenter.core.AppExecutor
import com.gh.common.history.HistoryDatabase
import com.gh.common.history.HistoryHelper
import com.gh.gamecenter.R
@@ -11,8 +11,8 @@ import com.gh.gamecenter.baselist.LoadType
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.qa.entity.AnswerEntity
import com.gh.gamecenter.qa.entity.ArticleEntity
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.lightgame.utils.Utils
import io.reactivex.Observable
diff --git a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt
index ec18d2b04d..1b561e5960 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt
@@ -13,15 +13,18 @@ import android.widget.PopupWindow
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
-import com.gh.common.syncpage.ISyncAdapterHandler
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.common.syncpage.ISyncAdapterHandler
import com.gh.common.util.*
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.adapter.viewholder.GameCollectionItemViewHolder
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.collection.GamesCollectionFragment.Companion.TYPE_USER
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.ItemGameCollectionFlexTagBinding
import com.gh.gamecenter.databinding.PopupHistoryOptionBinding
import com.gh.gamecenter.entity.GamesCollectionEntity
diff --git a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt
index 16c4e4022a..afc5c8f322 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionFragment.kt
@@ -3,12 +3,14 @@ package com.gh.gamecenter.collection
import android.os.Bundle
import android.view.View
import androidx.core.content.ContextCompat
-import com.gh.common.util.*
-import com.gh.common.util.EntranceUtils.*
-import com.gh.common.view.SpacingItemDecoration
+import com.gh.gamecenter.common.constant.EntranceConsts.*
+import com.gh.gamecenter.common.view.SpacingItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
import com.gh.gamecenter.baselist.LoadType
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.entity.GamesCollectionEntity
import com.gh.gamecenter.eventbus.EBReuse
import org.greenrobot.eventbus.Subscribe
@@ -46,7 +48,7 @@ class GamesCollectionFragment : ListFragment 0) {
+ removeItemDecorationAt(0)
+ addItemDecoration(itemDecoration)
+ }
}
}
+
companion object {
const val TYPE_HISTORY = "history"
const val TYPE_COLLECT = "collect"
diff --git a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionViewModel.kt b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionViewModel.kt
index e7d5478313..1730b6dd71 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionViewModel.kt
@@ -5,20 +5,20 @@ import android.app.Application
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.AppExecutor
+import com.gh.gamecenter.core.AppExecutor
import com.gh.common.history.HistoryDatabase
import com.gh.common.history.HistoryHelper
import com.gh.common.util.ErrorHelper
-import com.gh.common.util.ToastUtils
-import com.gh.common.util.observableToMain
-import com.gh.common.util.singleToMain
+import com.gh.gamecenter.core.utils.ToastUtils
+import com.gh.gamecenter.common.utils.observableToMain
+import com.gh.gamecenter.common.utils.singleToMain
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.baselist.LoadType
import com.gh.gamecenter.collection.GamesCollectionFragment.Companion.TYPE_COLLECT
import com.gh.gamecenter.collection.GamesCollectionFragment.Companion.TYPE_HISTORY
import com.gh.gamecenter.entity.GamesCollectionEntity
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.Single
diff --git a/app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java b/app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java
index 52dcd1f5e6..632299d602 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java
@@ -5,9 +5,9 @@ import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
-import com.gh.base.OnListClickListener;
-import com.gh.common.constant.ItemViewType;
-import com.gh.common.util.ImageUtils;
+import com.gh.gamecenter.common.callback.OnListClickListener;
+import com.gh.gamecenter.common.constant.ItemViewType;
+import com.gh.gamecenter.common.utils.ImageUtils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
import com.gh.gamecenter.adapter.viewholder.ToolBoxViewHolder;
diff --git a/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java b/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java
index 6404f4ef8a..38d0911482 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java
@@ -1,16 +1,17 @@
package com.gh.gamecenter.collection;
+import static com.gh.common.constant.Config.URL_ARTICLE;
+
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
-import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.gh.common.util.CollectionUtils;
-import com.gh.common.view.CustomDividerItemDecoration;
+import com.gh.gamecenter.common.view.CustomDividerItemDecoration;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.WebActivity;
@@ -30,8 +31,6 @@ import java.util.List;
import io.reactivex.Observable;
-import static com.gh.common.constant.Config.URL_ARTICLE;
-
/**
* Created by khy on 18/07/17.
*/
@@ -43,7 +42,7 @@ public class ToolsFragment extends ListFragment 0) {
+ mListRv.removeItemDecorationAt(0);
+ mListRv.addItemDecoration(getItemDecoration());
+ }
+ }
}
diff --git a/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt b/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt
index f690b593b3..118bc0375e 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/VideoAdapter.kt
@@ -11,11 +11,12 @@ import android.widget.LinearLayout
import android.widget.PopupWindow
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.PopupHistoryOptionBinding
import com.gh.gamecenter.databinding.VideoNewItemBinding
import com.gh.gamecenter.entity.MyVideoEntity
diff --git a/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt b/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt
index b4657b3779..7c38ab9202 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt
@@ -4,10 +4,10 @@ import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.viewModelProvider
-import com.gh.common.view.GridSpacingItemDecoration
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.common.view.GridSpacingItemDecoration
import com.gh.gamecenter.baselist.ListFragment
import com.gh.gamecenter.entity.MyVideoEntity
import com.gh.gamecenter.history.IBatchDelete
@@ -32,7 +32,7 @@ class VideoFragment : ListFragment(), IBatchDelet
override fun onCreate(savedInstanceState: Bundle?) {
mVideoStyle = requireArguments().getString("videoStyle") ?: ""
- mIsInsertBbsVideo = requireArguments().getBoolean(EntranceUtils.KEY_INSERT_BBS_VIDEO)
+ mIsInsertBbsVideo = requireArguments().getBoolean(EntranceConsts.KEY_INSERT_BBS_VIDEO)
super.onCreate(savedInstanceState)
mListRv.setPadding(8f.dip2px(), 0, 8f.dip2px(), 0)
}
@@ -71,4 +71,13 @@ class VideoFragment : ListFragment(), IBatchDelet
override fun toString() = value
}
+
+ override fun onNightModeChange() {
+ super.onNightModeChange()
+ if ((mListRv?.itemDecorationCount ?: 0) > 0) {
+ mListRv?.removeItemDecorationAt(0)
+ mListRv?.addItemDecoration(itemDecoration)
+ }
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/collection/VideoViewModel.kt b/app/src/main/java/com/gh/gamecenter/collection/VideoViewModel.kt
index 60d5c4d76e..b897744744 100644
--- a/app/src/main/java/com/gh/gamecenter/collection/VideoViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/collection/VideoViewModel.kt
@@ -1,11 +1,11 @@
package com.gh.gamecenter.collection
import android.app.Application
-import com.gh.common.AppExecutor
+import com.gh.gamecenter.core.AppExecutor
import com.gh.common.constant.Config
import com.gh.common.history.HistoryDatabase
import com.gh.common.history.HistoryHelper
-import com.gh.common.util.UrlFilterUtils
+import com.gh.gamecenter.core.utils.UrlFilterUtils
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.baselist.LoadType
import com.gh.gamecenter.entity.MyVideoEntity
diff --git a/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java b/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java
index b7f86c021b..d159e3282b 100644
--- a/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java
+++ b/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java
@@ -2,7 +2,7 @@ package com.gh.gamecenter.db;
import android.content.Context;
-import com.gh.common.AppExecutor;
+import com.gh.gamecenter.core.AppExecutor;
import com.gh.gamecenter.db.info.SearchHistoryInfo;
import com.j256.ormlite.dao.CloseableIterator;
import com.j256.ormlite.dao.Dao;
diff --git a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt
index 4973752dc5..6e7d87a6fa 100644
--- a/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/DownloadFragment.kt
@@ -8,10 +8,10 @@ import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
-import com.gh.base.fragment.BaseFragment_TabLayout
+import com.gh.gamecenter.common.base.fragment.BaseFragment_TabLayout
import com.gh.common.util.HomePluggableHelper
-import com.gh.common.util.dip2px
-import com.gh.common.util.visibleIf
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.visibleIf
import com.gh.download.DownloadManager
import com.gh.gamecenter.DownloadManagerActivity
import com.gh.gamecenter.R
@@ -19,7 +19,7 @@ import com.gh.gamecenter.databinding.TabItemDownloadNumberBinding
import com.gh.gamecenter.entity.HomePluggableFilterEntity
import com.gh.gamecenter.entity.PluginLocation
import com.gh.gamecenter.eventbus.EBDownloadChanged
-import com.gh.gamecenter.eventbus.EBMiPush
+import com.gh.gamecenter.common.eventbus.EBMiPush
import com.gh.gamecenter.eventbus.EBSkip
import com.gh.gamecenter.eventbus.EBUISwitch
import com.gh.gamecenter.manager.PackagesManager
diff --git a/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt b/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt
index 969feaa1e3..e19115e401 100644
--- a/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/DownloadedGameIdAndPackageNameDao.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.download
-import com.gh.base.BaseSimpleDao
+import com.gh.gamecenter.common.base.BaseSimpleDao
/**
* 用来记录光环下载过什么包名和游戏ID间合集的一个简单类
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java
index ceeeb022c3..ac1f1aef3a 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java
@@ -13,11 +13,10 @@ import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-import com.gh.base.fragment.BaseFragment;
-import com.gh.common.util.DialogHelper;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.util.ExtensionsKt;
-import com.gh.common.util.NetworkUtils;
+import com.gh.gamecenter.common.base.fragment.BaseFragment;
+import com.gh.gamecenter.common.utils.DialogHelper;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.common.utils.NetworkUtils;
import com.gh.common.util.PackageUtils;
import com.gh.common.xapk.XapkInstaller;
import com.gh.common.xapk.XapkUnzipStatus;
@@ -25,9 +24,10 @@ import com.gh.download.DownloadManager;
import com.gh.gamecenter.DownloadManagerActivity;
import com.gh.gamecenter.MainActivity;
import com.gh.gamecenter.R;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
import com.gh.gamecenter.databinding.DownloadmanagerBinding;
import com.gh.gamecenter.eventbus.EBDownloadChanged;
-import com.gh.gamecenter.eventbus.EBMiPush;
+import com.gh.gamecenter.common.eventbus.EBMiPush;
import com.gh.gamecenter.eventbus.EBPackage;
import com.gh.gamecenter.eventbus.EBUISwitch;
import com.gh.gamecenter.fragment.MainWrapperFragment;
@@ -215,8 +215,8 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi
@Override
protected void initView(View view) {
super.initView(view);
- String path = getActivity().getIntent().getStringExtra(EntranceUtils.KEY_PATH);
- url = getActivity().getIntent().getStringExtra(EntranceUtils.KEY_URL);
+ String path = getActivity().getIntent().getStringExtra(EntranceConsts.KEY_PATH);
+ url = getActivity().getIntent().getStringExtra(EntranceConsts.KEY_URL);
isScroll = false;
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java
index da26a1d0f9..123dd4d8df 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java
@@ -9,18 +9,18 @@ import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.gh.common.constant.Constants;
+import com.gh.gamecenter.common.constant.Constants;
import com.gh.common.util.DataUtils;
-import com.gh.common.util.DialogHelper;
+import com.gh.gamecenter.common.utils.DialogHelper;
import com.gh.common.util.DialogUtils;
-import com.gh.common.util.ExtensionsKt;
-import com.gh.common.util.ImageUtils;
-import com.gh.common.util.NetworkUtils;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.common.utils.NetworkUtils;
import com.gh.common.util.PackageInstaller;
import com.gh.common.util.PackageUtils;
-import com.gh.common.util.PermissionHelper;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.common.utils.PermissionHelper;
import com.gh.common.util.PlatformUtils;
-import com.gh.common.util.SpeedUtils;
+import com.gh.gamecenter.core.utils.SpeedUtils;
import com.gh.common.xapk.XapkInstaller;
import com.gh.common.xapk.XapkUnzipStatus;
import com.gh.download.DownloadManager;
@@ -347,10 +347,6 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter {
Utils.toast(mContext, "最多只能同时启动3个下载任务");
break;
case "启动":
- Map kv = new HashMap<>();
- kv.put("版本", downloadEntity.getPlatform());
- DataUtils.onEvent(mContext, "游戏启动", downloadEntity.getName(), kv);
-
PackageUtils.launchApplicationByPackageName(mContext, downloadEntity.getPackageName());
break;
case "失败":
@@ -503,16 +499,6 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter {
// 显示插件化
void showPluginDialog(final String path) {
DialogHelper.showPluginDialog(mContext, () -> {
- for (DownloadEntity downloadEntity : DownloadManager.getInstance().getAllDownloadEntityExcludeSilentUpdate()) {
- if (downloadEntity.isPluggable()
- && downloadEntity.getPath().equals(path)) {
- Map kv6 = new HashMap<>();
- kv6.put("操作", "点击插件化安装完成");
- DataUtils.onEvent(mContext, "插件化", downloadEntity.getName(), kv6);
- break;
- }
- }
-
if (FileUtils.isEmptyFile(path)) {
Utils.toast(mContext, R.string.install_failure_hint);
} else {
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java
index 6d74fc2020..93bbad16fa 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java
@@ -9,9 +9,9 @@ import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.LinearLayoutManager;
-import com.gh.base.fragment.BaseFragment;
+import com.gh.gamecenter.common.base.fragment.BaseFragment;
import com.gh.common.exposure.ExposureListener;
-import com.gh.common.util.EntranceUtils;
+import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.MainActivity;
import com.gh.gamecenter.databinding.GameupdateBinding;
import com.gh.gamecenter.eventbus.EBDownloadStatus;
@@ -62,8 +62,8 @@ public class GameUpdateFragment extends BaseFragment {
protected void initView(View view) {
super.initView(view);
Intent intent = getActivity().getIntent();
- String packageName = intent.getStringExtra(EntranceUtils.KEY_PACKAGENAME);
- String entrance = intent.getStringExtra(EntranceUtils.KEY_ENTRANCE);
+ String packageName = intent.getStringExtra(EntranceConsts.KEY_PACKAGENAME);
+ String entrance = intent.getStringExtra(EntranceConsts.KEY_ENTRANCE);
mBinding.reuseNodataSkip.getRoot().setVisibility(View.GONE);
mBinding.reuseNodataSkip.reuseNodataSkipTvHint.setText("暂无更新");
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
index 5206f3a013..6cfc417712 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
@@ -12,8 +12,9 @@ import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
-import com.gh.common.AppExecutor;
-import com.gh.common.constant.Constants;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.core.AppExecutor;
+import com.gh.gamecenter.common.constant.Constants;
import com.gh.common.databind.BindingAdapters;
import com.gh.common.exposure.ExposureEvent;
import com.gh.common.exposure.ExposureSource;
@@ -23,19 +24,17 @@ import com.gh.common.exposure.IExposable;
import com.gh.common.history.HistoryHelper;
import com.gh.common.util.ApkActiveUtils;
import com.gh.common.util.DataCollectionUtils;
-import com.gh.common.util.DataUtils;
-import com.gh.common.util.DialogHelper;
+import com.gh.gamecenter.common.utils.DialogHelper;
import com.gh.common.util.DialogUtils;
-import com.gh.common.util.ExtensionsKt;
-import com.gh.common.util.GsonUtils;
-import com.gh.common.util.ImageUtils;
-import com.gh.common.util.NetworkUtils;
+import com.gh.gamecenter.core.utils.GsonUtils;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.common.utils.NetworkUtils;
import com.gh.common.util.PackageInstaller;
import com.gh.common.util.PackageUtils;
-import com.gh.common.util.PermissionHelper;
+import com.gh.gamecenter.common.utils.PermissionHelper;
import com.gh.common.util.PlatformUtils;
-import com.gh.common.util.StringUtils;
-import com.gh.common.util.UrlFilterUtils;
+import com.gh.gamecenter.core.utils.StringUtils;
+import com.gh.gamecenter.core.utils.UrlFilterUtils;
import com.gh.download.DownloadManager;
import com.gh.download.dialog.DownloadDialog;
import com.gh.gamecenter.DownloadManagerActivity;
@@ -51,7 +50,7 @@ import com.gh.gamecenter.entity.PluginLocation;
import com.gh.gamecenter.eventbus.EBDownloadChanged;
import com.gh.gamecenter.eventbus.EBSkip;
import com.gh.gamecenter.manager.PackagesManager;
-import com.gh.gamecenter.retrofit.Response;
+import com.gh.gamecenter.common.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.lightgame.download.DownloadEntity;
@@ -63,9 +62,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -374,10 +371,6 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter implemen
});
});
} else if (mContext.getString(R.string.launch).equals(str)) {
- Map kv = new HashMap<>();
- kv.put("版本", updateEntity.getPlatform());
- DataUtils.onEvent(mContext, "游戏启动", updateEntity.getName(), kv);
-
PackageUtils.launchApplicationByPackageName(mContext,
updateEntity.getPackageName());
} else if (mContext.getString(R.string.downloading).equals(str)) {
@@ -501,11 +494,6 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter implemen
GameUpdateEntity updateEntity = updateList.get(position);
ExposureUtils.DownloadType downloadType;
- Map kv = new HashMap<>();
- kv.put("版本", updateEntity.getPlatform());
- kv.put("状态", "下载开始");
- DataUtils.onEvent(mContext, "游戏更新", updateEntity.getName(), kv);
-
String downloadId = PackageInstaller.createDownloadId(updateEntity.getName());
DownloadEntity downloadEntity = new DownloadEntity();
diff --git a/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragment.kt b/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragment.kt
index 1e09201327..ee4cb48dd5 100644
--- a/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragment.kt
@@ -12,12 +12,12 @@
//import butterknife.BindView
//import com.ethanhua.skeleton.Skeleton
//import com.ethanhua.skeleton.ViewSkeletonScreen
-//import com.gh.base.OnRequestCallBackListener
+//import com.gh.gamecenter.common.callback.OnRequestCallBackListener
//import com.gh.common.exposure.ExposureListener
//import com.gh.common.util.DownloadItemUtils
-//import com.gh.common.util.isSimulatorGame
-//import com.gh.common.view.FixLinearLayoutManager
-//import com.gh.common.view.VerticalItemDecoration
+//import com.gh.gamecenter.common.utils.isSimulatorGame
+//import com.gh.gamecenter.common.view.FixLinearLayoutManager
+//import com.gh.gamecenter.common.view.VerticalItemDecoration
//import com.gh.download.DownloadManager
//import com.gh.gamecenter.MainActivity
//import com.gh.gamecenter.R
@@ -27,7 +27,7 @@
//import com.gh.gamecenter.eventbus.EBReuse
//import com.gh.gamecenter.fragment.MainWrapperFragment
//import com.gh.gamecenter.manager.PackagesManager
-//import com.gh.gamecenter.normal.NormalFragment
+//import com.gh.gamecenter.common.base.fragment.NormalFragment
//import com.gh.gamecenter.packagehelper.PackageViewModel
//import com.lightgame.download.DataWatcher
//import com.lightgame.download.DownloadEntity
diff --git a/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java
index c78285bc46..4795650f6f 100644
--- a/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java
@@ -4,7 +4,7 @@
//import android.view.View;
//import android.view.ViewGroup;
//
-//import com.gh.common.constant.ItemViewType;
+//import com.gh.gamecenter.common.constant.ItemViewType;
//import com.gh.common.exposure.ExposureEvent;
//import com.gh.common.exposure.ExposureSource;
//import com.gh.common.exposure.ExposureType;
@@ -18,7 +18,7 @@
//import com.gh.common.util.GameUtils;
//import com.gh.common.util.PackageUtils;
//import com.gh.common.util.PlatformUtils;
-//import com.gh.common.util.ThirdPartyPackageHelper;
+//import com.gh.gamecenter.core.utils.ThirdPartyPackageHelper;
//import com.gh.download.DownloadManager;
//import com.gh.gamecenter.GameDetailActivity;
//import com.gh.gamecenter.R;
diff --git a/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt b/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt
index 5ddf547b66..48a52632df 100644
--- a/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt
@@ -9,12 +9,12 @@ import com.gh.common.filter.RegionSettingHelper.shouldThisGameBeFiltered
import com.gh.common.util.ApkActiveUtils
import com.gh.common.util.GameUtils
import com.gh.common.util.PackageUtils
-import com.gh.common.util.ThirdPartyPackageHelper.getGameId
+import com.gh.gamecenter.core.utils.ThirdPartyPackageHelper.getGameId
import com.gh.download.DownloadManager
import com.gh.gamecenter.entity.ApkEntity
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.GameInstall
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragment.kt b/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragment.kt
index edf49fda3e..e8ed7612c1 100644
--- a/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragment.kt
@@ -1,7 +1,6 @@
package com.gh.gamecenter.download
import android.annotation.SuppressLint
-import android.graphics.Color
import android.os.Bundle
import android.view.View
import androidx.lifecycle.ViewModelProvider
@@ -10,10 +9,10 @@ import com.ethanhua.skeleton.Skeleton
import com.ethanhua.skeleton.ViewSkeletonScreen
import com.gh.common.exposure.ExposureListener
import com.gh.common.util.DownloadItemUtils
-import com.gh.common.util.isSimulatorGame
-import com.gh.common.util.toColor
-import com.gh.common.view.FixLinearLayoutManager
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.gamecenter.common.utils.isSimulatorGame
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.view.FixLinearLayoutManager
+import com.gh.gamecenter.common.view.VerticalItemDecoration
import com.gh.download.DownloadManager
import com.gh.gamecenter.MainActivity
import com.gh.gamecenter.R
@@ -24,7 +23,7 @@ import com.gh.gamecenter.eventbus.EBDownloadStatus
import com.gh.gamecenter.eventbus.EBReuse
import com.gh.gamecenter.fragment.MainWrapperFragment
import com.gh.gamecenter.manager.PackagesManager
-import com.gh.gamecenter.normal.NormalFragment
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
import com.gh.gamecenter.packagehelper.PackageViewModel
import com.lightgame.download.DataWatcher
import com.lightgame.download.DownloadEntity
@@ -32,7 +31,7 @@ import com.lightgame.download.DownloadStatus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
-class NewInstalledGameFragment : NormalFragment() {
+class NewInstalledGameFragment : ToolbarFragment() {
private lateinit var mBinding: FragmentMyGameBinding
private var mPackageViewModel: PackageViewModel? = null
diff --git a/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragmentAdapter.kt b/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragmentAdapter.kt
index 08012c0dd1..ba5aeaa2e4 100644
--- a/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragmentAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/NewInstalledGameFragmentAdapter.kt
@@ -7,7 +7,7 @@ import android.view.ViewGroup
import androidx.core.graphics.drawable.toBitmap
import androidx.core.graphics.drawable.toDrawable
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureEvent.Companion.createEvent
import com.gh.common.exposure.ExposureSource
@@ -21,6 +21,7 @@ import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.adapter.viewholder.GameViewHolder
+import com.gh.gamecenter.common.utils.safelyGetInRelease
import com.gh.gamecenter.databinding.GameItemBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.game.GameItemViewHolder
diff --git a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameAdapter.kt b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameAdapter.kt
index 76f5e4dc8a..f3a9b5551d 100644
--- a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameAdapter.kt
@@ -11,17 +11,19 @@ import androidx.core.content.ContextCompat
import androidx.core.view.setPadding
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.CurrentActivityHolder
+import com.gh.gamecenter.core.utils.CurrentActivityHolder
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureEvent.Companion.createEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.IExposable
import com.gh.common.util.*
-import com.gh.common.view.BugFixedPopupWindow
+import com.gh.common.util.DialogUtils
+import com.gh.gamecenter.common.view.BugFixedPopupWindow
import com.gh.download.DownloadManager
import com.gh.download.dialog.DownloadDialog
import com.gh.gamecenter.DownloadManagerActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.*
import com.gh.gamecenter.entity.GameUpdateEntity
import com.gh.gamecenter.eventbus.EBSkip
diff --git a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameFragment.kt b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameFragment.kt
index c9ebd9f653..c3f37b23a5 100644
--- a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameFragment.kt
@@ -1,12 +1,16 @@
package com.gh.gamecenter.download
import android.view.View
-import com.gh.base.fragment.LazyFragment
+import com.gh.gamecenter.common.base.fragment.LazyFragment
import com.gh.common.exposure.ExposureListener
-import com.gh.common.util.*
-import com.gh.common.view.FixLinearLayoutManager
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.observeNonNull
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.common.view.FixLinearLayoutManager
import com.gh.gamecenter.MainActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.databinding.FragmentGameUpdatableBinding
import com.gh.gamecenter.eventbus.EBDownloadStatus
import com.gh.gamecenter.eventbus.EBReuse
@@ -28,8 +32,8 @@ class UpdatableGameFragment : LazyFragment() {
}
override fun onFragmentFirstVisible() {
- val packageName = activity?.intent?.getStringExtra(EntranceUtils.KEY_PACKAGENAME) ?: ""
- val entrance = activity?.intent?.getStringExtra(EntranceUtils.KEY_ENTRANCE) ?: ""
+ val packageName = activity?.intent?.getStringExtra(EntranceConsts.KEY_PACKAGENAME) ?: ""
+ val entrance = activity?.intent?.getStringExtra(EntranceConsts.KEY_ENTRANCE) ?: ""
mViewModel = viewModelProvider(UpdatableGameViewModel.Factory(packageName, entrance))
diff --git a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt
index 974d7a6d2c..b82a313e66 100644
--- a/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/download/UpdatableGameViewModel.kt
@@ -3,22 +3,27 @@ package com.gh.gamecenter.download
import android.app.Application
import android.view.View
import androidx.lifecycle.*
-import com.gh.base.BaseSimpleDao
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.base.BaseSimpleDao
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.exposure.ExposureUtils
import com.gh.common.exposure.ExposureUtils.logADownloadExposureEvent
import com.gh.common.history.HistoryHelper.insertGameEntity
import com.gh.common.util.*
-import com.gh.common.util.GsonUtils.toJson
+import com.gh.gamecenter.core.utils.GsonUtils.toJson
import com.gh.common.util.PackageInstaller.createDownloadId
import com.gh.common.util.PackageInstaller.getDownloadPathWithId
import com.gh.download.DownloadManager
+import com.gh.gamecenter.common.utils.addMetaExtra
+import com.gh.gamecenter.common.utils.secondOrNull
+import com.gh.gamecenter.common.utils.toProperReadableSize
+import com.gh.gamecenter.common.utils.tryCatchInRelease
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.GameUpdateEntity
import com.gh.gamecenter.entity.PluginLocation
import com.gh.gamecenter.eventbus.EBDownloadChanged
import com.gh.gamecenter.manager.PackagesManager
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import com.lightgame.download.DownloadEntity
diff --git a/app/src/main/java/com/gh/gamecenter/energy/CommodityAdapter.kt b/app/src/main/java/com/gh/gamecenter/energy/CommodityAdapter.kt
index 3242cf4626..866c2ca002 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/CommodityAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/CommodityAdapter.kt
@@ -6,13 +6,15 @@ import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.StaggeredGridLayoutManager
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.exposure.time.TimeUtil
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.CommodityItemBinding
import com.gh.gamecenter.entity.CommodityCategoryEntity
import com.gh.gamecenter.entity.CommodityEntity
diff --git a/app/src/main/java/com/gh/gamecenter/energy/CommodityFragment.kt b/app/src/main/java/com/gh/gamecenter/energy/CommodityFragment.kt
index 42f4074d0d..e6a30c6cfc 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/CommodityFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/CommodityFragment.kt
@@ -9,10 +9,15 @@ import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.gh.common.util.*
-import com.gh.common.util.NumberUtils.findMax
+import com.gh.gamecenter.core.utils.NumberUtils.findMax
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
import com.gh.gamecenter.baselist.LoadType
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.layoutInflater
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.databinding.FragmentCommodityListBinding
import com.gh.gamecenter.databinding.ItemFilterCommodityCategoryBinding
import com.gh.gamecenter.databinding.LayoutFilterCategoryBinding
@@ -39,8 +44,8 @@ class CommodityFragment : ListFragment() {
override fun getInflatedLayout() = FragmentCommodityListBinding.inflate(layoutInflater).apply { mBinding = this }.root
override fun provideListViewModel(): CommodityViewModel {
- mEntrance = requireArguments().getString(EntranceUtils.KEY_ENTRANCE) ?: ""
- mCategory = requireArguments().getParcelable(EntranceUtils.KEY_CATEGORY)
+ mEntrance = requireArguments().getString(EntranceConsts.KEY_ENTRANCE) ?: ""
+ mCategory = requireArguments().getParcelable(EntranceConsts.KEY_CATEGORY)
val factory = CommodityViewModel.Factory(mCategory?.id ?: "", mEntrance)
return viewModelProvider(factory)
}
@@ -62,7 +67,7 @@ class CommodityFragment : ListFragment() {
rightMargin = 12F.dip2px()
}
- requireArguments().getParcelableArrayList(EntranceUtils.KEY_CATEGORY_LIST)?.run {
+ requireArguments().getParcelableArrayList(EntranceConsts.KEY_CATEGORY_LIST)?.run {
mCategoryList = this
mCategoryItemWidth = (resources.displayMetrics.widthPixels - ((14F * 2 + 8F * 4 + 28F).dip2px())) / 4
@@ -356,4 +361,6 @@ class CommodityFragment : ListFragment() {
fun setNestedScrollingEnabled(enable: Boolean) {
mListRv?.isNestedScrollingEnabled = enable
}
+
+ override fun onNightModeChange() {}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/energy/CommodityViewModel.kt b/app/src/main/java/com/gh/gamecenter/energy/CommodityViewModel.kt
index 28f4b4a0db..1963425595 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/CommodityViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/CommodityViewModel.kt
@@ -3,7 +3,7 @@ package com.gh.gamecenter.energy
import android.app.Application
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.util.UrlFilterUtils
+import com.gh.gamecenter.core.utils.UrlFilterUtils
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.baselist.LoadParams
import com.gh.gamecenter.entity.CommodityEntity
diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt
index ac81cc2502..d3b0ed2258 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterActivity.kt
@@ -4,11 +4,11 @@ import android.content.Context
import android.content.Intent
import android.os.Build
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.core.utils.DisplayUtils
-class EnergyCenterActivity : NormalActivity() {
+class EnergyCenterActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -29,7 +29,7 @@ class EnergyCenterActivity : NormalActivity() {
fun getIntent(context: Context?, initTabIndex: Int): Intent? {
val bundle = Bundle()
- bundle.putInt(EntranceUtils.KEY_TAB_INDEX, if (initTabIndex == 0 || initTabIndex == 1) initTabIndex else 0)
+ bundle.putInt(EntranceConsts.KEY_TAB_INDEX, if (initTabIndex == 0 || initTabIndex == 1) initTabIndex else 0)
return getTargetIntent(context, EnergyCenterActivity::class.java, EnergyCenterFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt
index 55262c46fd..3bdf7643fe 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterFragment.kt
@@ -8,10 +8,15 @@ import android.view.LayoutInflater
import android.view.View
import android.widget.*
import androidx.fragment.app.Fragment
-import com.gh.base.adapter.FragmentAdapter
-import com.gh.base.fragment.BaseLazyFragment
+import com.gh.gamecenter.common.base.adapter.FragmentAdapter
+import com.gh.gamecenter.common.base.fragment.BaseLazyFragment
import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.callback.ConfirmListener
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentEnergyCenterBinding
import com.gh.gamecenter.databinding.TabItemMainBinding
import com.gh.gamecenter.entity.CommodityCategoryEntity
@@ -34,7 +39,7 @@ class EnergyCenterFragment : BaseLazyFragment() {
private val mTitleList = listOf("赚光能", "兑换区")
private var mTabList = arrayListOf()
private var mFragmentsList = ArrayList()
- private var mCategoryList = ArrayList()
+ private var mCategoryList = ArrayList()
private var mUserInfo: UserInfoEntity? = null
private var mEnergy = 0L
private var mSignStatus: SignStatusEntity? = null
@@ -60,7 +65,7 @@ class EnergyCenterFragment : BaseLazyFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- mInitTabIndex = arguments?.getInt(EntranceUtils.KEY_TAB_INDEX) ?: 0
+ mInitTabIndex = arguments?.getInt(EntranceConsts.KEY_TAB_INDEX) ?: 0
if (mInitTabIndex != 0 && mInitTabIndex != 1) mInitTabIndex = 0
mEnergyCenterViewModel = viewModelProvider()
@@ -104,10 +109,12 @@ class EnergyCenterFragment : BaseLazyFragment() {
mUserHomeViewModel?.sign?.observeNonNull(this) {
mSignStatus = it
- DialogUtils.showSignSuccessDialog(requireContext()) {
- mUserHomeViewModel?.getUserEnergy()
- refreshTaskList()
- }
+ DialogUtils.showSignSuccessDialog(requireContext(), object : ConfirmListener {
+ override fun onConfirm() {
+ mUserHomeViewModel?.getUserEnergy()
+ refreshTaskList()
+ }
+ })
}
mUserHomeViewModel?.signStatus?.observeNonNull(this) {
@@ -131,15 +138,15 @@ class EnergyCenterFragment : BaseLazyFragment() {
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> {
DisplayMetrics()
- .apply { requireActivity().display?.getRealMetrics(this) }
- .heightPixels
+ .apply { requireActivity().display?.getRealMetrics(this) }
+ .heightPixels
}
else -> {
@Suppress("DEPRECATION")
DisplayMetrics()
- .apply { requireActivity().windowManager.defaultDisplay.getRealMetrics(this) }
- .heightPixels
+ .apply { requireActivity().windowManager.defaultDisplay.getRealMetrics(this) }
+ .heightPixels
}
}
@@ -197,48 +204,49 @@ class EnergyCenterFragment : BaseLazyFragment() {
val tag = "android:switcher:${viewpager.id}:"
val taskFragment = childFragmentManager.findFragmentByTag("${tag}0") ?: TaskFragment()
val commodityListFragment = childFragmentManager.findFragmentByTag("${tag}1")
- ?: CommodityFragment().apply {
- val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_ENTRANCE, "光能中心")
- if (mCategoryList.isNotEmpty()) {
- bundle.putParcelable(EntranceUtils.KEY_CATEGORY, mCategoryList[0])
- bundle.putParcelableArrayList(EntranceUtils.KEY_CATEGORY_LIST, mCategoryList)
- }
- arguments = bundle
+ ?: CommodityFragment().apply {
+ val bundle = Bundle()
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, "光能中心")
+ if (mCategoryList.isNotEmpty()) {
+ bundle.putParcelable(EntranceConsts.KEY_CATEGORY, mCategoryList[0])
+ bundle.putParcelableArrayList(EntranceConsts.KEY_CATEGORY_LIST, mCategoryList)
}
+ arguments = bundle
+ }
mFragmentsList.add(taskFragment)
mFragmentsList.add(commodityListFragment)
viewpager.offscreenPageLimit = mFragmentsList.size
- viewpager.adapter = FragmentAdapter(childFragmentManager, mFragmentsList, mTitleList)
+ viewpager.adapter =
+ FragmentAdapter(childFragmentManager, mFragmentsList, mTitleList)
viewpager.doOnScroll(
- onPageSelected = { position ->
- updateTabTextStyle(position, 0F)
- },
- onPageScrolled = { position, positionOffset, _ ->
- if (position + 1 != mTabList.size) {
- mTabList[position].run {
- textSize = (DEFAULT_TAB_TEXT_SIZE + ((1 - positionOffset) * 4)).roundTo(1)
+ onPageSelected = { position ->
+ updateTabTextStyle(position, 0F)
+ },
+ onPageScrolled = { position, positionOffset, _ ->
+ if (position + 1 != mTabList.size) {
+ mTabList[position].run {
+ textSize = (DEFAULT_TAB_TEXT_SIZE + ((1 - positionOffset) * 4)).roundTo(1)
// setTextColor(ColorUtils.blendARGB(TAB_DEFAULT_COLOR, TAB_SELECTED_COLOR, 1 - positionOffset))
- }
- mTabList[position + 1].run {
- textSize = (DEFAULT_TAB_TEXT_SIZE + ((positionOffset) * 4)).roundTo(1)
+ }
+ mTabList[position + 1].run {
+ textSize = (DEFAULT_TAB_TEXT_SIZE + ((positionOffset) * 4)).roundTo(1)
// setTextColor(ColorUtils.blendARGB(TAB_DEFAULT_COLOR, TAB_SELECTED_COLOR, positionOffset))
- }
+ }
- // 多 tab 切换的时候可能会出现某些 tab 的文字没有回归到原始大小的问题的问题 (positionOffset 不保证连续)
- for ((index, tabTv) in mTabList.withIndex()) {
- if (abs(index - position) >= 2) {
- if (tabTv.textSize != DEFAULT_TAB_TEXT_SIZE) {
- tabTv.textSize = DEFAULT_TAB_TEXT_SIZE
+ // 多 tab 切换的时候可能会出现某些 tab 的文字没有回归到原始大小的问题的问题 (positionOffset 不保证连续)
+ for ((index, tabTv) in mTabList.withIndex()) {
+ if (abs(index - position) >= 2) {
+ if (tabTv.textSize != DEFAULT_TAB_TEXT_SIZE) {
+ tabTv.textSize = DEFAULT_TAB_TEXT_SIZE
// tabTv.setTextColor(TAB_DEFAULT_COLOR)
- }
}
}
}
-
- updateTabTextStyle(position, positionOffset)
}
+
+ updateTabTextStyle(position, positionOffset)
+ }
)
tabLayout.setupWithViewPager(viewpager)
@@ -371,6 +379,14 @@ class EnergyCenterFragment : BaseLazyFragment() {
}
}
+ override fun onNightModeChange() {
+ super.onNightModeChange()
+ mBinding?.run {
+ root.setBackgroundColor(R.color.background_white.toColor(requireContext()))
+ contentContainer.setBackgroundColor(R.color.background_white.toColor(requireContext()))
+ }
+ }
+
companion object {
const val LOCATION = "光能中心"
var TAB_TEXT_COLOR: Int = R.color.text_00DBA4.toColor()
diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterViewModel.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterViewModel.kt
index 5f8b5c8509..d3568bac52 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyCenterViewModel.kt
@@ -5,7 +5,7 @@ import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import com.gh.gamecenter.entity.CommodityCategoryEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseActivity.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseActivity.kt
index 66995f63e3..768a66e913 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseActivity.kt
@@ -3,11 +3,11 @@ package com.gh.gamecenter.energy
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.core.utils.DisplayUtils
-class EnergyHouseActivity : NormalActivity() {
+class EnergyHouseActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -21,7 +21,7 @@ class EnergyHouseActivity : NormalActivity() {
fun getIntent(context: Context?, categoryId: String? = null): Intent? {
if (categoryId != null) {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_CATEGORY_ID, categoryId)
+ bundle.putString(EntranceConsts.KEY_CATEGORY_ID, categoryId)
return getTargetIntent(context, EnergyHouseActivity::class.java, EnergyHouseFragment::class.java, bundle)
}
return getTargetIntent(context, EnergyHouseActivity::class.java, EnergyHouseFragment::class.java)
diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt
index dcd31cc58d..1cc4ff2f2b 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseFragment.kt
@@ -11,9 +11,11 @@ import android.widget.TextView
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentStatePagerAdapter
-import com.gh.base.fragment.BaseLazyFragment
+import com.gh.gamecenter.common.base.fragment.BaseLazyFragment
import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.FragmentEnergyHouseBinding
import com.gh.gamecenter.databinding.TabItemCommodityBinding
import com.gh.gamecenter.entity.CommodityCategoryEntity
@@ -62,7 +64,7 @@ class EnergyHouseFragment: BaseLazyFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- mCategoryId = arguments?.getString(EntranceUtils.KEY_CATEGORY_ID) ?: ""
+ mCategoryId = arguments?.getString(EntranceConsts.KEY_CATEGORY_ID) ?: ""
mEnergyHouseViewModel = viewModelProvider()
mUserViewModel = viewModelProvider(UserViewModel.Factory(HaloApp.getInstance().application))
mUserHomeViewModel = viewModelProvider(UserHomeViewModel.Factory(HaloApp.getInstance().application, UserManager.getInstance().userId))
@@ -185,8 +187,8 @@ class EnergyHouseFragment: BaseLazyFragment() {
mTitleList.add(entity.name)
val commodityListFragment = childFragmentManager.findFragmentByTag("$tag$index")
?: CommodityFragment().with(bundleOf(
- EntranceUtils.KEY_ENTRANCE to "光能屋",
- EntranceUtils.KEY_CATEGORY to entity))
+ EntranceConsts.KEY_ENTRANCE to "光能屋",
+ EntranceConsts.KEY_CATEGORY to entity))
mFragments.add(commodityListFragment)
}
@@ -443,6 +445,11 @@ class EnergyHouseFragment: BaseLazyFragment() {
}
}
+ override fun onNightModeChange() {
+ super.onNightModeChange()
+ mBinding?.root?.setBackgroundColor(R.color.background_white.toColor(requireContext()))
+ }
+
companion object {
const val LOCATION = "光能屋"
var TAB_TEXT_COLOR: Int = R.color.text_00DBA4.toColor()
diff --git a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseViewModel.kt b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseViewModel.kt
index ef906e18b5..506eaa9481 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/EnergyHouseViewModel.kt
@@ -6,8 +6,7 @@ import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import com.gh.gamecenter.entity.CommodityCategoryEntity
import com.gh.gamecenter.entity.RollNoticeEntity
-import com.gh.gamecenter.entity.TaskEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
diff --git a/app/src/main/java/com/gh/gamecenter/energy/HorizontalTaskAdapter.kt b/app/src/main/java/com/gh/gamecenter/energy/HorizontalTaskAdapter.kt
index b96f9a67d6..fc8749953c 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/HorizontalTaskAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/HorizontalTaskAdapter.kt
@@ -3,9 +3,14 @@ package com.gh.gamecenter.energy
import android.content.Context
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.core.utils.ToastUtils
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toResString
+import com.gh.gamecenter.common.utils.ImageUtils
import com.gh.gamecenter.databinding.NoviceTaskItemBinding
import com.gh.gamecenter.entity.TaskEntity
import com.gh.gamecenter.gamedetail.dialog.InviteCodeDialog
diff --git a/app/src/main/java/com/gh/gamecenter/energy/TaskAdapter.kt b/app/src/main/java/com/gh/gamecenter/energy/TaskAdapter.kt
index 12112cc19c..22e0aa15db 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/TaskAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/TaskAdapter.kt
@@ -6,13 +6,16 @@ import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.baselist.LoadStatus
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.DailyTaskItemBinding
import com.gh.gamecenter.databinding.NoviceTasksItemBinding
import com.gh.gamecenter.databinding.TaskBottomItemBinding
@@ -136,6 +139,10 @@ class TaskAdapter(context: Context) : ListAdapter(context) {
is DailyTaskViewHolder -> {
val task = mEntityList[position].dailyTask ?: return
holder.binding.run {
+ container.background = R.drawable.background_shape_white_radius_5.toDrawable(mContext)
+ taskName.setTextColor(R.color.text_title.toColor(mContext))
+ progress.setTextColor(R.color.text_subtitle.toColor(mContext))
+ taskBtn.setTextColor(R.color.text_white.toColor(mContext))
ImageUtils.display(taskIcon, task.icon)
taskName.text = task.name
progress.goneIf(task.isFixed)
diff --git a/app/src/main/java/com/gh/gamecenter/energy/TaskFragment.kt b/app/src/main/java/com/gh/gamecenter/energy/TaskFragment.kt
index f84aa14668..e657baacc7 100644
--- a/app/src/main/java/com/gh/gamecenter/energy/TaskFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/energy/TaskFragment.kt
@@ -1,9 +1,9 @@
package com.gh.gamecenter.energy
import android.os.Bundle
-import com.gh.common.util.ClickUtils
-import com.gh.common.util.safelyGetInRelease
-import com.gh.common.util.viewModelProvider
+import com.gh.gamecenter.core.utils.ClickUtils
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.baselist.ListFragment
import com.gh.gamecenter.baselist.LoadType
import com.gh.gamecenter.eventbus.EBTask
diff --git a/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt
index 70693a2c2c..470985fb90 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt
@@ -1,8 +1,8 @@
package com.gh.gamecenter.entity
import android.os.Parcelable
-import com.gh.common.annotation.SyncPage
-import com.gh.common.syncpage.SyncFieldConstants
+import com.gh.gamecenter.common.annotation.SyncPage
+import com.gh.gamecenter.common.syncpage.SyncFieldConstants
import com.google.gson.annotations.SerializedName
import kotlinx.parcelize.Parcelize
@@ -34,7 +34,9 @@ data class CommentEntity(
var floor: Int = 0,
var isExpand: Boolean = false,
@SerializedName("attached") // 楼中楼
- var subCommentList: ArrayList? = null
+ var subCommentList: ArrayList? = null,
+ var isHighlight: Boolean = false, // 是否高亮处理
+ var isForceExpand: Boolean = false // 是否强制展开,即显示时就是展开状态
) : Parcelable {
fun clone(): CommentEntity {
diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt
index aed63a3647..9238164299 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt
@@ -3,7 +3,7 @@ package com.gh.gamecenter.entity
import android.os.Parcelable
import android.text.TextUtils
import com.gh.common.constant.Config
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.exposure.ExposureEvent
import com.gh.common.filter.RegionSettingHelper
import com.gh.gamecenter.R
diff --git a/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt
index dfeada2d99..85b459cedf 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/MeEntity.kt
@@ -1,8 +1,8 @@
package com.gh.gamecenter.entity
import android.os.Parcelable
-import com.gh.common.annotation.SyncPage
-import com.gh.common.syncpage.SyncFieldConstants
+import com.gh.gamecenter.common.annotation.SyncPage
+import com.gh.gamecenter.common.syncpage.SyncFieldConstants
import com.gh.gamecenter.qa.entity.ArticleDraftEntity
import com.gh.gamecenter.qa.entity.QuestionDraftEntity
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt
index d1f03036fb..6bb952e6c4 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt
@@ -177,6 +177,9 @@ class MessageEntity {
var topId: String? = null
var content: String? = null
+
+ @SerializedName("parent_content")
+ var parentContent: String? = null
}
class Video {
@@ -203,6 +206,11 @@ class MessageEntity {
@SerializedName("comment_id")
var commentId: String? = null
+
+ var comment: String? = null
+
+ @SerializedName("parent_content")
+ var parentContent: String? = null
}
class Activity {
diff --git a/app/src/main/java/com/gh/gamecenter/entity/MessageUnreadEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MessageUnreadEntity.kt
index b4c7e4b094..fd8b4c51a0 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/MessageUnreadEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/MessageUnreadEntity.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.entity
-import com.gh.common.util.tryWithDefaultCatch
+import com.gh.gamecenter.common.utils.tryWithDefaultCatch
import com.google.gson.annotations.SerializedName
import java.util.*
diff --git a/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt
index 9b1b345eb8..c05e01b1c8 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/PersonalHistoryEntity.kt
@@ -2,11 +2,11 @@ package com.gh.gamecenter.entity
import android.os.Parcel
import android.os.Parcelable
-import com.gh.common.annotation.SyncPage
-import com.gh.common.constant.Constants
-import com.gh.common.syncpage.SyncFieldConstants
-import com.gh.common.util.SPUtils
-import com.gh.common.util.TimeUtils
+import com.gh.gamecenter.common.annotation.SyncPage
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.syncpage.SyncFieldConstants
+import com.gh.gamecenter.core.utils.SPUtils
+import com.gh.gamecenter.core.utils.TimeUtils
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.qa.entity.AnswerEntity
import com.gh.gamecenter.qa.entity.CommunityVideoEntity
diff --git a/app/src/main/java/com/gh/gamecenter/entity/RatingComment.kt b/app/src/main/java/com/gh/gamecenter/entity/RatingComment.kt
index f092c04d1f..6aa421f247 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/RatingComment.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/RatingComment.kt
@@ -1,7 +1,7 @@
package com.gh.gamecenter.entity
import android.os.Parcelable
-import com.gh.common.annotation.Synchronize
+import com.gh.gamecenter.common.annotation.Synchronize
import com.google.gson.annotations.SerializedName
import kotlinx.parcelize.Parcelize
diff --git a/app/src/main/java/com/gh/gamecenter/entity/RatingReplyEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/RatingReplyEntity.kt
index b87d99ffb9..6c64c840fb 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/RatingReplyEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/RatingReplyEntity.kt
@@ -5,15 +5,18 @@ import com.google.gson.annotations.SerializedName
import kotlinx.parcelize.Parcelize
@Parcelize
-class RatingReplyEntity(@SerializedName("_id")
- val id: String = "",
- val content: String = "",
- val time: Long = 0,
- val me: MeEntity = MeEntity(),
- val user: UserEntity = UserEntity(),
- var vote: Int = 0,
- val weight: Int = 0,
- val parent: Parent? = null) : Parcelable {
+class RatingReplyEntity(
+ @SerializedName("_id")
+ val id: String = "",
+ val content: String = "",
+ val time: Long = 0,
+ val me: MeEntity = MeEntity(),
+ val user: UserEntity = UserEntity(),
+ var vote: Int = 0,
+ val weight: Int = 0,
+ val parent: Parent? = null,
+ var isHighlight: Boolean = false,
+) : Parcelable {
@Parcelize
class Parent(val user: UserEntity) : Parcelable
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt
index cca3a8ae6e..0195e44f3f 100644
--- a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt
+++ b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt
@@ -29,8 +29,6 @@ data class SettingsEntity(
private var articleEntrance: String = "",
@SerializedName("video_advertisement")
var videoAdvertisement: VideoAds? = null, //新增字段video_advertisement,可能为空,代表广告关闭
- @SerializedName("game_dome_switch")
- var gameDomeSwitch: String = "",//试玩显示开关,on打开
@SerializedName("permission_popup_switch")
var permissionPopupSwitch: String = "off",//权限引导弹窗开关,on/off
@SerializedName("permission_popup_applied_versions")
diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt
index 3748eb4524..81d58cc664 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListAdapter.kt
@@ -6,15 +6,15 @@ import android.view.ViewGroup
import android.widget.LinearLayout
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseActivity
-import com.gh.common.constant.ItemViewType
-import com.gh.common.syncpage.ISyncAdapterHandler
-import com.gh.common.util.MtaHelper
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.common.syncpage.ISyncAdapterHandler
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.common.util.NewLogUtils
-import com.gh.common.util.goneIf
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.databinding.CommunityAnswerItemBinding
import com.gh.gamecenter.entity.CommunityEntity
import com.gh.gamecenter.forum.home.ForumArticleAskItemViewHolder
diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt
index 0671bdd89d..3ca7155de2 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt
@@ -6,12 +6,16 @@ import android.view.View
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.AppExecutor
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.core.AppExecutor
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.util.*
-import com.gh.common.view.divider.HorizontalDividerItemDecoration
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.view.divider.HorizontalDividerItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LazyListFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.MD5Utils
import com.gh.gamecenter.databinding.FragmentListBaseSkeletonBinding
import com.gh.gamecenter.eventbus.EBDeleteDetail
import com.gh.gamecenter.eventbus.EBTypeChange
@@ -57,8 +61,8 @@ class ForumArticleAskListFragment : LazyListFragment {
- return Pair(intent.getStringExtra(EntranceUtils.KEY_BBS_ID) ?: "", "")
+ return Pair(intent.getStringExtra(EntranceConsts.KEY_BBS_ID) ?: "", "")
}
override fun preventRecreateFragmentByFragmentManager(): Boolean = true
@@ -40,8 +40,8 @@ class ForumDetailActivity : BaseActivity() {
@JvmStatic
fun getIntent(context: Context, bbsId: String, entrance: String): Intent {
val intent = Intent(context, ForumDetailActivity::class.java)
- intent.putExtra(EntranceUtils.KEY_BBS_ID, bbsId)
- intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance)
+ intent.putExtra(EntranceConsts.KEY_BBS_ID, bbsId)
+ intent.putExtra(EntranceConsts.KEY_ENTRANCE, entrance)
return intent
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt
index 4568599c08..32fdf548d8 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt
@@ -26,15 +26,21 @@ import com.facebook.drawee.drawable.ScalingUtils
import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder
import com.facebook.drawee.generic.RoundingParams
import com.facebook.drawee.view.SimpleDraweeView
-import com.gh.base.fragment.BaseLazyTabFragment
-import com.gh.common.constant.Constants
-import com.gh.common.dialog.TrackableDialog
-import com.gh.common.runOnUiThread
+import com.gh.gamecenter.common.base.fragment.BaseLazyTabFragment
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.base.TrackableDialog
+import com.gh.gamecenter.core.runOnUiThread
import com.gh.common.util.*
-import com.gh.common.view.SegmentedFilterView
+import com.gh.common.util.LogUtils
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.NewsDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.callback.BiCallback
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.common.view.SegmentedFilterView
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentForumDetailBinding
import com.gh.gamecenter.entity.*
import com.gh.gamecenter.eventbus.EBForumFollowChange
@@ -79,26 +85,26 @@ class ForumDetailFragment : BaseLazyTabFragment() {
override fun initFragmentList(fragments: MutableList) {
mAllForumArticleAskListFragment = ForumArticleAskListFragment().with(
bundleOf(
- EntranceUtils.KEY_ENTRANCE to "论坛详情",
- EntranceUtils.KEY_PATH to "全部", EntranceUtils.KEY_BBS_ID to bbsId
+ EntranceConsts.KEY_ENTRANCE to "论坛详情",
+ EntranceConsts.KEY_PATH to "全部", EntranceConsts.KEY_BBS_ID to bbsId
)
) as ForumArticleAskListFragment?
mEssenceForumArticleAskListFragment = ForumArticleAskListFragment().with(
bundleOf(
- EntranceUtils.KEY_ENTRANCE to "论坛详情",
- EntranceUtils.KEY_PATH to "精华", EntranceUtils.KEY_BBS_ID to bbsId
+ EntranceConsts.KEY_ENTRANCE to "论坛详情",
+ EntranceConsts.KEY_PATH to "精华", EntranceConsts.KEY_BBS_ID to bbsId
)
) as ForumArticleAskListFragment?
mAskForumArticleAskListFragment = ForumArticleAskListFragment().with(
bundleOf(
- EntranceUtils.KEY_ENTRANCE to "论坛详情",
- EntranceUtils.KEY_PATH to "问答", EntranceUtils.KEY_BBS_ID to bbsId
+ EntranceConsts.KEY_ENTRANCE to "论坛详情",
+ EntranceConsts.KEY_PATH to "问答", EntranceConsts.KEY_BBS_ID to bbsId
)
) as ForumArticleAskListFragment?
mVideoForumArticleAskListFragment = ForumArticleAskListFragment().with(
bundleOf(
- EntranceUtils.KEY_ENTRANCE to "论坛详情",
- EntranceUtils.KEY_PATH to "视频", EntranceUtils.KEY_BBS_ID to bbsId
+ EntranceConsts.KEY_ENTRANCE to "论坛详情",
+ EntranceConsts.KEY_PATH to "视频", EntranceConsts.KEY_BBS_ID to bbsId
)
) as ForumArticleAskListFragment?
fragments.add(mAllForumArticleAskListFragment!!)
@@ -108,7 +114,7 @@ class ForumDetailFragment : BaseLazyTabFragment() {
}
override fun restoreFragment(fragment: Fragment) {
- when (fragment.arguments?.getString(EntranceUtils.KEY_PATH)) {
+ when (fragment.arguments?.getString(EntranceConsts.KEY_PATH)) {
"全部" -> {
mAllForumArticleAskListFragment = fragment as ForumArticleAskListFragment
}
@@ -138,7 +144,7 @@ class ForumDetailFragment : BaseLazyTabFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- bbsId = arguments?.getString(EntranceUtils.KEY_BBS_ID, "") ?: ""
+ bbsId = arguments?.getString(EntranceConsts.KEY_BBS_ID, "") ?: ""
val factory = ForumDetailViewModel.Factory(bbsId)
mViewModel = viewModelProvider(factory)
mViewModel?.forumDetail?.observe(this, Observer {
@@ -760,7 +766,7 @@ class ForumDetailFragment : BaseLazyTabFragment() {
if (mBinding.forumThumbSmall.visibility == View.GONE) {
DisplayUtils.setStatusBarColor(requireActivity(), R.color.transparent)
} else {
- DisplayUtils.setStatusBarColor(requireActivity(), if (mNightMode) R.color.black else R.color.white)
+ requireActivity().updateStatusBarColor(R.color.black, R.color.white)
}
mBinding.allOrderSfv.run {
setContainerBackground(R.drawable.button_round_f5f5f5.toDrawable(requireContext()))
diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailViewModel.kt
index f24c4109cc..bf3ac16ae3 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailViewModel.kt
@@ -3,7 +3,10 @@ package com.gh.gamecenter.forum.detail
import android.annotation.SuppressLint
import android.app.Application
import androidx.lifecycle.*
-import com.gh.common.util.*
+import com.gh.gamecenter.common.utils.clearHtmlFormatCompletely
+import com.gh.gamecenter.common.utils.observableToMain
+import com.gh.gamecenter.common.utils.removeVideoContent
+import com.gh.gamecenter.common.utils.singleToMain
import com.gh.gamecenter.entity.CommunityEntity
import com.gh.gamecenter.entity.ForumDetailEntity
import com.gh.gamecenter.entity.ForumVideoEntity
@@ -11,9 +14,9 @@ import com.gh.gamecenter.entity.UserEntity
import com.gh.gamecenter.eventbus.EBForumRecordChange
import com.gh.gamecenter.mvvm.Resource
import com.gh.gamecenter.qa.entity.*
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.EmptyResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.EmptyResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.gh.gamecenter.room.AppDatabase
import com.halo.assistant.HaloApp
diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumTopLinkAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumTopLinkAdapter.kt
index 0b87c08b4d..b5c714561a 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumTopLinkAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumTopLinkAdapter.kt
@@ -6,7 +6,10 @@ import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.gh.common.util.*
-import com.gh.common.view.DrawableView
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.view.DrawableView
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.ForumTopLinkItemBinding
import com.gh.gamecenter.entity.ForumDetailEntity
import com.lightgame.adapter.BaseRecyclerAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ArticleItemVideoView.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ArticleItemVideoView.kt
index ebb7938525..76d8a84e33 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ArticleItemVideoView.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ArticleItemVideoView.kt
@@ -11,8 +11,9 @@ import android.widget.SeekBar
import android.widget.TextView
import androidx.core.content.ContextCompat
import com.facebook.drawee.view.SimpleDraweeView
-import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.MD5Utils
import com.gh.gamecenter.entity.ForumVideoEntity
import com.gh.gamecenter.video.detail.CustomManager
import com.lightgame.utils.Utils
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeFragment.kt
index 3926a2491f..ae0d1d8cef 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeFragment.kt
@@ -17,12 +17,16 @@ import androidx.core.graphics.ColorUtils
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import androidx.viewpager.widget.ViewPager
-import com.gh.base.adapter.FragmentAdapter
-import com.gh.base.fragment.BaseFragment_TabLayout
-import com.gh.base.fragment.LazyFragment
-import com.gh.common.dialog.TrackableDialog
import com.gh.common.util.*
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.base.TrackableDialog
+import com.gh.gamecenter.common.base.adapter.FragmentAdapter
+import com.gh.gamecenter.common.base.fragment.LazyFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.FragmentCommunityHomeBinding
import com.gh.gamecenter.databinding.TabItemCommunityBinding
import com.gh.gamecenter.entity.ForumVideoEntity
@@ -126,22 +130,22 @@ class CommunityHomeFragment : LazyFragment() {
private fun initViewPager() {
val defaultSelectedPosition =
if (mDefaultSelectedTab != -1) mDefaultSelectedTab
- else arguments?.getInt(EntranceUtils.KEY_SUB_POSITION) ?: 0
+ else arguments?.getInt(EntranceConsts.KEY_SUB_POSITION) ?: 0
mBinding?.run {
mTabList.clear()
mFragmentList.clear()
val tag = "android:switcher:${viewPager.id}:"
val forumArticleListFragment = childFragmentManager.findFragmentByTag("${tag}0")
- ?: ForumArticleListFragment().with(bundleOf(EntranceUtils.KEY_ENTRANCE to "社区", EntranceUtils.KEY_PATH to "推荐"))
+ ?: ForumArticleListFragment().with(bundleOf(EntranceConsts.KEY_ENTRANCE to "社区", EntranceConsts.KEY_PATH to "推荐"))
mFragmentList.add(forumArticleListFragment)
val forumFragment = childFragmentManager.findFragmentByTag("${tag}1")
- ?: ForumFragment().with(bundleOf(EntranceUtils.KEY_ENTRANCE to "社区"))
+ ?: ForumFragment().with(bundleOf(EntranceConsts.KEY_ENTRANCE to "社区"))
mFragmentList.add(forumFragment)
val activityFragment = childFragmentManager.findFragmentByTag("${tag}2")
- ?: ForumActivityFragment().with(bundleOf(EntranceUtils.KEY_ENTRANCE to "活动"))
+ ?: ForumActivityFragment().with(bundleOf(EntranceConsts.KEY_ENTRANCE to "活动"))
mFragmentList.add(activityFragment)
viewPager.run {
@@ -497,7 +501,7 @@ class CommunityHomeFragment : LazyFragment() {
override fun onNightModeChange() {
super.onNightModeChange()
- DisplayUtils.setLightStatusBar(requireActivity(), !mNightMode)
+ if (isSupportVisible) DisplayUtils.setLightStatusBar(requireActivity(), !mNightMode)
mBinding?.tabLayout?.run {
for (i in 0 until tabCount) {
val tab: TabLayout.Tab? = getTabAt(i)
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeViewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeViewModel.kt
index a0ebc46aca..4fa40e2284 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/CommunityHomeViewModel.kt
@@ -2,13 +2,16 @@ package com.gh.gamecenter.forum.home
import android.app.Application
import androidx.lifecycle.*
-import com.gh.common.util.*
+import com.gh.gamecenter.common.utils.clearHtmlFormatCompletely
+import com.gh.gamecenter.common.utils.observableToMain
+import com.gh.gamecenter.common.utils.removeInsertedContent
+import com.gh.gamecenter.common.utils.removeVideoContent
import com.gh.gamecenter.entity.*
import com.gh.gamecenter.qa.entity.ArticleDetailEntity
import com.gh.gamecenter.qa.entity.ArticleEntity
import com.gh.gamecenter.qa.entity.QuestionsDetailEntity
import com.gh.gamecenter.qa.entity.TimeEntity
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
class CommunityHomeViewModel(application: Application) : AndroidViewModel(application) {
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityAdapter.kt
index 48517a1ccd..c4faac3812 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityAdapter.kt
@@ -4,13 +4,16 @@ import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.exposure.time.TimeUtil
import com.gh.common.util.*
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.ForumActivityItemBinding
import com.gh.gamecenter.entity.ForumActivityEntity
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityFragment.kt
index d9ade0cec2..3415f2f75f 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityFragment.kt
@@ -5,14 +5,15 @@ import android.view.ViewGroup
import android.widget.CheckedTextView
import androidx.recyclerview.widget.RecyclerView
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.util.NewLogUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.observeNonNull
-import com.gh.common.util.viewModelProvider
-import com.gh.common.view.SpacingItemDecoration
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.observeNonNull
+import com.gh.gamecenter.common.utils.viewModelProvider
+
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LazyListFragment
+import com.gh.gamecenter.common.view.SpacingItemDecoration
import com.gh.gamecenter.databinding.FragmentForumActivityBinding
import com.gh.gamecenter.databinding.LayoutForumActivityCategoryItemBinding
import com.gh.gamecenter.entity.ForumActivityCategoryEntity
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityViewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityViewModel.kt
index 5990577d1e..8c1bf97640 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumActivityViewModel.kt
@@ -3,12 +3,11 @@ package com.gh.gamecenter.forum.home
import android.annotation.SuppressLint
import android.app.Application
import androidx.lifecycle.MutableLiveData
-import com.gh.common.util.UrlFilterUtils
-import com.gh.common.util.singleToMain
+import com.gh.gamecenter.common.utils.singleToMain
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.entity.ForumActivityCategoryEntity
import com.gh.gamecenter.entity.ForumActivityEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.Single
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt
index cfcc521bc7..203100175c 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleAskItemViewHolder.kt
@@ -6,9 +6,15 @@ import android.graphics.Color
import android.graphics.drawable.GradientDrawable
import android.text.SpannableStringBuilder
import android.view.View
-import com.gh.base.BaseActivity
+import com.gh.gamecenter.common.base.BaseActivity
import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
+import com.gh.common.util.LogUtils
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.callback.ConfirmListener
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.CommunityAnswerItemBinding
import com.gh.gamecenter.entity.CommunityEntity
import com.gh.gamecenter.entity.ForumVideoEntity
@@ -115,8 +121,8 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
if (entity.getPassVideos().isNotEmpty()) {
val videoSpan = SpanBuilder(" ").image(1, " ".length, R.drawable.ic_article_video_label).build()
binding.title.text = SpannableStringBuilder()
- .append(entity.questions.title)
- .append(videoSpan)
+ .append(entity.questions.title)
+ .append(videoSpan)
} else {
binding.title.text = entity.questions.title
}
@@ -143,11 +149,13 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
if (entrance == "论坛详情") {
NewLogUtils.logForumDetailFeedBadgeClick(user.badge?.name ?: "", bbsId, bbsType)
}
- DialogUtils.showViewBadgeDialog(binding.root.context, user.badge) {
- MtaHelper.onEvent("进入徽章墙_用户记录", path, user.name + "(" + user.id + ")")
- MtaHelper.onEvent("徽章中心", "进入徽章中心", path)
- DirectUtils.directToBadgeWall(binding.root.context, user.id, user.name, user.icon)
- }
+ DialogUtils.showViewBadgeDialog(binding.root.context, user.badge, object : ConfirmListener {
+ override fun onConfirm() {
+ MtaHelper.onEvent("进入徽章墙_用户记录", path, user.name + "(" + user.id + ")")
+ MtaHelper.onEvent("徽章中心", "进入徽章中心", path)
+ DirectUtils.directToBadgeWall(binding.root.context, user.id, user.name, user.icon)
+ }
+ })
}
binding.userIcon.setOnClickListener {
@@ -157,7 +165,11 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
if (entrance == "论坛详情") {
NewLogUtils.logForumDetailFeedUserClick("click_forum_detail_profile_photo", userId, contentType, "${path}tab", bbsId, bbsType)
}
- MtaHelper.onEvent(getEventId(BaseActivity.mergeEntranceAndPath(entrance, path)), getKey(BaseActivity.mergeEntranceAndPath(entrance, path)), "用户头像")
+ MtaHelper.onEvent(
+ getEventId(BaseActivity.mergeEntranceAndPath(entrance, path)),
+ getKey(BaseActivity.mergeEntranceAndPath(entrance, path)),
+ "用户头像"
+ )
DirectUtils.directToHomeActivity(binding.root.context, entity.user.id, 1, entrance, path)
}
binding.userName.setOnClickListener {
@@ -167,7 +179,11 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
if (entrance == "论坛详情") {
NewLogUtils.logForumDetailFeedUserClick("click_forum_detail_nickname", userId, contentType, "${path}tab", bbsId, bbsType)
}
- MtaHelper.onEvent(getEventId(BaseActivity.mergeEntranceAndPath(entrance, path)), getKey(BaseActivity.mergeEntranceAndPath(entrance, path)), "用户名字")
+ MtaHelper.onEvent(
+ getEventId(BaseActivity.mergeEntranceAndPath(entrance, path)),
+ getKey(BaseActivity.mergeEntranceAndPath(entrance, path)),
+ "用户名字"
+ )
DirectUtils.directToHomeActivity(binding.root.context, entity.user.id, 1, entrance, path)
}
binding.concernBtn.setOnClickListener {
@@ -220,23 +236,23 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
val orientationUtils = OrientationUtils(itemView.context as Activity, visibleView)
orientationUtils.isEnable = false
GSYVideoOptionBuilder()
- .setIsTouchWiget(false)
- .setUrl(entity.url)
- .setRotateViewAuto(false)
- .setCacheWithPlay(true)
- .setRotateWithSystem(false)
- .setReleaseWhenLossAudio(true)
- .setLooping(false)
- .setShowFullAnimation(false)
- .setEnlargeImageRes(R.drawable.ic_game_detail_enter_full_screen)
- .setShrinkImageRes(R.drawable.ic_game_detail_exit_full_screen)
- .setVideoAllCallBack(object : GSYSampleCallBack() {
- override fun onQuitFullscreen(url: String?, vararg objects: Any) {
- orientationUtils.backToProtVideo()
- visibleView.uploadVideoStreamingPlaying("退出全屏")
- }
- })
- .build(visibleView)
+ .setIsTouchWiget(false)
+ .setUrl(entity.url)
+ .setRotateViewAuto(false)
+ .setCacheWithPlay(true)
+ .setRotateWithSystem(false)
+ .setReleaseWhenLossAudio(true)
+ .setLooping(false)
+ .setShowFullAnimation(false)
+ .setEnlargeImageRes(R.drawable.ic_game_detail_enter_full_screen)
+ .setShrinkImageRes(R.drawable.ic_game_detail_exit_full_screen)
+ .setVideoAllCallBack(object : GSYSampleCallBack() {
+ override fun onQuitFullscreen(url: String?, vararg objects: Any) {
+ orientationUtils.backToProtVideo()
+ visibleView.uploadVideoStreamingPlaying("退出全屏")
+ }
+ })
+ .build(visibleView)
visibleView.run {
updateVideoData(entity)
updateThumb(entity.poster)
@@ -331,23 +347,39 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
"video" -> "视频帖评论"
else -> "提问帖评论"
}
- NewLogUtils.logForumDetailFeedContentClick("click_forum_detail_comment", userId, contentId, contentType, sequence, bbsId, bbsType, tabInfo, commentType)
+ NewLogUtils.logForumDetailFeedContentClick(
+ "click_forum_detail_comment",
+ userId,
+ contentId,
+ contentType,
+ sequence,
+ bbsId,
+ bbsType,
+ tabInfo,
+ commentType
+ )
}
}
when (entity.type) {
"community_article" -> {
val communityId = if (entity.bbs.id.isNotEmpty()) entity.bbs.id else UserManager.getInstance().community.id
- val intent = ArticleDetailActivity.getCommentIntent(itemView.context,
- CommunityEntity(communityId, entity.communityName ?: ""),
- entity.id ?: "",
- entrance, "")
+ val intent = ArticleDetailActivity.getCommentIntent(
+ itemView.context,
+ CommunityEntity(communityId, entity.communityName ?: ""),
+ entity.id ?: "",
+ entrance, ""
+ )
itemView.context.startActivity(intent)
MtaHelper.onEvent(getEventId(entrance), getKey(entrance), "评论图标")
}
"video" -> {
val communityId = if (entity.bbs.id.isNotEmpty()) entity.bbs.id else UserManager.getInstance().community.id
- itemView.context.startActivity(ForumVideoDetailActivity.getIntent(itemView.context, entity.id
- ?: "",communityId, true))
+ itemView.context.startActivity(
+ ForumVideoDetailActivity.getIntent(
+ itemView.context, entity.id
+ ?: "", communityId, true
+ )
+ )
}
"question" -> {
if (entity.questions.answerCount == 0) {
@@ -356,7 +388,15 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
itemView.context.startActivity(NewQuestionDetailActivity.getCommentIntent(it.context, entity.questions.id, entrance, ""))
}
"answer" -> {
- itemView.context.startActivity(NewQuestionDetailActivity.getCommentIntent(it.context, entity.questions.id, entity.id ?: "", entrance, ""))
+ itemView.context.startActivity(
+ NewQuestionDetailActivity.getCommentIntent(
+ it.context,
+ entity.questions.id,
+ entity.id ?: "",
+ entrance,
+ ""
+ )
+ )
}
}
}
@@ -380,7 +420,16 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
val bbsId = entity.bbs.id
val bbsType = if (entity.bbs.type == "official_bbs") "综合论坛" else "游戏论坛"
val tabInfo = "${path}tab"
- NewLogUtils.logForumDetailFeedContentClick("click_forum_detail_like", userId, contentId, contentType, sequence, bbsId, bbsType, tabInfo)
+ NewLogUtils.logForumDetailFeedContentClick(
+ "click_forum_detail_like",
+ userId,
+ contentId,
+ contentType,
+ sequence,
+ bbsId,
+ bbsType,
+ tabInfo
+ )
}
}
@@ -388,6 +437,21 @@ class ForumArticleAskItemViewHolder(val binding: CommunityAnswerItemBinding) : B
MtaHelper.onEvent(getEventId(entrance), getKey(entrance), "点赞图标")
if (!voteIcon.isChecked) voteAnswer(entity)
else cancelAnswerVote(entity)
+ } else {
+ MtaHelper.onEvent(getEventId(entrance), getKey(entrance), "邀请回答")
+ val questionsDetailEntity = QuestionsDetailEntity(
+ id = entity.id,
+ title = entity.questions.title,
+ images = entity.images,
+ description = entity.questions.description
+ )
+ it.context.startActivity(
+ QuestionsInviteActivity.getIntent(
+ it.context,
+ questionsDetailEntity,
+ entrance
+ )
+ )
}
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListAdapter.kt
index dc8f870c5c..ced9640898 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListAdapter.kt
@@ -4,16 +4,19 @@ import android.content.Context
import android.graphics.Color
import android.view.View
import android.view.ViewGroup
-import android.widget.LinearLayout
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseActivity
-import com.gh.common.constant.ItemViewType
-import com.gh.common.syncpage.ISyncAdapterHandler
-import com.gh.common.util.*
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.common.syncpage.ISyncAdapterHandler
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.databinding.CommunityAnswerItemBinding
import com.gh.gamecenter.entity.CommunityEntity
import com.gh.gamecenter.qa.article.detail.ArticleDetailActivity
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListFragment.kt
index 07885a43f8..63fd987022 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumArticleListFragment.kt
@@ -6,12 +6,18 @@ import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.AppExecutor
-import com.gh.common.constant.Constants
-import com.gh.common.iinterface.IScrollable
+import com.gh.gamecenter.core.AppExecutor
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.core.iinterface.IScrollable
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LazyListFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.observeNonNull
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.tryCatchInRelease
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.core.utils.MD5Utils
import com.gh.gamecenter.databinding.FragmentForumListBinding
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.eventbus.EBDeleteDetail
@@ -48,7 +54,7 @@ class ForumArticleListFragment : LazyListFragment 6) list.subList(0, 6) else list
officialForumRv.adapter = OfficialForumAdapter(requireContext(), "社区-论坛-热门论坛", newList)
@@ -356,6 +369,14 @@ class ForumFragment: LazyFragment(), SwipeRefreshLayout.OnRefreshListener {
otherWelfareContainer.visibility = View.VISIBLE
otherWelfareRv.layoutManager = GridLayoutManager(requireContext(), 2)
otherWelfareRv.adapter = WelfaresAdapter(requireContext(), welfareLists)
+ otherWelfareRv.addItemDecoration(
+ GridSpacingItemColorDecoration(
+ requireContext(),
+ 0,
+ 16,
+ R.color.transparent
+ )
+ )
otherWelfareRv.addItemDecoration(GridSpacingItemColorDecoration(requireContext(), 8, 8, R.color.transparent))
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeViewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeViewModel.kt
index 81f3f871bf..a92a8c5d36 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumHomeViewModel.kt
@@ -1,21 +1,19 @@
package com.gh.gamecenter.forum.home
-import android.annotation.SuppressLint
import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MediatorLiveData
-import com.gh.common.util.observableToMain
-import com.gh.common.util.toRequestBody
+import com.gh.gamecenter.common.utils.observableToMain
+import com.gh.gamecenter.common.utils.toRequestBody
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.entity.LinkEntity
import com.gh.gamecenter.manager.PackagesManager
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.BiFunction
-import io.reactivex.functions.Function
import io.reactivex.schedulers.Schedulers
import retrofit2.HttpException
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordDao.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordDao.kt
index 35ec1e0875..ca8b932df1 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordDao.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordDao.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.forum.home
-import com.gh.common.util.SPUtils
+import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.entity.ForumEntity
class ForumRecordDao {
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordsAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordsAdapter.kt
index 85177e7d17..76fffefdea 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordsAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumRecordsAdapter.kt
@@ -2,8 +2,11 @@ package com.gh.gamecenter.forum.home
import android.content.Context
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.*
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.databinding.ForumRecordItemBinding
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.forum.detail.ForumDetailActivity
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumScrollCalculatorHelper.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumScrollCalculatorHelper.kt
index aa42e22c10..b5a41fb79a 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumScrollCalculatorHelper.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumScrollCalculatorHelper.kt
@@ -6,11 +6,11 @@ import android.os.Looper
import android.text.TextUtils
import android.view.View
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.Constants
-import com.gh.common.util.MD5Utils
-import com.gh.common.util.NetworkUtils
-import com.gh.common.util.SPUtils
-import com.gh.common.util.safelyGetInRelease
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.core.utils.MD5Utils
+import com.gh.gamecenter.common.utils.NetworkUtils
+import com.gh.gamecenter.core.utils.SPUtils
+import com.gh.gamecenter.common.utils.safelyGetInRelease
import com.gh.gamecenter.entity.ForumVideoEntity
import com.gh.gamecenter.setting.VideoSettingFragment
import com.gh.gamecenter.video.detail.CustomManager
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumViewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumViewModel.kt
index d1cb474723..02eef20134 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumViewModel.kt
@@ -4,14 +4,14 @@ import android.annotation.SuppressLint
import android.app.Application
import androidx.lifecycle.*
import com.gh.common.util.CheckLoginUtils
-import com.gh.common.util.createRequestBodyAny
-import com.gh.common.util.singleToMain
+import com.gh.gamecenter.common.utils.createRequestBodyAny
+import com.gh.gamecenter.common.utils.singleToMain
import com.gh.gamecenter.entity.ForumBannerEntity
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.entity.ForumUnreadEntity
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumVisitDao.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumVisitDao.kt
index 5bbc52040b..203ec66c3e 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumVisitDao.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumVisitDao.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.forum.home
-import com.gh.common.util.SPUtils
+import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.entity.ForumEntity
class ForumVisitDao {
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/HorizontalForumsAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/HorizontalForumsAdapter.kt
index d581d12ea0..17dc0acdbe 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/HorizontalForumsAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/HorizontalForumsAdapter.kt
@@ -2,9 +2,13 @@ package com.gh.gamecenter.forum.home
import android.content.Context
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.util.*
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.NumberUtils
+import com.gh.gamecenter.core.utils.ToastUtils
import com.gh.gamecenter.databinding.HorizontalForumItemBinding
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.eventbus.EBForumFollowChange
@@ -42,7 +46,7 @@ class HorizontalForumsAdapter(
val forumEntity = list[position]
gameNameTv.text = forumEntity.name
- hotTv.text = if (forumEntity.hot > 10000) "10000+" else forumEntity.hot.toString()
+ hotTv.text = NumberUtils.transSimpleCount(forumEntity.hot)
unreadHint.goneIf(!forumEntity.unread || mEntrance.contains("热门论坛"))
followTv.goneIf(!mEntrance.contains("热门论坛"))
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt
index e63d2eedec..90a920c03a 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt
@@ -2,9 +2,10 @@ package com.gh.gamecenter.forum.home
import android.content.Context
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.util.NewLogUtils
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.core.utils.NumberUtils
import com.gh.gamecenter.databinding.OfficialForumItemBinding
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.forum.detail.ForumDetailActivity
@@ -28,7 +29,7 @@ class OfficialForumAdapter(
val forumEntity = mList[position]
forumName.text = forumEntity.name
forumIv.displayGameIcon(forumEntity.icon, null)
- hotTv.text = if (forumEntity.hot > 10000) "10000+" else forumEntity.hot.toString()
+ hotTv.text = NumberUtils.transSimpleCount(forumEntity.hot)
root.setOnClickListener {
val bbsType = if (forumEntity.type == "official_bbs") "综合论坛" else "游戏论坛"
diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/WelfaresAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/WelfaresAdapter.kt
index 2a1c1063c0..dd58a4b21e 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/home/WelfaresAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/home/WelfaresAdapter.kt
@@ -2,11 +2,11 @@ package com.gh.gamecenter.forum.home
import android.content.Context
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.util.CheckLoginUtils
import com.gh.common.util.DirectUtils
import com.gh.common.util.NewLogUtils
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.InfoActivity
import com.gh.gamecenter.databinding.ForumWelfareItemBinding
import com.gh.gamecenter.toolbox.ToolBoxBlockActivity
diff --git a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListActivity.kt b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListActivity.kt
index 8b1adda0b2..69a472a554 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListActivity.kt
@@ -3,13 +3,12 @@ package com.gh.gamecenter.forum.list
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class ForumListActivity : NormalActivity() {
+class ForumListActivity : ToolBarActivity() {
override fun isAutoResetViewBackgroundEnabled(): Boolean = true
@@ -25,7 +24,7 @@ class ForumListActivity : NormalActivity() {
fun getIntent(context: Context, type: String): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_TYPE, type)
+ bundle.putString(EntranceConsts.KEY_TYPE, type)
return getTargetIntent(context, ForumListActivity::class.java, ForumListFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListAdapter.kt
index 696eb18b44..41cf5fdaa3 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListAdapter.kt
@@ -4,12 +4,16 @@ import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.core.utils.ToastUtils
+import com.gh.gamecenter.common.utils.debounceActionWithInterval
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.databinding.ForumMyFollowBinding
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.eventbus.EBForumFollowChange
diff --git a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListFragment.kt
index da72296a71..3d725d1cb2 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListFragment.kt
@@ -2,8 +2,11 @@ package com.gh.gamecenter.forum.list
import android.os.Bundle
import com.gh.common.util.*
-import com.gh.common.view.SpacingItemDecoration
+import com.gh.gamecenter.common.view.SpacingItemDecoration
import com.gh.gamecenter.baselist.ListFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.entity.ForumEntity
class ForumListFragment: ListFragment() {
@@ -20,7 +23,7 @@ class ForumListFragment: ListFragment() {
override fun getItemDecoration()= SpacingItemDecoration(onlyDecorateTheFirstItem = true, top = 8F.dip2px())
override fun onCreate(savedInstanceState: Bundle?) {
- val type = arguments?.getString(EntranceUtils.KEY_TYPE) ?: ""
+ val type = arguments?.getString(EntranceConsts.KEY_TYPE) ?: ""
mViewModel = provideListViewModel()
mViewModel?.type = type
when (type) {
diff --git a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListVIewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListVIewModel.kt
index 8addc80180..55b47d8fca 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/list/ForumListVIewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/list/ForumListVIewModel.kt
@@ -5,7 +5,7 @@ import android.app.Application
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.entity.ForumEntity
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorActivity.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorActivity.kt
index 0986f49abb..2f90567f03 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorActivity.kt
@@ -5,18 +5,18 @@ import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.view.View
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.entity.ApplyModeratorStatusEntity
-class ApplyModeratorActivity : NormalActivity() {
+class ApplyModeratorActivity : ToolBarActivity() {
companion object {
fun getIntent(context: Context, bbsId: String, status: ApplyModeratorStatusEntity): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_BBS_ID, bbsId)
+ bundle.putString(EntranceConsts.KEY_BBS_ID, bbsId)
bundle.putParcelable("status", status)
return getTargetIntent(
context,
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorFragment.kt
index 31c0c920a0..1fb0761a1a 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorFragment.kt
@@ -8,23 +8,27 @@ import android.widget.LinearLayout
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
-import com.gh.common.avoidcallback.AvoidOnResultManager
-import com.gh.common.avoidcallback.Callback
+import com.gh.gamecenter.common.avoidcallback.AvoidOnResultManager
+import com.gh.gamecenter.common.avoidcallback.Callback
import com.gh.common.dialog.ApplyModeratorDialogFragment
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.ShellActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.core.utils.ClickUtils
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.databinding.FragmentApplyModeratorBinding
import com.gh.gamecenter.entity.ApplyModeratorStatusEntity
import com.gh.gamecenter.entity.ApplyModeratorTaskEntity
import com.gh.gamecenter.forum.detail.ForumDetailActivity
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.normal.NormalFragment
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
import com.lightgame.utils.AppManager
import com.lightgame.utils.Utils
-class ApplyModeratorFragment : NormalFragment() {
+class ApplyModeratorFragment : ToolbarFragment() {
private var mBinding: FragmentApplyModeratorBinding? = null
private var mViewModel: ApplyModeratorViewModel? = null
@@ -40,7 +44,7 @@ class ApplyModeratorFragment : NormalFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- mBbsId = arguments?.getString(EntranceUtils.KEY_BBS_ID) ?: ""
+ mBbsId = arguments?.getString(EntranceConsts.KEY_BBS_ID) ?: ""
mStatus = arguments?.getParcelable("status") ?: ApplyModeratorStatusEntity()
val factory = ApplyModeratorViewModel.Factory(mBbsId)
mDataList = getModeratorTaskList()
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorViewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorViewModel.kt
index 1ee994a1c1..9d5ad22fb8 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ApplyModeratorViewModel.kt
@@ -6,7 +6,7 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.gh.gamecenter.entity.ApplyModeratorStatusEntity
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListActivity.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListActivity.kt
index 820dd22d9f..91d70c4b98 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListActivity.kt
@@ -3,22 +3,21 @@ package com.gh.gamecenter.forum.moderator
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class ModeratorListActivity : NormalActivity() {
+class ModeratorListActivity : ToolBarActivity() {
companion object {
fun getIntent(context: Context, bbsId: String, bbsName: String, bbsType: String, entrance: String, path: String): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_ENTRANCE, entrance)
- bundle.putString(EntranceUtils.KEY_PATH, path)
- bundle.putString(EntranceUtils.KEY_BBS_ID, bbsId)
- bundle.putString(EntranceUtils.KEY_NAME, bbsName)
- bundle.putString(EntranceUtils.KEY_TYPE, bbsType)
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance)
+ bundle.putString(EntranceConsts.KEY_PATH, path)
+ bundle.putString(EntranceConsts.KEY_BBS_ID, bbsId)
+ bundle.putString(EntranceConsts.KEY_NAME, bbsName)
+ bundle.putString(EntranceConsts.KEY_TYPE, bbsType)
return getTargetIntent(context, ModeratorListActivity::class.java, ModeratorListFragment::class.java, bundle)
}
}
@@ -26,6 +25,7 @@ class ModeratorListActivity : NormalActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
hideToolbar(true)
+ updateStatusBarColor(R.color.black, R.color.white)
}
override fun isAutoResetViewBackgroundEnabled(): Boolean = true
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListAdapter.kt
index b9d8762bb4..2076b7c78b 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListAdapter.kt
@@ -3,15 +3,16 @@ package com.gh.gamecenter.forum.moderator
import android.content.Context
import android.view.View
import android.view.ViewGroup
-import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.util.*
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.common.utils.ImageUtils
import com.gh.gamecenter.databinding.ModeratorListItemBinding
import com.gh.gamecenter.entity.PersonalEntity
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.personalhome.UserHomeActivity
import com.lightgame.adapter.BaseRecyclerAdapter
class ModeratorListAdapter(context: Context, val mViewModel: ModeratorListViewModel?) : BaseRecyclerAdapter(context) {
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListFragment.kt
index be40f63cc6..3a940390ef 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListFragment.kt
@@ -4,18 +4,24 @@ import android.os.Bundle
import android.view.View
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.util.*
import com.gh.gamecenter.NewsDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.ifLogin
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentModeratorListBinding
import com.gh.gamecenter.entity.ApplyModeratorStatusEntity
import com.gh.gamecenter.eventbus.EBUserFollow
-import com.gh.gamecenter.normal.NormalFragment
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
-class ModeratorListFragment : NormalFragment() {
+class ModeratorListFragment : ToolbarFragment() {
private lateinit var mBinding: FragmentModeratorListBinding
private var mViewModel: ModeratorListViewModel? = null
private var mAdapter: ModeratorListAdapter? = null
@@ -28,9 +34,9 @@ class ModeratorListFragment : NormalFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mBinding = FragmentModeratorListBinding.bind(mCachedView)
- mBbsId = arguments?.getString(EntranceUtils.KEY_BBS_ID) ?: ""
- mBbsType = arguments?.getString(EntranceUtils.KEY_TYPE) ?: ""
- val bbsName = arguments?.getString(EntranceUtils.KEY_NAME) ?: ""
+ mBbsId = arguments?.getString(EntranceConsts.KEY_BBS_ID) ?: ""
+ mBbsType = arguments?.getString(EntranceConsts.KEY_TYPE) ?: ""
+ val bbsName = arguments?.getString(EntranceConsts.KEY_NAME) ?: ""
val factory = ModeratorListViewModel.Factory(mBbsId)
mViewModel = viewModelProvider(factory)
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListViewModel.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListViewModel.kt
index 925e0167fe..07819763b8 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorListViewModel.kt
@@ -10,8 +10,8 @@ import com.gh.gamecenter.R
import com.gh.gamecenter.entity.ApplyModeratorStatusEntity
import com.gh.gamecenter.entity.PersonalEntity
import com.gh.gamecenter.eventbus.EBUserFollow
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.google.gson.JsonObject
import com.halo.assistant.HaloApp
diff --git a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorTaskAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorTaskAdapter.kt
index fd9d03e950..e15bbc5a22 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorTaskAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/moderator/ModeratorTaskAdapter.kt
@@ -5,9 +5,9 @@ import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.ItemModeratorTaskBinding
import com.gh.gamecenter.entity.ApplyModeratorTaskEntity
diff --git a/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListAdapter.kt
index e301a0d805..1918c6d3a1 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListAdapter.kt
@@ -10,15 +10,17 @@ import android.view.ViewGroup
import android.widget.LinearLayout
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseActivity
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.ItemViewType
-import com.gh.common.syncpage.ISyncAdapterHandler
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.common.syncpage.ISyncAdapterHandler
import com.gh.common.util.*
-import com.gh.common.view.CenterImageSpan
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.CommunityAnswerItemBinding
import com.gh.gamecenter.databinding.ForumSearchContentListBinding
import com.gh.gamecenter.entity.CommunityEntity
@@ -86,7 +88,11 @@ class ForumContentSearchListAdapter(context: Context, val mListViewModel: ForumC
answerViewHolder.binding.content.visibility = View.GONE
val title = answer.questions.title ?: ""
val spannableStringBuilder = SpannableStringBuilder(" ")
- spannableStringBuilder.setSpan(CenterImageSpan(mContext, R.drawable.ic_ask_label), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+ spannableStringBuilder.setSpan(
+ CenterImageSpan(
+ mContext,
+ R.drawable.ic_ask_label
+ ), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
spannableStringBuilder.append(title.fromHtml())
answerViewHolder.binding.title.text = spannableStringBuilder
} else {
@@ -216,7 +222,11 @@ class ForumContentSearchListAdapter(context: Context, val mListViewModel: ForumC
forumSearchHolder.binding.contentTv.visibility = View.GONE
val title = answer.questions.title ?: ""
val spannableStringBuilder = SpannableStringBuilder(" ")
- spannableStringBuilder.setSpan(CenterImageSpan(mContext, R.drawable.ic_ask_label), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+ spannableStringBuilder.setSpan(
+ CenterImageSpan(
+ mContext,
+ R.drawable.ic_ask_label
+ ), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
spannableStringBuilder.append(title.fromHtml())
forumSearchHolder.binding.titleTv.text = spannableStringBuilder
} else {
diff --git a/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListFragment.kt
index 28ab079ade..236e30b13b 100644
--- a/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/forum/search/ForumContentSearchListFragment.kt
@@ -6,10 +6,10 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.viewModelProvider
-import com.gh.common.view.divider.HorizontalDividerItemDecoration
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.common.view.divider.HorizontalDividerItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.baselist.ListFragment
@@ -39,7 +39,7 @@ class ForumContentSearchListFragment : ListFragment HomeFragment().with(Bundle())
"top_game_comment" -> AmwayFragment().with(Bundle())
"block" -> GameFragment().with(Bundle().apply {
- putParcelable(EntranceUtils.KEY_BLOCK_DATA, tab)
+ putParcelable(EntranceConsts.KEY_BLOCK_DATA, tab)
})
"server" -> GameServersPublishFragment().with(Bundle())
"game_list" -> GameCollectionSquareFragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_ENTRANCE, "顶部tab")
- putInt(EntranceUtils.KEY_TAB_INDEX, index)
- putString(EntranceUtils.KEY_NAME, tab.name)
+ putString(EntranceConsts.KEY_ENTRANCE, "顶部tab")
+ putInt(EntranceConsts.KEY_TAB_INDEX, index)
+ putString(EntranceConsts.KEY_NAME, tab.name)
})
"column_test" -> GameServersTestFragment().with(Bundle().apply {
putString(GameServersTestFragment.TEST_COLUMN_ID, tab.link)
})
"category" -> CategoryDirectoryFragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_CATEGORY_ID, tab.link)
- putString(EntranceUtils.KEY_CATEGORY_TITLE, tab.text)
+ putString(EntranceConsts.KEY_CATEGORY_ID, tab.link)
+ putString(EntranceConsts.KEY_CATEGORY_TITLE, tab.text)
})
"catalog" -> CatalogFragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_CATALOG_ID, tab.link)
- putString(EntranceUtils.KEY_CATALOG_TITLE, tab.text)
+ putString(EntranceConsts.KEY_CATALOG_ID, tab.link)
+ putString(EntranceConsts.KEY_CATALOG_TITLE, tab.text)
})
"category_v2" -> CategoryV2Fragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_CATEGORY_ID, tab.link)
- putString(EntranceUtils.KEY_CATEGORY_TITLE, tab.text)
+ putString(EntranceConsts.KEY_CATEGORY_ID, tab.link)
+ putString(EntranceConsts.KEY_CATEGORY_TITLE, tab.text)
})
"ranking", "column_collection" -> ColumnCollectionDetailFragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_ENTRANCE, "首页")
- putString(EntranceUtils.KEY_COLLECTION_ID, tab.link)
- putInt(EntranceUtils.KEY_POSITION, 0)
- putString(EntranceUtils.KEY_COLUMNNAME, tab.text)
- putBoolean(EntranceUtils.KEY_IS_COLUMN_COLLECTION, true)
+ putString(EntranceConsts.KEY_ENTRANCE, "首页")
+ putString(EntranceConsts.KEY_COLLECTION_ID, tab.link)
+ putInt(EntranceConsts.KEY_POSITION, 0)
+ putString(EntranceConsts.KEY_COLUMNNAME, tab.text)
+ putBoolean(EntranceConsts.KEY_IS_COLUMN_COLLECTION, true)
})
"column" -> SubjectFragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_ENTRANCE, "首页")
+ putString(EntranceConsts.KEY_ENTRANCE, "首页")
putParcelable(
- EntranceUtils.KEY_SUBJECT_DATA,
+ EntranceConsts.KEY_SUBJECT_DATA,
SubjectData(tab.link, tab.text, false)
)
})
"web" -> WebFragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_URL, tab.link)
+ putString(EntranceConsts.KEY_URL, tab.link)
putBoolean(WebFragment.KEY_OPEN_NATIVE_PAGE, false)
putBoolean(WebFragment.KEY_ENABLE_HORIZONTAL_SCROLL_DISPATCH, true)
if (tab.link?.contains("leave_web_page_handle_back_pressed=true") == true) {
@@ -442,17 +448,17 @@ class HomeSearchToolWrapperFragment : SearchToolWrapperFragment() {
}
})
"common_collection" -> CommonCollectionDetailFragment().with(Bundle().apply {
- putString(EntranceUtils.KEY_ENTRANCE, "首页顶部Tab栏")
- putString(EntranceUtils.KEY_COLLECTION_ID, tab.link)
- putString(EntranceUtils.KEY_COLUMNNAME, tab.text)
+ putString(EntranceConsts.KEY_ENTRANCE, "首页顶部Tab栏")
+ putString(EntranceConsts.KEY_COLLECTION_ID, tab.link)
+ putString(EntranceConsts.KEY_COLUMNNAME, tab.text)
})
"bbs" -> Fragment()
else -> Fragment()
}
- fragment.arguments?.putInt(EntranceUtils.KEY_TAB_COUNT, tabList.size)
- fragment.arguments?.putBoolean(EntranceUtils.KEY_IS_HOME, true)
+ fragment.arguments?.putInt(EntranceConsts.KEY_TAB_COUNT, tabList.size)
+ fragment.arguments?.putBoolean(EntranceConsts.KEY_IS_HOME, true)
fragment.arguments?.putParcelable(
- EntranceUtils.KEY_EXPOSURE_SOURCE,
+ EntranceConsts.KEY_EXPOSURE_SOURCE,
ExposureSource("首页顶部Tab栏", tab.name ?: "")
)
fragmentList.add(fragment)
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/HomeSearchToolWrapperViewModel.kt b/app/src/main/java/com/gh/gamecenter/fragment/HomeSearchToolWrapperViewModel.kt
index 47237ffe3a..93c5a61b13 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/HomeSearchToolWrapperViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/fragment/HomeSearchToolWrapperViewModel.kt
@@ -4,11 +4,11 @@ import android.annotation.SuppressLint
import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
-import com.gh.common.util.toColor
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.R
import com.gh.gamecenter.entity.SubjectRecommendEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java
index 79a169bf21..c8e314bef4 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java
@@ -29,34 +29,33 @@ import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
-import com.gh.base.fragment.WaitingDialogFragment;
-import com.gh.common.constant.Constants;
import com.gh.common.util.CheckLoginUtils;
-import com.gh.common.util.ClickUtils;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.EnergyTaskHelper;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.util.PackageFlavorHelper;
-import com.gh.common.util.ExtensionsKt;
import com.gh.common.util.LogUtils;
import com.gh.common.util.LoginHelper;
import com.gh.common.util.LoginUtils;
-import com.gh.common.util.MtaHelper;
-import com.gh.common.util.PatternUtils;
-import com.gh.common.util.PermissionHelper;
import com.gh.common.util.QuickLoginHelper;
-import com.gh.common.util.SPUtils;
-import com.gh.gamecenter.LoginActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.WebActivity;
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment;
+import com.gh.gamecenter.common.base.fragment.WaitingDialogFragment;
+import com.gh.gamecenter.common.constant.Constants;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.common.utils.PackageFlavorHelper;
+import com.gh.gamecenter.common.utils.PermissionHelper;
+import com.gh.gamecenter.core.utils.ClickUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
+import com.gh.gamecenter.core.utils.PatternUtils;
+import com.gh.gamecenter.core.utils.SPUtils;
import com.gh.gamecenter.databinding.FragmentLoginBinding;
import com.gh.gamecenter.entity.LoginTokenEntity;
import com.gh.gamecenter.entity.UserInfoEntity;
import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.manager.UserManager;
-import com.gh.gamecenter.normal.NormalFragment;
import com.gh.gamecenter.security.BindPhoneActivity;
-import com.gh.gamecenter.user.ApiResponse;
+import com.gh.gamecenter.common.retrofit.ApiResponse;
import com.gh.gamecenter.user.LoginTag;
import com.gh.gamecenter.user.UserViewModel;
import com.halo.assistant.HaloApp;
@@ -77,7 +76,7 @@ import kotlin.collections.CollectionsKt;
*/
public class LoginFragment
- extends NormalFragment
+ extends ToolbarFragment
implements LoginUtils.onCaptchaCallBackListener,
LoginHelper.LoginCallback,
View.OnClickListener,
@@ -91,7 +90,7 @@ public class LoginFragment
private String mServiceId;
private Animation mShakeAnim;
- private int mStatus = LoginActivity.STATUS_DEFAULT;
+ private int mStatus = QuickLoginHelper.STATUS_DEFAULT;
@Override
protected void handleMessage(Message msg) {
@@ -138,9 +137,9 @@ public class LoginFragment
super.onCreate(savedInstanceState);
if (getArguments() != null) {
- mStatus = getArguments().getInt(EntranceUtils.KEY_SHOW_QUICK_LOGIN, LoginActivity.STATUS_DEFAULT);
+ mStatus = getArguments().getInt(EntranceConsts.KEY_SHOW_QUICK_LOGIN, QuickLoginHelper.STATUS_DEFAULT);
} else {
- mStatus = LoginActivity.STATUS_DEFAULT;
+ mStatus = QuickLoginHelper.STATUS_DEFAULT;
}
final UserViewModel.Factory factory = new UserViewModel.Factory(HaloApp.getInstance().getApplication());
@@ -189,7 +188,7 @@ public class LoginFragment
params.topMargin = screenHeight * 80 / 640;
mBinding.loginPhoneContainer.setLayoutParams(params);
- if (mStatus == LoginActivity.STATUS_DEFAULT) {
+ if (mStatus == QuickLoginHelper.STATUS_DEFAULT) {
mBinding.quickLoginTv.setVisibility(View.GONE);
} else {
mBinding.quickLoginTv.setVisibility(View.VISIBLE);
@@ -240,9 +239,9 @@ public class LoginFragment
super.onClick(v);
int id = v.getId();
if (id == R.id.quickLoginTv) {
- if (mStatus == LoginActivity.STATUS_FROM_QUICK_LOGIN_PAGE) {
+ if (mStatus == QuickLoginHelper.STATUS_FROM_QUICK_LOGIN_PAGE) {
requireActivity().finish();
- } else if (mStatus == LoginActivity.STATUS_FROM_QUICK_LOGIN_PERMISSION) {
+ } else if (mStatus == QuickLoginHelper.STATUS_FROM_QUICK_LOGIN_PERMISSION) {
showPermissionDialog();
}
} else if (id == R.id.checkIv || id == R.id.checkClickView1 || id == R.id.checkClickView2) {
@@ -429,7 +428,7 @@ public class LoginFragment
if (getActivity() != null && CheckLoginUtils.isLogin()) {
getActivity().finish();
// 如果是从一键登录页跳转过来的,登录成功后也要finish一键登录页
- if (mStatus == LoginActivity.STATUS_FROM_QUICK_LOGIN_PAGE) {
+ if (mStatus == QuickLoginHelper.STATUS_FROM_QUICK_LOGIN_PAGE) {
QuickLoginHelper.finishAuthActivity();
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
index 02b7b5efbe..fad1421102 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java
@@ -1,5 +1,7 @@
package com.gh.gamecenter.fragment;
+import static com.gh.gamecenter.MainActivity.EB_SKIP_MAIN;
+
import android.graphics.Bitmap;
import android.graphics.PorterDuff;
import android.graphics.drawable.Animatable;
@@ -24,31 +26,30 @@ import com.facebook.drawee.view.SimpleDraweeView;
import com.facebook.fresco.animation.drawable.AnimatedDrawable2;
import com.facebook.fresco.animation.drawable.BaseAnimationListener;
import com.facebook.imagepipeline.image.ImageInfo;
-import com.gh.base.OnDoubleTapListener;
-import com.gh.base.fragment.BaseFragment_ViewPager_Checkable;
import com.gh.common.constant.Config;
-import com.gh.common.constant.Constants;
import com.gh.common.dialog.PrivacyPolicyDialogFragment;
-import com.gh.common.syncpage.SyncPageRepository;
-import com.gh.common.tracker.TrackerLogger;
-import com.gh.common.util.BiCallback;
-import com.gh.common.util.DataUtils;
-import com.gh.common.util.DialogUtils;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.util.ExtensionsKt;
+import com.gh.common.dialog.ReserveDialog;
+import com.gh.common.exposure.ExposureSource;
+import com.gh.common.util.NewLogUtils;
+import com.gh.gamecenter.common.tracker.TrackerLogger;
import com.gh.common.util.FloatingBackViewManager;
import com.gh.common.util.HomeBottomBarHelper;
-import com.gh.common.util.ImageUtils;
import com.gh.common.util.IntegralLogHelper;
import com.gh.common.util.LogUtils;
-import com.gh.common.util.NightModeUtils;
-import com.gh.common.util.SPUtils;
-import com.gh.common.view.ReserveDialog;
import com.gh.gamecenter.R;
+import com.gh.gamecenter.category2.CategoryV2Fragment;
+import com.gh.gamecenter.common.base.fragment.BaseFragment_ViewPager_Checkable;
+import com.gh.gamecenter.common.callback.BiCallback;
+import com.gh.gamecenter.common.callback.OnDoubleTapListener;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.common.syncpage.SyncPageRepository;
+import com.gh.gamecenter.common.utils.ExtensionsKt;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.common.utils.NightModeUtils;
+import com.gh.gamecenter.core.utils.DisplayUtils;
import com.gh.gamecenter.databinding.FragmentMainBinding;
-import com.gh.gamecenter.entity.PrivacyPolicyEntity;
import com.gh.gamecenter.entity.SettingsEntity;
+import com.gh.gamecenter.entity.SubjectData;
import com.gh.gamecenter.entity.SubjectRecommendEntity;
import com.gh.gamecenter.entity.WelcomeDialogEntity;
import com.gh.gamecenter.eventbus.EBReuse;
@@ -56,11 +57,18 @@ import com.gh.gamecenter.eventbus.EBSkip;
import com.gh.gamecenter.eventbus.EBUISwitch;
import com.gh.gamecenter.forum.home.CommunityHomeFragment;
import com.gh.gamecenter.game.GameFragment;
+import com.gh.gamecenter.game.columncollection.detail.ColumnCollectionDetailFragment;
+import com.gh.gamecenter.game.commoncollection.detail.CommonCollectionDetailFragment;
+import com.gh.gamecenter.gamecollection.square.GameCollectionSquareFragment;
import com.gh.gamecenter.message.MessageUnreadRepository;
import com.gh.gamecenter.message.MessageUnreadViewModel;
import com.gh.gamecenter.personal.PersonalFragment;
+import com.gh.gamecenter.servers.GameServersPublishFragment;
+import com.gh.gamecenter.servers.GameServersTestFragment;
+import com.gh.gamecenter.subject.SubjectFragment;
import com.gh.gamecenter.video.detail.HomeVideoFragment;
import com.halo.assistant.HaloApp;
+import com.halo.assistant.fragment.WebFragment;
import com.lightgame.listeners.OnBackPressedListener;
import com.lightgame.view.CheckableLinearLayout;
import com.lightgame.view.NoScrollableViewPager;
@@ -72,8 +80,6 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
-import static com.gh.gamecenter.MainActivity.EB_SKIP_MAIN;
-
public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implements OnBackPressedListener {
public static final int INDEX_HOME = 0;
@@ -120,16 +126,12 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
mHomeFragment = new HomeSearchToolWrapperFragment();
fragments.add(mHomeFragment);
- mGameWrapperFragment = new SearchToolWrapperFragment();
- Bundle homeArgs = new Bundle();
- homeArgs.putBoolean(EntranceUtils.KEY_IS_HOME, true);
- homeArgs.putString(SearchToolWrapperFragment.WRAPPER_FRAGMENT_NAME, GameFragment.class.getName());
- mGameWrapperFragment.setArguments(homeArgs);
+ initGameWrapperFragment();
fragments.add(mGameWrapperFragment);
mHomeVideoFragment = new HomeVideoFragment();
Bundle videoArgs = new Bundle();
- videoArgs.putBoolean(EntranceUtils.KEY_IS_HOME_VIDEO, true);
+ videoArgs.putBoolean(EntranceConsts.KEY_IS_HOME_VIDEO, true);
mHomeVideoFragment.setArguments(videoArgs);
mCommunityHomeFragment = new CommunityHomeFragment();
@@ -143,6 +145,80 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
fragments.add(new PersonalFragment());
}
+ private void initGameWrapperFragment() {
+ mGameWrapperFragment = new SearchToolWrapperFragment();
+ Bundle homeArgs = new Bundle();
+ String className = GameFragment.class.getName();
+ SubjectRecommendEntity entity = mViewModel.getNavBar().getValue();
+ if (entity == null) {
+ entity = HomeBottomBarHelper.getDefaultGameBarData();
+ }
+ if (entity.getType() != null) {
+ switch (entity.getType()) {
+ case "block":
+ className = GameFragment.class.getName();
+ break;
+ case "column":
+ className = SubjectFragment.class.getName();
+ homeArgs.putString(EntranceConsts.KEY_ENTRANCE, "游戏库");
+ homeArgs.putParcelable(
+ EntranceConsts.KEY_SUBJECT_DATA,
+ new SubjectData(entity.getLink(), entity.getText(), false, "", "", "", "", true, false)
+ );
+ break;
+ case "column_collection":
+ className = ColumnCollectionDetailFragment.class.getName();
+ homeArgs.putString(EntranceConsts.KEY_ENTRANCE, "游戏库");
+ homeArgs.putString(EntranceConsts.KEY_COLLECTION_ID, entity.getLink());
+ homeArgs.putInt(EntranceConsts.KEY_POSITION, 0);
+ homeArgs.putString(EntranceConsts.KEY_COLUMNNAME, entity.getText());
+ homeArgs.putBoolean(EntranceConsts.KEY_IS_COLUMN_COLLECTION, true);
+ break;
+ case "server":
+ className = GameServersPublishFragment.class.getName();
+ break;
+ case "column_test":
+ className = GameServersTestFragment.class.getName();
+ homeArgs.putString(GameServersTestFragment.TEST_COLUMN_ID, entity.getLink());
+ break;
+ case "category_v2":
+ className = CategoryV2Fragment.class.getName();
+ homeArgs.putString(EntranceConsts.KEY_CATEGORY_ID, entity.getLink());
+ homeArgs.putString(EntranceConsts.KEY_CATEGORY_TITLE, entity.getText());
+ break;
+ case "common_collection":
+ className = CommonCollectionDetailFragment.class.getName();
+ homeArgs.putString(EntranceConsts.KEY_ENTRANCE, "游戏库");
+ homeArgs.putString(EntranceConsts.KEY_COLLECTION_ID, entity.getLink());
+ homeArgs.putString(EntranceConsts.KEY_COLUMNNAME, entity.getText());
+ break;
+ case "game_list_square":
+ className = GameCollectionSquareFragment.class.getName();
+ homeArgs.putString(EntranceConsts.KEY_ENTRANCE, "游戏库");
+ homeArgs.putInt(EntranceConsts.KEY_TAB_INDEX, 0);
+ homeArgs.putString(EntranceConsts.KEY_NAME, entity.getName());
+ break;
+ case "web":
+ className = WebFragment.class.getName();
+ homeArgs.putString(EntranceConsts.KEY_URL, entity.getLink());
+ homeArgs.putBoolean(WebFragment.KEY_OPEN_NATIVE_PAGE, false);
+ homeArgs.putBoolean(WebFragment.KEY_ENABLE_HORIZONTAL_SCROLL_DISPATCH, true);
+ if (entity.getLink() != null && entity.getLink().contains("leave_web_page_handle_back_pressed=true")) {
+ homeArgs.putBoolean(WebFragment.KEY_LEAVE_WEB_PAGE_TO_HANDLE_BACK_PRESSED, true);
+ }
+ break;
+ }
+ }
+
+ homeArgs.putString(SearchToolWrapperFragment.WRAPPER_FRAGMENT_NAME, className);
+ homeArgs.putBoolean(EntranceConsts.KEY_IS_HOME, true);
+ homeArgs.putParcelable(
+ EntranceConsts.KEY_EXPOSURE_SOURCE,
+ new ExposureSource("游戏库", "")
+ );
+ mGameWrapperFragment.setArguments(homeArgs);
+ }
+
@Override
public ArrayList restoreFragments() {
ArrayList restoreFragments = super.restoreFragments();
@@ -162,7 +238,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
@Override
public void onCreate(Bundle savedInstanceState) {
- mViewModel = ViewModelProviders.of(this).get(MainWrapperViewModel.class);
+ mViewModel = ViewModelProviders.of(this, new MainWrapperViewModel.Factory(HaloApp.getInstance())).get(MainWrapperViewModel.class);
super.onCreate(savedInstanceState);
@@ -197,7 +273,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
.get(MessageUnreadViewModel.class)
.getUnreadMessageTotalLiveData().observe(this, isShow -> ExtensionsKt.goneIf(mBinding.mainIvMessageHint, !isShow));
}
-
+
public void getDialog() {
mViewModel.requestOpeningData();
mViewModel.getPrivacyPolicyDialog().observe(this, it -> {
@@ -211,7 +287,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
}
});
}
-
+
private void showWelcomeDialogIfNeeded(WelcomeDialogEntity welcomeDialogEntity) {
// 判断启动本次应用是否已经弹窗,不是的话弹启动弹窗
if (welcomeDialogEntity != null && HaloApp.get(MainWrapperViewModel.SHOULD_SHOW_OPENING_DIALOG, false) == null) {
@@ -221,7 +297,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
public void onFirst(Bitmap bitmap) {
// 网络速度追不上用户操作的时候可能会出现要弹启动弹窗但用户已经不停留在 MainActivity 的情况
if (!isAdded()) return;
-
+
WelcomeDialogFragment welcomeDialog = WelcomeDialogFragment.getInstance(welcomeDialogEntity);
welcomeDialog.setOnDismissListener(() -> {
mViewModel.requestReserveDialog();
@@ -229,7 +305,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
});
welcomeDialog.show(getChildFragmentManager(), "openingDialog");
}
-
+
@Override
public void onSecond(Boolean aBoolean) {
mViewModel.requestReserveDialog();
@@ -246,7 +322,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
mBinding.mainTabGameName.setText(navBarEntity.getName());
ImageUtils.getPicasso()
.load(Uri.parse(navBarEntity.getIconUnselect()))
- .placeholder(R.drawable.ic_game_unselect)
+ //.placeholder(R.drawable.ic_game_unselect)
.into(mBinding.mainTabGameIcon);
if (navBarEntity.getDefault()) setCurrentItem(INDEX_GAME);
} else {
@@ -277,23 +353,6 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
@Override
public void onDoubleTap() {
EventBus.getDefault().post(new EBUISwitch(EB_MAIN_SCROLL_TOP, finalI));
- switch (finalI) {
- case INDEX_HOME:
- DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "首页");
- break;
- case INDEX_GAME:
- DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "游戏库");
- break;
- case INDEX_VIDEO:
- DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "视频");
- break;
- case INDEX_BBS:
- DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "问答");
- break;
- case INDEX_PERSONAL:
- DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "我的光环");
- break;
- }
}
});
}
@@ -468,25 +527,34 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
switch (index) {
case INDEX_HOME:
tabText = "首页";
+ NewLogUtils.logBottomNavigationClick("首页", "", "", "");
break;
case INDEX_GAME:
tabText = "游戏库";
+ SubjectRecommendEntity entity = mViewModel.getNavBar().getValue();
+ if (entity == null) {
+ entity = HomeBottomBarHelper.getDefaultGameBarData();
+ }
+ NewLogUtils.logBottomNavigationClick("游戏库", entity.getType() != null ? entity.getType() : "",
+ entity.getText() != null ? entity.getText() : "", entity.getLink() != null ? entity.getLink() : "");
break;
case INDEX_BBS:
tabText = "论坛";
LogUtils.uploadAccessBbsTab();
+ NewLogUtils.logBottomNavigationClick("社区", "", "", "");
break;
case INDEX_VIDEO:
tabText = "视频";
DisplayUtils.setLightStatusBar(requireActivity(), false);
+ NewLogUtils.logBottomNavigationClick("视频", "", "", "");
break;
case INDEX_PERSONAL:
tabText = "我的光环";
IntegralLogHelper.INSTANCE.log("view_me", "我的光环");
+ NewLogUtils.logBottomNavigationClick("我的光环", "", "", "");
break;
}
- DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar", tabText);
TrackerLogger.logHomeTabSelected(index, tabText);
if (index != INDEX_BBS) {
@@ -499,12 +567,12 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
if (index == INDEX_GAME) {
ImageUtils.getPicasso()
.load(Uri.parse(navBarEntity.getIconSelect()))
- .placeholder(R.drawable.ic_game_select)
+ //.placeholder(R.drawable.ic_game_select)
.into(mBinding.mainTabGameIcon);
} else {
ImageUtils.getPicasso()
.load(Uri.parse(navBarEntity.getIconUnselect()))
- .placeholder(R.drawable.ic_game_unselect)
+ //.placeholder(R.drawable.ic_game_unselect)
.into(mBinding.mainTabGameIcon);
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperRepository.kt b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperRepository.kt
new file mode 100644
index 0000000000..a25ddaecec
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperRepository.kt
@@ -0,0 +1,48 @@
+package com.gh.gamecenter.fragment
+
+import android.annotation.SuppressLint
+import androidx.lifecycle.MutableLiveData
+import com.gh.common.util.HomeBottomBarHelper
+import com.gh.gamecenter.BuildConfig
+import com.gh.gamecenter.core.utils.SingletonHolder
+import com.gh.gamecenter.entity.SubjectRecommendEntity
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.retrofit.RetrofitManager
+import com.halo.assistant.HaloApp
+import io.reactivex.android.schedulers.AndroidSchedulers
+import io.reactivex.schedulers.Schedulers
+import retrofit2.HttpException
+
+class MainWrapperRepository {
+
+ private val mSensitiveApi = RetrofitManager.getInstance().api
+
+ private val mNavBar = MutableLiveData()
+
+ fun getNavBarLiveData() = mNavBar
+
+ @SuppressLint("CheckResult")
+ fun getHomeNavBar() {
+ mSensitiveApi.getHomeNavBarV2(HaloApp.getInstance().channel, BuildConfig.VERSION_NAME)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(object : BiResponse() {
+ override fun onSuccess(data: SubjectRecommendEntity) {
+ HomeBottomBarHelper.updateDefaultGameBarData(data)
+ mNavBar.postValue(data)
+ }
+
+ override fun onFailure(exception: Exception) {
+ if (exception is HttpException && exception.code() == 404) {
+ mNavBar.postValue(null)
+ HomeBottomBarHelper.updateDefaultGameBarData(SubjectRecommendEntity())
+ } else {
+ mNavBar.postValue(HomeBottomBarHelper.getDefaultGameBarData())
+ }
+ }
+ })
+ }
+
+
+ companion object : SingletonHolder({ MainWrapperRepository() })
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt
index 81209c4200..07921862c6 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt
@@ -5,61 +5,34 @@ import android.app.Application
import android.preference.PreferenceManager
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
-import com.gh.common.constant.Constants
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
import com.gh.common.util.CheckLoginUtils
-import com.gh.common.util.HomeBottomBarHelper
import com.gh.common.util.PackageUtils
-import com.gh.common.util.SPUtils
-import com.gh.gamecenter.BuildConfig
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.entity.DialogEntity
import com.gh.gamecenter.entity.SimpleGameEntity
import com.gh.gamecenter.entity.SubjectRecommendEntity
import com.gh.gamecenter.entity.WelcomeDialogEntity
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
-import retrofit2.HttpException
-class MainWrapperViewModel(application: Application) : AndroidViewModel(application) {
+class MainWrapperViewModel(application: Application, repository: MainWrapperRepository) : AndroidViewModel(application) {
private val mApi = RetrofitManager.getInstance().api
private val mSensitiveApi = RetrofitManager.getInstance().api
- val navBar = MutableLiveData()
+ val navBar: MutableLiveData = repository.getNavBarLiveData()
// 弹窗优先级: 隐私政策弹窗->启动弹窗->预约弹窗->消息弹窗
val openingDialog = MutableLiveData()
val reserveDialog = MutableLiveData?>()
val privacyPolicyDialog = MutableLiveData()
- init {
- getHomeNavBar()
- }
-
- @SuppressLint("CheckResult")
- private fun getHomeNavBar() {
- mSensitiveApi.getHomeNavBar(HaloApp.getInstance().channel, BuildConfig.VERSION_NAME)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(object : BiResponse() {
- override fun onSuccess(data: SubjectRecommendEntity) {
- HomeBottomBarHelper.updateDefaultGameBarData(data)
- navBar.postValue(data)
- }
-
- override fun onFailure(exception: Exception) {
- if (exception is HttpException && exception.code() == 404) {
- navBar.postValue(null)
- HomeBottomBarHelper.updateDefaultGameBarData(SubjectRecommendEntity())
- } else {
- navBar.postValue(HomeBottomBarHelper.getDefaultGameBarData())
- }
- }
- })
- }
-
/**
* 获取弹窗
*/
@@ -149,6 +122,14 @@ class MainWrapperViewModel(application: Application) : AndroidViewModel(applicat
return if (channelInInteger == null) false else channelInInteger in 1001..1050
}
+ class Factory(
+ private val mApplication: Application,
+ ) : ViewModelProvider.NewInstanceFactory() {
+ override fun create(modelClass: Class): T {
+ return MainWrapperViewModel(mApplication, MainWrapperRepository.getInstance()) as T
+ }
+ }
+
companion object {
const val SHOULD_SHOW_OPENING_DIALOG = "show_opening_dialog"
}
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolWrapperFragment.java
index 2092eef1c3..3d2b23891c 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolWrapperFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolWrapperFragment.java
@@ -6,10 +6,10 @@ import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
-import com.gh.base.fragment.LazyFragment;
+import com.gh.gamecenter.common.base.fragment.LazyFragment;
import com.gh.common.constant.Config;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.EntranceUtils;
+import com.gh.gamecenter.core.utils.DisplayUtils;
+import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.R;
import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.game.GameFragment;
@@ -48,9 +48,11 @@ public class SearchToolWrapperFragment extends LazyFragment {
Bundle bundle = new Bundle();
if (GameFragment.class.getName().equals(className)) {
- bundle.putString(EntranceUtils.KEY_LOCATION, "游戏库");
+ bundle.putString(EntranceConsts.KEY_LOCATION, "游戏库");
}
mSearchToolbarFragment.setArguments(bundle);
+ Bundle mContentBundle = (Bundle) requireArguments().clone();
+ mContentFragment.setArguments(mContentBundle);
}
} catch (Exception e) {
e.printStackTrace();
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 9b17291db5..9fb7c8ac78 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
@@ -20,21 +20,21 @@ import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.lifecycle.ViewModelProviders;
-import com.gh.base.SearchBarHint;
-import com.gh.base.fragment.BaseLazyFragment;
+import com.gh.gamecenter.core.iinterface.SearchBarHint;
+import com.gh.gamecenter.common.base.fragment.BaseLazyFragment;
import com.gh.common.constant.Config;
-import com.gh.common.constant.Constants;
+import com.gh.gamecenter.common.constant.Constants;
import com.gh.common.databind.BindingAdapters;
import com.gh.common.util.CheckLoginUtils;
import com.gh.common.util.DataCollectionUtils;
import com.gh.common.util.DataUtils;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.EntranceUtils;
-import com.gh.common.util.PackageFlavorHelper;
+import com.gh.gamecenter.core.utils.DisplayUtils;
+import com.gh.gamecenter.common.constant.EntranceConsts;
+import com.gh.gamecenter.common.utils.PackageFlavorHelper;
import com.gh.common.util.IntegralLogHelper;
import com.gh.common.util.LogUtils;
-import com.gh.common.util.MtaHelper;
-import com.gh.common.util.SPUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
+import com.gh.gamecenter.core.utils.SPUtils;
import com.gh.download.DownloadManager;
import com.gh.gamecenter.DownloadManagerActivity;
import com.gh.gamecenter.MessageActivity;
@@ -198,12 +198,12 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- if (getArguments() != null && getArguments().getString(EntranceUtils.KEY_LOCATION) != null) {
- mLocation = getArguments().getString(EntranceUtils.KEY_LOCATION);
+ if (getArguments() != null && getArguments().getString(EntranceConsts.KEY_LOCATION) != null) {
+ mLocation = getArguments().getString(EntranceConsts.KEY_LOCATION);
}
mHintIndex = 0;
if (savedInstanceState != null) {
- mHintList = savedInstanceState.getStringArrayList(EntranceUtils.KEY_HINT);
+ mHintList = savedInstanceState.getStringArrayList(EntranceConsts.KEY_HINT);
}
mPackageViewModel = ViewModelProviders.of(this, new PackageViewModel.Factory()).get(PackageViewModel.class);
mPackageViewModel.getFilterSameUpdateLiveData().observe(this, this::setDownloadHint);
@@ -225,7 +225,7 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
if (mHintList != null && !mHintList.isEmpty()) {
- outState.putStringArrayList(EntranceUtils.KEY_HINT, mHintList);
+ outState.putStringArrayList(EntranceConsts.KEY_HINT, mHintList);
}
}
@@ -287,7 +287,6 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl
intent = SearchActivity.getIntent(requireContext(), true, mSearchHintTv.getHint().toString(), "(工具栏)");
startActivity(intent);
} else if (id == R.id.actionbar_search_input || id == R.id.actionbar_search_rl || id == R.id.actionbar_search_right) {
- DataUtils.onEvent(getActivity(), "主页", "搜索框");
MtaHelper.onEvent("首页_点击", "顶栏", "搜索");
DataCollectionUtils.uploadClick(getActivity(), "搜索框", "主页");
if ("首页".equals(mLocation) || "游戏库".equals(mLocation)) {
@@ -297,7 +296,6 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl
intent = SearchActivity.getIntent(requireContext(), false, mSearchHintTv.getHint().toString(), "(工具栏)");
startActivity(intent);
} else if (id == R.id.actionbar_notification) {
- DataUtils.onEvent(getActivity(), "主页", "消息图标");
MtaHelper.onEvent("首页_点击", "顶栏", "消息中心");
DataCollectionUtils.uploadClick(getActivity(), "消息图标", "主页");
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/WelcomeDialogFragment.kt b/app/src/main/java/com/gh/gamecenter/fragment/WelcomeDialogFragment.kt
index 9a47f660b1..d710f8099b 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/WelcomeDialogFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/fragment/WelcomeDialogFragment.kt
@@ -5,13 +5,16 @@ import android.preference.PreferenceManager
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import com.gh.base.fragment.BaseDialogFragment
-import com.gh.common.TimeElapsedHelper
-import com.gh.common.constant.Constants
-import com.gh.common.constant.Constants.SP_LAST_OPENING_ID
-import com.gh.common.constant.Constants.SP_LAST_OPENING_TIME
-import com.gh.common.util.*
-import com.gh.common.view.WrapContentDraweeView
+import com.gh.common.util.DirectUtils
+import com.gh.common.util.LogUtils
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.view.WrapContentDraweeView
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.gamecenter.core.utils.TimeElapsedHelper
+
import com.gh.gamecenter.databinding.DialogWelcomeBinding
import com.gh.gamecenter.entity.CommunityEntity
import com.gh.gamecenter.entity.WelcomeDialogEntity
@@ -43,33 +46,33 @@ class WelcomeDialogFragment : BaseDialogFragment() {
LogUtils.uploadWelcomeDialog("click", mWelcomeEntity?.id, mWelcomeEntity?.text)
when (mWelcomeEntity?.type) {
- EntranceUtils.HOST_ARTICLE -> {
- DirectUtils.directToArticle(requireContext(), mWelcomeEntity?.link!!, EntranceUtils.ENTRANCE_WELCOME)
+ EntranceConsts.HOST_ARTICLE -> {
+ DirectUtils.directToArticle(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME)
}
- EntranceUtils.HOST_GAME -> {
- DirectUtils.directToGameDetail(requireContext(), mWelcomeEntity?.link!!, EntranceUtils.ENTRANCE_WELCOME)
+ EntranceConsts.HOST_GAME -> {
+ DirectUtils.directToGameDetail(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME)
}
- EntranceUtils.HOST_COLUMN -> {
- DirectUtils.directToSubject(requireContext(), mWelcomeEntity?.link!!, null, EntranceUtils.ENTRANCE_WELCOME)
+ EntranceConsts.HOST_COLUMN -> {
+ DirectUtils.directToSubject(requireContext(), mWelcomeEntity?.link!!, null, EntranceConsts.ENTRANCE_WELCOME)
}
- EntranceUtils.HOST_QUESTION -> {
- DirectUtils.directToQuestionDetail(requireContext(), mWelcomeEntity?.link!!, EntranceUtils.ENTRANCE_WELCOME)
+ EntranceConsts.HOST_QUESTION -> {
+ DirectUtils.directToQuestionDetail(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME)
}
- EntranceUtils.HOST_ANSWER -> {
- DirectUtils.directToAnswerDetail(requireContext(), mWelcomeEntity?.link!!, EntranceUtils.ENTRANCE_WELCOME)
+ EntranceConsts.HOST_ANSWER -> {
+ DirectUtils.directToAnswerDetail(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME)
}
- EntranceUtils.HOST_WEB -> {
- DirectUtils.directToWebView(requireContext(), mWelcomeEntity?.link!!, EntranceUtils.ENTRANCE_WELCOME)
+ EntranceConsts.HOST_WEB -> {
+ DirectUtils.directToWebView(requireContext(), mWelcomeEntity?.link!!, EntranceConsts.ENTRANCE_WELCOME)
}
- EntranceUtils.HOST_QQ -> {
+ EntranceConsts.HOST_QQ -> {
DirectUtils.directToQqConversation(requireContext(), mWelcomeEntity?.link!!)
}
- EntranceUtils.HOST_COMMUNITY -> {
+ EntranceConsts.HOST_COMMUNITY -> {
DirectUtils.directToCommunity(requireContext(), CommunityEntity(mWelcomeEntity?.link!!, mWelcomeEntity?.text!!))
}
// else -> DialogUtils.showLowVersionDialog(context)
else -> DirectUtils.directToLinkPage(requireContext(), mWelcomeEntity
- ?: WelcomeDialogEntity(), EntranceUtils.ENTRANCE_WELCOME, "")
+ ?: WelcomeDialogEntity(), EntranceConsts.ENTRANCE_WELCOME, "")
}
mDismissByClickImage = true
@@ -126,9 +129,9 @@ class WelcomeDialogFragment : BaseDialogFragment() {
MtaHelper.onEventWithTime("启动弹窗", mTimeHelper?.elapsedTime!!, type, "No parameter.")
- PreferenceManager.getDefaultSharedPreferences(context?.applicationContext).edit {
- putString(SP_LAST_OPENING_ID, mWelcomeEntity?.id)
- putLong(SP_LAST_OPENING_TIME, mWelcomeEntity?.time!!)
+ PreferenceManager.getDefaultSharedPreferences(context?.applicationContext).edit().apply {
+ putString(Constants.SP_LAST_OPENING_ID, mWelcomeEntity?.id)
+ putLong(Constants.SP_LAST_OPENING_TIME, mWelcomeEntity?.time!!)
}
mDismissListener?.invoke()
diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragment.kt b/app/src/main/java/com/gh/gamecenter/game/GameFragment.kt
index 19e67142a8..488be43ddd 100644
--- a/app/src/main/java/com/gh/gamecenter/game/GameFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/GameFragment.kt
@@ -10,17 +10,22 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.ethanhua.skeleton.Skeleton
import com.ethanhua.skeleton.ViewSkeletonScreen
-import com.gh.base.fragment.LazyFragment
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.base.fragment.LazyFragment
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.exposure.ExposureListener
import com.gh.common.exposure.ExposureSource
import com.gh.common.util.*
-import com.gh.common.view.FixLinearLayoutManager
+import com.gh.gamecenter.common.view.FixLinearLayoutManager
import com.gh.common.xapk.XapkInstaller
import com.gh.common.xapk.XapkUnzipStatus
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LoadStatus
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.visibleIf
import com.gh.gamecenter.databinding.FragmentGameBinding
import com.gh.gamecenter.eventbus.EBDownloadStatus
import com.gh.gamecenter.eventbus.EBPackage
@@ -58,7 +63,7 @@ class GameFragment : LazyFragment() {
override fun getRealLayoutId() = R.layout.fragment_game
override fun onFragmentFirstVisible() {
- val factory = GameViewModel.Factory(HaloApp.getInstance().application, arguments?.getParcelable(EntranceUtils.KEY_BLOCK_DATA))
+ val factory = GameViewModel.Factory(HaloApp.getInstance().application, arguments?.getParcelable(EntranceConsts.KEY_BLOCK_DATA))
mViewModel = ViewModelProviders.of(this, factory).get(GameViewModel::class.java)
mViewModel.entrance = mEntrance
@@ -100,7 +105,7 @@ class GameFragment : LazyFragment() {
mBinding.gameRefresh.setColorSchemeColors(ContextCompat.getColor(requireContext(), R.color.theme))
mLayoutManager = FixLinearLayoutManager(context)
val exposureSourceList = arrayListOf().apply {
- arguments?.getParcelable(EntranceUtils.KEY_EXPOSURE_SOURCE)?.let {
+ arguments?.getParcelable(EntranceConsts.KEY_EXPOSURE_SOURCE)?.let {
add(it)
}
add(ExposureSource("板块", if (mViewModel.blockData?.text.isNullOrEmpty()) "" else mViewModel.blockData?.text!!))
diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
index 4c693771ea..9fecaa1372 100644
--- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt
@@ -10,15 +10,15 @@ import android.widget.LinearLayout
import android.widget.TextView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.OnViewClickListener
import com.gh.common.constant.Config
-import com.gh.common.constant.ItemViewType
import com.gh.common.databind.BindingAdapters
-import com.gh.common.exposure.*
-import com.gh.common.runOnIoThread
+import com.gh.common.exposure.ExposureEvent
+import com.gh.common.exposure.ExposureSource
+import com.gh.common.exposure.ExposureType
+import com.gh.common.exposure.IExposable
import com.gh.common.util.*
-import com.gh.common.view.FixGridLayoutManager
-import com.gh.common.view.GridSpacingItemDecoration
+import com.gh.common.util.LogUtils
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.BlockActivity
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.MainActivity
@@ -27,6 +27,18 @@ import com.gh.gamecenter.adapter.ImagePagerAdapter
import com.gh.gamecenter.adapter.viewholder.*
import com.gh.gamecenter.baselist.LoadStatus
import com.gh.gamecenter.category.CategoryDirectoryActivity
+import com.gh.gamecenter.common.callback.OnViewClickListener
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.common.entity.ExposureEntity
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.common.view.FixGridLayoutManager
+import com.gh.gamecenter.common.view.GridSpacingItemDecoration
+import com.gh.gamecenter.core.runOnIoThread
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.gamecenter.core.utils.PageSwitchDataHelper
+import com.gh.gamecenter.core.utils.StringUtils
import com.gh.gamecenter.databinding.*
import com.gh.gamecenter.entity.*
import com.gh.gamecenter.eventbus.EBDownloadStatus
@@ -66,6 +78,8 @@ class GameFragmentAdapter(
var isAutoScroll: Boolean = true
+ private var mTopViewExposureEventList: ArrayList? = null
+
fun setItemDataList(itemDataList: MutableList) {
val currentSize = mItemDataList.size
mItemDataList = itemDataList.toMutableList()
@@ -229,16 +243,21 @@ class GameFragmentAdapter(
val itemData = mItemDataList[position]
itemData.exposureEventList = arrayListOf()
- holder.bindView(itemData.gallery!!, mBasicExposureSource) {
+ val gallery = itemData.gallery
+ holder.bindView(gallery!!, mBasicExposureSource) {
itemData.exposureEventList?.add(it)
}
holder.binding.root.setOnClickListener {
- MtaHelper.onEvent("游戏专题", "全部", itemData.gallery?.name)
+ MtaHelper.onEvent("游戏专题", "全部", gallery.name)
setPageSwitchData()
DirectUtils.directToSubject(
- holder.binding.root.context, itemData.gallery?.id
- ?: "", itemData.gallery?.name, "(游戏-专题)"
+ holder.binding.root.context, gallery.id
+ ?: "", gallery.name, "(游戏-专题)"
+ )
+ NewLogUtils.logColumnPictureClick(
+ "显示图集", gallery.name ?: "", gallery.id ?: "", "column",
+ gallery.name ?: "", "板块", mViewModel.blockData?.name ?: ""
)
}
}
@@ -268,6 +287,11 @@ class GameFragmentAdapter(
setPageSwitchData()
DirectUtils.directToLinkPage(mContext, LinkEntity(link = gameEntity.link, type = gameEntity.type), "(首页游戏)", "游戏-专题")
}
+ NewLogUtils.logColumnCategoryHomeContentClick(
+ gameEntity.name ?: "", gameEntity.link ?: "",
+ columnCollection.name ?: "", columnCollection.id ?: "", "板块",
+ mViewModel.blockData?.name ?: ""
+ )
}
holder.bindColumnCollection(columnCollection, clickClosure)
@@ -322,6 +346,16 @@ class GameFragmentAdapter(
linkEntity.text ?: "",
sequence + 1
)
+ NewLogUtils.logCommonCategoryHomeContentClick(
+ contentEntity.title,
+ linkEntity.type ?: "",
+ linkEntity.link ?: "",
+ linkEntity.text ?: "",
+ commonLinkCollection.name ?: "",
+ commonLinkCollection.id ?: "",
+ "板块",
+ blockData?.name ?: ""
+ )
}
holder.bindCommonLinkCollection(
@@ -467,6 +501,10 @@ class GameFragmentAdapter(
)
)
DirectUtils.directToLinkPage(mContext, linkEntity, "(游戏-专题:" + entity?.name + "-大图)", "首页游戏", entity?.exposureEvent)
+ NewLogUtils.logColumnPictureClick(
+ "大图", entity?.name ?: "", entity?.id ?: "", "游戏专题",
+ entity?.name ?: "", "板块", mViewModel.blockData?.name ?: ""
+ )
}
holder.bindImageSlide(entity!!, imageClickListener, "游戏-专题", mViewModel)
@@ -567,6 +605,10 @@ class GameFragmentAdapter(
mContext, linkEntity, "(游戏-专题:$name-大图)", mViewModel.blockData?.name
?: "", mItemDataList[position].exposureEvent
)
+ NewLogUtils.logColumnPictureClick(
+ "大图", entity.name ?: "", entity.id, "游戏专题",
+ entity.name ?: "", "板块", mViewModel.blockData?.name ?: ""
+ )
}
}
@@ -608,7 +650,12 @@ class GameFragmentAdapter(
)
when {
- entity.type == "column_collection" -> DirectUtils.directToColumnCollection(mContext, entity.link!!, -1, "(推荐入口)")
+ entity.type == "column_collection" -> DirectUtils.directToColumnCollection(
+ mContext,
+ entity.link!!,
+ -1,
+ "(推荐入口)"
+ )
entity.type == "block" -> mContext.startActivity(BlockActivity.getIntent(mContext, entity, "(推荐入口)"))
entity.type == "category" -> mContext.startActivity(
CategoryDirectoryActivity.getIntent(
@@ -627,7 +674,7 @@ class GameFragmentAdapter(
)
}
entity.type == "game" -> GameDetailActivity.startGameDetailActivity(mContext, entity.link ?: "", "(推荐入口)")
- entity.type == EntranceUtils.HOST_COMMUNITY -> DirectUtils.directToCommunity(
+ entity.type == EntranceConsts.HOST_COMMUNITY -> DirectUtils.directToCommunity(
mContext,
CommunityEntity(entity.link!!, entity.text!!)
)
@@ -655,7 +702,7 @@ class GameFragmentAdapter(
blockData?.name ?: ""
)
}
- entity.type == "game_list" -> {
+ entity.type == "game_list_square" -> {
DirectUtils.directToGameCollectionSquare(
mContext,
"版块推荐入口",
@@ -680,8 +727,52 @@ class GameFragmentAdapter(
mViewModel.getTopData(false)
}
}
-
binding.run {
+ if (mTopViewExposureEventList == null) {
+ mTopViewExposureEventList = arrayListOf()
+
+ subjectDigestList?.forEachIndexed { index, entity ->
+ val event = ExposureEvent.createEventWithSourceConcat(
+ gameEntity = GameEntity(
+ containerId = blockData?.link ?: "",
+ containerType = ExposureEntity.BLOCK_ID
+ ).also {
+ it.sequence = index
+ it.outerSequence = position
+ },
+ basicSource = mBasicExposureSource,
+ source = listOf()
+ )
+ event.payload.controlType = "推荐入口"
+ event.payload.controlName = if (Config.isShowPlugin()) entity.name else entity.nameNormal
+ event.payload.controlLinkType = entity.type
+ event.payload.controlLinkName = entity.text
+ mTopViewExposureEventList?.add(event)
+ }
+ val slideList = mItemDataList[position].slideList
+ slideList?.forEachIndexed { index, entity ->
+ val event = ExposureEvent.createEventWithSourceConcat(
+ gameEntity = GameEntity(
+ containerId = blockData?.link ?: "",
+ containerType = ExposureEntity.BLOCK_ID
+ ).also {
+ it.sequence = index
+ it.outerSequence = position
+ },
+ basicSource = mBasicExposureSource,
+ source = listOf()
+ )
+ event.payload.controlType = "轮播图"
+ event.payload.controlName = entity.name
+ event.payload.controlLinkType = entity.type
+ event.payload.controlLinkName = entity.text
+ mTopViewExposureEventList?.add(event)
+ }
+ mItemDataList[position].exposureEventList = mTopViewExposureEventList
+ } else {
+ mItemDataList[position].exposureEventList = mTopViewExposureEventList
+ }
+
viewpagerTvFailure.goneIf(subjectDigestList != null)
viewpagerTvFailure.setOnClickListener {
clickListener.onClick(it, null)
@@ -803,7 +894,7 @@ class GameFragmentAdapter(
addItemDecoration(GridSpacingItemDecoration(4, 8f.dip2px(), false, 16f.dip2px()))
}
if (navigationAdapter == null) {
- navigationAdapter = GameNavigationAdapter(mContext,blockData?.link ?: "",blockData?.text ?: "")
+ navigationAdapter = GameNavigationAdapter(mContext, blockData?.link ?: "", blockData?.text ?: "")
}
val exposureEventList = arrayListOf()
@@ -894,7 +985,11 @@ class GameFragmentAdapter(
holder.bindHead(column!!)
holder.binding.headMore.setOnClickListener {
- it as TextView
+ val buttonType = when (column.home) {
+ "change" -> "换一批"
+ "more" -> "更多"
+ else -> "全部"
+ }
when (column.home) {
"change" -> {
MtaHelper.onEvent("游戏专题", "换一批", column.name)
@@ -913,6 +1008,9 @@ class GameFragmentAdapter(
"column_collection" -> {
MtaHelper.onEvent("游戏专题合集", "全部", column.name)
DirectUtils.directToColumnCollection(mContext, column.id!!, -1, "(推荐入口)")
+ NewLogUtils.logColumnCategoryHomeButtonClick(
+ buttonType, column.name ?: "", column.id ?: "", "板块", ""
+ )
}
"common_collection" -> {
val blockData = mViewModel.blockData
@@ -932,6 +1030,7 @@ class GameFragmentAdapter(
blockData?.link ?: "",
blockData?.name ?: ""
)
+ NewLogUtils.logCommonCategoryHomeButtonClick(buttonType, column.name ?: "", column.id ?: "", "板块", blockData?.name ?: "")
}
"game_list_collection" -> {
DirectUtils.directToGameCollectionSquare(
@@ -961,11 +1060,15 @@ class GameFragmentAdapter(
)
}
MtaHelper.onEvent("游戏专题", "全部", column.name)
+ val moreLink = column.moreLink
+ NewLogUtils.logColumnListClickButton(
+ buttonType, column.name ?: "", column.id ?: "", moreLink?.type ?: "",
+ moreLink?.name ?: "", "版块", mViewModel.blockData?.name ?: ""
+ )
}
}
}
}
- NewLogUtils.logSubjectTopTabClick(it.text.toString(), column.name, column.moreLink)
}
}
@@ -1121,6 +1224,9 @@ class GameFragmentAdapter(
}
override fun getEventListByPosition(pos: Int): List? {
+ if (mViewModel.blockData?.display?.slide == true || mViewModel.blockData?.display?.recommend == true) {
+ return if (pos == 0) mTopViewExposureEventList else mItemDataList[pos].exposureEventList
+ }
return mItemDataList[pos].exposureEventList
}
diff --git a/app/src/main/java/com/gh/gamecenter/game/GameItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/GameItemViewHolder.kt
index 89992c8d70..da83d6280d 100644
--- a/app/src/main/java/com/gh/gamecenter/game/GameItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/GameItemViewHolder.kt
@@ -2,12 +2,12 @@ package com.gh.gamecenter.game
import android.view.View
import android.widget.TextView
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.databind.BindingAdapters
-import com.gh.common.util.dip2px
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
-import com.gh.common.view.DrawableView
+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.DrawableView
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.GameItemBinding
import com.gh.gamecenter.entity.GameEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/GameNavigationAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/GameNavigationAdapter.kt
index 0fb1ed5d94..00199e2fe9 100644
--- a/app/src/main/java/com/gh/gamecenter/game/GameNavigationAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/GameNavigationAdapter.kt
@@ -4,11 +4,19 @@ import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.Constants
+
import com.gh.common.exposure.*
import com.gh.common.util.*
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.entity.ExposureEntity
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.core.utils.PageSwitchDataHelper
+import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.databinding.ItemGameNavigationBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.GameNavigationEntity
@@ -36,7 +44,7 @@ class GameNavigationAdapter(val mContext: Context, val blockId: String, val bloc
&& oldItem?.time?.update == newItem?.time?.update
}
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GameNavigationViewHolder {
return GameNavigationViewHolder(parent.toBinding())
}
diff --git a/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt b/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt
index b5aad8e2c3..a74ac8df51 100644
--- a/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt
@@ -5,20 +5,27 @@ import android.app.Application
import android.text.TextUtils
import androidx.collection.ArrayMap
import androidx.lifecycle.*
-import com.gh.common.exposure.ExposureEntity
+import com.gh.gamecenter.common.entity.ExposureEntity
import com.gh.common.filter.RegionSettingHelper
-import com.gh.common.iinterface.IOffsetable
+import com.gh.gamecenter.core.iinterface.IOffsetable
import com.gh.common.util.*
import com.gh.download.DownloadManager
import com.gh.gamecenter.baselist.LoadStatus
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.core.utils.RandomUtils
+import com.gh.gamecenter.core.utils.SPUtils
+import com.gh.gamecenter.common.utils.countOccurrences
+import com.gh.gamecenter.common.utils.debugOnly
+import com.gh.gamecenter.common.utils.observableToMain
+import com.gh.gamecenter.core.utils.UrlFilterUtils
import com.gh.gamecenter.entity.*
import com.gh.gamecenter.game.data.GameItemData
import com.gh.gamecenter.game.data.GameSubjectData
import com.gh.gamecenter.game.rank.RankCollectionAdapter
import com.gh.gamecenter.gamecollection.square.GameCollectionListItemData
import com.gh.gamecenter.home.BlankDividerViewHolder
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.fragment.SettingsFragment
import com.lightgame.utils.Utils
@@ -208,7 +215,7 @@ class GameViewModel(application: Application, var blockData: SubjectRecommendEnt
ApkActiveUtils.filterHideApk(game)
// 当页面是由启动弹窗过来的第一或第二个页面的时候添加启动弹窗信息
- if (entrance.contains(EntranceUtils.ENTRANCE_WELCOME)
+ if (entrance.contains(EntranceConsts.ENTRANCE_WELCOME)
&& entrance.countOccurrences("+") <= 1
) {
game.setWelcomeDialogInfoIfAvailable()
@@ -279,7 +286,7 @@ class GameViewModel(application: Application, var blockData: SubjectRecommendEnt
ApkActiveUtils.filterHideApk(game)
// 当页面是由启动弹窗过来的第一或第二个页面的时候添加启动弹窗信息
- if (entrance.contains(EntranceUtils.ENTRANCE_WELCOME)
+ if (entrance.contains(EntranceConsts.ENTRANCE_WELCOME)
&& entrance.countOccurrences("+") <= 1
) {
game.setWelcomeDialogInfoIfAvailable()
diff --git a/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionAdapter.kt
index a6294b8ced..3cf3ed0f77 100644
--- a/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionAdapter.kt
@@ -2,8 +2,8 @@ package com.gh.gamecenter.game.columncollection
import android.content.Context
import android.view.ViewGroup
-import com.gh.common.util.ImageUtils
-import com.gh.common.view.WrapContentDraweeView
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.view.WrapContentDraweeView
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.GameColumnCollectionItemViewHolder
import com.gh.gamecenter.databinding.GameColumnCollectionItemBinding
diff --git a/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionViewHolder.kt
index d8c089ba75..6b21bcd14b 100644
--- a/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/columncollection/GameColumnCollectionViewHolder.kt
@@ -3,10 +3,10 @@ package com.gh.gamecenter.game.columncollection
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.ImageUtils
-import com.gh.common.util.dip2px
-import com.gh.common.view.SpacingItemDecoration
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.view.SpacingItemDecoration
import com.gh.gamecenter.databinding.GameColumnCollectionListBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.SubjectEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailActivity.kt b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailActivity.kt
index 6ae0253e39..3fd8cb05e0 100644
--- a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailActivity.kt
@@ -3,17 +3,16 @@ package com.gh.gamecenter.game.columncollection.detail
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.catalog.CatalogActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class ColumnCollectionDetailActivity : NormalActivity() {
+class ColumnCollectionDetailActivity : ToolBarActivity() {
override fun provideNormalIntent(): Intent {
- return NormalActivity.getTargetIntent(this, ColumnCollectionDetailActivity::class.java, ColumnCollectionDetailFragment::class.java)
+ return getTargetIntent(this, ColumnCollectionDetailActivity::class.java, ColumnCollectionDetailFragment::class.java)
}
override fun isAutoResetViewBackgroundEnabled(): Boolean = true
@@ -30,11 +29,11 @@ class ColumnCollectionDetailActivity : NormalActivity() {
*/
fun getIntent(context: Context, collectionId: String, position: Int = -1, entrance: String = "", columnName: String = ""): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_ENTRANCE, entrance)
- bundle.putString(EntranceUtils.KEY_COLLECTION_ID, collectionId)
- bundle.putInt(EntranceUtils.KEY_POSITION, position)
- bundle.putString(EntranceUtils.KEY_COLUMNNAME, columnName)
- return NormalActivity.getTargetIntent(context, CatalogActivity::class.java, ColumnCollectionDetailFragment::class.java, bundle)
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance)
+ bundle.putString(EntranceConsts.KEY_COLLECTION_ID, collectionId)
+ bundle.putInt(EntranceConsts.KEY_POSITION, position)
+ bundle.putString(EntranceConsts.KEY_COLUMNNAME, columnName)
+ return getTargetIntent(context, CatalogActivity::class.java, ColumnCollectionDetailFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailAdapter.kt
index 5998d7dd73..54bd008f7c 100644
--- a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailAdapter.kt
@@ -5,11 +5,12 @@ import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.StaggeredGridLayoutManager
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.util.DirectUtils
-import com.gh.common.util.ImageUtils
-import com.gh.common.util.MtaHelper
-import com.gh.common.util.PageSwitchDataHelper
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.gamecenter.core.utils.PageSwitchDataHelper
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.adapter.viewholder.GameColumnCollectionItemViewHolder
@@ -17,9 +18,11 @@ import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.databinding.GameColumnCollectionItemBinding
import com.gh.gamecenter.entity.LinkEntity
-class ColumnCollectionDetailAdapter(context: Context,
- private val mViewModel: ColumnCollectionDetailViewModel,
- private val mEntrance: String) : ListAdapter(context) {
+class ColumnCollectionDetailAdapter(
+ context: Context,
+ private val mViewModel: ColumnCollectionDetailViewModel,
+ private val mEntrance: String,
+) : ListAdapter(context) {
override fun areItemsTheSame(oldItem: LinkEntity?, newItem: LinkEntity?): Boolean {
return oldItem == newItem
@@ -64,6 +67,10 @@ class ColumnCollectionDetailAdapter(context: Context,
)
)
DirectUtils.directToLinkPage(mContext, data, mEntrance, "专题合集")
+ NewLogUtils.logColumnCategoryDetailContentClick(
+ data.name ?: "", data?.link ?: "",
+ mViewModel.columnCollection.value?.name ?: "", mViewModel.collectionId
+ )
}
} else if (holder is FooterViewHolder) {
holder.initFooterViewHolder(mViewModel, mIsLoading, mIsNetworkError, mIsOver)
diff --git a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailFragment.kt
index d929d83df8..7c4aede84d 100644
--- a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailFragment.kt
@@ -4,12 +4,12 @@ import android.view.View
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.observeNonNull
-import com.gh.common.util.toColor
-import com.gh.common.view.GridSpacingItemDecoration
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.observeNonNull
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.view.GridSpacingItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LazyListFragment
import com.gh.gamecenter.databinding.FragmentColumnCollectionDetailBinding
@@ -95,8 +95,8 @@ class ColumnCollectionDetailFragment : LazyListFragment(context) {
var gameName = ""
+ var gameId = ""
var entrance = ""
var exposureEventList: ArrayList? = null
@@ -85,6 +86,7 @@ class GameHorizontalAdapter(
traceEvent = exposureEventList!![position]
)
}
+ NewLogUtils.logGameDetailPopularClick(gameName, gameId, "game", gameEntity.name ?: "")
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalItemViewHolder.kt
index fc048df43e..5404765cda 100644
--- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalItemViewHolder.kt
@@ -2,10 +2,10 @@ package com.gh.gamecenter.game.horizontal
import android.graphics.Color
import android.view.View
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.goneIf
-import com.gh.common.util.setRoundedColorBackground
-import com.gh.common.util.toDrawable
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.setRoundedColorBackground
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.GameHorizontalItemBinding
import com.gh.gamecenter.entity.GameEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt
index 5a4c1ce092..ddcf3077a1 100644
--- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalListViewHolder.kt
@@ -2,8 +2,8 @@ package com.gh.gamecenter.game.horizontal
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.dip2px
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.dip2px
import com.gh.gamecenter.databinding.GameHorizontalListBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.SubjectEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSimpleItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSimpleItemViewHolder.kt
index 1462f37b57..b97499ca66 100644
--- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSimpleItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSimpleItemViewHolder.kt
@@ -3,7 +3,7 @@ package com.gh.gamecenter.game.horizontal
import android.text.TextUtils
import android.view.ViewTreeObserver
import android.widget.TextView
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.GameHorizontalSimpleItemBinding
import com.gh.gamecenter.entity.GameEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt
index 2e5e6d2a31..7e8c39cbf4 100644
--- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideAdapter.kt
@@ -3,9 +3,13 @@ package com.gh.gamecenter.game.horizontal
import android.content.Context
import android.view.ViewGroup
import com.gh.common.exposure.ExposureEvent
-import com.gh.common.util.*
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.GameHorizontalItemBinding
import com.gh.gamecenter.entity.SubjectEntity
import com.lightgame.adapter.BaseRecyclerAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt
index 997e459533..0f78c192cd 100644
--- a/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/horizontal/GameHorizontalSlideListViewHolder.kt
@@ -6,12 +6,12 @@ import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.iinterface.IOffsetable
-import com.gh.common.util.TimeUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.toColor
-import com.gh.common.util.tryCatchInRelease
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.core.iinterface.IOffsetable
+import com.gh.gamecenter.core.utils.TimeUtils
+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.R
import com.gh.gamecenter.databinding.GameHorizontalListBinding
import com.gh.gamecenter.entity.GameEntity
@@ -24,7 +24,8 @@ class GameHorizontalSlideListViewHolder(val binding: GameHorizontalListBinding)
private var mLastScrolledPosition = 0 // 上次记录的最后滚动位置
fun bindHorizontalSlideList(subjectEntity: SubjectEntity,
- offsetable: IOffsetable): GameHorizontalSlideAdapter {
+ offsetable: IOffsetable
+ ): GameHorizontalSlideAdapter {
val context = binding.root.context
var subjectAdapter = binding.horizontalRv.adapter
binding.fakeRemarkLine.setBackgroundColor(R.color.background.toColor(context))
diff --git a/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt
index d55b5bb905..67a8eed230 100644
--- a/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/imageslide/GameImageSlideViewHolder.kt
@@ -6,12 +6,12 @@ import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.iinterface.IOffsetable
-import com.gh.common.util.ImageUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.px2dip
-import com.gh.common.view.DrawableView
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.core.iinterface.IOffsetable
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.px2dip
+import com.gh.gamecenter.common.view.DrawableView
import com.gh.gamecenter.databinding.GameImageSlideItemBinding
import com.gh.gamecenter.entity.GameEntity
@@ -23,7 +23,8 @@ class GameImageSlideViewHolder(val binding: GameImageSlideItemBinding) : BaseRec
fun bindImageSlide(entity: GameEntity,
imageClickListener: View.OnClickListener,
entrance: String,
- offsetable: IOffsetable) {
+ offsetable: IOffsetable
+ ) {
val context = binding.root.context
ImageUtils.display(binding.columnIcon, entity.image)
diff --git a/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt
index d4d15021cb..e75a2a72c1 100644
--- a/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/imageslide/ImageSlideAdapter.kt
@@ -4,10 +4,10 @@ import android.content.Context
import android.graphics.Color
import android.view.View
import android.view.ViewGroup
-import com.gh.common.util.StringUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.toBinding
-import com.gh.common.util.toColor
+import com.gh.gamecenter.core.utils.StringUtils
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.GameHorizontalSimpleItemBinding
diff --git a/app/src/main/java/com/gh/gamecenter/game/rank/RankAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/rank/RankAdapter.kt
index 2a15b60d22..44ef8c4627 100644
--- a/app/src/main/java/com/gh/gamecenter/game/rank/RankAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/rank/RankAdapter.kt
@@ -9,11 +9,16 @@ import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.view.setPadding
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.AppExecutor
+import com.gh.gamecenter.core.AppExecutor
import com.gh.common.exposure.ExposureEvent
import com.gh.common.util.*
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.throwExceptionInDebug
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.ImageUtils
import com.gh.gamecenter.databinding.RankGameItemBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.TagStyleEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionAdapter.kt
index b248f0f252..0d93da41bb 100644
--- a/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionAdapter.kt
@@ -5,13 +5,17 @@ import android.util.SparseArray
import android.view.View
import android.view.ViewGroup
import androidx.core.util.forEach
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.exposure.ExposureEvent
-import com.gh.common.runOnIoThread
-import com.gh.common.runOnUiThread
+import com.gh.gamecenter.core.runOnIoThread
+import com.gh.gamecenter.core.runOnUiThread
import com.gh.common.util.*
import com.gh.common.view.AsyncCell
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.ImageUtils
import com.gh.gamecenter.databinding.RankCollectionItemBinding
import com.gh.gamecenter.entity.SubjectEntity
import com.gh.gamecenter.eventbus.EBDownloadStatus
diff --git a/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionViewHolder.kt
index bc86d0420a..fbb661c28b 100644
--- a/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/rank/RankCollectionViewHolder.kt
@@ -1,7 +1,7 @@
package com.gh.gamecenter.game.rank
import androidx.recyclerview.widget.LinearLayoutManager
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.RankCollectionListBinding
import com.gh.gamecenter.entity.SubjectEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/rank/RankGameItem.kt b/app/src/main/java/com/gh/gamecenter/game/rank/RankGameItem.kt
index 14028b8476..c66591c6ba 100644
--- a/app/src/main/java/com/gh/gamecenter/game/rank/RankGameItem.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/rank/RankGameItem.kt
@@ -8,11 +8,16 @@ import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.view.setPadding
-import com.gh.common.AppExecutor
+import com.gh.gamecenter.core.AppExecutor
import com.gh.common.exposure.ExposureEvent
import com.gh.common.util.*
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.throwExceptionInDebug
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.TagStyleEntity
diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt b/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt
index 98a8191fdb..6b653507d0 100644
--- a/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt
@@ -9,11 +9,14 @@ import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.TextView
-import com.gh.base.fragment.BaseDialogFragment
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
import com.gh.common.DefaultJsApi
-import com.gh.common.util.*
-import com.gh.common.view.dsbridge.DWebView
+import com.gh.gamecenter.common.view.dsbridge.DWebView
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.tryWithDefaultCatch
+import com.gh.gamecenter.common.utils.PackageFlavorHelper
+import com.gh.gamecenter.core.utils.MtaHelper
/**
* 光环助手资源协议
diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/GameSubmissionActivity.kt b/app/src/main/java/com/gh/gamecenter/game/upload/GameSubmissionActivity.kt
index de028b992f..d394a5d5df 100644
--- a/app/src/main/java/com/gh/gamecenter/game/upload/GameSubmissionActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/upload/GameSubmissionActivity.kt
@@ -3,24 +3,21 @@ package com.gh.gamecenter.game.upload
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.base.BaseActivity
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.AboutActivity
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
-import com.halo.assistant.fragment.AboutFragment
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.updateStatusBarColor
/**
* 游戏投稿
*/
-class GameSubmissionActivity : NormalActivity() {
+class GameSubmissionActivity : ToolBarActivity() {
companion object {
@JvmStatic
fun getIntent(context: Context, entrance: String, path: String): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path))
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path))
return getTargetIntent(context, GameSubmissionActivity::class.java, GameUploadFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt
index a52dd16c4b..00f8e833cd 100644
--- a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt
@@ -17,15 +17,22 @@ import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.OnListClickListener
+import com.gh.gamecenter.common.callback.OnListClickListener
import com.gh.common.constant.Config
import com.gh.common.util.*
import com.gh.gamecenter.CleanApkActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.countDownTimer
+import com.gh.gamecenter.common.utils.fromHtml
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.DialogHelper
+import com.gh.gamecenter.common.utils.TextHelper
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentGameUploadBinding
import com.gh.gamecenter.entity.InstallGameEntity
-import com.gh.gamecenter.normal.NormalFragment
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
import com.gh.gamecenter.suggest.SuggestPicAdapter
import com.gh.gamecenter.suggest.SuggestSelectGameAdapter
import com.halo.assistant.HaloApp
@@ -42,7 +49,7 @@ import kotlin.collections.component1
import kotlin.collections.component2
import kotlin.collections.set
-class GameUploadFragment : NormalFragment() {
+class GameUploadFragment : ToolbarFragment() {
private var mAdapter: SuggestPicAdapter? = null
private var mIconAdapter: SuggestPicAdapter? = null
@@ -491,8 +498,8 @@ class GameUploadFragment : NormalFragment() {
ToastUtils.showToast(e.message ?: "")
}
} else if (requestCode == CHOOSE_LOCAL_APK) {
- val packageName = data.getStringExtra(EntranceUtils.KEY_PACKAGENAME) ?: ""
- val gamePath = data.getStringExtra(EntranceUtils.KEY_PATH) ?: ""
+ val packageName = data.getStringExtra(EntranceConsts.KEY_PACKAGENAME) ?: ""
+ val gamePath = data.getStringExtra(EntranceConsts.KEY_PATH) ?: ""
val version = PackageUtils.getVersionNameByPackageName(packageName)
val length = File(gamePath).length()
if (length > 5 * 1024 * 1024 * 1024) {
diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt
index de9c039121..badf0f9cb9 100644
--- a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadViewModel.kt
@@ -7,10 +7,10 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
-import com.gh.gamecenter.user.ApiResponse
+import com.gh.gamecenter.common.retrofit.ApiResponse
import com.google.gson.JsonObject
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt b/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt
index 3b3bcf195b..74cfb94e11 100644
--- a/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt
@@ -5,8 +5,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
-import com.gh.base.fragment.BaseDialogFragment
-import com.gh.common.util.MtaHelper
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.DialogUploadScheduleBinding
diff --git a/app/src/main/java/com/gh/gamecenter/game/vertical/GameItemUi.kt b/app/src/main/java/com/gh/gamecenter/game/vertical/GameItemUi.kt
index 32ba75ab63..536872abb7 100644
--- a/app/src/main/java/com/gh/gamecenter/game/vertical/GameItemUi.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/vertical/GameItemUi.kt
@@ -16,8 +16,8 @@ import androidx.constraintlayout.widget.Group
import androidx.core.content.ContextCompat
import com.facebook.drawee.view.SimpleDraweeView
import com.gh.common.view.GameIconView
-import com.gh.common.view.GameTagContainerView
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.view.GameTagContainerView
import splitties.dimensions.dip
import splitties.views.*
import splitties.views.dsl.constraintlayout.*
@@ -240,12 +240,15 @@ class GameItemUi(override val ctx: Context) : Ui {
bottomOfParent()
startOfParent()
})
- add(recommendTv, lParams(wrapContent, wrapContent) {
+ add(recommendTv, lParams(0, wrapContent) {
bottomOfParent()
endOfParent()
topOfParent()
startToEndOf(recommendIv)
+ horizontalBias = 0F
+ matchConstraintDefaultWidth = 1
+
startMargin = dip(2)
goneStartMargin = dip(4)
})
@@ -257,6 +260,8 @@ class GameItemUi(override val ctx: Context) : Ui {
includeFontPadding = false
typeface = Typeface.DEFAULT_BOLD
gravity = Gravity.START.and(Gravity.CENTER)
+ ellipsize = TextUtils.TruncateAt.END
+
setTextColor(ContextCompat.getColor(context, R.color.text_FF7C1F))
}
diff --git a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt
index 7781dfd835..cf0729c74d 100644
--- a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalAdapter.kt
@@ -6,9 +6,9 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.gh.common.databind.BindingAdapters
import com.gh.common.util.DownloadItemUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.common.view.AsyncUi
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.GameViewHolder
diff --git a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt
index b3230d10e9..a92aa43599 100644
--- a/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/game/vertical/GameVerticalSlideViewHolder.kt
@@ -3,7 +3,7 @@ package com.gh.gamecenter.game.vertical
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.GameVerticalSlideItemBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.SubjectEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesActivity.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesActivity.kt
index 6a6e8645ac..cbb2c3f6e6 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesActivity.kt
@@ -3,12 +3,11 @@ package com.gh.gamecenter.gamecollection.choose
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class AddGamesActivity : NormalActivity() {
+class AddGamesActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesFragment.kt
index b994ba2dfa..caf6f3524d 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddGamesFragment.kt
@@ -2,13 +2,13 @@ package com.gh.gamecenter.gamecollection.choose
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
-import com.gh.base.fragment.BaseLazyTabFragment
-import com.gh.common.util.EntranceUtils
+import com.gh.gamecenter.common.base.fragment.BaseLazyTabFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
class AddGamesFragment : BaseLazyTabFragment() {
override fun initFragmentList(fragments: MutableList) {
- fragments.add(AddSearchGameFragment().apply { bundleOf(EntranceUtils.KEY_NAVIGATION_TITLE to "添加游戏") })
+ fragments.add(AddSearchGameFragment().apply { bundleOf(EntranceConsts.KEY_NAVIGATION_TITLE to "添加游戏") })
fragments.add(AddUserPlayedGameFragment())
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchAndPlayedGameAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchAndPlayedGameAdapter.kt
index 42b081e038..4d2e8b824e 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchAndPlayedGameAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchAndPlayedGameAdapter.kt
@@ -4,10 +4,10 @@ import android.content.Context
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.databinding.GameItemBinding
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt
index 463bf09d4f..b1059c44e7 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt
@@ -5,12 +5,12 @@ import android.view.View
import androidx.core.widget.doOnTextChanged
import androidx.recyclerview.widget.RecyclerView
import com.gh.common.constant.Config
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
-import com.gh.common.util.viewModelProvider
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.R
import com.gh.gamecenter.SuggestionActivity
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.databinding.FragmentSearchGameBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.qa.editor.GameAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddUserPlayedGameFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddUserPlayedGameFragment.kt
index 755f111a2d..2a4b2e913b 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddUserPlayedGameFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddUserPlayedGameFragment.kt
@@ -3,10 +3,13 @@ package com.gh.gamecenter.gamecollection.choose
import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.*
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.baselist.ListFragment
+import com.gh.gamecenter.common.utils.setRootBackgroundColor
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.mygame.PlayedGameViewModel
@@ -48,7 +51,7 @@ class AddUserPlayedGameFragment : ListFragment(
}
override fun provideListViewModel(): PlayedGameViewModel {
- val userId = arguments?.getString(EntranceUtils.KEY_USER_ID)
+ val userId = arguments?.getString(EntranceConsts.KEY_USER_ID)
?: UserManager.getInstance().userId
mViewModel = viewModelProvider(AddUserPlayedGameViewModel.Factory(userId, true))
return mViewModel
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesActivity.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesActivity.kt
index 7f0cc3ed99..fa4b5fe015 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesActivity.kt
@@ -3,12 +3,11 @@ package com.gh.gamecenter.gamecollection.choose
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class ChooseGamesActivity : NormalActivity() {
+class ChooseGamesActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setNavigationTitle("选择游戏")
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesAdapter.kt
index 26a130b788..bf24fdb4b2 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesAdapter.kt
@@ -6,13 +6,13 @@ import android.view.MotionEvent
import android.view.ViewGroup
import androidx.core.widget.doOnTextChanged
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.core.utils.PatternUtils
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.ItemChooseGamesBinding
import com.gh.gamecenter.entity.GameEntity
-import com.lightgame.adapter.BaseRecyclerAdapter
class ChooseGamesAdapter(context: Context, val dragListener: ItemDragListener) :
ListAdapter(context) {
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesFragment.kt
index 029b7fb08d..d4e01ff6d0 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesFragment.kt
@@ -6,18 +6,18 @@ import android.view.View
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.DialogHelper
-import com.gh.common.util.goneIf
-import com.gh.common.util.toColor
-import com.gh.common.util.viewModelProvider
+import com.gh.gamecenter.common.utils.DialogHelper
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.viewModelProvider
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.FragmentChooseGamesBinding
import com.gh.gamecenter.entity.GameEntity
-import com.gh.gamecenter.normal.NormalFragment
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
+import com.gh.gamecenter.common.utils.toColor
import java.lang.ref.WeakReference
import java.util.*
-class ChooseGamesFragment : NormalFragment(), ChooseGamesAdapter.ItemDragListener {
+class ChooseGamesFragment : ToolbarFragment(), ChooseGamesAdapter.ItemDragListener {
private lateinit var mBinding: FragmentChooseGamesBinding
private lateinit var mViewModel: ChooseGamesViewModel
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesRepository.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesRepository.kt
index fe394d38d7..2e2d848eab 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesRepository.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/ChooseGamesRepository.kt
@@ -1,7 +1,7 @@
package com.gh.gamecenter.gamecollection.choose
import androidx.lifecycle.MutableLiveData
-import com.gh.common.util.SingletonHolder
+import com.gh.gamecenter.core.utils.SingletonHolder
import com.gh.gamecenter.entity.GameEntity
class ChooseGamesRepository private constructor() {
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailActivity.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailActivity.kt
index f6ff9e6876..620ae3235e 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailActivity.kt
@@ -3,14 +3,14 @@ package com.gh.gamecenter.gamecollection.detail
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.common.util.GameCollectionSquareBrowseTaskHelper
-import com.gh.gamecenter.NormalActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.gamecollection.square.GameCollectionSquareActivity
-class GameCollectionDetailActivity : NormalActivity() {
+class GameCollectionDetailActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -19,26 +19,65 @@ class GameCollectionDetailActivity : NormalActivity() {
}
override fun provideNormalIntent(): Intent {
- return getTargetIntent(this, GameCollectionDetailActivity::class.java, GameCollectionDetailFragment::class.java)
+ return getTargetIntent(
+ this,
+ GameCollectionDetailActivity::class.java,
+ GameCollectionDetailFragment::class.java
+ )
}
companion object {
@JvmStatic
- fun getIntent(context: Context, gameCollectionId: String, isFromSquare: Boolean = false): Intent {
- return getIntent(context, gameCollectionId, isFromSquare, false)
+ fun getIntent(
+ context: Context,
+ gameCollectionId: String,
+ isFromSquare: Boolean = false
+ ): Intent {
+ return getIntent(context, gameCollectionId, "", isFromSquare, false)
}
@JvmStatic
- fun getIntent(context: Context, gameCollectionId: String, isFromSquare: Boolean = false, isScrollToCommentArea: Boolean = false): Intent {
+ fun getSpecifiedCommentIntent(
+ context: Context,
+ gameCollectionId: String,
+ topCommentId: String
+ ): Intent {
+ return getIntent(
+ context, gameCollectionId, topCommentId,
+ isFromSquare = false,
+ isScrollToCommentArea = true
+ )
+ }
+
+ @JvmStatic
+ fun getIntent(
+ context: Context,
+ gameCollectionId: String,
+ topCommentId: String = "",
+ isFromSquare: Boolean = false,
+ isScrollToCommentArea: Boolean = false
+ ): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_GAME_COLLECTION_ID, gameCollectionId)
- bundle.putBoolean(EntranceUtils.KEY_IS_FROM_SQUARE, isFromSquare)
- bundle.putBoolean(EntranceUtils.KEY_SCROLL_TO_COMMENT_AREA, isScrollToCommentArea)
+ bundle.putString(EntranceConsts.KEY_GAME_COLLECTION_ID, gameCollectionId)
+ bundle.putString(EntranceConsts.KEY_TOP_COMMENT_ID, topCommentId)
+ bundle.putBoolean(EntranceConsts.KEY_IS_FROM_SQUARE, isFromSquare)
+ bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_COMMENT_AREA, isScrollToCommentArea)
if (context is GameCollectionSquareActivity) {
- val isFromBrowseTask = context.intent.getBooleanExtra(GameCollectionSquareBrowseTaskHelper.KEY_IS_FORM_BROWSE_TASK, false)
- bundle.putBoolean(GameCollectionSquareBrowseTaskHelper.KEY_IS_FORM_BROWSE_TASK, isFromBrowseTask)
+ val isFromBrowseTask = context.intent.getBooleanExtra(
+ GameCollectionSquareBrowseTaskHelper.KEY_IS_FORM_BROWSE_TASK,
+ false
+ )
+ bundle.putBoolean(
+ GameCollectionSquareBrowseTaskHelper.KEY_IS_FORM_BROWSE_TASK,
+ isFromBrowseTask
+ )
}
- return getTargetIntent(context, GameCollectionDetailActivity::class.java, GameCollectionDetailFragment::class.java, bundle)
+ return getTargetIntent(
+ context,
+ GameCollectionDetailActivity::class.java,
+ GameCollectionDetailFragment::class.java,
+ bundle
+ )
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailAdapter.kt
index 6aff8db045..98e1404b10 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailAdapter.kt
@@ -16,15 +16,19 @@ import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.ExposureType
import com.gh.common.exposure.IExposable
-import com.gh.common.syncpage.SyncDataEntity
-import com.gh.common.syncpage.SyncFieldConstants
-import com.gh.common.syncpage.SyncPageRepository
+import com.gh.gamecenter.common.syncpage.SyncDataEntity
+import com.gh.gamecenter.common.syncpage.SyncFieldConstants
+import com.gh.gamecenter.common.syncpage.SyncPageRepository
import com.gh.common.util.*
-import com.gh.common.view.DrawableView
-import com.gh.common.view.GridSpacingItemColorDecoration
+import com.gh.common.util.DialogUtils
+import com.gh.gamecenter.common.view.DrawableView
+import com.gh.gamecenter.common.view.GridSpacingItemColorDecoration
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.GameViewHolder
+import com.gh.gamecenter.common.callback.ConfirmListener
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.GameCollectionDetailNoneGameItemBinding
import com.gh.gamecenter.databinding.GameCollectionGameItemBinding
import com.gh.gamecenter.databinding.ItemArticleDetailCommentBinding
@@ -191,6 +195,18 @@ open class GameCollectionDetailAdapter(
// 游戏单详情页面用的样式
updateSubComment(this, comment)
+ if (comment.isHighlight) {
+ comment.isHighlight = false
+ binding.highlightBg.run {
+ visibility = View.VISIBLE
+ postDelayed({
+ tryWithDefaultCatch {
+ visibility = View.GONE
+ }
+ }, 3000)
+ }
+ }
+
floorHintTv.visibility = View.INVISIBLE
bottomDivider.visibility = View.GONE
@@ -393,14 +409,16 @@ open class GameCollectionDetailAdapter(
}
badgeTv.setOnClickListener {
- DialogUtils.showViewBadgeDialog(mContext, comment.user.badge) {
- DirectUtils.directToBadgeWall(
- mContext,
- comment.user.id,
- comment.user.name,
- comment.user.icon
- )
- }
+ DialogUtils.showViewBadgeDialog(mContext, comment.user.badge, object : ConfirmListener {
+ override fun onConfirm() {
+ DirectUtils.directToBadgeWall(
+ mContext,
+ comment.user.id,
+ comment.user.name,
+ comment.user.icon
+ )
+ }
+ })
}
badgeIv.setOnClickListener { badgeTv.performClick() }
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailFragment.kt
index 8de719225a..17de04b538 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailFragment.kt
@@ -14,27 +14,34 @@ import androidx.core.view.ViewCompat
import androidx.lifecycle.Lifecycle
import androidx.recyclerview.widget.RecyclerView
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.exposure.ExposureListener
import com.gh.common.history.HistoryHelper
-import com.gh.common.syncpage.SyncDataEntity
-import com.gh.common.syncpage.SyncFieldConstants
-import com.gh.common.syncpage.SyncPageRepository
-import com.gh.common.util.*
-import com.gh.common.view.SegmentedFilterView
+import com.gh.gamecenter.common.syncpage.SyncDataEntity
+import com.gh.gamecenter.common.syncpage.SyncFieldConstants
+import com.gh.gamecenter.common.syncpage.SyncPageRepository
+import com.gh.common.util.DialogUtils
+import com.gh.common.util.DirectUtils
+import com.gh.common.util.NewLogUtils
import com.gh.common.xapk.XapkInstaller
import com.gh.common.xapk.XapkUnzipStatus
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListFragment
import com.gh.gamecenter.baselist.LoadType
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.view.SegmentedFilterView
import com.gh.gamecenter.databinding.FragmentGameCollectionDetailBinding
import com.gh.gamecenter.databinding.LayoutGameCollectionTagBinding
import com.gh.gamecenter.entity.GamesCollectionDetailEntity
-import com.gh.gamecenter.entity.NormalShareEntity
+import com.gh.gamecenter.common.entity.NormalShareEntity
import com.gh.gamecenter.eventbus.EBDownloadStatus
import com.gh.gamecenter.eventbus.EBPackage
-import com.gh.gamecenter.eventbus.EBShare
+import com.gh.gamecenter.common.eventbus.EBShare
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.core.utils.MD5Utils
+import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.eventbus.EBUserFollow
import com.gh.gamecenter.gamedetail.GameDetailFragment
import com.gh.gamecenter.home.video.ScrollCalculatorHelper
@@ -90,7 +97,12 @@ class GameCollectionDetailFragment :
FragmentGameCollectionDetailBinding.inflate(layoutInflater).apply { mBinding = this }.root
override fun provideListViewModel() =
- viewModelProvider(GameCollectionDetailViewModel.Factory(mGameCollectionId))
+ viewModelProvider(
+ GameCollectionDetailViewModel.Factory(
+ mGameCollectionId,
+ arguments?.getString(EntranceConsts.KEY_TOP_COMMENT_ID) ?: ""
+ )
+ )
override fun provideListAdapter() =
mAdapter ?: GameCollectionDetailAdapter(
@@ -107,9 +119,9 @@ class GameCollectionDetailFragment :
override fun provideSyncAdapter() = mAdapter
override fun onCreate(savedInstanceState: Bundle?) {
- mGameCollectionId = arguments?.getString(EntranceUtils.KEY_GAME_COLLECTION_ID) ?: ""
- mFromSquare = arguments?.getBoolean(EntranceUtils.KEY_IS_FROM_SQUARE, false) ?: false
- mScrollToCommentArea = arguments?.getBoolean(EntranceUtils.KEY_SCROLL_TO_COMMENT_AREA, false) ?: false
+ mGameCollectionId = arguments?.getString(EntranceConsts.KEY_GAME_COLLECTION_ID) ?: ""
+ mFromSquare = arguments?.getBoolean(EntranceConsts.KEY_IS_FROM_SQUARE, false) ?: false
+ mScrollToCommentArea = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_COMMENT_AREA, false) ?: false
mUserViewModel = viewModelProvider(UserViewModel.Factory(HaloApp.getInstance().application))
super.onCreate(savedInstanceState)
}
@@ -1016,7 +1028,7 @@ class GameCollectionDetailFragment :
}
fun logEvent(event: String, shareType: String = "") {
- NewLogUtils.logViewOrClickGameCollectionDetail(
+ com.gh.gamecenter.common.utils.NewLogUtils.logViewOrClickGameCollectionDetail(
event,
mGameCollectionTitle,
mGameCollectionId,
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailViewModel.kt
index da05af0817..c8e0628b65 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionDetailViewModel.kt
@@ -8,22 +8,26 @@ import android.text.TextUtils
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.constant.Constants
-import com.gh.common.syncpage.SyncDataEntity
-import com.gh.common.syncpage.SyncFieldConstants
-import com.gh.common.syncpage.SyncPageRepository
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.syncpage.SyncDataEntity
+import com.gh.gamecenter.common.syncpage.SyncFieldConstants
+import com.gh.gamecenter.common.syncpage.SyncPageRepository
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LoadStatus
+import com.gh.gamecenter.common.utils.observableToMain
+import com.gh.gamecenter.common.utils.singleToMain
+import com.gh.gamecenter.common.utils.toNewSimpleCount
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.entity.CommentEntity
import com.gh.gamecenter.entity.GamesCollectionDetailEntity
import com.gh.gamecenter.eventbus.EBUserFollow
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.qa.article.detail.CommentItemData
import com.gh.gamecenter.qa.comment.base.BaseCommentViewModel
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.EmptyResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.EmptyResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import com.lightgame.utils.Utils
@@ -36,9 +40,12 @@ import org.json.JSONObject
import retrofit2.HttpException
import tv.danmaku.ijk.media.exo2.ExoSourceManager
-open class GameCollectionDetailViewModel(application: Application,
- var gameCollectionId: String) :
- BaseCommentViewModel(application, "", "", "", "") {
+open class GameCollectionDetailViewModel(
+ application: Application,
+ var gameCollectionId: String,
+ topCommentId: String = ""
+) :
+ BaseCommentViewModel(application, "", "", "", "", topCommentId) {
var firstItemInitOverLiveData = MutableLiveData()
var followLiveData = MutableLiveData()
@@ -103,7 +110,8 @@ open class GameCollectionDetailViewModel(application: Application,
} else {
val gameLastIndex = games!!.size - 1
if (mResultLiveData.value?.get(0)?.game != null
- && mResultLiveData.value?.get(gameLastIndex)?.game != null) {
+ && mResultLiveData.value?.get(gameLastIndex)?.game != null
+ ) {
for (i in 0..gameLastIndex) {
add(mResultLiveData.value!![i])
}
@@ -122,8 +130,9 @@ open class GameCollectionDetailViewModel(application: Application,
} else if (list.isNullOrEmpty() && mLoadStatusLiveData.value == LoadStatus.INIT_FAILED) {
add(CommentItemData(errorConnection = true))
} else {
- list?.forEach {
- add(CommentItemData(commentNormal = it))
+ list?.forEachIndexed { index, entity ->
+ handleTopComment(index, entity)
+ add(CommentItemData(commentNormal = entity))
}
add(CommentItemData(footer = true))
}
@@ -133,6 +142,14 @@ open class GameCollectionDetailViewModel(application: Application,
}
}
+ override fun handleTopComment(index: Int, entity: CommentEntity) {
+ if (!isHandleTopComment && gameCollectionDetail != null && topCommentId.isNotBlank() && index == 0) {
+ isHandleTopComment = true
+ entity.isHighlight = true
+ entity.isForceExpand = true
+ }
+ }
+
fun followingCommand(userId: String, isFollow: Boolean) {
val observable = if (isFollow) {
RetrofitManager.getInstance().api.postFollowing(userId)
@@ -280,7 +297,7 @@ open class GameCollectionDetailViewModel(application: Application,
)
}
}
- })
+ })
}
@@ -375,7 +392,7 @@ open class GameCollectionDetailViewModel(application: Application,
fun getStarText(): String {
val favoriteCount = gameCollectionDetail?.count?.favorite ?: 0
- return when {
+ return when {
favoriteCount == 0 -> "收藏"
favoriteCount > 10000 -> "10000+"
else -> favoriteCount.toString()
@@ -384,7 +401,7 @@ open class GameCollectionDetailViewModel(application: Application,
fun getShareText(): String {
val shareCount = gameCollectionDetail?.count?.share ?: 0
- return when {
+ return when {
shareCount == 0 -> "分享"
shareCount > 10000 -> "10000+"
else -> shareCount.toString()
@@ -421,10 +438,18 @@ open class GameCollectionDetailViewModel(application: Application,
}
}
- class Factory(private val gameCollectionId: String) : ViewModelProvider.NewInstanceFactory() {
+ class Factory(
+ private val gameCollectionId: String,
+ private val topCommentId: String
+ ) :
+ ViewModelProvider.NewInstanceFactory() {
override fun create(modelClass: Class): T {
- return GameCollectionDetailViewModel(HaloApp.getInstance().application, gameCollectionId) as T
+ return GameCollectionDetailViewModel(
+ HaloApp.getInstance().application,
+ gameCollectionId,
+ topCommentId
+ ) as T
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterActivity.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterActivity.kt
index 491c030e9c..1f71bad2ab 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterActivity.kt
@@ -3,13 +3,13 @@ package com.gh.gamecenter.gamecollection.detail
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.entity.GamesCollectionDetailEntity
-class GameCollectionPosterActivity : NormalActivity() {
+class GameCollectionPosterActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -21,7 +21,7 @@ class GameCollectionPosterActivity : NormalActivity() {
@JvmStatic
fun getIntent(context: Context, entity: GamesCollectionDetailEntity): Intent {
val bundle = Bundle()
- bundle.putParcelable(EntranceUtils.KEY_DATA, entity)
+ bundle.putParcelable(EntranceConsts.KEY_DATA, entity)
return getTargetIntent(context, GameCollectionPosterActivity::class.java, GameCollectionPosterFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterFragment.kt
index 8f90900c44..86f2f2cabc 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterFragment.kt
@@ -5,16 +5,21 @@ import android.os.Build
import android.os.Bundle
import android.view.View
import androidx.annotation.RequiresApi
-import com.gh.common.runOnUiThread
+import com.gh.gamecenter.core.runOnUiThread
import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.callback.BiCallback
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.utils.BitmapUtils
import com.gh.gamecenter.databinding.FragmentGameCollectionPosterBinding
import com.gh.gamecenter.databinding.LayoutGameCollectionTagBinding
import com.gh.gamecenter.entity.GamesCollectionDetailEntity
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.normal.NormalFragment
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
-class GameCollectionPosterFragment : NormalFragment() {
+class GameCollectionPosterFragment : ToolbarFragment() {
private val mBinding by lazy { FragmentGameCollectionPosterBinding.inflate(layoutInflater) }
private var mViewModel: GameCollectionPosterViewModel? = null
@@ -28,7 +33,7 @@ class GameCollectionPosterFragment : NormalFragment() {
super.onCreate(savedInstanceState)
mViewModel = viewModelProvider()
- mEntity = arguments?.getParcelable(EntranceUtils.KEY_DATA) ?: GamesCollectionDetailEntity()
+ mEntity = arguments?.getParcelable(EntranceConsts.KEY_DATA) ?: GamesCollectionDetailEntity()
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterViewModel.kt
index e5c93a1b28..48c00474c4 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionPosterViewModel.kt
@@ -5,7 +5,7 @@ import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import com.gh.gamecenter.R
import com.gh.gamecenter.eventbus.EBUserFollow
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.lightgame.utils.Utils
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionShareDialog.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionShareDialog.kt
index 144738a98a..65d7698247 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionShareDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionShareDialog.kt
@@ -5,12 +5,15 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
-import com.gh.common.dialog.BaseDraggableDialogFragment
-import com.gh.common.util.*
+import com.gh.gamecenter.common.base.fragment.BaseDraggableDialogFragment
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.ShareUtils
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.databinding.DialogGameCollectionShareBinding
-import com.gh.gamecenter.entity.NormalShareEntity
-import com.gh.gamecenter.eventbus.EBShare
+import com.gh.gamecenter.common.entity.NormalShareEntity
+import com.gh.gamecenter.common.eventbus.EBShare
+import com.gh.gamecenter.common.utils.NewLogUtils
import org.greenrobot.eventbus.EventBus
class GameCollectionShareDialog : BaseDraggableDialogFragment() {
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionVideoView.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionVideoView.kt
index 4f00d3d706..b9e99a13fb 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionVideoView.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/GameCollectionVideoView.kt
@@ -13,11 +13,16 @@ import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
-import com.gh.common.observer.MuteCallback
-import com.gh.common.observer.VolumeObserver
-import com.gh.common.runOnIoThread
+import com.gh.gamecenter.common.observer.MuteCallback
+import com.gh.gamecenter.common.observer.VolumeObserver
+import com.gh.gamecenter.core.runOnIoThread
import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.debounceActionWithInterval
+import com.gh.gamecenter.common.utils.rxTimer
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.utils.NetworkUtils
+import com.gh.gamecenter.core.utils.MD5Utils
import com.gh.gamecenter.entity.GamesCollectionDetailEntity
import com.gh.gamecenter.home.video.ScrollCalculatorHelper
import com.gh.gamecenter.video.detail.CustomManager
@@ -92,8 +97,8 @@ class GameCollectionVideoView @JvmOverloads constructor(context: Context, attrs:
debounceActionWithInterval(errorBtn.id, 1000) {
if (!com.shuyu.gsyvideoplayer.utils.NetworkUtils.isAvailable(mContext)) {
Utils.toast(context, "网络异常,请检查手机网络状态")
- setViewShowState(mStartButton, View.INVISIBLE)
- errorContainer.visibility = View.VISIBLE
+ setViewShowState(mStartButton, INVISIBLE)
+ errorContainer.visibility = VISIBLE
return@debounceActionWithInterval
}
startPlayLogic(false)
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationAdapter.kt
index 86155840d4..79b290c1e7 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationAdapter.kt
@@ -6,7 +6,9 @@ import android.view.ViewGroup
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.constraintlayout.widget.ConstraintSet
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.dip2px
+import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.databinding.ItemArticleDetailCommentBinding
import com.gh.gamecenter.entity.CommentEntity
import com.gh.gamecenter.gamecollection.detail.GameCollectionDetailAdapter
@@ -40,6 +42,11 @@ class GameCollectionCommentConversationAdapter(
holder.bindView(mEntityList[position].commentTop!!)
}
+ is CommentFooterViewHolder -> {
+ holder.itemView.setBackgroundColor(R.color.background_white.toColor(mContext))
+ holder.bindView(mIsLoading, mIsNetworkError, mIsOver)
+ }
+
else -> super.onBindViewHolder(holder, position)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationFragment.kt
index b3ffb1710a..9bdde9ead9 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/detail/conversation/GameCollectionCommentConversationFragment.kt
@@ -8,14 +8,15 @@ import android.view.LayoutInflater
import android.view.View
import androidx.core.content.ContextCompat
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.AppExecutor
-import com.gh.common.syncpage.SyncDataEntity
-import com.gh.common.syncpage.SyncFieldConstants
-import com.gh.common.syncpage.SyncPageRepository
-import com.gh.common.util.*
+import com.gh.gamecenter.core.AppExecutor
+import com.gh.gamecenter.common.syncpage.SyncDataEntity
+import com.gh.gamecenter.common.syncpage.SyncFieldConstants
+import com.gh.gamecenter.common.syncpage.SyncPageRepository
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.baselist.LoadType
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.FragmentArticleDetailCommentBinding
import com.gh.gamecenter.entity.CommentEntity
import com.gh.gamecenter.manager.UserManager
@@ -37,7 +38,7 @@ class GameCollectionCommentConversationFragment : BaseCommentFragment> {
- return mApi.getGameCollectionCommentReply(gameCollectionId, commentId, page)
+ val map = hashMapOf()
+ if (topCommentId.isNotEmpty()) {
+ map["top_comment_id"] = topCommentId
+ }
+ return mApi.getGameCollectionCommentReply(gameCollectionId, commentId, page, map)
}
@SuppressLint("CheckResult")
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionActivity.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionActivity.kt
index b30673eef3..8300e15d80 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionActivity.kt
@@ -3,12 +3,11 @@ package com.gh.gamecenter.gamecollection.mine
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.updateStatusBarColor
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.updateStatusBarColor
-class MyGameCollectionActivity : NormalActivity() {
+class MyGameCollectionActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionAdapter.kt
index 8177d987e0..6165be8abe 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionAdapter.kt
@@ -4,9 +4,9 @@ import android.content.Context
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionFragment.kt
index bf0bd53aaf..eb7a80b852 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionFragment.kt
@@ -4,11 +4,15 @@ import android.os.Bundle
import android.view.MenuItem
import android.view.View
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.ToolBarActivity
-import com.gh.common.constant.Constants
-import com.gh.common.util.*
-import com.gh.common.view.GridSpacingItemColorDecoration
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.gamecenter.common.utils.setRootBackgroundColor
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.common.util.DirectUtils
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.utils.showRegulationTestDialogIfNeeded
+import com.gh.gamecenter.common.view.VerticalItemDecoration
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
import com.gh.gamecenter.baselist.ListAdapter
@@ -18,7 +22,6 @@ import com.gh.gamecenter.databinding.FragmentMyGameCollectionListBinding
import com.gh.gamecenter.entity.GamesCollectionEntity
import com.gh.gamecenter.eventbus.EBReuse
import com.gh.gamecenter.gamecollection.publish.GameCollectionEditActivity
-import com.gh.gamecenter.gamecollection.square.GameCollectionSquareActivity
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewHolder.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewHolder.kt
index 35193fa70c..fac260f72d 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewHolder.kt
@@ -1,11 +1,11 @@
package com.gh.gamecenter.gamecollection.mine
import android.view.LayoutInflater
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.DialogHelper
-import com.gh.common.util.ImageUtils
-import com.gh.common.util.TimeUtils
-import com.gh.common.util.goneIf
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.DialogHelper
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.core.utils.TimeUtils
+import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.databinding.ItemGameCollectionFlexTagBinding
import com.gh.gamecenter.databinding.ItemMyGameCollectionBinding
import com.gh.gamecenter.entity.GamesCollectionEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewModel.kt
index e372c04567..fee5277cb5 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/mine/MyGameCollectionViewModel.kt
@@ -2,12 +2,12 @@ package com.gh.gamecenter.gamecollection.mine
import android.app.Application
import androidx.lifecycle.MutableLiveData
-import com.gh.common.util.ToastUtils
-import com.gh.common.util.observableToMain
+import com.gh.gamecenter.core.utils.ToastUtils
+import com.gh.gamecenter.common.utils.observableToMain
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.entity.GamesCollectionEntity
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.Observable
import okhttp3.ResponseBody
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionActivityDialog.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionActivityDialog.kt
index 34aa89b7a2..8aa2d9de4c 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionActivityDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionActivityDialog.kt
@@ -10,11 +10,11 @@ import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.core.os.bundleOf
-import com.gh.base.fragment.BaseDialogFragment
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.databinding.DialogChooseActivityBinding
import com.gh.gamecenter.entity.ActivityLabelEntity
import com.halo.assistant.HaloApp
@@ -41,7 +41,7 @@ class ChooseGameCollectionActivityDialog : BaseDialogFragment() {
mBinding.confirmTv.setOnClickListener {
val activityLabelEntity = fragment.getSelectedActivity()
val intent = Intent().apply {
- putExtra(EntranceUtils.KEY_DATA, activityLabelEntity)
+ putExtra(EntranceConsts.KEY_DATA, activityLabelEntity)
}
(requireActivity() as GameCollectionEditActivity).onActivityDialogResult(GameCollectionEditActivity.REQUEST_CHOOSE_ACTIVITY, Activity.RESULT_OK, intent)
@@ -101,7 +101,7 @@ class ChooseGameCollectionActivityDialog : BaseDialogFragment() {
ChooseGameCollectionActivityDialog().apply {
arguments = bundleOf(
TAG_ACTIVITY_ID to tagActivityId,
- EntranceUtils.KEY_PARENT_TAG to parentTag
+ EntranceConsts.KEY_PARENT_TAG to parentTag
)
}.show(activity.supportFragmentManager, ChooseGameCollectionActivityDialog::class.java.name)
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionCoverTypeDialog.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionCoverTypeDialog.kt
index f563a99ef1..500a894aa0 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionCoverTypeDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionCoverTypeDialog.kt
@@ -11,9 +11,15 @@ import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.core.os.bundleOf
-import com.gh.base.fragment.BaseDialogFragment
-import com.gh.common.util.*
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
+import com.gh.gamecenter.core.utils.EmptyCallback
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.utils.PermissionHelper
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.setRootBackgroundDrawable
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
import com.gh.gamecenter.databinding.DialogChooseGameCollectionCoverTypeBinding
import com.gh.gamecenter.gamecollection.publish.GameCollectionEditActivity.Companion.REQUEST_CODE_IMAGE
import com.gh.gamecenter.qa.editor.LocalMediaActivity
@@ -114,7 +120,7 @@ class ChooseGameCollectionCoverTypeDialog : BaseDialogFragment() {
fun show(activity: AppCompatActivity, parentTag: String) {
ChooseGameCollectionCoverTypeDialog().apply {
arguments = bundleOf(
- EntranceUtils.KEY_PARENT_TAG to parentTag
+ EntranceConsts.KEY_PARENT_TAG to parentTag
)
}.show(activity.supportFragmentManager, ChooseGameCollectionCoverTypeDialog::class.java.name)
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultAdapter.kt
index d0a21188fb..d7d68f1519 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultAdapter.kt
@@ -2,10 +2,10 @@ package com.gh.gamecenter.gamecollection.publish
import android.content.Context
import android.view.ViewGroup
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.ImageUtils
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.ImageUtils
import com.gh.common.util.NewLogUtils
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.databinding.ItemGameCollectionDefaultCoverBinding
import com.gh.gamecenter.entity.GameCollectionCoverEntity
import com.lightgame.adapter.BaseRecyclerAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverDialog.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverDialog.kt
index a135d16925..2947859bfb 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverDialog.kt
@@ -13,11 +13,15 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.os.bundleOf
import androidx.recyclerview.widget.GridLayoutManager
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.fragment.BaseDialogFragment
import com.gh.common.util.*
-import com.gh.common.view.GridSpacingItemColorDecoration
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.view.GridSpacingItemColorDecoration
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.databinding.DialogChooseGameCollectionDefaultCoverBinding
import com.halo.assistant.HaloApp
import kotlin.math.ceil
@@ -46,9 +50,9 @@ class ChooseGameCollectionDefaultCoverDialog : BaseDialogFragment() {
layoutParams = params
if (mAdapter == null) {
mAdapter = ChooseGameCollectionDefaultAdapter(requireContext()) {
- val tag = requireArguments().getString(EntranceUtils.KEY_PARENT_TAG)
+ val tag = requireArguments().getString(EntranceConsts.KEY_PARENT_TAG)
val intent = Intent().apply {
- putExtra(EntranceUtils.KEY_DATA, it)
+ putExtra(EntranceConsts.KEY_DATA, it)
}
requireActivity().supportFragmentManager.findFragmentByTag(tag)
?.onActivityResult(REQUEST_CODE_DEFAULT_IMAGE, Activity.RESULT_OK, intent)
@@ -122,7 +126,7 @@ class ChooseGameCollectionDefaultCoverDialog : BaseDialogFragment() {
fun show(activity: AppCompatActivity, parentTag: String) {
ChooseGameCollectionDefaultCoverDialog().apply {
arguments = bundleOf(
- EntranceUtils.KEY_PARENT_TAG to parentTag
+ EntranceConsts.KEY_PARENT_TAG to parentTag
)
}.show(activity.supportFragmentManager, ChooseGameCollectionDefaultCoverDialog::class.java.name)
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverViewModel.kt
index 179aae86d6..e36e0ea0d2 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/ChooseGameCollectionDefaultCoverViewModel.kt
@@ -5,10 +5,10 @@ import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.util.ToastUtils
-import com.gh.common.util.observableToMain
+import com.gh.gamecenter.core.utils.ToastUtils
+import com.gh.gamecenter.common.utils.observableToMain
import com.gh.gamecenter.entity.GameCollectionCoverEntity
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import retrofit2.HttpException
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelFragment.kt
index 0f5edbba29..7f27833828 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelFragment.kt
@@ -5,17 +5,17 @@ import android.view.View
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
-import com.gh.common.util.dip2px
-import com.gh.common.util.viewModelProvider
-import com.gh.common.view.divider.HorizontalDividerItemDecoration
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.base.fragment.ToolbarFragment
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.common.view.divider.HorizontalDividerItemDecoration
import com.gh.gamecenter.databinding.FragmentListBaseBinding
import com.gh.gamecenter.entity.ActivityLabelEntity
-import com.gh.gamecenter.normal.NormalFragment
import com.gh.gamecenter.video.label.VideoLabelActivity
import com.gh.gamecenter.video.label.VideoLabelAdapter
-class GameCollectionActivityLabelFragment : NormalFragment() {
+class GameCollectionActivityLabelFragment : ToolbarFragment() {
private lateinit var mBinding: FragmentListBaseBinding
private var mAdapter: VideoLabelAdapter? = null
private lateinit var mViewModel: GameCollectionActivityLabelViewModel
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelViewModel.kt
index 79c65f6f3f..6c0b86956c 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionActivityLabelViewModel.kt
@@ -5,7 +5,7 @@ import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import com.gh.gamecenter.entity.ActivityLabelEntity
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditActivity.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditActivity.kt
index 168797a22b..77fd9b7083 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditActivity.kt
@@ -9,13 +9,17 @@ import android.view.MenuItem
import android.view.View
import android.widget.TextView
import androidx.core.widget.doOnTextChanged
-import com.gh.base.ToolBarActivity
-import com.gh.base.fragment.WaitingDialogFragment
-import com.gh.common.constant.Constants
-import com.gh.common.util.*
+import com.gh.gamecenter.common.base.ToolBarActivity
+import com.gh.common.util.ErrorHelper
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.base.fragment.WaitingDialogFragment
+import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.CropImageActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.PatternUtils
import com.gh.gamecenter.databinding.ActivityGameCollectionEditBinding
import com.gh.gamecenter.databinding.ItemGameCollectionFlexTagBinding
import com.gh.gamecenter.entity.*
@@ -37,6 +41,9 @@ class GameCollectionEditActivity : ToolBarActivity() {
private lateinit var mChooseGamesViewModel: ChooseGamesViewModel
private var mProcessingDialog: WaitingDialogFragment? = null
private var mPatchCommitCount = 0
+ private var mActivityId = ""
+ private var mActivityName = ""
+ private var mGameEntity: GameEntity? = null
override fun getLayoutId(): Int = R.layout.activity_game_collection_edit
@@ -50,10 +57,34 @@ class GameCollectionEditActivity : ToolBarActivity() {
mMenuPost = getMenuItem(R.id.menu_game_collection_post)
setNavigationTitle("创建游戏单")
mViewModel.gameCollectionPatch = intent.getParcelableExtra(GamesCollectionEntity::class.java.name)
- val path = intent.getStringExtra(EntranceUtils.KEY_PATH) ?: ""
+ mBinding.chooseActivityContainer.goneIf(mViewModel.gameCollectionPatch != null)
+ val path = intent.getStringExtra(EntranceConsts.KEY_PATH) ?: ""
if (path.isNotEmpty()) {
NewLogUtils.logEnterGameCollectionEdit(path)
}
+ mActivityId = intent.getStringExtra(EntranceConsts.KEY_ACTIVITY_ID) ?: ""
+ mActivityName = intent.getStringExtra(EntranceConsts.KEY_ACTIVITY_NAME) ?: ""
+ if (mActivityId.isNotEmpty() && mActivityName.isNotEmpty()) {
+ mViewModel.selectActivityTag = ActivityLabelEntity(id = mActivityId, name = mActivityName)
+ mBinding.activityTipTv.text = mActivityName
+ }
+ val gameId = intent.getStringExtra(EntranceConsts.KEY_GAMEID) ?: ""
+ if (gameId.isNotEmpty()) {
+ mViewModel.getGameDigest(gameId) {
+ if (it != null) {
+ val gamesList = ArrayList()
+ val simpleGames = mViewModel.gameCollectionPatch?.games?.map { game -> game.toGameEntity() }
+ if (!simpleGames.isNullOrEmpty()) {
+ simpleGames.map { gameEntity ->
+ if (gameEntity.id == gameId) return@getGameDigest
+ }
+ gamesList.addAll(simpleGames)
+ }
+ mGameEntity = it
+ mChooseGamesViewModel.chooseGamesLiveData.postValue(gamesList.apply { add(it) })
+ }
+ }
+ }
initData()
observeData()
@@ -143,8 +174,10 @@ class GameCollectionEditActivity : ToolBarActivity() {
mViewModel.gameCollectionPatch?.run {
if (!activityTags.isNullOrEmpty()) {
- mViewModel.selectActivityTag = activityTags!![0]
- mBinding.activityTipTv.text = activityTags!![0].name
+ if (mActivityId.isEmpty() && mActivityName.isEmpty()) {
+ mViewModel.selectActivityTag = activityTags!![0]
+ mBinding.activityTipTv.text = activityTags!![0].name
+ }
}
mViewModel.imageUrl = cover
if (status != "draft" && !isLocalDraft) {
@@ -219,11 +252,17 @@ class GameCollectionEditActivity : ToolBarActivity() {
mViewModel.tags = tags ?: arrayListOf()
initTagsUI(mViewModel.tags)
val simpleGames = games?.map { game -> game.toGameEntity() }
- mChooseGamesViewModel.chooseGamesLiveData.postValue(ArrayList(simpleGames))
+ mChooseGamesViewModel.chooseGamesLiveData.postValue(ArrayList(simpleGames).apply {
+ if (mGameEntity != null) {
+ add(mGameEntity)
+ }
+ })
}
if (!it.activityTags.isNullOrEmpty()) {
- mViewModel.selectActivityTag = it.activityTags!![0]
- mBinding.activityTipTv.text = it.activityTags!![0].name
+ if (mActivityId.isEmpty() && mActivityName.isEmpty()) {
+ mViewModel.selectActivityTag = it.activityTags!![0]
+ mBinding.activityTipTv.text = it.activityTags!![0].name
+ }
}
}
}
@@ -274,13 +313,13 @@ class GameCollectionEditActivity : ToolBarActivity() {
startActivityForResult(intent, REQUEST_CODE_IMAGE_CROP)
}
} else if (requestCode == ChooseGameCollectionDefaultCoverDialog.REQUEST_CODE_DEFAULT_IMAGE) {
- val entity = data.getParcelableExtra(EntranceUtils.KEY_DATA)
+ val entity = data.getParcelableExtra(EntranceConsts.KEY_DATA)
if (entity != null) {
mViewModel.imageUrl = entity.url
mViewModel.uploadImageSuccessLiveData.postValue(entity.url)
}
} else if (requestCode == REQUEST_CHOOSE_ACTIVITY) {
- val entity = data.getParcelableExtra(EntranceUtils.KEY_DATA)
+ val entity = data.getParcelableExtra(EntranceConsts.KEY_DATA)
if (entity != null) {
mViewModel.selectActivityTag = entity
mBinding.activityTipTv.text = entity.name
@@ -497,8 +536,8 @@ class GameCollectionEditActivity : ToolBarActivity() {
@JvmStatic
fun getIntent(context: Context, entrance: String = "", path: String = ""): Intent {
val intent = Intent(context, GameCollectionEditActivity::class.java)
- intent.putExtra(EntranceUtils.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
- intent.putExtra(EntranceUtils.KEY_PATH, path)
+ intent.putExtra(EntranceConsts.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
+ intent.putExtra(EntranceConsts.KEY_PATH, path)
return intent
}
@@ -506,8 +545,19 @@ class GameCollectionEditActivity : ToolBarActivity() {
fun getIntent(context: Context, entity: GamesCollectionEntity, entrance: String = "", path: String = ""): Intent {
val intent = Intent(context, GameCollectionEditActivity::class.java)
intent.putExtra(GamesCollectionEntity::class.java.name, entity)
- intent.putExtra(EntranceUtils.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
- intent.putExtra(EntranceUtils.KEY_PATH, path)
+ intent.putExtra(EntranceConsts.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
+ intent.putExtra(EntranceConsts.KEY_PATH, path)
+ return intent
+ }
+
+ @JvmStatic
+ fun getIntent(context: Context, activityId: String = "", activityName: String = "", gameId: String = "", entrance: String = "", path: String = ""): Intent {
+ val intent = Intent(context, GameCollectionEditActivity::class.java)
+ intent.putExtra(EntranceConsts.KEY_ACTIVITY_ID, activityId)
+ intent.putExtra(EntranceConsts.KEY_ACTIVITY_NAME, activityName)
+ intent.putExtra(EntranceConsts.KEY_GAMEID, gameId)
+ intent.putExtra(EntranceConsts.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
+ intent.putExtra(EntranceConsts.KEY_PATH, path)
return intent
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditViewModel.kt
index 21d5465725..17474018e1 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/publish/GameCollectionEditViewModel.kt
@@ -5,18 +5,21 @@ import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.MutableLiveData
-import com.gh.base.fragment.WaitingDialogFragment
-import com.gh.common.runOnIoThread
+import com.gh.gamecenter.common.base.fragment.WaitingDialogFragment
import com.gh.common.util.*
-import com.gh.gamecenter.entity.ActivityLabelEntity
-import com.gh.gamecenter.entity.GameCollectionDraft
-import com.gh.gamecenter.entity.GamesCollectionEntity
-import com.gh.gamecenter.entity.TagInfoEntity
+import com.gh.gamecenter.core.runOnIoThread
+import com.gh.gamecenter.core.utils.ToastUtils
+import com.gh.gamecenter.common.utils.observableToMain
+import com.gh.gamecenter.common.utils.singleToMain
+import com.gh.gamecenter.common.utils.toRequestBody
+import com.gh.gamecenter.entity.*
import com.gh.gamecenter.mvvm.Resource
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.gh.gamecenter.room.AppDatabase
+import io.reactivex.android.schedulers.AndroidSchedulers
+import io.reactivex.schedulers.Schedulers
import okhttp3.ResponseBody
import org.json.JSONObject
import retrofit2.HttpException
@@ -35,6 +38,22 @@ class GameCollectionEditViewModel(application: Application) : AndroidViewModel(a
private val mApi = RetrofitManager.getInstance().api
private val mDraftDao = AppDatabase.getInstance().gameCollectionDraftDao()
+ fun getGameDigest(gameId: String, callback: (gameEntity: GameEntity?) -> Unit) {
+ mApi.getGameDigest(gameId)
+ .map(ApkActiveUtils.filterMapper)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(object : Response() {
+ override fun onResponse(response: GameEntity?) {
+ response?.let { callback.invoke(it) }
+ }
+
+ override fun onFailure(e: HttpException?) {
+ callback.invoke(null)
+ }
+ })
+ }
+
fun uploadPoster() {
if (imagePath.isEmpty()) return
UploadImageUtils.uploadImage(UploadImageUtils.UploadType.poster, imagePath, object : UploadImageUtils.OnUploadImageListener {
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionAmwayAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionAmwayAdapter.kt
index eb14309988..400dcf0561 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionAmwayAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionAmwayAdapter.kt
@@ -3,7 +3,7 @@ package com.gh.gamecenter.gamecollection.square
import android.content.Context
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.TextHelper
+import com.gh.gamecenter.common.utils.TextHelper
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.GameCollectionAmwayContentItemBinding
import com.gh.gamecenter.entity.AmwayCommentEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionBannerAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionBannerAdapter.kt
index 910ae8f9a9..91ad2ace3f 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionBannerAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionBannerAdapter.kt
@@ -3,12 +3,13 @@ package com.gh.gamecenter.gamecollection.square
import android.content.Context
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
import com.gh.common.exposure.*
import com.gh.common.util.DirectUtils
-import com.gh.common.util.ImageUtils
-import com.gh.common.util.safelyGetInRelease
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.entity.ExposureEntity
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.databinding.GameCollectionBannerItemBinding
import com.gh.gamecenter.entity.AmwayCommentEntity
import com.gh.gamecenter.entity.CarouselEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareActivity.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareActivity.kt
index 3b25e841ed..38e65b49bb 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareActivity.kt
@@ -1,8 +1,8 @@
package com.gh.gamecenter.gamecollection.square
import android.os.Bundle
-import com.gh.base.BaseActivity
-import com.gh.common.util.DisplayUtils
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.common.util.GameCollectionSquareBrowseTaskHelper
import com.gh.gamecenter.R
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareAdapter.kt
index 02e107b15d..a1fb780669 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareAdapter.kt
@@ -16,17 +16,24 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.PagerSnapHelper
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
-import com.gh.base.BaseActivity
-import com.gh.common.constant.ItemViewType
-import com.gh.common.exposure.*
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.constant.ItemViewType
+import com.gh.common.exposure.ExposureEvent
+import com.gh.common.exposure.ExposureSource
+import com.gh.common.exposure.IExposable
import com.gh.common.util.*
-import com.gh.common.util.ImageUtils.display
-import com.gh.common.view.ScrollEventListener
+import com.gh.gamecenter.common.utils.ImageUtils.display
+import com.gh.common.exposure.*
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.baselist.LoadStatus
+import com.gh.gamecenter.common.entity.ExposureEntity
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.common.view.ScrollEventListener
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.databinding.GameCollectionSquareItemBinding
import com.gh.gamecenter.databinding.ItemGameCollectionBannerBinding
import com.gh.gamecenter.entity.AmwayCommentEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareFragment.kt
index 722ce8c939..15c23363a8 100644
--- a/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamecollection/square/GameCollectionSquareFragment.kt
@@ -21,16 +21,21 @@ import androidx.recyclerview.widget.PagerSnapHelper
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import com.ethanhua.skeleton.Skeleton
-import com.gh.common.constant.Constants
import com.gh.common.exposure.*
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.util.*
-import com.gh.common.view.ScrollEventListener
-import com.gh.common.view.SegmentedFilterView
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.view.SegmentedFilterView
+import com.gh.gamecenter.common.view.VerticalItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.LazyListFragment
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.baselist.LoadType
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.entity.ExposureEntity
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.common.view.ScrollEventListener
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentGameCollectionSquareAlBinding
import com.gh.gamecenter.databinding.FragmentGameCollectionSquareBinding
import com.gh.gamecenter.entity.GamesCollectionEntity
@@ -72,16 +77,17 @@ class GameCollectionSquareFragment : LazyListFragment(R.id.fab)?.visibility = View.GONE
} else {
if (mExposureEventList.isNotEmpty()) ExposureManager.log(mExposureEventList)
@@ -105,7 +111,7 @@ class GameCollectionSquareFragment : LazyListFragment(R.id.fab)?.visibility = View.VISIBLE
}
}
@@ -144,7 +150,8 @@ class GameCollectionSquareFragment : LazyListFragment {
if (mAdapter == null) {
- val outerSequence = arguments?.getInt(EntranceUtils.KEY_TAB_INDEX)
- val tabName = arguments?.getString(EntranceUtils.KEY_NAME) ?: ""
+ val outerSequence = arguments?.getInt(EntranceConsts.KEY_TAB_INDEX)
+ val tabName = arguments?.getString(EntranceConsts.KEY_NAME) ?: ""
mBasicExposureSource = arrayListOf().apply {
add(ExposureSource(if (mUseAlternativeLayout) "顶部tab" else "游戏单广场", if (mUseAlternativeLayout) tabName else ""))
}
- mAdapter = GameCollectionSquareAdapter(requireContext(), mUseAlternativeLayout, mViewModel, mBasicExposureSource, outerSequence?:(-1))
+ mAdapter =
+ GameCollectionSquareAdapter(requireContext(), mUseAlternativeLayout, mViewModel, mBasicExposureSource, outerSequence ?: (-1))
}
return mAdapter!!
}
+
private fun initDefaultLayout() {
// toolbar 消费 fitsSystemWindows 避免在 collapsingToolbar 下面出现多出来的 padding
// [https://stackoverflow.com/questions/48137666/viewgroup-inside-collapsingtoolbarlayout-show-extra-bottom-padding-when-set-fits]
@@ -219,9 +233,9 @@ class GameCollectionSquareFragment : LazyListFragment mViewModel.view = "recommend"
1 -> mViewModel.view = "hot"
2 -> mViewModel.view = "new"
@@ -257,7 +271,7 @@ class GameCollectionSquareFragment : LazyListFragment {
@@ -284,7 +298,10 @@ class GameCollectionSquareFragment : LazyListFragment = WeakReference(fragment)
override fun handleMessage(msg: Message) {
@@ -514,4 +551,5 @@ class GameCollectionSquareFragment : LazyListFragment= 0) mDestinationTab else args.getInt(EntranceUtils.KEY_TARGET, -1)
- mIsOpenPlatformWindow = args.getBoolean(EntranceUtils.KEY_OPEN_PLATFORM_WINDOW)
+ mAutoDownload = args.getBoolean(EntranceConsts.KEY_AUTO_DOWNLOAD)
+ mTraceEvent = args.getParcelable(EntranceConsts.KEY_TRACE_EVENT)
+ mSkipGameComment = args.getBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT)
+ mDestinationTab = if (mDestinationTab >= 0) mDestinationTab else args.getInt(EntranceConsts.KEY_TARGET, -1)
+ mIsOpenPlatformWindow = args.getBoolean(EntranceConsts.KEY_OPEN_PLATFORM_WINDOW)
mSkeleton = Skeleton.bind(mBinding.listSkeleton)
.shimmer(true)
@@ -283,7 +289,7 @@ class GameDetailFragment : NormalFragment() {
val factory = GameDetailViewModel.Factory(
HaloApp.getInstance().application,
- args.getString(EntranceUtils.KEY_GAMEID),
+ args.getString(EntranceConsts.KEY_GAMEID),
args.getParcelable(GameEntity.TAG)
)
mViewModel = viewModelProviderFromParent(factory)
@@ -421,7 +427,7 @@ class GameDetailFragment : NormalFragment() {
mGameEntity = gameResource.data
controlInstallHint()
// 添加启动弹窗的相关信息
- if (mEntrance.contains(EntranceUtils.ENTRANCE_WELCOME) && mEntrance.countOccurrences("+") <= 1) {
+ if (mEntrance.contains(EntranceConsts.ENTRANCE_WELCOME) && mEntrance.countOccurrences("+") <= 1) {
mGameEntity?.setWelcomeDialogInfoIfAvailable()
}
} else if (gameResource.status == Status.ERROR) {
@@ -481,9 +487,6 @@ class GameDetailFragment : NormalFragment() {
mViewModel.concernLiveData.observeNonNull(this) { response ->
if (response.isConcern) {
if (response.isSuccess) {
- val kv = HashMap()
- kv["状态"] = R.string.concern
- DataUtils.onEvent(context, "游戏关注", mGameEntity!!.name, kv)
MtaHelper.onEvent("游戏详情_新", "关注", mGameEntity!!.name)
DataCollectionUtils.uploadConcern(
context,
@@ -499,10 +502,6 @@ class GameDetailFragment : NormalFragment() {
}
} else {
if (response.isSuccess) {
- val kv = HashMap()
- kv["状态"] = "取消关注"
- DataUtils.onEvent(context, "游戏关注", mGameEntity!!.name, kv)
-
DataCollectionUtils.uploadConcern(
context,
mGameEntity!!.name,
@@ -524,7 +523,7 @@ class GameDetailFragment : NormalFragment() {
mViewModel.bigEventLiveData.observeNonNull(this) {
GameBigEventDialog.showGameBigEventDialog(
- requireContext(), mGameEntity?.name ?: "", it, mEntrance
+ requireContext(), mGameEntity?.name ?: "",mGameEntity?.id ?: "", it, mEntrance
)
}
mViewModel.recommendPopupLiveData.observe(this, Observer {
@@ -543,24 +542,24 @@ class GameDetailFragment : NormalFragment() {
@SuppressLint("ClickableViewAccessibility")
private fun initViewPage(data: NewGameDetailEntity) {
- val scrollToLibao = arguments?.getBoolean(EntranceUtils.KEY_SCROLL_TO_LIBAO) ?: false
- val scrollToServer = arguments?.getBoolean(EntranceUtils.KEY_SCROLL_TO_SERVER) ?: false
+ val scrollToLibao = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO) ?: false
+ val scrollToServer = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER) ?: false
if (scrollToLibao || scrollToServer) {
mBodyBinding.gamedetailAppbar.setExpanded(false, true)
}
val bundle = Bundle()
bundle.putParcelable(GameEntity.TAG, mGameEntity)
- bundle.putString(EntranceUtils.KEY_ENTRANCE, mEntrance)
- bundle.putBoolean(EntranceUtils.KEY_SCROLL_TO_LIBAO, scrollToLibao)
- bundle.putBoolean(EntranceUtils.KEY_SCROLL_TO_SERVER, scrollToServer)
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, mEntrance)
+ bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, scrollToLibao)
+ bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, scrollToServer)
bundle.putBoolean(
- EntranceUtils.KEY_SCROLL_TO_LIBAO,
- arguments?.getBoolean(EntranceUtils.KEY_SCROLL_TO_LIBAO) ?: false
+ EntranceConsts.KEY_SCROLL_TO_LIBAO,
+ arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO) ?: false
)
bundle.putBoolean(
- EntranceUtils.KEY_OPEN_VIDEO_STREAMING,
- arguments?.getBoolean(EntranceUtils.KEY_OPEN_VIDEO_STREAMING) ?: false
+ EntranceConsts.KEY_OPEN_VIDEO_STREAMING,
+ arguments?.getBoolean(EntranceConsts.KEY_OPEN_VIDEO_STREAMING) ?: false
)
mFragmentsList.clear()
mTabTitleList.clear()
@@ -575,7 +574,7 @@ class GameDetailFragment : NormalFragment() {
if (it.style == "link") {//显示web页面
val webFragment = childFragmentManager.findFragmentByTag("${tag}${INDEX_TRENDES}") ?: WebFragment()
val webBundle = Bundle()
- webBundle.putString(EntranceUtils.KEY_URL, it.link)
+ webBundle.putString(EntranceConsts.KEY_URL, it.link)
webBundle.putBoolean(WebFragment.KEY_OPEN_NATIVE_PAGE, true)
webFragment.arguments = webBundle
mFragmentsList.add(webFragment)
@@ -589,8 +588,8 @@ class GameDetailFragment : NormalFragment() {
if (data.showComment) {
val ratingFragment = childFragmentManager.findFragmentByTag("${tag}${INDEX_RATING}") ?: RatingFragment()
- bundle.putBoolean(EntranceUtils.KEY_SKIP_GAME_COMMENT, mSkipGameComment)
- bundle.putBoolean(EntranceUtils.KEY_DIRECT_COMMENT, data.directComment)
+ bundle.putBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT, mSkipGameComment)
+ bundle.putBoolean(EntranceConsts.KEY_DIRECT_COMMENT, data.directComment)
ratingFragment.arguments = bundle
mFragmentsList.add(ratingFragment)
mTabTitleList.add(getString(R.string.game_detail_comment))
@@ -605,7 +604,8 @@ class GameDetailFragment : NormalFragment() {
mBodyBinding.toolbarGapView.goneIf(mTabTitleList.size == 1)
mBodyBinding.run {
- gamedetailVp.adapter = FragmentAdapter(childFragmentManager, mFragmentsList, mTabTitleList)
+ gamedetailVp.adapter =
+ FragmentAdapter(childFragmentManager, mFragmentsList, mTabTitleList)
gamedetailVp.doOnPageSelected {
logTabClick(it)
}
@@ -628,6 +628,7 @@ class GameDetailFragment : NormalFragment() {
}
BaseFragment_TabLayout.initTabStyle(mBodyBinding.tabLayout, gamedetailVp.currentItem)
+ updateToolbarStyle(gamedetailThumbSmall.visibility == View.VISIBLE)
}
}
@@ -819,6 +820,7 @@ class GameDetailFragment : NormalFragment() {
}
mBodyBinding.gameBigEvent.setOnClickListener {
MtaHelper.onEvent("游戏详情_新", "游戏大事件", mViewModel.game?.name ?: "")
+ NewLogUtils.logGameDetailMajorEventClick(mViewModel.game?.name ?: "", mViewModel.game?.id ?: "")
mViewModel.getBigEvent()
}
}
@@ -1183,9 +1185,20 @@ class GameDetailFragment : NormalFragment() {
val entrance = if (mEntrance.contains("论坛详情")) "论坛" else "游戏"
mGameEntity?.run {
when (position) {
- INDEX_TRENDES -> NewLogUtils.logGameDetailTabClick("view_game_detail_special_area_tab", entrance, id, gameType, bbsId)
-
- INDEX_RATING -> NewLogUtils.logGameDetailTabClick("view_game_detail_comment_tab", entrance, id, gameType, bbsId)
+ INDEX_DESC -> {
+ NewLogUtils.logGameDetailTabClick(name ?: "", id, "详情")
+ }
+ INDEX_TRENDES -> {
+ NewLogUtils.logGameDetailTabClick("view_game_detail_special_area_tab", entrance, id, gameType, bbsId)
+ NewLogUtils.logGameDetailTabClick(name ?: "", id, "专区")
+ }
+ INDEX_RATING -> {
+ NewLogUtils.logGameDetailTabClick("view_game_detail_comment_tab", entrance, id, gameType, bbsId)
+ NewLogUtils.logGameDetailTabClick(name ?: "", id, "评论")
+ }
+ INDEX_BBS -> {
+ NewLogUtils.logGameDetailTabClick(name ?: "", id, "论坛")
+ }
}
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt
index 9a6447205a..a86ba4a5fd 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt
@@ -9,11 +9,16 @@ import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.filter.RegionSettingHelper
import com.gh.common.history.HistoryHelper
-import com.gh.common.runOnUiThread
+import com.gh.gamecenter.core.runOnUiThread
import com.gh.common.util.*
+import com.gh.gamecenter.core.utils.GsonUtils
+import com.gh.gamecenter.core.utils.SPUtils
+import com.gh.gamecenter.common.utils.singleToMain
+import com.gh.gamecenter.common.utils.toRequestBody
+import com.gh.gamecenter.core.utils.UrlFilterUtils
import com.gh.gamecenter.entity.*
import com.gh.gamecenter.gamedetail.entity.BigEvent
import com.gh.gamecenter.gamedetail.entity.CustomColumn
@@ -21,8 +26,8 @@ import com.gh.gamecenter.gamedetail.entity.DetailEntity
import com.gh.gamecenter.gamedetail.entity.NewGameDetailEntity
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.mvvm.Resource
-import com.gh.gamecenter.retrofit.BiResponse
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -84,9 +89,6 @@ class GameDetailViewModel(application: Application,
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : Response() {
override fun onResponse(response: GameEntity?) {
- val name = if (response != null) response.name else ""
- DataUtils.onMtaEvent(getApplication(), "详情页面", "游戏详情", name)
-
game = response
gameLiveData.postValue(Resource.success(game))
getGameDetailNew()
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt
index 7a1e6cae65..9e2f16731f 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt
@@ -18,20 +18,26 @@ import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.OnListClickListener
+import com.gh.gamecenter.common.callback.OnListClickListener
import com.gh.common.DefaultUrlHandler
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.databind.BindingAdapters
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureManager
import com.gh.common.exposure.ExposureSource
import com.gh.common.util.*
-import com.gh.common.view.GridSpacingItemColorDecoration
-import com.gh.common.view.divider.HorizontalDividerItemDecoration
+import com.gh.common.util.DialogUtils
+import com.gh.common.util.LogUtils
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.view.GridSpacingItemColorDecoration
+import com.gh.gamecenter.common.view.divider.HorizontalDividerItemDecoration
import com.gh.gamecenter.GameNewsActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.SuggestionActivity
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
+import com.gh.gamecenter.common.*
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.*
import com.gh.gamecenter.entity.CommunityEntity
import com.gh.gamecenter.entity.GameEntity
@@ -241,6 +247,7 @@ class DescAdapter(
galleryRv.layoutManager = GridLayoutManager(mContext, 4)
subjectAdapter = GameHorizontalAdapter(mContext, subjectEntity)
subjectAdapter.gameName = mGameName
+ subjectAdapter.gameId = mViewModel.gameId ?: ""
subjectAdapter.entrance = mEntrance
subjectAdapter.exposureEventList = exposureEventList
(galleryRv.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false
@@ -252,6 +259,9 @@ class DescAdapter(
}
titleTv.text = "大家都在玩"
moreTv.visibility = View.GONE
+ mViewModel.game?.let {
+ NewLogUtils.logGameDetailPopularView(it.name ?: "", it.id)
+ }
}
}
@@ -281,6 +291,9 @@ class DescAdapter(
MtaHelper.onEvent(MTA_KEY_GAME_NEW, "玩家评论_点击全部", mGameName)
MtaHelper.onEvent(MTA_KEY_GAME_NEW, "玩家评论_更多按钮", mGameName)
}
+ mViewModel.game?.let {
+ NewLogUtils.logGameDetailCommentView(it.name ?: "", it.id)
+ }
}
commentsAdapter.comments = comments
@@ -440,6 +453,7 @@ class DescAdapter(
contentTv.setExpandCallback {
mExpandableTextExpandStatusSparseBooleanArray.put(holder.bindingAdapterPosition, true)
MtaHelper.onEvent(MTA_KEY_GAME_NEW, "展开更新内容", mGameName)
+ NewLogUtils.logGameDetailUpdatedClick(mViewModel.game?.name ?: "", mViewModel.game?.id ?: "", "全部")
}
historyVersionTv.setOnClickListener {
MtaHelper.onEvent("历史版本", "进入", mGameName)
@@ -451,12 +465,14 @@ class DescAdapter(
"游戏详情[${mGameName}]:更新内容"
)
mContext.startActivity(intent)
+ NewLogUtils.logGameDetailUpdatedClick(mViewModel.game?.name ?: "", mViewModel.game?.id ?: "", "历史版本")
}
historyVersionTv.visibility =
if (updateContent.historyApkStatus == "on" && updateContent.historyApkCount >= 1) View.VISIBLE else View.GONE
contentTv.setExpandCallback {
MtaHelper.onEvent(MTA_KEY_GAME_NEW, "展开更新内容", mGameName)
}
+ NewLogUtils.logGameDetailUpdatedView(mViewModel.game?.name ?: "", mViewModel.game?.id ?: "")
}
}
@@ -496,6 +512,9 @@ class DescAdapter(
mNewGameDetailEntity?.me
)
mContext.startActivity(intent)
+ mViewModel.game?.let {
+ NewLogUtils.logGameDetailOpenListClick(it.name ?: "", it.id, "更多")
+ }
}
if (server.showDes && server.des.isNotEmpty()) {
tipsIv.visibility = View.VISIBLE
@@ -504,6 +523,9 @@ class DescAdapter(
DialogUtils.showKaifuRemindDialog(mContext, server.des, mGameName)
}
}
+ mViewModel.game?.let {
+ NewLogUtils.logGameDetailOpenListView(it.name ?: "", it.id)
+ }
}
}
@@ -568,7 +590,7 @@ class DescAdapter(
galleryRv.apply {
background = R.drawable.background_shape_white_radius_5.toDrawable(mContext)
layoutManager = LinearLayoutManager(mContext)
- adapter = adapter ?: GameLibaoAdapter(mContext, libao, mGameName, mListListener)
+ adapter = adapter ?: GameLibaoAdapter(mContext, libao, mGameName, mViewModel.game?.id ?: "", mListListener)
if (itemDecorationCount == 0) {
val itemDecoration = HorizontalDividerItemDecoration.Builder(mContext)
.size(0.5F.dip2px())
@@ -580,6 +602,9 @@ class DescAdapter(
}
titleTv.text = "游戏礼包"
moreTv.visibility = View.GONE
+ mViewModel.game?.let {
+ NewLogUtils.logGameDetailGiftView(it.name ?: "", it.id)
+ }
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescCommentsAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescCommentsAdapter.kt
index 2ddc297133..9cf2eb776b 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescCommentsAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescCommentsAdapter.kt
@@ -10,12 +10,17 @@ import android.widget.PopupWindow
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseActivity
-import com.gh.common.constant.Constants
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.callback.ConfirmListener
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.ItemGameDetailRatingCommentBinding
import com.gh.gamecenter.entity.RatingComment
import com.gh.gamecenter.eventbus.EBReuse
@@ -115,15 +120,18 @@ class DescCommentsAdapter(
}
sdvUserBadge.setOnClickListener {
- DialogUtils.showViewBadgeDialog(mContext, commentData.user.badge) {
- MtaHelper.onEvent("进入徽章墙_用户记录", "游戏详情-玩家评论", "${commentData.user.name}(${commentData.user.id})")
- MtaHelper.onEvent("徽章中心", "进入徽章中心", "游戏详情-玩家评论")
- DirectUtils.directToBadgeWall(mContext, commentData.user.id, commentData.user.name, commentData.user.icon)
- }
+ DialogUtils.showViewBadgeDialog(mContext, commentData.user.badge, object : ConfirmListener {
+ override fun onConfirm() {
+ MtaHelper.onEvent("进入徽章墙_用户记录", "游戏详情-玩家评论", "${commentData.user.name}(${commentData.user.id})")
+ MtaHelper.onEvent("徽章中心", "进入徽章中心", "游戏详情-玩家评论")
+ DirectUtils.directToBadgeWall(mContext, commentData.user.id, commentData.user.name, commentData.user.icon)
+ }
+ })
}
userIcon.setOnClickListener {
DirectUtils.directToHomeActivity(mContext, commentData.user.id, mEntrance, "游戏详情-玩家评论")
MtaHelper.onEvent("游戏详情_新", "玩家评论_点击用户头像", mViewModel.game?.name)
+ NewLogUtils.logGameDetailCommentClick(mViewModel.game?.name ?: "", mViewModel.game?.id?:"","个人主页")
}
userName.setOnClickListener {
userIcon.performClick()
@@ -140,6 +148,7 @@ class DescCommentsAdapter(
val intent = RatingReplyActivity.getIntent(mContext, mViewModel.game!!, commentData, mEntrance, path)
SyncDataBetweenPageHelper.startActivityForResult(mContext, intent, RATING_REPLY_REQUEST, position)
MtaHelper.onEvent("游戏详情_新", "玩家评论_点击评论", mViewModel.game?.name)
+ NewLogUtils.logGameDetailCommentClick(mViewModel.game?.name ?: "", mViewModel.game?.id?:"","评论内容")
}
content.setExpandCallback {
MtaHelper.onEvent("游戏详情_新", "玩家评论_点击全文", mViewModel.game?.name)
@@ -199,6 +208,7 @@ class DescCommentsAdapter(
holder.itemView.setOnClickListener {
EventBus.getDefault().post(EBReuse(GameDetailFragment.SKIP_RATING))
MtaHelper.onEvent("游戏详情_新", "玩家评论_查看全部评论", gameName)
+ NewLogUtils.logGameDetailCommentClick(mViewModel.game?.name ?: "", mViewModel.game?.id?:"","查看全部评论")
}
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt
index cb099734b1..18365c7db4 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt
@@ -7,12 +7,18 @@ import android.view.View
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.fragment.BaseFragment
-import com.gh.common.constant.Constants
-import com.gh.common.iinterface.IScrollable
+import com.gh.gamecenter.common.base.fragment.BaseFragment
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.core.iinterface.IScrollable
import com.gh.common.util.*
import com.gh.gamecenter.LibaoDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.observeNonNull
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.common.utils.viewModelProviderFromParent
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.FragmentDescBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.LibaoEntity
@@ -85,11 +91,11 @@ class DescFragment : BaseFragment(), IScrollable {
override fun onCreate(savedInstanceState: Bundle?) {
mGameEntity = arguments?.getParcelable(GameEntity.TAG)
- openVideoStreaming = arguments?.getBoolean(EntranceUtils.KEY_OPEN_VIDEO_STREAMING, false)
+ openVideoStreaming = arguments?.getBoolean(EntranceConsts.KEY_OPEN_VIDEO_STREAMING, false)
?: false
- mScrollToLibao = arguments?.getBoolean(EntranceUtils.KEY_SCROLL_TO_LIBAO, false)
+ mScrollToLibao = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, false)
?: false
- mScrollToServer = arguments?.getBoolean(EntranceUtils.KEY_SCROLL_TO_SERVER, false)
+ mScrollToServer = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, false)
?: false
val gameDetailFactory = GameDetailViewModel.Factory(HaloApp.getInstance().application, mGameEntity?.id, mGameEntity)
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 c929f7c77a..4381d820e7 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
@@ -9,18 +9,20 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.facebook.common.util.UriUtil
-import com.gh.common.constant.Constants
-import com.gh.common.exposure.meta.MetaUtil
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.exposure.meta.MetaUtil
import com.gh.common.repository.RemenkapaiRepository
import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.entity.ErrorEntity
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.SubjectEntity
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.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.halo.assistant.HaloApp
import com.lightgame.utils.Utils
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt
index 9b28810d6a..067b875070 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt
@@ -6,10 +6,13 @@ import android.net.Uri
import android.text.Spanned
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.*
-import com.gh.common.view.CenterImageSpan
-import com.gh.common.view.CustomLinkMovementMethod
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.common.view.CustomLinkMovementMethod
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.tryWithDefaultCatch
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.GamedetailItemCustomColumnItemBinding
import com.gh.gamecenter.entity.TagEntity
import com.lightgame.adapter.BaseRecyclerAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt
index 21182428f5..9ac3575560 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt
@@ -10,6 +10,12 @@ import com.gh.common.DefaultUrlHandler
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
+import com.gh.gamecenter.common.utils.DialogHelper
+import com.gh.gamecenter.common.utils.ShareUtils
+import com.gh.gamecenter.core.utils.TimeUtils
+import com.gh.gamecenter.common.utils.copyTextAndToast
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.ItemGameInfoBinding
import com.gh.gamecenter.gamedetail.dialog.GamePermissionDialogFragment
import com.gh.gamecenter.gamedetail.entity.GameInfo
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameGalleryAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameGalleryAdapter.kt
index 1c7400254c..47f63ed40e 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameGalleryAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameGalleryAdapter.kt
@@ -4,11 +4,17 @@ import android.content.Context
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.facebook.drawee.view.SimpleDraweeView
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.common.util.*
-import com.gh.common.view.WrapContentDraweeView
+import com.gh.gamecenter.common.view.WrapContentDraweeView
import com.gh.gamecenter.ImageViewerActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.setDebouncedClickListener
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toPx
+import com.gh.gamecenter.common.utils.ImageUtils
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.GalleryVideoItemBinding
import com.gh.gamecenter.databinding.GamedetailScreenshotItemBinding
import com.gh.gamecenter.entity.GameDetailEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLatestServiceAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLatestServiceAdapter.kt
index 0de452c641..0779c73f77 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLatestServiceAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLatestServiceAdapter.kt
@@ -7,9 +7,9 @@ import android.view.View.MeasureSpec
import android.view.ViewGroup
import android.view.ViewTreeObserver
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.TimeUtils
-import com.gh.common.util.safelyGetInRelease
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.core.utils.TimeUtils
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.databinding.ItemGameDetailLatestServiceBinding
import com.gh.gamecenter.databinding.ItemGameDetailMoreBinding
import com.gh.gamecenter.entity.ServerCalendarEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt
index 2a85525971..8ea0d83c6b 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt
@@ -5,15 +5,27 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.OnListClickListener
+import com.gh.gamecenter.common.callback.OnListClickListener
import com.gh.common.util.*
import com.gh.gamecenter.R
+import com.gh.gamecenter.core.utils.SpanBuilder
+import com.gh.gamecenter.common.utils.copyTextAndToast
+import com.gh.gamecenter.common.utils.fromHtml
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.ItemGameDetailMoreBinding
import com.gh.gamecenter.databinding.ItemGameLibaoBinding
import com.gh.gamecenter.entity.LibaoEntity
import com.gh.gamecenter.manager.UserManager
-class GameLibaoAdapter(val context: Context, val libaos: ArrayList, val gameName: String, val listListener: OnListClickListener?) : RecyclerView.Adapter() {
+class GameLibaoAdapter(
+ val context: Context,
+ val libaos: ArrayList,
+ val gameName: String,
+ val gameId: String,
+ val listListener: OnListClickListener?
+) :
+ RecyclerView.Adapter() {
var mIsExpand = false
private val mShowItemCount: Int = 3//最多展示多少个礼包
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
@@ -120,7 +132,7 @@ class GameLibaoAdapter(val context: Context, val libaos: ArrayList,
}
// LibaoUtils.setLiBaoBtnStatusRound(holder.binding.receiveTv, libaoEntity,true, context)
- LibaoUtils.initLibaoBtn(context, holder.binding.receiveTv, libaoEntity, false, null, true, "游戏详情"){
+ LibaoUtils.initLibaoBtn(context, holder.binding.receiveTv, libaoEntity, false, null, true, "游戏详情") {
notifyItemChanged(position)
}
if (!libaoEntity.packageName.isNullOrEmpty()) {
@@ -130,6 +142,7 @@ class GameLibaoAdapter(val context: Context, val libaos: ArrayList,
}
holder.itemView.setOnClickListener {
listListener?.onListClick(it, position, libaoEntity)
+ NewLogUtils.logGameDetailGiftClick(gameName, gameId, "礼包详情")
}
}
is MoreViewHolder -> {
@@ -138,7 +151,7 @@ class GameLibaoAdapter(val context: Context, val libaos: ArrayList,
if (!mIsExpand) MtaHelper.onEvent("游戏详情_新", "游戏礼包_展开", gameName)
mIsExpand = !mIsExpand
notifyDataSetChanged()
-
+ NewLogUtils.logGameDetailGiftClick(gameName, gameId, "更多")
}
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt
index 7bedf295d8..1dabfb6ede 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt
@@ -6,8 +6,12 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.gh.common.DefaultUrlHandler
import com.gh.common.util.*
+import com.gh.common.util.LogUtils
import com.gh.gamecenter.NewsDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.TimeUtils
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.ItemGameRaidersBinding
import com.gh.gamecenter.databinding.ItemGameRaidersFixedTopBinding
import com.gh.gamecenter.entity.GameEntity
@@ -74,7 +78,6 @@ class GameRaidersAdapter(val context: Context, val articles: ArrayList" + article.title)
MtaHelper.onEvent("游戏详情_新", "新手攻略卡片", "${game?.name}+${article.title}")
// 统计阅读量
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRelatedVersionAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRelatedVersionAdapter.kt
index f454086e5c..5fb6f878e3 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRelatedVersionAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRelatedVersionAdapter.kt
@@ -9,6 +9,10 @@ import com.gh.common.exposure.ExposureEvent
import com.gh.common.util.*
import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.core.utils.StringUtils
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.ItemGameDetailRelatedVersionBinding
import com.gh.gamecenter.entity.GameDetailEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventAdapter.kt
index 7bc1bd602f..12ea06f8bd 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventAdapter.kt
@@ -11,8 +11,8 @@ import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.gh.common.util.DirectUtils
-import com.gh.common.util.TimeUtils
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.core.utils.TimeUtils
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.ItemGameDetailBigEventBinding
import com.gh.gamecenter.gamedetail.entity.BigEvent
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventDialog.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventDialog.kt
index b04ec2dcf8..ebb64d8af8 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameBigEventDialog.kt
@@ -4,26 +4,35 @@ import android.content.Context
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
import android.view.LayoutInflater
import android.view.Window
import android.widget.TextView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.dialog.TrackableDialog
-import com.gh.common.util.DisplayUtils
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.base.TrackableDialog
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.common.view.VerticalItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.gamedetail.entity.BigEvent
class GameBigEventDialog(
context: Context,
val gameName: String,
+ val gameId: String,
val bigEvents: List,
val mEntrance: String,
mEvent: String,
mKey: String,
mValue: String
) : TrackableDialog(context, R.style.GhAlertDialog, mEvent, mKey, mValue) {
+
+ private val mDelayLogRunnable = Runnable {
+ NewLogUtils.logGameDetailMajorEventView(gameName, gameId)
+ }
+
override fun onStart() {
super.onStart()
if (window != null) {
@@ -50,11 +59,18 @@ class GameBigEventDialog(
closeTv.setOnClickListener {
dismiss()
}
+ setOnCancelListener {
+ mHandler.removeCallbacks(mDelayLogRunnable)
+ }
+
+ mHandler.postDelayed(mDelayLogRunnable, 3000)
}
companion object {
- fun showGameBigEventDialog(context: Context, gameName: String, bigEvents: List, mEntrance: String) {
- val dialog = GameBigEventDialog(context, gameName, bigEvents, mEntrance, "游戏大事件", "弹窗", gameName)
+ private val mHandler = Handler(Looper.getMainLooper())
+
+ fun showGameBigEventDialog(context: Context, gameName: String, gameId: String, bigEvents: List, mEntrance: String) {
+ val dialog = GameBigEventDialog(context, gameName, gameId, bigEvents, mEntrance, "游戏大事件", "弹窗", gameName)
dialog.show()
}
}
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 be75607b89..716e429e0b 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
@@ -5,11 +5,11 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
-import com.gh.common.dialog.BaseDraggableDialogFragment
+import com.gh.gamecenter.common.base.fragment.BaseDraggableDialogFragment
import com.gh.common.util.EnergyTaskHelper.postEnergyTask
-import com.gh.common.util.MtaHelper
-import com.gh.common.util.ShareUtils
-import com.gh.common.util.isPublishEnv
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.gamecenter.common.utils.ShareUtils
+import com.gh.gamecenter.common.utils.isPublishEnv
import com.gh.gamecenter.R
import com.gh.gamecenter.SuggestionActivity
import com.gh.gamecenter.WebActivity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionAdapter.kt
index da4641f0d4..a73a249ff0 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionAdapter.kt
@@ -8,9 +8,9 @@ import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.dip2px
-import com.gh.common.util.toBinding
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toBinding
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.GamePermissionItemBinding
import com.gh.gamecenter.gamedetail.entity.Permission
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionDialogFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionDialogFragment.kt
index b5439c631f..c83bc32a51 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionDialogFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GamePermissionDialogFragment.kt
@@ -6,13 +6,13 @@ import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
-import com.gh.base.fragment.BaseDialogFragment
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
import com.gh.common.DefaultUrlHandler
-import com.gh.common.util.DialogUtils
-import com.gh.common.util.dip2px
-import com.gh.common.util.goneIf
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
+import com.gh.gamecenter.common.callback.ConfirmListener
import com.gh.gamecenter.databinding.GamePermissionDialogBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.gamedetail.entity.GameInfo
@@ -23,7 +23,7 @@ class GamePermissionDialogFragment : BaseDialogFragment() {
private var mGame: GameEntity? = null
private var mGameInfo: GameInfo? = null
- var callback: DialogUtils.ConfirmListener? = null
+ var callback: ConfirmListener? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -81,7 +81,7 @@ class GamePermissionDialogFragment : BaseDialogFragment() {
fun show(activity: AppCompatActivity,
game: GameEntity?,
gameInfo: GameInfo?,
- callBack: DialogUtils.ConfirmListener? = null) {
+ callBack: ConfirmListener? = null) {
if (callBack == null || game?.permissionDialogStatus == "on") {
GamePermissionDialogFragment().apply {
arguments = Bundle().apply {
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt
index b3e238d378..d005541ef7 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/GameTagsDialog.kt
@@ -10,20 +10,20 @@ import androidx.core.content.ContextCompat
import androidx.core.os.bundleOf
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.LinearLayoutManager
-import com.gh.common.dialog.BaseTrackableDialogFragment
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.EntranceUtils
-import com.gh.common.util.MtaHelper
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.common.util.NewLogUtils
-import com.gh.common.view.divider.HorizontalDividerItemDecoration
+import com.gh.gamecenter.common.view.divider.HorizontalDividerItemDecoration
import com.gh.download.dialog.DownloadDialog
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
import com.gh.gamecenter.databinding.DialogGameTagsBinding
import com.gh.gamecenter.entity.TagStyleEntity
import com.gh.gamecenter.tag.TagsActivity
import com.halo.assistant.HaloApp
-class GameTagsDialog : BaseTrackableDialogFragment() {
+class GameTagsDialog : BaseDialogFragment() {
private lateinit var mTagStyles: ArrayList
private lateinit var mGameId: String
@@ -32,9 +32,9 @@ class GameTagsDialog : BaseTrackableDialogFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- mGameId = requireArguments().getString(EntranceUtils.KEY_GAME_ID) ?: ""
- mGameName = requireArguments().getString(EntranceUtils.KEY_GAME_NAME) ?: ""
- mTagStyles = requireArguments().getParcelableArrayList(EntranceUtils.KEY_TAGTYPE)
+ mGameId = requireArguments().getString(EntranceConsts.KEY_GAME_ID) ?: ""
+ mGameName = requireArguments().getString(EntranceConsts.KEY_GAME_NAME) ?: ""
+ mTagStyles = requireArguments().getParcelableArrayList(EntranceConsts.KEY_TAGTYPE)
?: ArrayList()
}
@@ -79,18 +79,13 @@ class GameTagsDialog : BaseTrackableDialogFragment() {
}
}
- override fun getEvent(): String = "游戏标签弹窗"
-
- override fun getKey(): String = "弹窗"
-
- override fun getValue(): String = mGameName
-
companion object {
fun showGameTagsDialog(context: FragmentActivity, tagStyles: ArrayList, gameId: String, gameName: String) {
val dialog = GameTagsDialog().apply {
- arguments = bundleOf(EntranceUtils.KEY_GAME_ID to gameId,
- EntranceUtils.KEY_GAME_NAME to gameName,
- EntranceUtils.KEY_TAGTYPE to tagStyles
+ arguments = bundleOf(
+ EntranceConsts.KEY_GAME_ID to gameId,
+ EntranceConsts.KEY_GAME_NAME to gameName,
+ EntranceConsts.KEY_TAGTYPE to tagStyles
)
}
dialog.show(context.supportFragmentManager, DownloadDialog::class.java.name)
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/InviteCodeDialog.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/InviteCodeDialog.kt
index db3fdf7e36..e1804977af 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/InviteCodeDialog.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/dialog/InviteCodeDialog.kt
@@ -4,13 +4,13 @@ import android.annotation.SuppressLint
import android.os.Bundle
import android.view.*
import androidx.appcompat.app.AppCompatActivity
-import com.gh.common.dialog.BaseDraggableDialogFragment
+import com.gh.gamecenter.common.base.fragment.BaseDraggableDialogFragment
import com.gh.common.util.EnergyTaskHelper
-import com.gh.common.util.ToastUtils
+import com.gh.gamecenter.core.utils.ToastUtils
import com.gh.gamecenter.databinding.DialogInviteCodeBinding
import com.gh.gamecenter.eventbus.EBTask
import com.gh.gamecenter.manager.UserManager
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import com.gh.gamecenter.security.BindPhoneActivity
import io.reactivex.android.schedulers.AndroidSchedulers
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiAdapter.kt
index 20f398b5fe..010d4f0b19 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiAdapter.kt
@@ -7,13 +7,21 @@ import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.*
+import com.gh.common.util.DataCollectionUtils
+import com.gh.common.util.DirectUtils
+import com.gh.common.util.LogUtils
import com.gh.gamecenter.GameNewsActivity
import com.gh.gamecenter.NewsDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.SuggestionActivity
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.adapter.viewholder.GameDetailNoticeViewHolder
+import com.gh.gamecenter.core.utils.StringUtils
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.setRootBackgroundColor
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toDrawable
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.GameGalleryListBinding
import com.gh.gamecenter.databinding.GamedetailItemAnswerBinding
import com.gh.gamecenter.databinding.GamedetailItemNoticeBinding
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt
index aaaec33b8a..44b3cdf686 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt
@@ -8,10 +8,13 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.ethanhua.skeleton.Skeleton
import com.ethanhua.skeleton.ViewSkeletonScreen
-import com.gh.base.fragment.LazyFragment
-import com.gh.common.iinterface.IScrollable
+import com.gh.gamecenter.common.base.fragment.LazyFragment
+import com.gh.gamecenter.core.iinterface.IScrollable
import com.gh.common.util.*
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.databinding.FragmentFuliBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.eventbus.EBReuse
@@ -60,7 +63,7 @@ class FuLiFragment : LazyFragment(), IScrollable {
override fun onFragmentFirstVisible() {
val gameEntity = arguments?.getParcelable(GameEntity.TAG) as? GameEntity
val gameDetailFactory = GameDetailViewModel.Factory(HaloApp.getInstance().application, gameEntity?.id, gameEntity)
- shouldScroolToLibao = arguments?.getBoolean(EntranceUtils.KEY_SCROLL_TO_LIBAO) ?: false
+ shouldScroolToLibao = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO) ?: false
mGameDetailViewModel = viewModelProviderFromParent(gameDetailFactory)
mFuLiViewModel = viewModelProvider()
@@ -165,11 +168,6 @@ class FuLiFragment : LazyFragment(), IScrollable {
EventBus.getDefault().post(EBReuse("showKaifuHint"))
}
}, 200)
- } else if (GameDetailFragment.SCROLL_TO_KAIFU == reuse.type && layoutManager != null) {
- DataUtils.onMtaEvent(context, "游戏详情开服表按钮", mFuLiViewModel?.game?.name)
- DataUtils.onMtaEvent(context, "游戏详情_新", "开服表", mFuLiViewModel?.game?.name)
-// val position = getServerPosition()
-// if (position > 0) layoutManager?.smoothScrollToPosition(mRecyclerView, null, position)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiViewModel.kt
index 868fa9b5e8..01ada55019 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiViewModel.kt
@@ -8,8 +8,6 @@ import com.gh.gamecenter.entity.UnifiedGameDetailEntity
import com.gh.gamecenter.gamedetail.entity.ZoneContentEntity
import com.gh.gamecenter.gamedetail.entity.ZoneEntity
import com.gh.gamecenter.mvvm.Resource
-import com.gh.gamecenter.retrofit.RetrofitManager
-import com.halo.assistant.HaloApp
class FuLiViewModel : ViewModel() {
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt
index ff1cd345d4..1be9650c03 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt
@@ -7,8 +7,8 @@ import androidx.recyclerview.widget.RecyclerView
import com.gh.common.util.DataCollectionUtils
import com.gh.common.util.DataUtils
import com.gh.common.util.NewsUtils
-import com.gh.common.util.toBinding
-import com.gh.common.view.DrawableView
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.view.DrawableView
import com.gh.gamecenter.NewsDetailActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.ItemGameDetailNewsBinding
@@ -44,8 +44,6 @@ class GameNewsAdapter(val context: Context, val article: ArrayList,
DataCollectionUtils.uploadClick(context, "新手攻略", "游戏详情", newsEntity.title)
- DataUtils.onMtaEvent(context, "游戏详情_新", "新手攻略", "${mFuLiViewModel?.game?.name}+${newsEntity.title}")
-
// 统计阅读量
NewsUtils.statNewsViews(newsEntity.id)
NewsDetailActivity.startNewsDetailActivity(context, newsEntity,
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerAdapter.kt
index 77b44d3ffc..b7fe6826be 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerAdapter.kt
@@ -3,12 +3,12 @@ package com.gh.gamecenter.gamedetail.fuli.answer
import android.content.Context
import android.view.ViewGroup
import androidx.core.content.ContextCompat
-import com.gh.common.constant.Constants
-import com.gh.common.syncpage.ISyncAdapterHandler
-import com.gh.common.util.DisplayUtils
-import com.gh.common.util.MtaHelper
-import com.gh.common.util.StringUtils
-import com.gh.common.util.visibleIf
+import com.gh.gamecenter.common.constant.Constants
+import com.gh.gamecenter.common.syncpage.ISyncAdapterHandler
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.gamecenter.core.utils.StringUtils
+import com.gh.gamecenter.common.utils.visibleIf
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.CommunityAnswerItemBinding
import com.gh.gamecenter.entity.CommunityEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerViewHolder.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerViewHolder.kt
index 869b281434..1dd75dba7e 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/answer/GameDetailAnswerViewHolder.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.gamedetail.fuli.answer
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.GamedetailItemAnswerBinding
class GameDetailAnswerViewHolder(val binding: GamedetailItemAnswerBinding) : BaseRecyclerViewHolder(binding.root)
\ No newline at end of file
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt
index 896036369a..d5b19545c2 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt
@@ -14,10 +14,12 @@ import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.ToolBarActivity
-import com.gh.common.util.*
+import com.gh.gamecenter.common.base.ToolBarActivity
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.SuggestionActivity
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.ActivityServersCalendarBinding
import com.gh.gamecenter.databinding.DialogServersCalendearDetailItemBinding
import com.gh.gamecenter.entity.*
@@ -32,6 +34,10 @@ class ServersCalendarActivity : ToolBarActivity() {
private lateinit var mBinding: ActivityServersCalendarBinding
private lateinit var mViewModel: ServersCalendarViewModel
+ private val mDelayLogRunnable = Runnable {
+ NewLogUtils.logGameDetailOpenCalendarView(mViewModel.game.name ?: "", mViewModel.game.id)
+ }
+
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
val serverCalendars = mViewModel.serverCalendarLiveData.value ?: return
@@ -105,8 +111,9 @@ class ServersCalendarActivity : ToolBarActivity() {
})
mViewModel.serversDetailLiveData.observeNonNull(this, callback = {
showServersDetailDialog(it)
+ NewLogUtils.logGameDetailOpenCalendarClick(mViewModel.game.name ?: "", mViewModel.game.id)
})
- mViewModel.serverCalendarLiveData.observe(this, androidx.lifecycle.Observer {
+ mViewModel.serverCalendarLiveData.observe(this) {
if (it != null) {
mViewModel.initDate()
initView()
@@ -114,17 +121,25 @@ class ServersCalendarActivity : ToolBarActivity() {
mBinding.includeLoading.root.visibility = View.GONE
mBinding.includeNoConnection.root.visibility = View.VISIBLE
}
- })
+ }
+ mBaseHandler.postDelayed(mDelayLogRunnable, 3000)
+ }
+
+ override fun onPause() {
+ super.onPause()
+ mBaseHandler.removeCallbacks(mDelayLogRunnable)
}
override fun onMenuItemClick(item: MenuItem?): Boolean {
if (item?.itemId == R.id.menu_post) {
MtaHelper.onEvent("开服日历表", "反馈", mViewModel.game.name)
- SuggestionActivity.startSuggestionActivity(this,
- SuggestType.normal,
- "service",
- StringUtils.buildString(mViewModel.game.name, ",", "开服信息问题反馈:"),
- SimpleGameEntity(id = mViewModel.game.id, name = mViewModel.game.name ?: ""))
+ SuggestionActivity.startSuggestionActivity(
+ this,
+ SuggestType.normal,
+ "service",
+ StringUtils.buildString(mViewModel.game.name, ",", "开服信息问题反馈:"),
+ SimpleGameEntity(id = mViewModel.game.id, name = mViewModel.game.name ?: "")
+ )
}
return super.onMenuItemClick(item)
}
@@ -303,10 +318,14 @@ class ServersCalendarActivity : ToolBarActivity() {
feedback.setOnClickListener {
if (mViewModel.meEntity?.isPartTime == true) {
- startActivityForResult(AddKaiFuActivity.getIntent(this,
+ startActivityForResult(
+ AddKaiFuActivity.getIntent(
+ this,
mViewModel.serverCalendarLiveData.value!!.last(),
mViewModel.serverCalendarLiveData.value as ArrayList,
- mViewModel.game.id, calendarEntity.server.first().getTime() * 1000), GAME_DETAIL_ADD_KAIFU_REQUEST)
+ mViewModel.game.id, calendarEntity.server.first().getTime() * 1000
+ ), GAME_DETAIL_ADD_KAIFU_REQUEST
+ )
} else {
val feedbackTime = if (calendarEntity.server.isNotEmpty()) {
calendarEntity.server[0].getFormatTime("yyyy年M月d日")
@@ -314,8 +333,9 @@ class ServersCalendarActivity : ToolBarActivity() {
throwExceptionInDebug("server data is null")
""
}
- SuggestionActivity.startSuggestionActivity(this, SuggestType.normal, "service"
- , StringUtils.buildString(mViewModel.game.name, ",", feedbackTime, "开服信息有误:"))
+ SuggestionActivity.startSuggestionActivity(
+ this, SuggestType.normal, "service", StringUtils.buildString(mViewModel.game.name, ",", feedbackTime, "开服信息有误:")
+ )
}
}
@@ -345,12 +365,15 @@ class ServersCalendarActivity : ToolBarActivity() {
holder.binding.add.visibility = View.GONE
}
holder.binding.add.setOnClickListener {
- startActivityForResult(AddKaiFuActivity.getIntent(this@ServersCalendarActivity,
+ startActivityForResult(
+ AddKaiFuActivity.getIntent(
+ this@ServersCalendarActivity,
data,
mViewModel.serverCalendarLiveData.value as ArrayList,
mViewModel.game.id,
- mViewModel.getSelectTime(calendarEntity.day, calendarEntity.month, calendarEntity.year))
- , ServersCalendarActivity.GAME_DETAIL_ADD_KAIFU_REQUEST)
+ mViewModel.getSelectTime(calendarEntity.day, calendarEntity.month, calendarEntity.year)
+ ), ServersCalendarActivity.GAME_DETAIL_ADD_KAIFU_REQUEST
+ )
}
if (itemCount == position + 1) {
holder.itemView.setPadding(0, 5F.dip2px(), 0, 19F.dip2px())
@@ -372,7 +395,7 @@ class ServersCalendarActivity : ToolBarActivity() {
mBinding.dividerLine2.setBackgroundColor(R.color.background.toColor(this))
mBinding.year.setTextColor(R.color.text_title.toColor(this))
mBinding.recyclerView.recycledViewPool.clear()
- mBinding.recyclerView.adapter?.notifyItemRangeChanged(0,mBinding.recyclerView.adapter?.itemCount?:0)
+ mBinding.recyclerView.adapter?.notifyItemRangeChanged(0, mBinding.recyclerView.adapter?.itemCount ?: 0)
}
companion object {
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarAdapter.kt
index 485d670404..78a68e0b35 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarAdapter.kt
@@ -9,11 +9,11 @@ import android.view.ViewGroup
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.MtaHelper
-import com.gh.common.util.dip2px
-import com.gh.common.util.toBinding
-import com.gh.common.util.toColor
-import com.gh.common.view.DrawableView
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.gamecenter.common.utils.dip2px
+import com.gh.gamecenter.common.utils.toBinding
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.view.DrawableView
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.GameDetailCalenderViewHolder
import com.gh.gamecenter.entity.CalendarEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt
index 8d9815020a..443e0ab83a 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt
@@ -6,9 +6,9 @@ import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.util.throwExceptionInDebug
+import com.gh.gamecenter.common.utils.throwExceptionInDebug
import com.gh.gamecenter.entity.*
-import com.gh.gamecenter.retrofit.BiResponse
+import com.gh.gamecenter.common.retrofit.BiResponse
import com.gh.gamecenter.retrofit.RetrofitManager
import io.reactivex.Single
import io.reactivex.SingleEmitter
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersDetailViewHolder.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersDetailViewHolder.kt
index 53a54af874..b435504547 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersDetailViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersDetailViewHolder.kt
@@ -2,8 +2,8 @@ package com.gh.gamecenter.gamedetail.fuli.kaifu
import android.app.Activity
import android.graphics.Paint
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.toColor
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.DialogServersCalendearDetailItemBinding
import com.gh.gamecenter.entity.GameEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java
index 9a0ce6a0b1..4e6d5fd12b 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java
@@ -8,9 +8,9 @@ import android.view.ViewGroup;
import com.gh.common.constant.Config;
import com.gh.common.util.DataUtils;
-import com.gh.common.util.DisplayUtils;
-import com.gh.common.util.ImageUtils;
-import com.gh.common.util.MtaHelper;
+import com.gh.gamecenter.core.utils.DisplayUtils;
+import com.gh.gamecenter.common.utils.ImageUtils;
+import com.gh.gamecenter.core.utils.MtaHelper;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.WebActivity;
@@ -104,7 +104,6 @@ public class GameDetailToolsAdapter extends BaseRecyclerAdapter {
viewHolder.itemView.setOnClickListener(v -> {
String url = toolBoxEntity.getUrl();
- DataUtils.onMtaEvent(mContext, "游戏详情_新", "游戏工具", mGameName + "+" + toolBoxEntity.getName());
if (url != null && url.contains(Config.URL_ARTICLE)) {
// 写个注释例子, http://www.ghzs666.com/article/${articleId}.html
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListActivity.kt
index c126d0ecc3..736ffd0477 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListActivity.kt
@@ -3,20 +3,20 @@ package com.gh.gamecenter.gamedetail.history
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.base.BaseActivity
-import com.gh.common.util.EntranceUtils
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.entity.GameEntity
-class HistoryApkListActivity : NormalActivity() {
+class HistoryApkListActivity : ToolBarActivity() {
companion object {
fun getIntent(context: Context, gameEntity: GameEntity, entrance: String, path: String): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path))
- bundle.putString(EntranceUtils.KEY_GAMEID, gameEntity.id)
- bundle.putParcelable(EntranceUtils.KEY_GAME, gameEntity)
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path))
+ bundle.putString(EntranceConsts.KEY_GAMEID, gameEntity.id)
+ bundle.putParcelable(EntranceConsts.KEY_GAME, gameEntity)
return getTargetIntent(context, HistoryApkListActivity::class.java, HistoryApkListFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListAdapter.kt
index 92ff109e1a..ee0136591e 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListAdapter.kt
@@ -12,7 +12,7 @@ import androidx.constraintlayout.widget.ConstraintSet
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.g00fy2.versioncompare.Version
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.exposure.ExposureEvent
import com.gh.common.exposure.ExposureSource
import com.gh.common.exposure.IExposable
@@ -22,6 +22,11 @@ import com.gh.common.xapk.XapkUnzipStatus
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.DialogHelper
+import com.gh.gamecenter.core.utils.TimeUtils
+import com.gh.gamecenter.common.utils.getMetaExtra
+import com.gh.gamecenter.common.utils.setRootBackgroundColor
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.ItemHistoryApkBinding
import com.gh.gamecenter.entity.ApkEntity
import com.gh.gamecenter.entity.GameEntity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListFragment.kt
index 4060b8de0e..e6d1b846fe 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListFragment.kt
@@ -6,12 +6,18 @@ import android.view.View
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.gh.common.exposure.ExposureListener
-import com.gh.common.util.*
-import com.gh.common.view.CustomDividerItemDecoration
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.view.CustomDividerItemDecoration
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListAdapter
import com.gh.gamecenter.baselist.ListFragment
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.observeNonNull
+import com.gh.gamecenter.common.utils.setRootBackgroundColor
+import com.gh.gamecenter.common.utils.viewModelProvider
+import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.databinding.FragmentHistoryApkListBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.eventbus.EBPackage
@@ -20,7 +26,6 @@ import com.lightgame.download.DataWatcher
import com.lightgame.download.DownloadEntity
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
-import splitties.views.dsl.core.add
class HistoryApkListFragment : ListFragment() {
@@ -30,6 +35,10 @@ class HistoryApkListFragment : ListFragment
private val mBinding by lazy { FragmentHistoryApkListBinding.inflate(layoutInflater) }
+ private val mDelayLogRunnable = Runnable {
+ NewLogUtils.logGameDetailHistoryVersionView(mViewModel?.game?.name ?: "", mViewModel?.game?.id ?: "")
+ }
+
private val dataWatcher = object : DataWatcher() {
override fun onDataChanged(downloadEntity: DownloadEntity) {
mAdapter?.notifyItemByDownload(downloadEntity)
@@ -50,6 +59,7 @@ class HistoryApkListFragment : ListFragment
mExposureListener = ExposureListener(this, mAdapter!!)
mListRv.addOnScrollListener(mExposureListener)
+ mBaseHandler.postDelayed(mDelayLogRunnable, 3000)
}
override fun onResume() {
@@ -61,6 +71,7 @@ class HistoryApkListFragment : ListFragment
override fun onPause() {
super.onPause()
DownloadManager.getInstance().removeObserver(dataWatcher)
+ mBaseHandler.removeCallbacks(mDelayLogRunnable)
}
override fun getItemDecoration(): RecyclerView.ItemDecoration {
@@ -79,14 +90,14 @@ class HistoryApkListFragment : ListFragment
override fun getLayoutId() = 0
override fun getInflatedLayout() = mBinding.root
- override fun isAutomaticLoad() = arguments?.getParcelable(EntranceUtils.KEY_GAME) != null
+ override fun isAutomaticLoad() = arguments?.getParcelable(EntranceConsts.KEY_GAME) != null
override fun provideListViewModel(): HistoryApkListViewModel {
if (mViewModel == null) {
val factory = HistoryApkListViewModel.Factory(
HaloApp.getInstance().application,
- arguments?.getString(EntranceUtils.KEY_GAMEID) ?: "",
- arguments?.getParcelable(EntranceUtils.KEY_GAME)
+ arguments?.getString(EntranceConsts.KEY_GAMEID) ?: "",
+ arguments?.getParcelable(EntranceConsts.KEY_GAME)
)
mViewModel = viewModelProvider(factory)
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt
index d04703a60c..f11a0fdff2 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt
@@ -4,12 +4,12 @@ import android.app.Application
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.baselist.LoadType
import com.gh.gamecenter.entity.ApkEntity
import com.gh.gamecenter.entity.GameEntity
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.lightgame.download.DownloadEntity
import io.reactivex.Single
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingActivity.kt
index 1fb370f8e0..2e6373cd8c 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingActivity.kt
@@ -3,20 +3,20 @@ package com.gh.gamecenter.gamedetail.myrating
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.base.BaseActivity
-import com.gh.common.util.EntranceUtils
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
import com.gh.gamecenter.R
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
/**
* 我的游戏评论
*/
-class MyRatingActivity : NormalActivity() {
+class MyRatingActivity : ToolBarActivity() {
companion object {
fun getIntent(context: Context, entrance: String, path: String): Intent {
val bundle = Bundle()
- bundle.putString(EntranceUtils.KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path))
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path))
return getTargetIntent(context, MyRatingActivity::class.java, MyRatingFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingAdapter.kt
index 14411d6862..1f161f8a78 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingAdapter.kt
@@ -5,11 +5,17 @@ import android.util.SparseBooleanArray
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.util.*
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.copyTextAndToast
+import com.gh.gamecenter.common.utils.goneIf
+import com.gh.gamecenter.common.utils.ifLogin
+import com.gh.gamecenter.common.utils.setTextWithHighlightedTextWrappedInsideWrapper
+import com.gh.gamecenter.common.utils.TextHelper
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.ItemMyGameRatingBinding
import com.gh.gamecenter.entity.TagStyleEntity
import com.gh.gamecenter.gamedetail.rating.RatingReplyActivity
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingFragment.kt
index ce17b49079..9c053a4f25 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingFragment.kt
@@ -6,11 +6,11 @@ import android.os.Bundle
import android.view.View
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.util.MtaHelper
-import com.gh.common.util.safelyGetInRelease
-import com.gh.common.util.toColor
-import com.gh.common.util.toDrawable
-import com.gh.common.view.CustomDividerItemDecoration
+import com.gh.gamecenter.core.utils.MtaHelper
+import com.gh.gamecenter.common.utils.safelyGetInRelease
+import com.gh.gamecenter.common.utils.toColor
+import com.gh.gamecenter.common.utils.toDrawable
+import com.gh.gamecenter.common.view.CustomDividerItemDecoration
import com.gh.gamecenter.MainActivity
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListAdapter
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewHolder.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewHolder.kt
index a7736f89aa..14dfa24c91 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/myrating/MyRatingViewHolder.kt
@@ -1,6 +1,6 @@
package com.gh.gamecenter.gamedetail.myrating
-import com.gh.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
import com.gh.gamecenter.databinding.ItemMyGameRatingBinding
class MyRatingViewHolder(var binding: ItemMyGameRatingBinding) : BaseRecyclerViewHolder(binding.root)
\ No newline at end of file
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 7a024cb8e4..24a5777741 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
@@ -3,12 +3,12 @@ package com.gh.gamecenter.gamedetail.myrating
import android.app.Application
import com.gh.common.util.ErrorHelper
import com.gh.common.util.EnergyTaskHelper
-import com.gh.common.util.toObject
+import com.gh.gamecenter.common.utils.toObject
import com.gh.gamecenter.baselist.ListViewModel
import com.gh.gamecenter.entity.ErrorEntity
import com.gh.gamecenter.manager.UserManager
import com.gh.gamecenter.personalhome.rating.MyRating
-import com.gh.gamecenter.retrofit.Response
+import com.gh.gamecenter.common.retrofit.Response
import com.gh.gamecenter.retrofit.RetrofitManager
import com.lightgame.utils.Utils
import io.reactivex.Observable
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt
index c12fd9d1ee..42ef1c0c75 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingAdapter.kt
@@ -9,11 +9,15 @@ import android.view.ViewGroup
import android.widget.ProgressBar
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.constant.ItemViewType
+import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.common.util.*
+import com.gh.common.util.DialogUtils
+import com.gh.common.util.NewLogUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder
import com.gh.gamecenter.baselist.ListAdapter
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.databinding.RatingCommentItemBinding
import com.gh.gamecenter.databinding.RatingItemBinding
import com.gh.gamecenter.entity.Rating
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingCommentItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingCommentItemViewHolder.kt
index 2d4d68d0a0..4e61de6656 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingCommentItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingCommentItemViewHolder.kt
@@ -18,15 +18,19 @@ import android.widget.LinearLayout
import android.widget.PopupWindow
import android.widget.TextView
import androidx.core.content.ContextCompat
-import com.gh.base.BaseActivity
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.constant.Constants
+import com.gh.gamecenter.common.base.BaseActivity
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.constant.Constants
import com.gh.common.util.*
-import com.gh.common.view.CenterImageSpan
-import com.gh.common.view.CustomLinkMovementMethod
-import com.gh.common.view.DrawableView
+import com.gh.common.util.DialogUtils
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.view.CustomLinkMovementMethod
+import com.gh.gamecenter.common.view.DrawableView
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
+import com.gh.gamecenter.common.callback.ConfirmListener
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.*
import com.gh.gamecenter.databinding.RatingCommentItemBinding
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.RatingComment
@@ -38,7 +42,6 @@ import com.squareup.picasso.Picasso
import io.reactivex.Single
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
-import splitties.views.setCompoundDrawables
import java.util.regex.Pattern
class RatingCommentItemViewHolder(val binding: RatingCommentItemBinding) : BaseRecyclerViewHolder(binding.root) {
@@ -161,20 +164,22 @@ class RatingCommentItemViewHolder(val binding: RatingCommentItemBinding) : BaseR
// "评论详情" -> "游戏评论详情"
// else -> ""
// }
- DialogUtils.showViewBadgeDialog(context, commentData.replyData!!.user.badge) {
+ DialogUtils.showViewBadgeDialog(context, commentData.replyData!!.user.badge, object : ConfirmListener {
+ override fun onConfirm() {
// MtaHelper.onEvent(
// "进入徽章墙_用户记录",
// key,
// "${commentData.replyData?.user?.name}(${commentData.replyData?.user?.id})"
// )
// MtaHelper.onEvent("徽章中心", "进入徽章中心", key)
- DirectUtils.directToBadgeWall(
- context,
- commentData.replyData!!.user.id,
- commentData.replyData!!.user.name,
- commentData.replyData!!.user.icon
- )
- }
+ DirectUtils.directToBadgeWall(
+ context,
+ commentData.replyData!!.user.id,
+ commentData.replyData!!.user.name,
+ commentData.replyData!!.user.icon
+ )
+ }
+ })
}
},
@@ -272,11 +277,13 @@ class RatingCommentItemViewHolder(val binding: RatingCommentItemBinding) : BaseR
}
sdvUserBadge.setOnClickListener {
- DialogUtils.showViewBadgeDialog(context, commentData.user.badge) {
+ DialogUtils.showViewBadgeDialog(context, commentData.user.badge, object : ConfirmListener {
+ override fun onConfirm() {
// MtaHelper.onEvent("进入徽章墙_用户记录", getKey(path), "${commentData.user.name}(${commentData.user.id})")
// MtaHelper.onEvent("徽章中心", "进入徽章中心", getKey(path))
- DirectUtils.directToBadgeWall(context, commentData.user.id, commentData.user.name, commentData.user.icon)
- }
+ DirectUtils.directToBadgeWall(context, commentData.user.id, commentData.user.name, commentData.user.icon)
+ }
+ })
}
tvBadgeName.setOnClickListener { sdvUserBadge.performClick() }
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFoldActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFoldActivity.kt
index 8b9dad38d1..4db4e4dd97 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFoldActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFoldActivity.kt
@@ -3,11 +3,11 @@ package com.gh.gamecenter.gamedetail.rating
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import com.gh.common.util.EntranceUtils
-import com.gh.gamecenter.NormalActivity
+import com.gh.gamecenter.common.base.ToolBarActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.entity.GameEntity
-class RatingFoldActivity : NormalActivity() {
+class RatingFoldActivity : ToolBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -18,8 +18,8 @@ class RatingFoldActivity : NormalActivity() {
fun getIntent(context: Context, game: GameEntity, entrance: String, path: String): Intent {
val bundle = Bundle()
bundle.putParcelable(GameEntity.TAG, game)
- bundle.putString(EntranceUtils.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
- bundle.putSerializable(EntranceUtils.KEY_LOCATION, RatingViewModel.RatingType.FOLD_RATING)
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
+ bundle.putSerializable(EntranceConsts.KEY_LOCATION, RatingViewModel.RatingType.FOLD_RATING)
return getTargetIntent(context, RatingFoldActivity::class.java, RatingFragment::class.java, bundle)
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFragment.kt
index 154c31f70e..fe28062dd1 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFragment.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingFragment.kt
@@ -10,14 +10,19 @@ import androidx.core.content.ContextCompat
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.RecyclerView
-import com.gh.common.iinterface.IScrollable
+import com.gh.gamecenter.core.iinterface.IScrollable
import com.gh.common.util.*
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.gamecenter.common.view.VerticalItemDecoration
import com.gh.gamecenter.R
import com.gh.gamecenter.WebActivity
import com.gh.gamecenter.baselist.LazyListFragment
import com.gh.gamecenter.baselist.LoadStatus
import com.gh.gamecenter.baselist.LoadType
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.toDrawable
+import com.gh.gamecenter.core.utils.SpanBuilder
+import com.gh.gamecenter.common.utils.toPx
+import com.gh.gamecenter.core.utils.MtaHelper
import com.gh.gamecenter.entity.GameEntity
import com.gh.gamecenter.entity.RatingComment
import com.gh.gamecenter.eventbus.EBReuse
@@ -38,7 +43,7 @@ class RatingFragment : LazyListFragment(), IScro
private var mRatingType: RatingViewModel.RatingType? = null
override fun onCreate(savedInstanceState: Bundle?) {
- mRatingType = arguments?.getSerializable(EntranceUtils.KEY_LOCATION) as? RatingViewModel.RatingType
+ mRatingType = arguments?.getSerializable(EntranceConsts.KEY_LOCATION) as? RatingViewModel.RatingType
?: RatingViewModel.RatingType.RATING
super.onCreate(savedInstanceState)
}
@@ -64,12 +69,17 @@ class RatingFragment : LazyListFragment(), IScro
}
override fun getItemDecoration(): RecyclerView.ItemDecoration? {
- return VerticalItemDecoration(requireContext(), 12F, mRatingType != RatingViewModel.RatingType.RATING, R.color.transparent)
+ return VerticalItemDecoration(
+ requireContext(),
+ 12F,
+ mRatingType != RatingViewModel.RatingType.RATING,
+ R.color.transparent
+ )
}
override fun provideListAdapter(): RatingAdapter {
if (mAdapter == null) {
- val directComment = arguments?.getBoolean(EntranceUtils.KEY_DIRECT_COMMENT, false)
+ val directComment = arguments?.getBoolean(EntranceConsts.KEY_DIRECT_COMMENT, false)
?: false
mAdapter = RatingAdapter(requireContext(), mListViewModel, directComment, mEntrance)
}
@@ -111,7 +121,7 @@ class RatingFragment : LazyListFragment(), IScro
super.onFragmentFirstVisible()
val horizontalPadding = R.dimen.game_detail_item_horizontal_padding.toPx()
- mSkipGameComment = arguments?.getBoolean(EntranceUtils.KEY_SKIP_GAME_COMMENT)
+ mSkipGameComment = arguments?.getBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT)
mListRv.setPadding(horizontalPadding, 0, horizontalPadding, 0)
mListRefresh?.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.transparent))
mListRefresh?.isEnabled = mRatingType != RatingViewModel.RatingType.RATING
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingItemViewHolder.kt
index 37c9a20f06..b55dd0567a 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingItemViewHolder.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingItemViewHolder.kt
@@ -4,9 +4,9 @@ import android.view.LayoutInflater
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.content.ContextCompat
-import com.gh.base.BaseRecyclerViewHolder
-import com.gh.common.util.showAutoOrientation
-import com.gh.common.view.BugFixedPopupWindow
+import com.gh.gamecenter.common.base.BaseRecyclerViewHolder
+import com.gh.gamecenter.common.utils.showAutoOrientation
+import com.gh.gamecenter.common.view.BugFixedPopupWindow
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.RatingItemBinding
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt
index 8b0cee0261..1e6f8a393a 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyActivity.kt
@@ -11,14 +11,19 @@ import androidx.core.content.ContextCompat
import androidx.core.widget.doOnTextChanged
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.RecyclerView
-import com.gh.base.fragment.WaitingDialogFragment
+import com.gh.gamecenter.common.base.fragment.WaitingDialogFragment
import com.gh.common.exposure.ExposureManager
import com.gh.common.util.*
-import com.gh.common.view.CustomDividerItemDecoration
-import com.gh.common.view.VerticalItemDecoration
+import com.gh.common.util.NewLogUtils
+import com.gh.gamecenter.common.view.VerticalItemDecoration
import com.gh.download.DownloadManager
import com.gh.gamecenter.R
import com.gh.gamecenter.baselist.ListActivity
+import com.gh.gamecenter.common.constant.EntranceConsts
+import com.gh.gamecenter.common.utils.*
+import com.gh.gamecenter.core.utils.DisplayUtils
+import com.gh.gamecenter.core.utils.KeyboardHeightObserver
+import com.gh.gamecenter.core.utils.KeyboardHeightProvider
import com.gh.gamecenter.databinding.ActivityRatingReplyBinding
import com.gh.gamecenter.databinding.PieceCommentTypingContainerBinding
import com.gh.gamecenter.entity.GameEntity
@@ -35,7 +40,8 @@ import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
import kotlin.math.abs
-class RatingReplyActivity : ListActivity(), KeyboardHeightObserver {
+class RatingReplyActivity : ListActivity(),
+ KeyboardHeightObserver {
private lateinit var mBinding: ActivityRatingReplyBinding
private lateinit var mInputBinding: PieceCommentTypingContainerBinding
@@ -122,7 +128,7 @@ class RatingReplyActivity : ListActivity(application) {
+class RatingReplyViewModel(
+ application: Application,
+ private val gameId: String?,
+ var game: GameEntity?,
+ val commentId: String?,
+ var comment: RatingComment?,
+ var showKeyboardIfReplyIsEmpty: Boolean,
+ val topCommentId: String
+) : ListViewModel(application) {
private val mApi = RetrofitManager.getInstance().api
private val mSensitiveApi = RetrofitManager.getInstance().api
@@ -43,6 +45,7 @@ class RatingReplyViewModel(application: Application,
val processDialog = MediatorLiveData()
private var mSortValue = SORT_POSITIVE
+ private var isHandleTopComment = false
init {
mRealLoadStatusLiveData.addSource(mLoadStatusLiveData) {
@@ -74,7 +77,11 @@ class RatingReplyViewModel(application: Application,
}
override fun provideDataObservable(page: Int): Observable> {
- return mApi.getCommentReply(game?.id, comment?.id, mSortValue, page)
+ val map = hashMapOf()
+ if (topCommentId.isNotEmpty()) {
+ map["top_comment_id"] = topCommentId
+ }
+ return mApi.getCommentReply(game?.id, comment?.id, mSortValue, page, map)
}
override fun mergeResultLiveData() {
@@ -100,67 +107,73 @@ class RatingReplyViewModel(application: Application,
}
}
- list?.let {
- for (entity in list) {
- val replyItem = RatingReplyItem()
- replyItem.reply = entity
- itemList.add(replyItem)
- }
+ list?.forEachIndexed { index, entity ->
+ val replyItem = RatingReplyItem()
+ replyItem.reply = entity
+ handleTopComment(index, entity)
+ itemList.add(replyItem)
}
mResultLiveData.postValue(itemList)
}
}
+ private fun handleTopComment(index: Int, entity: RatingReplyEntity) {
+ if (!isHandleTopComment && game != null && comment != null && topCommentId.isNotBlank() && index == 0) {
+ isHandleTopComment = true
+ entity.isHighlight = true
+ }
+ }
+
// 获取游戏摘要
private fun getGameDigest() {
mSensitiveApi.getGameDigest(gameId)
- .map(ApkActiveUtils.filterMapper)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(object : Response() {
- override fun onResponse(response: GameEntity?) {
- game = response
- if (comment == null) {
- getCommentDigest()
- } else {
- load(LoadType.REFRESH)
- headDataLiveData.postValue(true)
- }
+ .map(ApkActiveUtils.filterMapper)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(object : Response() {
+ override fun onResponse(response: GameEntity?) {
+ game = response
+ if (comment == null) {
+ getCommentDigest()
+ } else {
+ load(LoadType.REFRESH)
+ headDataLiveData.postValue(true)
}
+ }
- override fun onFailure(e: HttpException?) {
- if (e?.code() == 404) {
- mRealLoadStatusLiveData.postValue(LoadStatus.INIT_EMPTY)
- Utils.toast(getApplication(), R.string.comment_failed_unable)
- } else {
- mRealLoadStatusLiveData.postValue(LoadStatus.INIT_FAILED)
- }
+ override fun onFailure(e: HttpException?) {
+ if (e?.code() == 404) {
+ mRealLoadStatusLiveData.postValue(LoadStatus.INIT_EMPTY)
+ Utils.toast(getApplication(), R.string.comment_failed_unable)
+ } else {
+ mRealLoadStatusLiveData.postValue(LoadStatus.INIT_FAILED)
}
- })
+ }
+ })
}
private fun getCommentDigest() {
mApi.getGameComment(gameId, commentId)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(object : Response() {
- override fun onResponse(response: RatingComment?) {
- response?.replyData = null
- comment = response
- load(LoadType.REFRESH)
- headDataLiveData.postValue(true)
- }
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(object : Response() {
+ override fun onResponse(response: RatingComment?) {
+ response?.replyData = null
+ comment = response
+ load(LoadType.REFRESH)
+ headDataLiveData.postValue(true)
+ }
- override fun onFailure(e: HttpException?) {
- if (e?.code() == 404) {
- mRealLoadStatusLiveData.postValue(LoadStatus.INIT_EMPTY)
- Utils.toast(getApplication(), R.string.comment_failed_unable)
- } else {
- mRealLoadStatusLiveData.postValue(LoadStatus.INIT_FAILED)
- }
- headDataLiveData.postValue(false)
+ override fun onFailure(e: HttpException?) {
+ if (e?.code() == 404) {
+ mRealLoadStatusLiveData.postValue(LoadStatus.INIT_EMPTY)
+ Utils.toast(getApplication(), R.string.comment_failed_unable)
+ } else {
+ mRealLoadStatusLiveData.postValue(LoadStatus.INIT_FAILED)
}
- })
+ headDataLiveData.postValue(false)
+ }
+ })
}
fun replyComment(replyId: String?, content: String, successCallback: () -> Unit) {
@@ -180,30 +193,40 @@ class RatingReplyViewModel(application: Application,
}
val body = json.toRequestBody()
val observable =
- if (replyId.isNullOrEmpty()) {
- mApi.postCommentReply(game?.id, comment?.id, body)
- } else {
- mApi.postReplyToReply(game?.id, comment?.id, replyId, body)
- }
+ if (replyId.isNullOrEmpty()) {
+ mApi.postCommentReply(game?.id, comment?.id, body)
+ } else {
+ mApi.postReplyToReply(game?.id, comment?.id, replyId, body)
+ }
observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(object : Response() {
- override fun onResponse(response: ResponseBody?) {
- super.onResponse(response)
- processDialog.postValue(WaitingDialogFragment.WaitingDialogData("提交中...", false))
- Utils.toast(getApplication(), "发表成功")
- successCallback.invoke()
- comment!!.reply = comment!!.reply + 1
- load(LoadType.REFRESH)
- }
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(object : Response() {
+ override fun onResponse(response: ResponseBody?) {
+ super.onResponse(response)
+ processDialog.postValue(
+ WaitingDialogFragment.WaitingDialogData(
+ "提交中...",
+ false
+ )
+ )
+ Utils.toast(getApplication(), "发表成功")
+ successCallback.invoke()
+ comment!!.reply = comment!!.reply + 1
+ load(LoadType.REFRESH)
+ }
- override fun onFailure(e: HttpException?) {
- super.onFailure(e)
- processDialog.postValue(WaitingDialogFragment.WaitingDialogData("提交中...", false))
- ErrorHelper.handleError(getApplication(), e?.response()?.errorBody()?.string())
- }
- })
+ override fun onFailure(e: HttpException?) {
+ super.onFailure(e)
+ processDialog.postValue(
+ WaitingDialogFragment.WaitingDialogData(
+ "提交中...",
+ false
+ )
+ )
+ ErrorHelper.handleError(getApplication(), e?.response()?.errorBody()?.string())
+ }
+ })
}
fun voteReply(replyId: String, isVote: Boolean = true, callback: () -> Unit) {
@@ -213,75 +236,75 @@ class RatingReplyViewModel(application: Application,
mApi.postReplyUnvote(game?.id, comment?.id, replyId)
}
observable
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(object : Response() {
- override fun onResponse(response: ResponseBody?) {
- Utils.toast(getApplication(), if (isVote) "点赞成功" else "取消点赞")
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(object : Response() {
+ override fun onResponse(response: ResponseBody?) {
+ Utils.toast(getApplication(), if (isVote) "点赞成功" else "取消点赞")
- val list = mListLiveData.value
- if (list != null) {
- for (entity in list) {
- if (entity.id == replyId) {
- entity.me.isVoted = isVote
- entity.vote = if (isVote) entity.vote + 1 else entity.vote - 1
- }
+ val list = mListLiveData.value
+ if (list != null) {
+ for (entity in list) {
+ if (entity.id == replyId) {
+ entity.me.isVoted = isVote
+ entity.vote = if (isVote) entity.vote + 1 else entity.vote - 1
}
}
- callback.invoke()
}
+ callback.invoke()
+ }
- override fun onFailure(e: HttpException?) {
- val string = e?.response()?.errorBody()?.string()
- val errorEntity = string?.toObject