From 2df42c772bba942ef3058996a86d9267bb406a0b Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Mon, 13 Nov 2017 15:34:24 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E9=87=8D=E8=AF=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/gamecenter/MainActivity.java | 26 ++++++++++++++++++- libraries/LGLibrary | 2 +- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 1f95e765ce..007191df6b 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -37,6 +37,7 @@ import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.GameUtils; import com.gh.common.util.LoginUtils; +import com.gh.common.util.NetworkUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.PlatformUtils; import com.gh.common.util.TrafficUtils; @@ -47,8 +48,8 @@ import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameDigestEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.GameUpdateEntity; -import com.gh.gamecenter.entity.LoginResponseEntity; import com.gh.gamecenter.eventbus.EBDownloadStatus; +import com.gh.gamecenter.eventbus.EBNetworkState; import com.gh.gamecenter.eventbus.EBPackage; import com.gh.gamecenter.eventbus.EBShowDialog; import com.gh.gamecenter.eventbus.EBSkip; @@ -695,10 +696,24 @@ public class MainActivity extends BaseActivity { checkTinkerPath(); + checkRetryDownload(); + // 执行跳转事件 handler.postDelayed(skipRun, 500); } + private void checkRetryDownload() { + if (!NetworkUtils.isWifiConnected(this)) return; + + for (DownloadEntity downloadEntity : DownloadManager.getInstance(this).getAll()) { + if (DownloadStatus.neterror.equals(downloadEntity.getStatus()) || + DownloadStatus.timeout.equals(downloadEntity.getStatus())) { + DownloadManager.getInstance(this).add(downloadEntity); + } + Utils.log("checkRetryDownload::" + downloadEntity.getStatus()); + } + } + private void checkTinkerPath() { CommonDebug.logMethodWithParams(this, TinkerManager.getTinkerId(), TinkerManager.getNewTinkerId()); CommonDebug.logMethodWithParams(this, CrashReport.getAppVer(), CrashReport.getAppID(), CrashReport.getAppChannel(), CrashReport.getSdkExtraData()); @@ -908,6 +923,15 @@ public class MainActivity extends BaseActivity { } } + // 连接上网络事件 + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEventMainThread(EBNetworkState busNetworkState) { + if (busNetworkState.isNetworkConnected()) { + checkRetryDownload(); + } + } + + // TODO: 30/10/17 整理这个方法 @Subscribe(threadMode = ThreadMode.MAIN) public void onEventMainThread(EBPackage busFour) { diff --git a/libraries/LGLibrary b/libraries/LGLibrary index a5134fe7df..236d5837f7 160000 --- a/libraries/LGLibrary +++ b/libraries/LGLibrary @@ -1 +1 @@ -Subproject commit a5134fe7df9e183d8944df62a0f4f44148c61d49 +Subproject commit 236d5837f7e2641f4d72e7d4b1deaddd215b60e1 From 22a18950507f649b083ff90c4f6bc48bdb883c6f Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Mon, 13 Nov 2017 17:44:10 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E4=BC=98=E5=8C=96,=20=E6=B1=82=E7=89=88=E6=9C=AC=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E5=96=84(=E6=95=8F=E6=84=9F=E8=AF=8Dtoast?= =?UTF-8?q?=E8=BF=98=E8=A6=81=E7=A1=AE=E8=AE=A4),=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=B8=B8=E6=88=8F=E5=A4=B1=E8=B4=A5=E6=97=B6?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E9=87=8D=E8=AF=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/gamecenter/VoteActivity.java | 16 +++++---- .../gh/gamecenter/adapter/VoteAdapter.java | 10 +++++- .../adapter/viewholder/VoteViewHolder.java | 2 ++ .../gh/gamecenter/entity/MessageKeFuEntity.kt | 7 ++++ .../gh/gamecenter/entity/VersionVoteEntity.kt | 2 ++ .../message/KeFuFragmentAdapter.java | 10 ++++++ .../gh/gamecenter/message/KeFuViewHolder.java | 5 +++ .../search/SearchGameDetailFragment.java | 18 ++++++++++ .../search/SearchGameListFragment.java | 19 +++++++++++ .../res/drawable-xhdpi/message_kefu_icon.png | Bin 0 -> 7474 bytes .../layout/message_comment_item_normal.xml | 8 ++--- app/src/main/res/layout/message_kefu_item.xml | 27 ++++++++++++--- app/src/main/res/layout/vote_item.xml | 8 +++++ app/src/main/res/values/strings.xml | 31 ++++++++++-------- 14 files changed, 134 insertions(+), 29 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/message_kefu_icon.png diff --git a/app/src/main/java/com/gh/gamecenter/VoteActivity.java b/app/src/main/java/com/gh/gamecenter/VoteActivity.java index 64632215c7..90a1ac1838 100644 --- a/app/src/main/java/com/gh/gamecenter/VoteActivity.java +++ b/app/src/main/java/com/gh/gamecenter/VoteActivity.java @@ -279,14 +279,18 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR JSONObject responseObject = new JSONObject(string); boolean cast = responseObject.getBoolean("cast"); String id = responseObject.getString("_id"); - - if (cast) { - Utils.toast(VoteActivity.this, "投票成功"); + String illegal = responseObject.getString("illegal"); + if (!TextUtils.isEmpty(illegal)) { + Utils.toast(VoteActivity.this, "包含非法内容,请修改后重试"); } else { - if (isNewVote) { - Utils.toast(VoteActivity.this, "已经存在相同的选项"); + if (cast) { + Utils.toast(VoteActivity.this, "投票成功"); } else { - Utils.toast(VoteActivity.this, "你已经投过了"); + if (isNewVote) { + Utils.toast(VoteActivity.this, "已经存在相同的选项"); + } else { + Utils.toast(VoteActivity.this, "你已经投过了"); + } } } 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 cf4734288c..00dabf01d7 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java @@ -5,6 +5,8 @@ import android.graphics.drawable.ColorDrawable; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; +import android.text.Html; +import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; @@ -157,8 +159,14 @@ public class VoteAdapter extends BaseRecyclerAdapter { layoutParams.width = (int) mPbwidth; } + if (!TextUtils.isEmpty(versionVoteEntity.getReply())) { + viewHolder.voteReply.setText(Html.fromHtml(mContext.getString(R.string.vote_reply, versionVoteEntity.getReply()))); + viewHolder.voteReply.setVisibility(View.VISIBLE); + } else { + viewHolder.voteReply.setVisibility(View.GONE); + } viewHolder.name.setText(versionVoteEntity.getName()); - viewHolder.count.setText(versionVoteEntity.getNum() + "票"); + viewHolder.count.setText(mContext.getString(R.string.vote_count, versionVoteEntity.getNum())); progressbar.setLayoutParams(layoutParams); viewHolder.voteBtn.setOnClickListener(new View.OnClickListener() { 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 5d7c552fab..870ae85559 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 @@ -22,6 +22,8 @@ public class VoteViewHolder extends BaseRecyclerViewHolder { public View progressbar; @BindView(R.id.vote_item_count) public TextView count; + @BindView(R.id.vote_item_reply) + public TextView voteReply; public VoteViewHolder(View itemView) { super(itemView); diff --git a/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt index 657f5d21cc..c2f1558e6a 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/MessageKeFuEntity.kt @@ -24,4 +24,11 @@ class MessageKeFuEntity { var link: MessageLinkEntity? = null + @SerializedName("service") + var serviceEntity: ServiceEntity? = null + + class ServiceEntity { + var name: String? = null + var icon: String? = null + } } diff --git a/app/src/main/java/com/gh/gamecenter/entity/VersionVoteEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/VersionVoteEntity.kt index 97d5b96cfd..4c299f2c3a 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/VersionVoteEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/VersionVoteEntity.kt @@ -17,4 +17,6 @@ class VersionVoteEntity { @SerializedName("user_data") var userData: UserDataEntity? = null + + var reply: String? = null } diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java index 84145d9472..5f5d21c382 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java @@ -12,6 +12,7 @@ import android.view.ViewGroup; import com.gh.base.OnRequestCallBackListener; import com.gh.common.util.CommentUtils; import com.gh.common.util.EntranceUtils; +import com.gh.common.util.ImageUtils; import com.gh.common.util.QQUtils; import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.NewsDetailActivity; @@ -245,6 +246,15 @@ public class KeFuFragmentAdapter extends BaseRecyclerAdapter { viewHolder.skip.setVisibility(View.GONE); } + MessageKeFuEntity.ServiceEntity serviceEntity = keFuEntity.getServiceEntity(); + viewHolder.kefuName.setText(R.string.kefu_default_name); + if (serviceEntity != null) { + String name = serviceEntity.getName(); + if (!TextUtils.isEmpty(name)) { + viewHolder.kefuName.setText(name); + } + ImageUtils.Companion.display(viewHolder.kefuIcon, serviceEntity.getIcon()); + } CommentUtils.setCommentTime(viewHolder.time, keFuEntity.getTime()); diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java b/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java index 0e0b6c6115..631e2c9a63 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuViewHolder.java @@ -3,6 +3,7 @@ package com.gh.gamecenter.message; import android.view.View; import android.widget.TextView; +import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.BaseRecyclerViewHolder; import com.gh.gamecenter.R; @@ -23,6 +24,10 @@ public class KeFuViewHolder extends BaseRecyclerViewHolder { public TextView suggestion; @BindView(R.id.message_kefu_skip) public TextView skip; + @BindView(R.id.message_kefu_icon) + public SimpleDraweeView kefuIcon; + @BindView(R.id.message_kefu_name) + TextView kefuName; public KeFuViewHolder(View itemView) { super(itemView); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java index 3178446dae..3bdaf9497d 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java @@ -33,6 +33,7 @@ import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; import butterknife.BindView; +import butterknife.OnClick; public class SearchGameDetailFragment extends BaseFragment implements OnRequestCallBackListener { @@ -50,6 +51,14 @@ public class SearchGameDetailFragment extends BaseFragment implements OnRequestC private SearchGameDetailFragmentAdapter adapter; + Runnable runnable = new Runnable() { + @Override + public void run() { + adapter = new SearchGameDetailFragmentAdapter(SearchGameDetailFragment.this, key, type, mEntrance); + search_detail.setAdapter(adapter); + } + }; + DataWatcher dataWatcher = new DataWatcher() { @Override public void onDataChanged(DownloadEntity downloadEntity) { @@ -127,6 +136,15 @@ public class SearchGameDetailFragment extends BaseFragment implements OnRequestC }); } + @OnClick(R.id.reuse_no_connection) + public void onClick(View view) { + search_loading.setVisibility(View.VISIBLE); + search_detail.setVisibility(View.GONE); + reuse_none_date.setVisibility(View.GONE); + reuse_no_connection.setVisibility(View.GONE); + postDelayedRunnable(runnable, 1000); + } + @Override public void onResume() { if (isEverPause && adapter != null) { diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java index e98e12b557..483a10b823 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java @@ -33,6 +33,7 @@ import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; import butterknife.BindView; +import butterknife.OnClick; public class SearchGameListFragment extends BaseFragment implements OnRequestCallBackListener { @@ -50,6 +51,14 @@ public class SearchGameListFragment extends BaseFragment implements OnRequestCal private SearchGameListFragmentAdapter adapter; + Runnable runnable = new Runnable() { + @Override + public void run() { + adapter = new SearchGameListFragmentAdapter(SearchGameListFragment.this, key, type, mEntrance); + search_detail.setAdapter(adapter); + } + }; + DataWatcher dataWatcher = new DataWatcher() { @Override public void onDataChanged(DownloadEntity downloadEntity) { @@ -124,6 +133,16 @@ public class SearchGameListFragment extends BaseFragment implements OnRequestCal }); } + @OnClick(R.id.reuse_no_connection) + public void onClick(View view) { + search_loading.setVisibility(View.VISIBLE); + search_detail.setVisibility(View.GONE); + reuse_none_date.setVisibility(View.GONE); + reuse_no_connection.setVisibility(View.GONE); + postDelayedRunnable(runnable, 1000); + } + + @Override public void onResume() { if (isEverPause && adapter != null) { diff --git a/app/src/main/res/drawable-xhdpi/message_kefu_icon.png b/app/src/main/res/drawable-xhdpi/message_kefu_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1936944eedeaee37aa7031601ebd878187208fe5 GIT binary patch literal 7474 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 wiY$~{SXKRtwv @@ -19,9 +21,7 @@ android:id = "@+id/message_comment_user_icon" android:layout_width = "45dp" android:layout_height = "45dp" - android:layout_marginBottom = "15dp" android:layout_marginRight = "20dp" - android:layout_marginTop = "15dp" fresco:placeholderImage = "@drawable/user_default_icon_comment" fresco:placeholderImageScaleType = "fitXY" fresco:roundAsCircle = "true" /> @@ -45,7 +45,7 @@ android:id = "@+id/message_comment_request_control" android:layout_width = "match_parent" android:layout_height = "wrap_content" - android:layout_marginTop = "11dp" + android:layout_marginTop = "5dp" android:textColor = "@color/hint" android:textSize = "11sp" /> @@ -78,7 +78,7 @@ android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_marginLeft = "65dp" - android:layout_marginTop = "11dp" + android:layout_marginTop = "10dp" android:textColor = "@color/hint" android:textSize = "12sp" /> diff --git a/app/src/main/res/layout/message_kefu_item.xml b/app/src/main/res/layout/message_kefu_item.xml index 3498f0f710..6a4628f5e8 100644 --- a/app/src/main/res/layout/message_kefu_item.xml +++ b/app/src/main/res/layout/message_kefu_item.xml @@ -1,5 +1,6 @@ + android:paddingTop = "10dp" > + + + + @@ -25,7 +46,6 @@ android:layout_width = "10dp" android:layout_height = "10dp" android:layout_alignParentRight = "true" - android:layout_centerVertical = "true" android:background = "@drawable/oval_message_hint_bg" android:visibility = "visible" /> @@ -34,7 +54,7 @@ android:id = "@+id/message_kefu_content" android:layout_width = "match_parent" android:layout_height = "wrap_content" - android:layout_marginTop = "11dp" + android:layout_marginTop = "15dp" android:textColor = "@color/title" android:textSize = "14sp" /> @@ -57,5 +77,4 @@ android:text = "@string/message_contact_kefu" android:textColor = "@color/theme" /> - \ No newline at end of file diff --git a/app/src/main/res/layout/vote_item.xml b/app/src/main/res/layout/vote_item.xml index 2db4002780..173d0f976e 100644 --- a/app/src/main/res/layout/vote_item.xml +++ b/app/src/main/res/layout/vote_item.xml @@ -73,6 +73,14 @@ + + 已结束 已领取 已淘号 - 已下架 - 再领一个 - 再淘一个 + 已下架 + 再领一个 + 再淘一个 - 已安装 - 未安装 - 回复了你的评论 - 暂无评论消息 - 暂无客服消息 - 工具箱 - 告诉小编 - 搜索结果为空 - 置顶 - 热门 + 已安装 + 未安装 + 回复了你的评论 + 暂无评论消息 + 暂无客服消息 + 工具箱 + 告诉小编 + 搜索结果为空 + 置顶 + 热门 已安装的游戏(%1$d) - 收到%1$d个赞 + 收到%1$d个赞 已是最新版本 + 小编回复:%1$s]]> + %1$d票 + 光环客服 From a215192175899f6e8606d2fea91ebf77f81375e7 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Tue, 14 Nov 2017 20:42:27 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=A2=9E=E5=8A=A0httpd?= =?UTF-8?q?ns?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 5 +++-- dependencies.gradle | 2 ++ gradle.properties | 2 +- libraries/LGLibrary | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 4f527ab0aa..f8f7f6d46a 100644 --- a/build.gradle +++ b/build.gradle @@ -31,6 +31,7 @@ allprojects { maven { url "https://maven.google.com" } maven { url "https://dl.bintray.com/thelasterstar/maven/" }//weiboSDK maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } + maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' } jcenter() } } @@ -52,8 +53,8 @@ subprojects { // for those defined in AndroidManifest.xml manifestPlaceholders = [ - manifestApplicationId : "${applicationId}", - tencentAppId : "${TENCENT_APPID}", + manifestApplicationId: "${applicationId}", + tencentAppId : "${TENCENT_APPID}", ] } lintOptions.abortOnError false diff --git a/dependencies.gradle b/dependencies.gradle index 3e77a2a15e..38b438224e 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -56,4 +56,6 @@ ext { // 权限申请库 easypermissions = "1.0.0" + + httpdns = "1.1.3"; } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index bb99869e69..8853ca4c1c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ org.gradle.parallel=true channel_file=channel.txt # tinker patch version_name -PATCH_VERSION_NAME=3.0.1 +PATCH_VERSION_NAME=3.0.2 # Third-party keys DEBUG_UMENG_APPKEY=58e5b0b9c62dca35a00005e6 diff --git a/libraries/LGLibrary b/libraries/LGLibrary index 236d5837f7..feb12d07e7 160000 --- a/libraries/LGLibrary +++ b/libraries/LGLibrary @@ -1 +1 @@ -Subproject commit 236d5837f7e2641f4d72e7d4b1deaddd215b60e1 +Subproject commit feb12d07e71520fe4b4dde716ef47c814f2774a4 From 038e736eb1b0d6a8b36fbcd9e862f1ee6f5d2799 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 15 Nov 2017 10:41:02 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=9A=82=E5=81=9C?= =?UTF-8?q?=E5=92=8C=E7=BB=A7=E7=BB=AD=E5=BB=B6=E8=BF=9F=E4=B8=80=E7=A7=92?= =?UTF-8?q?,=E9=98=B2=E6=AD=A2=E4=B8=80=E4=B8=AA=E5=8C=85=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E6=9C=89=E5=A4=9A=E4=B8=AA=E7=BA=BF=E7=A8=8B=E5=9C=A8?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD(=E5=90=8E=E7=BB=AD=E6=83=B3=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E6=9B=B4=E5=A5=BD=E7=9A=84=E6=96=B9=E6=A1=88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../download/GameDownloadFragment.java | 29 +++++++---- .../download/GameDownloadFragmentAdapter.java | 48 ++++++++++--------- 2 files changed, 44 insertions(+), 33 deletions(-) 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 d6134e0073..23b2f367f4 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java @@ -2,6 +2,7 @@ package com.gh.gamecenter.download; import android.app.NotificationManager; import android.content.Context; +import android.os.Message; import android.support.v4.content.ContextCompat; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; @@ -27,6 +28,7 @@ import com.gh.gamecenter.eventbus.EBMiPush; import com.gh.gamecenter.eventbus.EBPackage; import com.gh.gamecenter.eventbus.EBUISwitch; import com.lightgame.download.DataWatcher; +import com.lightgame.download.DownloadConfig; import com.lightgame.download.DownloadEntity; import com.lightgame.download.DownloadStatus; @@ -399,15 +401,15 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi } public void pauseAll() { -// for (DownloadEntity downloadEntity : adapter.getDownloadingList()) { -//// DownloadManager.getInstance(getActivity()).put(downloadEntity.getUrl(), -//// System.currentTimeMillis()); -//// Message msg = Message.obtain(); -//// msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; -//// msg.obj = downloadEntity.getUrl(); -//// DownloadManager.getInstance(getActivity()).sendMessageDelayed(msg, 1000); + for (DownloadEntity downloadEntity : adapter.getDownloadingList()) { + DownloadManager.getInstance(getActivity()).put(downloadEntity.getUrl(), + System.currentTimeMillis()); + Message msg = Message.obtain(); + msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; + msg.obj = downloadEntity.getUrl(); + DownloadManager.getInstance(getActivity()).sendMessageDelayed(msg, 1000); // DownloadManager.getInstance(getContext()).pause(downloadEntity); -// } + } DownloadManager.getInstance(getContext()).pauseAll(); mDownloadmanagerAllstartTv.setText("全部开始"); mDownloadmanagerAllstartTv.setTextColor(ContextCompat.getColor(getContext(), R.color.theme)); @@ -415,8 +417,15 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi private void startAll() { for (DownloadEntity downloadEntity : adapter.getDownloadingList()) { - DownloadManager.getInstance(getContext()).add(downloadEntity); - adapter.getStatusMap().put(downloadEntity.getUrl(), "downloading"); +// DownloadManager.getInstance(getContext()).add(downloadEntity); +// adapter.getStatusMap().put(downloadEntity.getUrl(), "downloading"); + + DownloadManager.getInstance(getActivity()).put(downloadEntity.getUrl(), + System.currentTimeMillis()); + Message msg = Message.obtain(); + msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; + msg.obj = downloadEntity.getUrl(); + DownloadManager.getInstance(getActivity()).sendMessageDelayed(msg, 1000); } // DownloadManager.getInstance(getContext()).startAll(); mDownloadmanagerAllstartTv.setText("全部暂停"); 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 6e2b60a1e0..8a987609d8 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.graphics.Bitmap; +import android.os.Message; import android.support.v4.content.ContextCompat; import android.support.v4.util.ArrayMap; import android.support.v7.widget.RecyclerView; @@ -29,6 +30,7 @@ import com.gh.gamecenter.adapter.viewholder.GameDownloadViewHolder; import com.gh.gamecenter.eventbus.EBDownloadChanged; import com.gh.gamecenter.manager.PackageManager; import com.lightgame.adapter.BaseRecyclerAdapter; +import com.lightgame.download.DownloadConfig; import com.lightgame.download.DownloadEntity; import com.lightgame.download.DownloadStatus; import com.lightgame.download.FileUtils; @@ -246,11 +248,11 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { statusMap.put(url, "downloading"); notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); -// Message msg = Message.obtain(); -// msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; -// msg.obj = url; -// DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); - DownloadManager.getInstance(mContext).add(downloadEntity); + Message msg = Message.obtain(); + msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; + msg.obj = url; + DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); +// DownloadManager.getInstance(mContext).add(downloadEntity); } else { DialogUtils.showDownloadDialog(mContext, new DialogUtils.ConfirmListener() { @Override @@ -272,12 +274,12 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { statusMap.put(url, "downloading"); notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); -// Message msg = Message.obtain(); -// msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; -// msg.obj = url; -// DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); + Message msg = Message.obtain(); + msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; + msg.obj = url; + DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); - DownloadManager.getInstance(mContext).add(downloadEntity); +// DownloadManager.getInstance(mContext).add(downloadEntity); } }); } @@ -311,12 +313,12 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { viewHolder.dmDelete.setVisibility(View.VISIBLE); statusMap.put(url, "pause"); notifyItemChanged(doneList.isEmpty() ? 0 : 1 + doneList.size()); -// Message msg = Message.obtain(); -// msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; -// msg.obj = url; -// DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); + Message msg = Message.obtain(); + msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; + msg.obj = url; + DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); - DownloadManager.getInstance(mContext).pause(downloadEntity); +// DownloadManager.getInstance(mContext).pause(downloadEntity); break; case "等待": Utils.toast(mContext, "最多只能同时启动3个下载任务"); @@ -408,15 +410,15 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { }); } } else { -// for (DownloadEntity downloadEntity : downloadingList) { -//// DownloadManager.getInstance(mContext).put(downloadEntity.getUrl(), -//// System.currentTimeMillis()); -//// Message msg = Message.obtain(); -//// msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; -//// msg.obj = downloadEntity.getUrl(); -//// DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); + for (DownloadEntity downloadEntity : downloadingList) { + DownloadManager.getInstance(mContext).put(downloadEntity.getUrl(), + System.currentTimeMillis()); + Message msg = Message.obtain(); + msg.what = DownloadConfig.PAUSE_DOWNLOAD_TASK; + msg.obj = downloadEntity.getUrl(); + DownloadManager.getInstance(mContext).sendMessageDelayed(msg, 1000); // DownloadManager.getInstance(mContext).pause(downloadEntity); -// } + } DownloadManager.getInstance(mContext).pauseAll(); viewHolder.dm_item_head_tv_allstart.setText(R.string.download_all_start); viewHolder.dm_item_head_tv_allstart.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); From 8403bc3a645d874bfe83959227dc71c44c6342c0 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 15 Nov 2017 15:07:34 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E6=B1=82=E7=89=88=E6=9C=AC=E6=95=8F?= =?UTF-8?q?=E6=84=9F=E8=AF=8D=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/gamecenter/VoteActivity.java | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/VoteActivity.java b/app/src/main/java/com/gh/gamecenter/VoteActivity.java index 90a1ac1838..c6b240bb88 100644 --- a/app/src/main/java/com/gh/gamecenter/VoteActivity.java +++ b/app/src/main/java/com/gh/gamecenter/VoteActivity.java @@ -279,18 +279,13 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR JSONObject responseObject = new JSONObject(string); boolean cast = responseObject.getBoolean("cast"); String id = responseObject.getString("_id"); - String illegal = responseObject.getString("illegal"); - if (!TextUtils.isEmpty(illegal)) { - Utils.toast(VoteActivity.this, "包含非法内容,请修改后重试"); + if (cast) { + Utils.toast(VoteActivity.this, "投票成功"); } else { - if (cast) { - Utils.toast(VoteActivity.this, "投票成功"); + if (isNewVote) { + Utils.toast(VoteActivity.this, "已经存在相同的选项"); } else { - if (isNewVote) { - Utils.toast(VoteActivity.this, "已经存在相同的选项"); - } else { - Utils.toast(VoteActivity.this, "你已经投过了"); - } + Utils.toast(VoteActivity.this, "你已经投过了"); } } @@ -311,7 +306,21 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR @Override public void onFailure(HttpException e) { super.onFailure(e); - Utils.toast(VoteActivity.this, "提交失败"); + if (e != null && e.code() == 403) { + try { + String string = e.response().errorBody().string(); + JSONObject errorJson = new JSONObject(string); + String detail = errorJson.getString("detail"); + if ("illegal".equals(detail)) { + Utils.toast(VoteActivity.this, "包含非法内容,请修改后重试"); + } + } catch (Exception e1) { + e1.printStackTrace(); + } + } else { + Utils.toast(VoteActivity.this, "提交失败"); + } + waitDialog.dismiss(); } }); From d391ab20b7bbb06f8818c0402b3641779d31402b Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 15 Nov 2017 15:13:47 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E6=9B=B4=E6=8D=A23.0.1tinker=5Fid?= =?UTF-8?q?=E4=BB=A5=E5=8F=8Atinker=5Fbase=5Fapk=5Fdir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8853ca4c1c..ac1ffc7672 100644 --- a/gradle.properties +++ b/gradle.properties @@ -67,5 +67,5 @@ USERSEA_HOST=https\://usersea.ghzs.com/v1d0/ # 请不要手动改动下面的值,除非你明确需要以某个apk作为基准包,需要打包请以scripts/tinker*.sh为准 TINKER_ENABLE= -TINKER_ID=1d544ff5 -TINKER_BASE_APK_DIR=app-1108-20-13-16_1d544ff5 \ No newline at end of file +TINKER_ID=82fea044 +TINKER_BASE_APK_DIR=app-1114-14-55-39_82fea044 \ No newline at end of file From ab1ce8e179ea347d24bd1e0efa5ccfc1f8ee89aa Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 15 Nov 2017 17:12:27 +0800 Subject: [PATCH 07/12] =?UTF-8?q?HttpDns=E7=89=88=E6=9C=AC=E5=92=8C?= =?UTF-8?q?=E5=8F=8B=E7=9B=9FHttpDns=E6=94=B9=E6=88=90=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dependencies.gradle | 2 +- libraries/LGLibrary | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 38b438224e..c8be8e356a 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -57,5 +57,5 @@ ext { // 权限申请库 easypermissions = "1.0.0" - httpdns = "1.1.3"; +// httpdns = "1.1.3"; } \ No newline at end of file diff --git a/libraries/LGLibrary b/libraries/LGLibrary index feb12d07e7..7d03c87fc5 160000 --- a/libraries/LGLibrary +++ b/libraries/LGLibrary @@ -1 +1 @@ -Subproject commit feb12d07e71520fe4b4dde716ef47c814f2774a4 +Subproject commit 7d03c87fc5bebb0533c401a09902568e7df3a1c3 From a863b7be138e2d3c072e13378dc28491b07858b0 Mon Sep 17 00:00:00 2001 From: CsHeng Date: Wed, 15 Nov 2017 17:33:47 +0800 Subject: [PATCH 08/12] fix proguard library --- libraries/LGLibrary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/LGLibrary b/libraries/LGLibrary index 7d03c87fc5..76a84f32ac 160000 --- a/libraries/LGLibrary +++ b/libraries/LGLibrary @@ -1 +1 @@ -Subproject commit 7d03c87fc5bebb0533c401a09902568e7df3a1c3 +Subproject commit 76a84f32ac35111d8a153b01109e508c5a99c109 From a43947077a67e2a132e72317200b3b0cb1ae5e1c Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 16 Nov 2017 09:19:47 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=89=93=E6=B8=A0?= =?UTF-8?q?=E9=81=93=E5=8C=85=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/apk_channel.sh | 47 ++++++++++++++++++++++++++++++++++++++++++ scripts/tinker_env.sh | 2 ++ 2 files changed, 49 insertions(+) create mode 100755 scripts/apk_channel.sh diff --git a/scripts/apk_channel.sh b/scripts/apk_channel.sh new file mode 100755 index 0000000000..38481bbdd8 --- /dev/null +++ b/scripts/apk_channel.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +CWD=$(cd "$(dirname "$0")"; pwd) + +# ***************************************************************************** +# @author khy +# @2017.11.15 +# +# 打渠道包 +# 将目标apk放到scripts/apk-channel文件夹中即可 +# +# ***************************************************************************** + + +source ${CWD}/tinker_env.sh + +echo ${APK_CHANNEL_PATH} +if [ ! -d ${APK_CHANNEL_PATH} ]; +then + echo "存放apk包的文件夹不存在" + exit 0 +fi + +for apkFile in ${APK_CHANNEL_PATH}/* +do +echo ${apkFile} +if [ -f "$apkFile" ]; +then +if [[ $apkFile == *.apk ]]; +then +APK_COUNT+=($apkFile) +fi +fi +done + +if [ ${#APK_COUNT[*]} != 1 ] +then +echo "确保apk_channel文件夹内只有一个apk包, 否则无法确定以哪个包为渠道基础包" +exit 0 +fi + +if [ ! -d ${APK_CHANNEL_PATH}/channel ]; then + mkdir -p ${APK_CHANNEL_PATH}/channel +fi + +java -jar ${CWD}/ApkChannelPackage.jar put -mtc ${PROJECT_BASE}/channel.txt ${APK_COUNT[0]} ${APK_CHANNEL_PATH}/channel + + diff --git a/scripts/tinker_env.sh b/scripts/tinker_env.sh index 75e1465d9d..8611466d2b 100755 --- a/scripts/tinker_env.sh +++ b/scripts/tinker_env.sh @@ -16,6 +16,8 @@ PROJECT_BASE=${CWD}/../ GRADLE_FILE=${PROJECT_BASE}/gradle.properties +APK_CHANNEL_PATH=${CWD}/apk-channel + OS=`uname` case ${OS} in Darwin) VERSION_CODE=`grep -r versionCode ${PROJECT_BASE}/dependencies.gradle | awk '{print $4}'`;; From f54fdd60167ab1365cc33e42bf9ae56bca78662f Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 16 Nov 2017 12:02:32 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=A4=9A=E6=AC=A1?= =?UTF-8?q?=E9=87=8D=E5=AE=9A=E5=90=91,=E4=BD=86=E6=9C=89=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E9=99=90=E5=88=B6.=E6=96=AD=E7=BD=91=E9=87=8D?= =?UTF-8?q?=E8=BF=9E=E5=85=88=E5=BB=B6=E8=BF=9F=E5=90=8E=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/LGLibrary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/LGLibrary b/libraries/LGLibrary index 76a84f32ac..b292f184dc 160000 --- a/libraries/LGLibrary +++ b/libraries/LGLibrary @@ -1 +1 @@ -Subproject commit 76a84f32ac35111d8a153b01109e508c5a99c109 +Subproject commit b292f184dcf9903941dcc974a7d99ae5f11620bf From 36ef13b2378a82a2a4438c182e1ac93a65849282 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 16 Nov 2017 18:06:23 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV3.0.?= =?UTF-8?q?2=E4=BC=98=E5=8C=96=E9=9C=80=E6=B1=82=E6=B1=87=E6=80=BB?= =?UTF-8?q?=EF=BC=8820171116=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/gamecenter/UserInfoEditActivity.java | 2 +- .../download/GameDownloadFragment.java | 23 ++++++++++--------- .../gamecenter/gamedetail/XinXiAdapter.java | 23 ------------------- .../gh/gamecenter/message/KeFuFragment.java | 2 +- .../retrofit/OkHttpNetworkInterceptor.java | 4 ++-- 5 files changed, 16 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java b/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java index 975000a4e0..3d8ac72135 100644 --- a/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java +++ b/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java @@ -149,7 +149,7 @@ public class UserInfoEditActivity extends BaseActivity implements LoginUtils.onC private void saveData() { if ("name".equals(mEditType)) { - String value = mUserinfoNicknameEt.getText().toString(); + String value = mUserinfoNicknameEt.getText().toString().trim(); if (!TextUtils.isEmpty(value)) { if (value.equals(mUserInfoEntity.getName())) { finish(); 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 23b2f367f4..6bf064da3c 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java @@ -2,6 +2,7 @@ package com.gh.gamecenter.download; import android.app.NotificationManager; import android.content.Context; +import android.content.Intent; import android.os.Message; import android.support.v4.content.ContextCompat; import android.support.v7.widget.DefaultItemAnimator; @@ -22,10 +23,12 @@ import com.gh.common.util.PackageUtils; import com.gh.common.view.RecyclerViewExtended; import com.gh.download.DownloadManager; import com.gh.gamecenter.DownloadManagerActivity; +import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBDownloadChanged; import com.gh.gamecenter.eventbus.EBMiPush; import com.gh.gamecenter.eventbus.EBPackage; +import com.gh.gamecenter.eventbus.EBSkip; import com.gh.gamecenter.eventbus.EBUISwitch; import com.lightgame.download.DataWatcher; import com.lightgame.download.DownloadConfig; @@ -201,18 +204,16 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi mNoDataSkipBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -// Intent intent = new Intent(getActivity(), MainActivity.class); -// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); -// getActivity().startActivity(intent); -// -// mNoDataSkipBtn.postDelayed(new Runnable() { -// @Override -// public void run() { -// EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); -// } -// }, 300); + Intent intent = new Intent(getActivity(), MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + getActivity().startActivity(intent); - DownloadManagerActivity.startDownloadManagerActivity(getActivity(), null, ""); + mNoDataSkipBtn.postDelayed(new Runnable() { + @Override + public void run() { + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); + } + }, 300); } }); diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java index 2fd3f4984e..8f13886eb2 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java @@ -92,8 +92,6 @@ public class XinXiAdapter extends BaseRecyclerAdapter { if (mGameEntity != null) { initPosition(); - - getGameNews(); initGameIds(); } @@ -152,27 +150,6 @@ public class XinXiAdapter extends BaseRecyclerAdapter { } } - // 获取游戏新闻 - private void getGameNews() { - RetrofitManager.getInstance(mContext).getApi().getGameNews(mGameEntity.getId(), 3) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Response>() { - @Override - public void onResponse(List response) { - mGameDetailEntity.setNews(response); - initPosition(); - notifyDataSetChanged(); - } - - @Override - public void onFailure(HttpException e) { - initPosition(); - notifyDataSetChanged(); - } - }); - } - public void initGameIds() { if (mGameDetailEntity.getRelatedGames() == null || mGameDetailEntity.getRelatedGames() != null diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java index b5e028e52e..fcbf4431c2 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java @@ -70,7 +70,7 @@ public class KeFuFragment extends BaseFragment implements SwipeRefreshLayout.OnR mAdapter = new KeFuFragmentAdapter(getContext(), this); layoutManager = new LinearLayoutManager(getContext()); mRecyclerview.setLayoutManager(layoutManager); - mRecyclerview.addItemDecoration(new VerticalItemDecoration(getContext(), 8, true)); + mRecyclerview.addItemDecoration(new VerticalItemDecoration(getContext(), 1, true)); mRecyclerview.setAdapter(mAdapter); mRecyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() { diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpNetworkInterceptor.java b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpNetworkInterceptor.java index 3aac43df6d..19791783ba 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpNetworkInterceptor.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpNetworkInterceptor.java @@ -2,7 +2,6 @@ package com.gh.gamecenter.retrofit; import android.content.Context; -import com.gh.common.util.GzipUtils; import com.gh.common.util.NetworkUtils; import com.gh.common.util.TimestampUtils; @@ -39,7 +38,8 @@ class OkHttpNetworkInterceptor implements Interceptor { @Override public BufferedSource source() { Buffer buffer = new Buffer(); - buffer.write(GzipUtils.compressBytes("[]".getBytes())); +// buffer.write(GzipUtils.compressBytes("[]".getBytes())); 某些接口不适配 弃用 + buffer.write("[]".getBytes()); return buffer; } }; From 96c233ebd040e0a008613c3f69ce0ab5a6450fa7 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 16 Nov 2017 20:04:03 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV3.0.?= =?UTF-8?q?2=20=E8=AF=84=E8=AE=BA=E5=AF=B9=E8=AF=9D=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BC=B9=E7=AA=97(=E5=9B=9E=E5=A4=8D/=E7=82=B9=E8=B5=9E/?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=20=E7=AD=89)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/gamecenter/CommentDetailActivity.java | 183 +++++++++++++++++- .../adapter/CommentDetailAdapter.java | 13 +- .../res/layout/activity_comment_detail.xml | 97 +++++++++- 3 files changed, 285 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java b/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java index 310a9336ae..4c4e2a1319 100644 --- a/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java @@ -1,24 +1,70 @@ package com.gh.gamecenter; +import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.EditText; +import android.widget.RelativeLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.BaseActivity; +import com.gh.common.util.CheckLoginUtils; +import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; +import com.gh.common.util.ImageUtils; +import com.gh.common.util.LoginUtils; +import com.gh.common.util.PostCommentUtils; import com.gh.gamecenter.adapter.CommentDetailAdapter; +import com.gh.gamecenter.adapter.OnCommentCallBackListener; +import com.gh.gamecenter.entity.CommentEntity; +import com.gh.gamecenter.entity.UserInfoEntity; +import com.lightgame.utils.Utils; + +import org.json.JSONException; +import org.json.JSONObject; import butterknife.BindView; +import butterknife.OnClick; +import butterknife.OnTouch; +import retrofit2.HttpException; /** * Created by khy on 2017/3/22. */ -public class CommentDetailActivity extends BaseActivity { + +// TODO: 16/11/17 时间比较紧 先暂时这么做 最好发表评论那块和评论详情整合 +public class CommentDetailActivity extends BaseActivity implements OnCommentCallBackListener { @BindView(R.id.comment_detail_rv) RecyclerView mRecyclerView; + @BindView(R.id.comment_detail_close_comment) + View mCommentDetailCloseComment; + @BindView(R.id.comment_detail_comment_et) + EditText mCommentDetailCommentEt; + @BindView(R.id.comment_user_icon) + SimpleDraweeView mCommentUserIcon; + @BindView(R.id.comment_user_name) + TextView mCommentUserName; + @BindView(R.id.comment_send) + TextView mCommentSend; + @BindView(R.id.comment_detail_user_rl) + RelativeLayout mCommentDetailUserRl; + @BindView(R.id.comment_detail_comment_rl) + RelativeLayout mCommentDetailCommentRl; + @BindView(R.id.comment_detail_sv) + ScrollView mCommentDetailSv; + + private Dialog mSendingDialog; + + private UserInfoEntity mUserInfo; + private CommentEntity mCommentEntity; // 回复评论的实体 用完马上清空 private CommentDetailAdapter mAdapter; private LinearLayoutManager mLayoutManager; @@ -42,7 +88,7 @@ public class CommentDetailActivity extends BaseActivity { String commentId = getIntent().getStringExtra(EntranceUtils.KEY_COMMENTID); - mAdapter = new CommentDetailAdapter(this, commentId); + mAdapter = new CommentDetailAdapter(this, commentId, this); mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setAdapter(mAdapter); @@ -56,5 +102,138 @@ public class CommentDetailActivity extends BaseActivity { } } }); + + mUserInfo = LoginUtils.getUserInfo(this); + if (mUserInfo != null) { + ImageUtils.Companion.display(mCommentUserIcon, mUserInfo.getIcon()); + mCommentUserName.setText(mUserInfo.getName()); + } } + + @Override + public void onCommentCallback(CommentEntity entity) { + mCommentEntity = entity; + setSoftInput(true); + } + + @OnTouch(R.id.comment_detail_close_comment) + public boolean OnRecyclerTouchListener() { + if (mCommentDetailCloseComment.getVisibility() == View.VISIBLE) { + setSoftInput(false); + } + return true; + } + + @OnClick(R.id.comment_send) + public void OnSendCommentListener() { + final String content = mCommentDetailCommentEt.getText().toString(); + + if (content.length() == 0) { + Utils.toast(this, "评论内容不能为空!"); + return; + } + + mSendingDialog = DialogUtils.showWaitDialog(this, "正在提交"); + + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("content", content); + } catch (JSONException e) { + e.printStackTrace(); + } + if (mCommentEntity != null && mCommentEntity.getId() == null) { + Utils.toast(this, "评论异常 id null"); + mSendingDialog.cancel(); + return; + } + + PostCommentUtils.addCommentData(CommentDetailActivity.this, null, jsonObject.toString(), mCommentEntity, + new PostCommentUtils.PostCommentListener() { + @Override + public void postSuccess(JSONObject response) { + mSendingDialog.dismiss(); + toast("发表成功"); + mCommentDetailCommentEt.setText(""); + + setSoftInput(false); + + } + + @Override + public void postFailed(Throwable e) { + mSendingDialog.dismiss(); + + if (e instanceof HttpException) { + HttpException exception = (HttpException) e; + if (exception.code() == 403) { + try { + JSONObject errorJson = new JSONObject(exception.response().errorBody().string()); + String detail = errorJson.getString("detail"); + switch (detail) { + case "too frequent": + toast("别话痨哦~休息一会再来评论吧~"); + break; + case "user blocked": + toast("账号状态异常,暂时无法发表评论"); + break; + case "article blocked": + toast("文章异常,无法发表评论"); + setSoftInput(false); + break; + case "illegal": + toast("评论内容可能包括敏感信息,请修改后再发表"); + break; + default: + toast("评论失败,未知原因"); + break; + } + } catch (Exception ex) { + ex.printStackTrace(); + toast("评论异常"); + } + return; + } + } + + toast("提交失败,请检查网络设置"); + } + }); + } + + //软键盘控制 + private void setSoftInput(boolean isShow) { + final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (isShow) { + CheckLoginUtils.checkLogin(this, new CheckLoginUtils.OnLoggenInListener() { + @Override + public void onLoggedIn() { + imm.showSoftInputFromInputMethod(mCommentDetailCommentEt.getWindowToken(), 0); + imm.toggleSoftInputFromWindow(mCommentDetailCommentEt.getWindowToken(), 0, InputMethodManager.HIDE_NOT_ALWAYS); + mCommentDetailCommentRl.setVisibility(View.VISIBLE); + mCommentDetailCommentEt.setFocusable(true); + mCommentDetailCommentEt.setFocusableInTouchMode(true); + mCommentDetailCommentEt.requestFocus(); + mCommentDetailCloseComment.setVisibility(View.VISIBLE); + + if (mCommentEntity != null && mCommentEntity.getUser() != null) { + mCommentDetailCommentEt.setHint("回复" + mCommentEntity.getUser().getName() + ":"); + } else { + mCommentDetailCommentEt.setHint("优质评论会被优先展示"); + } + } + }); + } else { + imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); + + mCommentDetailCloseComment.setVisibility(View.GONE); + + mCommentDetailCommentRl.setVisibility(View.GONE); + if (mCommentEntity != null) { + mCommentEntity = null; // 清空当前评论实体 + mCommentDetailCommentEt.setHint("优质评论会被优先展示"); + mCommentDetailCommentEt.setText(""); + } + } + } + } 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 a3c2208b90..9d6ed599fb 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java @@ -29,6 +29,8 @@ import rx.schedulers.Schedulers; */ public class CommentDetailAdapter extends BaseRecyclerAdapter { + private OnCommentCallBackListener mOnCommentCallBackListener; + private List mCommentList; private String mCommentId; @@ -37,10 +39,10 @@ public class CommentDetailAdapter extends BaseRecyclerAdapter { private boolean mIsLoading; private boolean mIsNetworkError; - public CommentDetailAdapter(Context context, String commentId) { + public CommentDetailAdapter(Context context, String commentId, OnCommentCallBackListener commentCallBackListener) { super(context); mCommentId = commentId; - + mOnCommentCallBackListener = commentCallBackListener; mCommentList = new ArrayList<>(); loadData(0); @@ -133,6 +135,13 @@ public class CommentDetailAdapter extends BaseRecyclerAdapter { } }); + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + CommentUtils.showReportDialog(commentEntity, mContext, mOnCommentCallBackListener, null); + } + }); + } private void initFooterViewHolder(FooterViewHolder holder) { diff --git a/app/src/main/res/layout/activity_comment_detail.xml b/app/src/main/res/layout/activity_comment_detail.xml index 2b448fc619..f668efeb25 100644 --- a/app/src/main/res/layout/activity_comment_detail.xml +++ b/app/src/main/res/layout/activity_comment_detail.xml @@ -1,14 +1,103 @@ - - + android:layout_height = "match_parent" > + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file