From b7bea01eb100585102a0ea22ccf288b7ab888320 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 30 Aug 2018 20:16:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9okhttp=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=97=B6=E9=97=B4=EF=BC=8C.=E5=A6=82=E6=9E=9C=E6=95=B0?= =?UTF-8?q?=E5=80=BC=E8=B6=85=E8=BF=8710000-19999=E7=9A=84=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E7=BB=9F=E4=B8=80=E6=98=BE=E7=A4=BA=E4=B8=BA1.0W-1.9W?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/common/databind/BindingAdapters.java | 12 +++-------- .../java/com/gh/common/util/AskUtils.java | 21 +++++++++---------- .../java/com/gh/common/util/CommentUtils.java | 2 +- .../java/com/gh/common/util/NumberUtils.kt | 19 +++++++++++++++++ .../gamecenter/adapter/GameNewsAdapter.java | 15 ++++++++++--- .../newsdetail/NewsDetailAdapter.java | 5 +++-- .../answer/detail/AnswerDetailFragment.java | 6 +++--- .../qa/newest/AskQuestionsNewViewHolder.java | 7 +++++-- .../qa/questions/detail/AnswerViewHolder.java | 12 +++++------ .../detail/QuestionsDetailAdapter.java | 3 ++- .../invite/QuestionsInviteViewHolder.java | 8 +++---- .../AskQuestionsRecommendsViewHolder.java | 6 +++--- .../qa/search/hottest/HottestAdapter.kt | 5 +++-- .../qa/search/newest/NewestAdapter.kt | 5 +++-- .../qa/search/question/QuestionAdapter.kt | 3 ++- .../gamecenter/retrofit/RetrofitManager.java | 13 ++++++------ app/src/main/res/layout/ask_answer_item.xml | 2 +- .../res/layout/ask_questions_new_item.xml | 3 ++- .../res/layout/followers_or_fans_item.xml | 6 ++++-- app/src/main/res/values/strings.xml | 2 +- 20 files changed, 94 insertions(+), 61 deletions(-) create mode 100644 app/src/main/java/com/gh/common/util/NumberUtils.kt diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 07a164a653..a051d97933 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -26,6 +26,7 @@ import com.gh.common.util.ImageUtils; import com.gh.common.util.KaiFuUtils; import com.gh.common.util.NetworkUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.StringUtils; import com.gh.common.view.DownloadDialog; @@ -47,7 +48,7 @@ import com.lightgame.utils.Utils; import org.greenrobot.eventbus.EventBus; -import java.text.DecimalFormat; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.List; import java.util.Locale; @@ -107,14 +108,7 @@ public class BindingAdapters { // 如果超过10000,则转换为1.0W @BindingAdapter("transSimpleCount") public static void transSimpleCount(TextView view, int count) { - String s; - if (count > 10000) { - DecimalFormat df = new DecimalFormat("#.0W"); - s = df.format(count / 10000f); - } else { - s = String.valueOf(count); - } - view.setText(s); + view.setText(NumberUtils.transSimpleCount(count)); } @BindingAdapter({"addKaiFuView", "clickListener"}) diff --git a/app/src/main/java/com/gh/common/util/AskUtils.java b/app/src/main/java/com/gh/common/util/AskUtils.java index 06afc35390..a0bfbbdcdf 100644 --- a/app/src/main/java/com/gh/common/util/AskUtils.java +++ b/app/src/main/java/com/gh/common/util/AskUtils.java @@ -2,7 +2,6 @@ package com.gh.common.util; import android.text.TextUtils; -import java.text.DecimalFormat; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -12,16 +11,16 @@ import java.util.regex.Pattern; public class AskUtils { - public static String voteCountFormat(int voteCount) { - String vote; - if (voteCount >= 10000) { - DecimalFormat df = new DecimalFormat("#.0万"); - vote = df.format(voteCount / 10000f); - } else { - vote = String.valueOf(voteCount); - } - return vote; - } +// public static String voteCountFormat(int voteCount) { +// String vote; +// if (voteCount >= 10000) { +// DecimalFormat df = new DecimalFormat("#.0万"); +// vote = df.format(voteCount / 10000f); +// } else { +// vote = String.valueOf(voteCount); +// } +// return vote; +// } public static String stripHtml(String htmlStr) { diff --git a/app/src/main/java/com/gh/common/util/CommentUtils.java b/app/src/main/java/com/gh/common/util/CommentUtils.java index 1178657ae5..1cd467c139 100644 --- a/app/src/main/java/com/gh/common/util/CommentUtils.java +++ b/app/src/main/java/com/gh/common/util/CommentUtils.java @@ -445,7 +445,7 @@ public class CommentUtils { holder.commentLikeIv.setImageResource(R.drawable.ic_like_select); } holder.commentLikeCountTv.setVisibility(View.VISIBLE); - holder.commentLikeCountTv.setText(String.valueOf(entity.getVote())); + holder.commentLikeCountTv.setText(NumberUtils.transSimpleCount(entity.getVote())); } //检查是否是自身评论 diff --git a/app/src/main/java/com/gh/common/util/NumberUtils.kt b/app/src/main/java/com/gh/common/util/NumberUtils.kt new file mode 100644 index 0000000000..2079e79492 --- /dev/null +++ b/app/src/main/java/com/gh/common/util/NumberUtils.kt @@ -0,0 +1,19 @@ +package com.gh.common.util + +import java.math.BigDecimal + +object NumberUtils { + + @JvmStatic + fun transSimpleCount(count: Int): String { + val s: String + if (count > 10000) { + val number = count / 10000f + val bd = BigDecimal(number.toDouble()) + s = bd.setScale(1, BigDecimal.ROUND_DOWN).toString() + "W" + } else { + s = count.toString() + } + return s + } +} \ No newline at end of file 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 c7df52e2a7..7e689f5472 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java @@ -148,9 +148,18 @@ public class GameNewsAdapter extends BaseRecyclerAdapter { @Override public void onFailure(HttpException e) { - isLoading = false; - isNetworkError = true; - notifyItemChanged(getItemCount() - 1); + if (mPage == 1 && e != null && e.code() == 404) { + mGameNewsList.scrollToPosition(1); + if (mNewsList.size() == 0) { + mNoDataLl.setVisibility(View.VISIBLE); + mGameNewsList.setVisibility(View.GONE); + + } + } else { + isLoading = false; + isNetworkError = true; + notifyItemChanged(getItemCount() - 1); + } } }); } diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java index 1fd1f940be..fc1d3d05e2 100644 --- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java @@ -33,6 +33,7 @@ import com.gh.common.util.DisplayUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.common.util.RandomUtils; import com.gh.common.util.StringUtils; import com.gh.gamecenter.GameDetailActivity; @@ -497,7 +498,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { View contentView = mLayoutInflater.inflate(R.layout.comment_item, null); final CommentViewHolder viewHolder = new CommentViewHolder(contentView); - viewHolder.commentLikeCountTv.setText(String.valueOf(commentEntity.getVote())); + viewHolder.commentLikeCountTv.setText(NumberUtils.transSimpleCount(commentEntity.getVote())); holder.list.addView(contentView); if (commentEntity.getParent() != null) { @@ -546,7 +547,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { textView.setGravity(Gravity.CENTER); textView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT , ViewGroup.LayoutParams.WRAP_CONTENT)); - textView.setText("查看全部评论(" + mCommentNum + ")"); + textView.setText(("查看全部评论(" + NumberUtils.transSimpleCount(mCommentNum) + ")")); textView.setPadding(0, DisplayUtils.dip2px(mContext, 12), 0, DisplayUtils.dip2px(mContext, 12)); textView.setTextColor(ContextCompat.getColor(mContext, R.color.theme)); textView.setTextSize(15); diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.java b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.java index f9d6a2e224..26266d9563 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.java @@ -29,7 +29,6 @@ import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.fragment.BaseDialogWrapperFragment; import com.gh.common.TimeElapsedHelper; -import com.gh.common.util.AskUtils; import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.CollectionUtils; import com.gh.common.util.DataUtils; @@ -39,6 +38,7 @@ import com.gh.common.util.EntranceUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.LogUtils; import com.gh.common.util.NewsUtils; +import com.gh.common.util.NumberUtils; import com.gh.common.util.ShareUtils; import com.gh.common.util.StringUtils; import com.gh.common.view.RichEditor; @@ -540,7 +540,7 @@ public class AnswerDetailFragment extends NormalFragment { @Override public void onCountChange(int count) { mDetailEntity.setCommentCount(count); - mAnswerCommentCountTv.setText(String.format("%d 评论", mDetailEntity.getCommentCount())); + mAnswerCommentCountTv.setText(String.format("%s 评论", NumberUtils.transSimpleCount(mDetailEntity.getCommentCount()))); } @Override @@ -627,7 +627,7 @@ public class AnswerDetailFragment extends NormalFragment { } private void updateVote() { - mAnswerDetailLikeTv.setText(getString(R.string.ask_vote_count, AskUtils.voteCountFormat(mDetailEntity.getVote()))); + mAnswerDetailLikeTv.setText(getString(R.string.ask_vote_count, NumberUtils.transSimpleCount(mDetailEntity.getVote()))); if (getContext() == null) return; if (mDetailEntity.getMe().isAnswerVoted()) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewViewHolder.java b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewViewHolder.java index dd46d052e5..720c540656 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewViewHolder.java @@ -5,6 +5,7 @@ import android.widget.TextView; import com.gh.base.BaseRecyclerViewHolder; import com.gh.base.OnListClickListener; +import com.gh.common.util.NumberUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.qa.entity.Questions; @@ -35,13 +36,15 @@ public class AskQuestionsNewViewHolder extends BaseRecyclerViewHolder public void initAskQuestionsNewViewHolder(Questions questions) { setClickData(questions); - mAnswerCount.setText(itemView.getContext().getString(R.string.ask_answer_count, questions.getAnswerCount())); + mAnswerCount.setText(itemView.getContext().getString(R.string.ask_answer_count, + NumberUtils.transSimpleCount(questions.getAnswerCount()))); mTitle.setText(questions.getTitle()); } public void initMyQuestionsViewHolder(Questions questions) { setClickData(questions); - mAnswerCount.setText(itemView.getContext().getString(R.string.ask_answer_count, questions.getAnswerCount())); + mAnswerCount.setText(itemView.getContext().getString(R.string.ask_answer_count, + NumberUtils.transSimpleCount(questions.getAnswerCount()))); mTitle.setText(questions.getTitle()); mCommunityName.setVisibility(View.VISIBLE); mCommunityName.setText(questions.getCommunityName()); diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/AnswerViewHolder.java b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/AnswerViewHolder.java index dae7278dcf..78196d46c9 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/AnswerViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/AnswerViewHolder.java @@ -9,8 +9,8 @@ import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.BaseRecyclerViewHolder; import com.gh.base.OnListClickListener; -import com.gh.common.util.AskUtils; import com.gh.common.util.ImageUtils; +import com.gh.common.util.NumberUtils; import com.gh.gamecenter.PersonalHomeActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.UserEntity; @@ -61,8 +61,8 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder { public void initAnswerViewHolder(Context context, AnswerEntity entity) { setClickData(entity); mContent.setText(entity.getBrief()); - mCommentCount.setText(String.format("%d 评论", entity.getCommentCount())); - mVotecount.setText(context.getString(R.string.ask_vote_count, AskUtils.voteCountFormat(entity.getVote()))); + mCommentCount.setText(String.format("%s 评论", NumberUtils.transSimpleCount(entity.getCommentCount()))); + mVotecount.setText(context.getString(R.string.ask_vote_count, NumberUtils.transSimpleCount(entity.getVote()))); UserEntity user = entity.getUser(); mUsername.setText(user.getName()); ImageUtils.displayIcon(mUsericon, user.getIcon()); @@ -101,7 +101,7 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder { mContent.setText(entity.getBrief()); mQuestionTitle.setVisibility(View.VISIBLE); mQuestionTitle.setText(entity.getQuestions().getTitle()); - mVotecount.setText(mVotecount.getContext().getString(R.string.ask_vote_count, AskUtils.voteCountFormat(entity.getVote()))); + mVotecount.setText(mVotecount.getContext().getString(R.string.ask_vote_count, NumberUtils.transSimpleCount(entity.getVote()))); mCommunityName.setVisibility(View.VISIBLE); mCommunityName.setText(entity.getCommunityName()); UserEntity user = entity.getUser(); @@ -139,8 +139,8 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder { mContent.setText(entity.getBrief()); mCommunityName.setVisibility(View.VISIBLE); mCommunityName.setText(entity.getCommunityName()); - mCommentCount.setText(String.format("%d 评论", entity.getCommentCount())); - mVotecount.setText(itemView.getContext().getString(R.string.ask_vote_count, AskUtils.voteCountFormat(entity.getVote()))); + mCommentCount.setText(String.format("%s 评论", NumberUtils.transSimpleCount(entity.getCommentCount()))); + mVotecount.setText(itemView.getContext().getString(R.string.ask_vote_count, NumberUtils.transSimpleCount(entity.getVote()))); List images = entity.getImages(); if (images.size() > 0) { for (int i = 0; i < images.size(); i++) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java index 166a765bac..bdeb49bec5 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailAdapter.java @@ -19,6 +19,7 @@ import com.gh.common.constant.ItemViewType; import com.gh.common.util.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; +import com.gh.common.util.NumberUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.ReuseViewHolder; @@ -230,7 +231,7 @@ public class QuestionsDetailAdapter extends ListAdapter { } holder.mTitle.setText(mQuestionsDetailEntity.getTitle()); - holder.concernCount.setText(mQuestionsDetailEntity.getFollowCount() + "人关注"); + holder.concernCount.setText((NumberUtils.transSimpleCount(mQuestionsDetailEntity.getFollowCount()) + "人关注")); if (mQuestionsDetailEntity.getAnswersCount() == 0) { holder.mAnswercount.setVisibility(View.GONE); diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteViewHolder.java b/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteViewHolder.java index a67c3efa3e..265cb84b0b 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteViewHolder.java @@ -9,11 +9,11 @@ import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.BaseRecyclerViewHolder; import com.gh.base.OnListClickListener; -import com.gh.common.util.AskUtils; import com.gh.common.util.ImageUtils; +import com.gh.common.util.NumberUtils; import com.gh.gamecenter.R; -import com.gh.gamecenter.qa.entity.InviteEntity; import com.gh.gamecenter.entity.MeEntity; +import com.gh.gamecenter.qa.entity.InviteEntity; import butterknife.BindView; @@ -65,8 +65,8 @@ public class QuestionsInviteViewHolder extends BaseRecyclerViewHolder(c } else { askHolder.mImage.visibility = View.GONE } - askHolder.mCommentCount.text = mContext.getString(R.string.ask_answer_count, questions.answerCount) - askHolder.mVoteCount.text = mContext.getString(R.string.ask_vote_count, searchEntity.vote.toString()) + askHolder.mCommentCount.text = mContext.getString(R.string.ask_answer_count, NumberUtils.transSimpleCount(questions.answerCount)) + askHolder.mVoteCount.text = mContext.getString(R.string.ask_vote_count, NumberUtils.transSimpleCount(searchEntity.vote)) askHolder.mTitle.text = Html.fromHtml(replayKeyword(questions.title)) askHolder.mContent.text = Html.fromHtml(replayKeyword(searchEntity.brief)) askHolder.mTitle.setOnClickListener { skipQuestionDetail(questions, "搜索结果-最热答案") } diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestAdapter.kt index ece0bb64b1..e1a160601c 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestAdapter.kt @@ -7,6 +7,7 @@ import android.view.View import android.view.ViewGroup import com.gh.common.constant.ItemViewType import com.gh.common.util.ImageUtils +import com.gh.common.util.NumberUtils import com.gh.gamecenter.R import com.gh.gamecenter.adapter.viewholder.FooterViewHolder import com.gh.gamecenter.qa.entity.AskSearchEntity @@ -40,8 +41,8 @@ class NewestAdapter(context: Context) : BaseAskSearchAdapter(co } else { askHolder.mImage.visibility = View.GONE } - askHolder.mCommentCount.text = mContext.getString(R.string.ask_answer_count, questions.answerCount) - askHolder.mVoteCount.text = mContext.getString(R.string.ask_vote_count, searchEntity.vote.toString()) + askHolder.mCommentCount.text = mContext.getString(R.string.ask_answer_count, NumberUtils.transSimpleCount(questions.answerCount)) + askHolder.mVoteCount.text = mContext.getString(R.string.ask_vote_count, NumberUtils.transSimpleCount(searchEntity.vote)) askHolder.mTitle.text = Html.fromHtml(replayKeyword(questions.title)) askHolder.mContent.text = Html.fromHtml(replayKeyword(searchEntity.brief)) askHolder.mTitle.setOnClickListener { skipQuestionDetail(questions, "搜索结果-最新答案") } diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt index 7d39308282..106ea033ef 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt @@ -7,6 +7,7 @@ import android.text.Html import android.view.View import android.view.ViewGroup import com.gh.common.constant.ItemViewType +import com.gh.common.util.NumberUtils import com.gh.gamecenter.R import com.gh.gamecenter.adapter.viewholder.FooterViewHolder import com.gh.gamecenter.qa.entity.AskSearchEntity @@ -40,7 +41,7 @@ class QuestionAdapter(context: Context) : BaseAskSearchAdapter( val viewHolder = holder as AskSearchQuestionItemViewHolder val entity = mEntityList[position] viewHolder.binding.questionsTitle.text = Html.fromHtml(replayKeyword(entity.questions.title)) - viewHolder.binding.questionsAnswerCount.text = (entity.questions.answerCount.toString() + " 回答") + viewHolder.binding.questionsAnswerCount.text = (NumberUtils.transSimpleCount(entity.questions.answerCount) + " 回答") viewHolder.itemView.setOnClickListener { val questions = Questions() questions.id = entity.questions.id diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java b/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java index 0d858337ac..5e7463b6ba 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java @@ -23,7 +23,8 @@ import retrofit2.converter.gson.GsonConverterFactory; public class RetrofitManager { private static RetrofitManager sInstance; - private static final int NORMAL_TIME_OUT = 8; + private static final int NORMAL_CONN_TIME_OUT = 2; + private static final int NORMAL_READ_TIME_OUT = 5; private static final int UPLOAD_TIME_OUT = 30; // 目前只针对图片上传 private static final byte[] LOCK = new byte[0]; private ApiService mApiService; @@ -39,21 +40,21 @@ public class RetrofitManager { } private RetrofitManager(Context context) { - OkHttpClient okHttpNormalConfig = getOkHttpConfig(context, NORMAL_TIME_OUT); + OkHttpClient okHttpNormalConfig = getOkHttpConfig(context, NORMAL_CONN_TIME_OUT, NORMAL_READ_TIME_OUT); mApiService = provideService(okHttpNormalConfig, Config.API_HOST, ApiService.class); mDataService = provideService(okHttpNormalConfig, Config.DATA_HOST, DataService.class); - mUploadApiService = provideService(getOkHttpConfig(context, UPLOAD_TIME_OUT), Config.API_HOST, ApiService.class); + mUploadApiService = provideService(getOkHttpConfig(context, UPLOAD_TIME_OUT, UPLOAD_TIME_OUT), Config.API_HOST, ApiService.class); } - private OkHttpClient getOkHttpConfig(Context context, int timeout) { + private OkHttpClient getOkHttpConfig(Context context, int connTimeout, int readTimeout) { final Cache cache = new Cache(new File(OkHttpCache.getCachePath(context)), 10 * 1024 * 1024); // 10Mb return Injection.provideRetrofitBuilder() .addInterceptor(new OkHttpCacheInterceptor(context)) .addInterceptor(new OkHttpRetryInterceptor(context)) .addNetworkInterceptor(new OkHttpNetworkInterceptor(context)) - .connectTimeout(timeout, TimeUnit.SECONDS) - .readTimeout(timeout, TimeUnit.SECONDS) + .connectTimeout(connTimeout, TimeUnit.SECONDS) + .readTimeout(readTimeout, TimeUnit.SECONDS) .pingInterval(30, TimeUnit.SECONDS) // 加入间隔为30秒的心跳包,用于解决闲置 Http/2 连接关闭时间与服务器不一造成 Connection Timeout 的问题 (https://github.com/square/okhttp/issues/3261) .cache(cache) .build(); diff --git a/app/src/main/res/layout/ask_answer_item.xml b/app/src/main/res/layout/ask_answer_item.xml index 9c4ac1f389..1363e8bbc6 100644 --- a/app/src/main/res/layout/ask_answer_item.xml +++ b/app/src/main/res/layout/ask_answer_item.xml @@ -105,7 +105,7 @@ android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_marginTop = "10dp" - android:maxEms = "8" + android:maxEms = "15" android:gravity="right" android:maxLines = "1" android:textColor = "@color/hint" diff --git a/app/src/main/res/layout/ask_questions_new_item.xml b/app/src/main/res/layout/ask_questions_new_item.xml index 1fd80847d6..54fb4be4c4 100644 --- a/app/src/main/res/layout/ask_questions_new_item.xml +++ b/app/src/main/res/layout/ask_questions_new_item.xml @@ -35,8 +35,9 @@ android:layout_alignParentRight = "true" android:layout_below = "@id/ask_questions_item_title" android:layout_marginTop = "15dp" - android:maxEms = "8" + android:maxEms = "15" android:maxLines="1" + android:gravity="right" android:textColor = "@color/hint" android:textSize = "11sp" android:visibility = "gone" /> diff --git a/app/src/main/res/layout/followers_or_fans_item.xml b/app/src/main/res/layout/followers_or_fans_item.xml index ef12b52a0c..8c1aa1662e 100644 --- a/app/src/main/res/layout/followers_or_fans_item.xml +++ b/app/src/main/res/layout/followers_or_fans_item.xml @@ -6,6 +6,8 @@ + + @@ -80,7 +82,7 @@ android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_toRightOf = "@id/answer_count" - android:text = "@{entity.count.answerVote + `赞同`}" + android:text = "@{NumberUtils.transSimpleCount(entity.count.answerVote) + `赞同`}" android:textColor = "@color/title" android:textSize = "11sp" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 29dc8c46fa..11a4cb7057 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -477,7 +477,7 @@ 查看折叠回答 没有我的游戏?点击提交 - %1$d 回答 + %1$s 回答 %1$s 赞同 已投票 投票