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 a2bca3d444..78ba35c565 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -32,6 +32,15 @@ public class BindingAdapters { } } + @BindingAdapter("messageUnread") + public static void setMessageUnread(TextView view, int unreadCount) { + if (unreadCount < 100) { + view.setText(String.valueOf(unreadCount)); + } else { + view.setText("99+"); + } + } + @BindingAdapter("messageCommand") public static void setMessageCommand(TextView view, String command) { switch (command) { diff --git a/app/src/main/java/com/gh/common/view/LimitHeightScrollView.java b/app/src/main/java/com/gh/common/view/LimitHeightScrollView.java new file mode 100644 index 0000000000..ad799faa36 --- /dev/null +++ b/app/src/main/java/com/gh/common/view/LimitHeightScrollView.java @@ -0,0 +1,53 @@ +package com.gh.common.view; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.ScrollView; + +import com.gh.common.util.DisplayUtils; + +/** + * Created by khy on 2/04/18. + */ + +public class LimitHeightScrollView extends ScrollView { + + private int mLimitHeight; + + public LimitHeightScrollView(Context context) { + super(context); + } + + public LimitHeightScrollView(Context context, AttributeSet attrs) { + super(context, attrs); + mLimitHeight = DisplayUtils.dip2px(getContext(), 240); + } + + public LimitHeightScrollView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int heightMode = MeasureSpec.getMode(heightMeasureSpec); + int heightSize = MeasureSpec.getSize(heightMeasureSpec); + + if (heightMode == MeasureSpec.EXACTLY) { + heightSize = heightSize <= mLimitHeight ? heightSize + : mLimitHeight; + } + + if (heightMode == MeasureSpec.UNSPECIFIED) { + heightSize = heightSize <= mLimitHeight ? heightSize + : mLimitHeight; + } + if (heightMode == MeasureSpec.AT_MOST) { + heightSize = heightSize <= mLimitHeight ? heightSize + : mLimitHeight; + } + int maxHeightMeasureSpec = MeasureSpec.makeMeasureSpec(heightSize, + heightMode); + super.onMeasure(widthMeasureSpec, maxHeightMeasureSpec); + } +} diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index 7336b88b6a..06ec267972 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -273,6 +273,12 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt showHintDialog(service); } break; + case "report" : + List report = typeEntity.getReport(); + if (report != null && report.size() > 0) { + showHintDialog(report); + } + break; } } } diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java index 411bd84d16..1f3d39117d 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsRecommendsFragment.java @@ -13,12 +13,15 @@ import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.NormalActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.ask.entity.AnswerEntity; +import com.gh.gamecenter.ask.entity.AskSubjectEntity; import com.gh.gamecenter.ask.entity.Questions; import com.gh.gamecenter.ask.questionsdetail.QuestionsDetailFragment; import com.gh.gamecenter.baselist.ListFragment; import com.gh.gamecenter.baselist.LoadStatus; import com.gh.gamecenter.baselist.LoadType; +import java.util.List; + import butterknife.BindView; import butterknife.OnClick; @@ -175,6 +178,8 @@ public class AskQuestionsRecommendsFragment extends ListFragment value = mListViewModel.getSubjectLiveData().getValue(); + if (value == null || value.size() <= 1) return; mBaseHandler.removeMessages(0); Message message = new Message(); message.what = 0; diff --git a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexAdapter.java b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexAdapter.java index d929b167fc..6f2d12b623 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexAdapter.java @@ -28,6 +28,11 @@ public class QuestionsEditIndexAdapter extends ListAdapter mListClickListener = listClickListener; } + @Override + protected boolean areItemsTheSame(QuestionsIndexEntity oldItem, QuestionsIndexEntity newItem) { + return oldItem != null && oldItem.getId().equals(newItem.getId()); + } + private String replayKeyword(String title) { if (TextUtils.isEmpty(mSearchKey)) return title; return title.replaceAll(mSearchKey, getHtmlKeyword()); diff --git a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexFragment.java b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexFragment.java index f7ce6f42d0..aa04790ca6 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditIndexFragment.java @@ -16,6 +16,7 @@ import com.gh.gamecenter.ask.entity.QuestionsIndexEntity; import com.gh.gamecenter.ask.questionsdetail.QuestionsDetailFragment; import com.gh.gamecenter.baselist.ListAdapter; import com.gh.gamecenter.baselist.ListFragment; +import com.gh.gamecenter.baselist.LoadStatus; import com.gh.gamecenter.baselist.LoadType; import com.gh.gamecenter.baselist.NormalListViewModel; import com.gh.gamecenter.manager.UserManager; @@ -102,6 +103,7 @@ public class QuestionsEditIndexFragment extends ListFragment? = null var service: List? = null + + var report: List? = null } diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 9e2935623a..61d000f6a8 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -872,7 +872,7 @@ public interface ApiService { /** * 取消关注问题 */ - @POST("users/{user_id}/follows/questions/{question_id}") + @DELETE("users/{user_id}/follows/questions/{question_id}") Observable deleteConcernQuestions(@Path("user_id") String user_id, @Path("question_id") String questionsId); diff --git a/app/src/main/res/layout/ask_recommends_subject_item.xml b/app/src/main/res/layout/ask_recommends_subject_item.xml index 20c78511d0..d5f639d9fc 100644 --- a/app/src/main/res/layout/ask_recommends_subject_item.xml +++ b/app/src/main/res/layout/ask_recommends_subject_item.xml @@ -35,6 +35,7 @@ android:layout_marginRight = "20dp" android:ellipsize = "end" android:maxLines = "2" + android:maxLength="20" android:text = "@{entity.title}" android:textColor = "@color/black" android:textSize = "14sp" @@ -55,6 +56,7 @@ android:text = "@{entity.tags.get(0)}" android:textColor = "@android:color/white" android:textSize = "11sp" + android:maxLength="5" app:layout_constraintBottom_toBottomOf = "@id/subject_icon" app:layout_constraintLeft_toRightOf = "@id/subject_icon" /> diff --git a/app/src/main/res/layout/ask_subject_top_item.xml b/app/src/main/res/layout/ask_subject_top_item.xml index 8d17cf3105..f5bfe98a4e 100644 --- a/app/src/main/res/layout/ask_subject_top_item.xml +++ b/app/src/main/res/layout/ask_subject_top_item.xml @@ -33,6 +33,7 @@ android:textColor = "@color/black" android:textSize = "14sp" android:textStyle = "bold" + android:maxLines="2" app:layout_constraintTop_toBottomOf = "@id/ask_subject_top_icon" /> diff --git a/app/src/main/res/layout/message_item_top.xml b/app/src/main/res/layout/message_item_top.xml index fbd7421be8..55468d488a 100644 --- a/app/src/main/res/layout/message_item_top.xml +++ b/app/src/main/res/layout/message_item_top.xml @@ -33,8 +33,8 @@ app:layout_constraintVertical_chainStyle = "packed" /> @@ -93,8 +93,8 @@ app:layout_constraintVertical_chainStyle = "packed" /> @@ -153,8 +153,8 @@ app:layout_constraintVertical_chainStyle = "packed" /> diff --git a/app/src/main/res/layout/questions_edit_tag.xml b/app/src/main/res/layout/questions_edit_tag.xml index bdfa88ccb7..c5eabb71a6 100644 --- a/app/src/main/res/layout/questions_edit_tag.xml +++ b/app/src/main/res/layout/questions_edit_tag.xml @@ -15,19 +15,24 @@ android:textSize = "14sp" android:textStyle = "bold" /> - + + + app:layout_constraintTop_toBottomOf = "@id/questions_edit_tag_line" > - +