光环助手V3.2 RELEASE(20180418-1420)测试问题汇总(部分完成)

This commit is contained in:
kehaoyuan
2018-04-19 16:49:51 +08:00
parent eb9b4cd132
commit 73bc256ce6
21 changed files with 149 additions and 44 deletions

View File

@ -19,6 +19,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.gh.base.BaseActivity;
import com.gh.base.fragment.BaseFragment_ViewPager;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.PackageUtils;
import com.gh.common.util.PlatformUtils;
@ -26,6 +27,7 @@ import com.gh.common.util.TagUtils;
import com.gh.common.util.TimestampUtils;
import com.gh.common.util.TokenUtils;
import com.gh.download.DownloadManager;
import com.gh.gamecenter.fragment.MainWrapperFragment;
import com.gh.gamecenter.manager.FilterManager;
import com.lightgame.download.FileUtils;
import com.lightgame.utils.AppManager;
@ -155,6 +157,12 @@ public class SplashScreenActivity extends BaseActivity {
private void launch() {
Bundle bundle = getIntent().getExtras();
Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class);
if (isNewFirstLaunch) {
intent.putExtra(BaseFragment_ViewPager.ARGS_INDEX, MainWrapperFragment.INDEX_ASK);
Intent[] intents = new Intent[]{intent,CommunitiesSelectActivity.getIntent(this)};
startActivities(intents);
return;
}
if (bundle != null) intent.putExtras(bundle);
startActivity(intent);
finish();

View File

@ -6,10 +6,12 @@ import android.os.Bundle;
import android.os.Message;
import android.support.annotation.Nullable;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.gh.common.util.AskLogUtils;
import com.gh.common.util.CheckLoginUtils;
import com.gh.common.util.DisplayUtils;
import com.gh.gamecenter.AnswerDetailActivity;
import com.gh.gamecenter.QuestionEditActivity;
import com.gh.gamecenter.QuestionsDetailActivity;
@ -46,10 +48,31 @@ public class AskQuestionsRecommendsFragment extends ListFragment<AnswerEntity, A
private CheckLoginUtils.OnLoginListener mOnLoginListener;
private int mRefreshHeight = 8;
@Override
protected void handleMessage(Message msg) {
if (msg.what == 1) {
mRefreshHint.setVisibility(View.GONE);
mRefreshHeight-=2;
if (mRefreshHeight <= 8) {
mRefreshHint.setVisibility(View.GONE);
return;
}
ViewGroup.LayoutParams layoutParams = mRefreshHint.getLayoutParams();
layoutParams.height = DisplayUtils.dip2px(getContext(), mRefreshHeight);
mRefreshHint.setLayoutParams(layoutParams);
mBaseHandler.sendEmptyMessage(1);
} else if (msg.what == 0) {
if (mRefreshHeight == 8) mRefreshHint.setVisibility(View.VISIBLE);
mRefreshHeight+=2;
if (mRefreshHeight >= 35) {
mBaseHandler.sendEmptyMessageDelayed(1, 1000);
return;
}
ViewGroup.LayoutParams layoutParams = mRefreshHint.getLayoutParams();
layoutParams.height = DisplayUtils.dip2px(getContext(), mRefreshHeight);
mRefreshHint.setLayoutParams(layoutParams);
mBaseHandler.sendEmptyMessage(0);
}
}
@ -62,11 +85,11 @@ public class AskQuestionsRecommendsFragment extends ListFragment<AnswerEntity, A
mListViewModel.getRefreshCount().observe(this, integer -> {
if (integer != null) {
mRefreshHeight = 8;
switch (integer) {
case 0:
mRefreshHint.setText("已经没有新内容咯,请稍后再试");
mRefreshHint.setVisibility(View.VISIBLE);
mBaseHandler.sendEmptyMessageDelayed(1, 2000);
mBaseHandler.sendEmptyMessage(0);
AskLogUtils.communityRefresh(getContext(), integer);
break;
case -1:
@ -74,8 +97,7 @@ public class AskQuestionsRecommendsFragment extends ListFragment<AnswerEntity, A
break;
default:
mRefreshHint.setText("成功获取" + integer + "条内容");
mRefreshHint.setVisibility(View.VISIBLE);
mBaseHandler.sendEmptyMessageDelayed(1, 2000);
mBaseHandler.sendEmptyMessage(0);
AskLogUtils.communityRefresh(getContext(), integer);
break;
}

View File

@ -35,6 +35,8 @@ public class AskQuestionsRecommendsViewHolder extends BaseRecyclerViewHolder<Ans
SimpleDraweeView mAskImg;
@BindView(R.id.ask_item_votecount)
TextView mAskVotecount;
@BindView(R.id.ask_item_answercount)
TextView mAskAnswerCount;
public AskQuestionsRecommendsViewHolder(View itemView, OnListClickListener listClickListener) {
super(itemView, listClickListener);
@ -45,6 +47,7 @@ public class AskQuestionsRecommendsViewHolder extends BaseRecyclerViewHolder<Ans
public void initQuestionsHotViewHolder(AnswerEntity entity) {
setClickData(entity);
mAskVotecount.setText(itemView.getContext().getString(R.string.ask_vote_count, AskUtils.voteCountFormat(entity.getVote())));
mAskAnswerCount.setText(String.format("%d 评论", entity.getCommentCount()));
mAskContent.setText(entity.getBrief());

View File

@ -112,7 +112,9 @@ public class AskQuestionsRecommendsViewModel extends ListViewModel<AnswerEntity,
}
mLiveData.postValue(previousData);
} else {
loadStatusControl(-1, sequenceId, isUp);
if (response.code() != 403) {
loadStatusControl(-1, sequenceId, isUp);
}
}
}

View File

@ -7,12 +7,14 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import android.view.Window;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gh.common.constant.Config;
import com.gh.common.util.AskErrorResponseUtils;
import com.gh.common.util.CheckLoginUtils;
import com.gh.common.util.PackageUtils;
@ -27,12 +29,16 @@ import com.gh.gamecenter.baselist.ListFragment;
import com.gh.gamecenter.baselist.LoadType;
import com.gh.gamecenter.db.info.InstallInfo;
import com.gh.gamecenter.entity.InstallGameEntity;
import com.gh.gamecenter.entity.SettingsEntity;
import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.manager.UserManager;
import com.gh.gamecenter.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.halo.assistant.HaloApp;
import com.lightgame.utils.Util_System_Phone_State;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.json.JSONException;
import org.json.JSONObject;
@ -294,4 +300,16 @@ public class SelectGameFragment extends ListFragment<AskGameSelectEntity, Select
}
});
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(EBReuse reuse) {
if ("Refresh".equals(reuse.getType()) && TextUtils.isEmpty(UserManager.getInstance().getCommunityId(getContext()))) {
SettingsEntity settings = Config.getSettings();
if (settings != null && settings.getCommunity() != null) {
SettingsEntity.Community community = settings.getCommunity();
UserManager.getInstance().setCommunityId(getContext(), community.getId(), community.getName());
mAdapter.notifyDataSetChanged();
}
}
}
}

View File

@ -50,7 +50,7 @@ class AnswerEntity() : Parcelable {
var communityName: String? = null
@SerializedName("comment_count")
var answerCount: Int = 0
var commentCount: Int = 0
constructor(parcel: Parcel) : this() {
primaryKey = parcel.readString()
@ -60,7 +60,7 @@ class AnswerEntity() : Parcelable {
brief = parcel.readString()
questions = parcel.readParcelable(Questions::class.java.classLoader)
images = parcel.createStringArrayList()
answerCount = parcel.readInt()
commentCount = parcel.readInt()
vote = parcel.readInt()
user = parcel.readParcelable(UserEntity::class.java.classLoader)
communityName = parcel.readString()
@ -75,7 +75,7 @@ class AnswerEntity() : Parcelable {
parcel.writeParcelable(questions, flags)
parcel.writeStringList(images)
parcel.writeInt(vote)
parcel.writeInt(answerCount)
parcel.writeInt(commentCount)
parcel.writeParcelable(user, flags)
parcel.writeString(communityName)
}

View File

@ -50,7 +50,7 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder<AnswerEntity> {
public void initAnswerViewHolder(Context context, AnswerEntity entity) {
setClickData(entity);
mContent.setText(entity.getBrief());
mCommentCount.setText(String.format("%d 评论", entity.getAnswerCount()));
mCommentCount.setText(String.format("%d 评论", entity.getCommentCount()));
mVotecount.setText(context.getString(R.string.ask_vote_count, AskUtils.voteCountFormat(entity.getVote())));
UserEntity user = entity.getUser();
mUsername.setText(user.getName());
@ -93,7 +93,7 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder<AnswerEntity> {
mContent.setText(entity.getBrief());
mCommunityName.setVisibility(View.VISIBLE);
mCommunityName.setText(entity.getCommunityName());
mCommentCount.setText(String.format("%d 评论", entity.getAnswerCount()));
mCommentCount.setText(String.format("%d 评论", entity.getCommentCount()));
mVotecount.setText(itemView.getContext().getString(R.string.ask_vote_count, AskUtils.voteCountFormat(entity.getVote())));
List<String> images = entity.getImages();
if (images.size() > 0) {

View File

@ -7,6 +7,7 @@ import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.gh.common.util.AskLogUtils;
import com.gh.common.util.DisplayUtils;
import com.gh.common.view.VerticalItemDecoration;
import com.gh.gamecenter.AnswerDetailActivity;
import com.gh.gamecenter.QuestionsDetailActivity;
@ -27,6 +28,10 @@ public class AskSubjectFragment extends ListFragment<AnswerEntity, AskSubjectVie
private AskSubjectAdapter mAdapter;
private AskSubjectEntity entity;
private int height;
@Override
protected RecyclerView.ItemDecoration getItemDecoration() {
return new VerticalItemDecoration(getContext(), 8, false);
@ -48,9 +53,31 @@ public class AskSubjectFragment extends ListFragment<AnswerEntity, AskSubjectVie
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
if (arguments != null) {
AskSubjectEntity entity = arguments.getParcelable(AskSubjectEntity.TAG);
entity = arguments.getParcelable(AskSubjectEntity.TAG);
mListViewModel.setSubjectLiveData(entity);
}
height = (int) (getResources().getDisplayMetrics().widthPixels * 0.44) + DisplayUtils.dip2px(getContext(), 20);
mListRv.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
View view = mLayoutManager.findViewByPosition(0);
if (view == null) return;
int top = view.getTop();
if (-top > height && entity != null) {
setNavigationTitle(entity.getTitle());
} else {
setNavigationTitle("问答专题");
}
}
});
}
@Override

View File

@ -44,6 +44,6 @@ public class AskSubjectViewModel extends ListViewModel<AnswerEntity, AnswerEntit
public Observable<List<AnswerEntity>> provideDataObservable(int page) {
if (mSubjectLiveData.getValue() == null) return null;
return RetrofitManager.getInstance(getApplication()).getApi()
.getAskSubjectColumnAnswers(UserManager.getInstance().getCommunityId(getApplication()), mSubjectLiveData.getValue().getId());
.getAskSubjectColumnAnswers(UserManager.getInstance().getCommunityId(getApplication()), mSubjectLiveData.getValue().getId(), page);
}
}

View File

@ -83,8 +83,15 @@ public class MessageAdapter extends ListAdapter<MessageEntity> {
viewHolder.setMessageItem(mEntityList.get(position - TOP_ITEM_COUNT));
break;
case ItemViewType.ITEM_FOOTER:
((FooterViewHolder) holder).initFooterViewHolder(mIsNetworkError, mIsOver, R.string.ask_loadover_hint);
((FooterViewHolder) holder).initItemPadding();
FooterViewHolder footerViewHolder = (FooterViewHolder) holder;
footerViewHolder.initFooterViewHolder(mIsNetworkError, mIsOver, R.string.ask_loadover_hint);
footerViewHolder.initItemPadding();
if (mIsOver && (mEntityList == null || mEntityList.isEmpty())) {
footerViewHolder.itemView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 0));
} else {
footerViewHolder.itemView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
break;
}
}

View File

@ -61,6 +61,7 @@ public class MessageFragment extends ListFragment<MessageEntity, NormalListViewM
public void onLoadEmpty() {
super.onLoadDone();
mAdapter.loadChange(LoadStatus.LIST_OVER);
mReuseNoData.setVisibility(View.VISIBLE);
}
@Override

View File

@ -43,6 +43,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder<MessageEntity>
case "answer":
mBinding.messageCommand.setText("回答了你的问题");
mBinding.messageContent.setVisibility(View.VISIBLE);
mBinding.messageContent.setMaxLines(3);
mBinding.messageContent.setText(messageEntity.getAnswer().getContent());
mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle());
images = messageEntity.getAnswer().getImages();
@ -52,6 +53,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder<MessageEntity>
case "reply":
mBinding.messageCommand.setText("回复了你");
mBinding.messageContent.setVisibility(View.VISIBLE);
mBinding.messageContent.setMaxLines(Integer.MAX_VALUE);
mBinding.messageContent.setText(messageEntity.getDialogue().getFrom().getContent());
mBinding.messageOriginalTitle.setText(messageEntity.getArticle().getTitle());
mBinding.messageOriginalIcon.setImageURI(messageEntity.getArticle().getThumb());
@ -59,6 +61,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder<MessageEntity>
case "follow_question":
mBinding.messageCommand.setText("回答了你关注的问题");
mBinding.messageContent.setVisibility(View.VISIBLE);
mBinding.messageContent.setMaxLines(3);
mBinding.messageContent.setText(messageEntity.getAnswer().getContent());
mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle());
images = messageEntity.getAnswer().getImages();
@ -68,6 +71,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder<MessageEntity>
case "reply_answer_comment":
mBinding.messageCommand.setText("回复了你");
mBinding.messageContent.setVisibility(View.VISIBLE);
mBinding.messageContent.setMaxLines(Integer.MAX_VALUE);
mBinding.messageContent.setText(messageEntity.getDialogue().getFrom().getContent());
mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle());
images = messageEntity.getAnswer().getImages();
@ -77,6 +81,7 @@ public class MessageItemViewHolder extends BaseRecyclerViewHolder<MessageEntity>
case "answer_comment":
mBinding.messageCommand.setText("评论了你");
mBinding.messageContent.setVisibility(View.VISIBLE);
mBinding.messageContent.setMaxLines(Integer.MAX_VALUE);
mBinding.messageContent.setText(messageEntity.getComment().getContent());
mBinding.messageOriginalTitle.setText(messageEntity.getQuestion().getTitle());
images = messageEntity.getAnswer().getImages();

View File

@ -34,12 +34,6 @@ public class MessageNormalFragment extends ListFragment<MessageEntity, NormalLis
private String mMessageType;
public static Bundle getMessageBundle(String messageType) {
Bundle bundle = new Bundle();
bundle.putString(EntranceUtils.KEY_MESSAGE_TYPE, messageType);
return bundle;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
if (getArguments() == null)

View File

@ -281,7 +281,7 @@ public class PersonalFragment extends BaseFragment implements Observer<ApiRespon
private void sign() {
RetrofitManager.getInstance(getContext()).getApi()
.postSign()
.postSign(UserManager.getInstance().getUserId())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Response<SignEntity>() {
@ -326,7 +326,7 @@ public class PersonalFragment extends BaseFragment implements Observer<ApiRespon
private void signSkip(SignEntity signEntity) {
SignEntity.Data data = signEntity.getData();
String entrance = "(我的光环)+(签到)";
if (TextUtils.isEmpty(data.getType())) {
if (data == null || TextUtils.isEmpty(data.getType())) {
EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0));
return;
}

View File

@ -880,7 +880,9 @@ public interface ApiService {
* 社区专题的答案
*/
@GET("communities/{community_id}/columns/{column_id}/answers")
Observable<List<AnswerEntity>> getAskSubjectColumnAnswers(@Path("community_id") String communityId, @Path("column_id") String columnId);
Observable<List<AnswerEntity>> getAskSubjectColumnAnswers(@Path("community_id") String communityId
, @Path("column_id") String columnId
, @Query("page") int page);
// /**
// * 获取默认社区
@ -933,7 +935,7 @@ public interface ApiService {
/**
* 签到
*/
@POST("sign-in")
Observable<SignEntity> postSign();
@GET("users/{user_id}:sign-in")
Observable<SignEntity> postSign(@Path("user_id") String userId);
}

View File

@ -67,22 +67,17 @@ public class UserInfoEditFragment extends NormalFragment {
return R.layout.fragment_userinfo_edit;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initMenu(R.menu.menu_button);
mSaveMenuItem = getItemMenu(R.id.menu_button);
TextView menuView = mSaveMenuItem.getActionView().findViewById(R.id.tv_menu_button);
menuView.setText(R.string.menu_text_save);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
mEditType = getArguments().getString(UserViewModel.KEY_EDITTYPE);
initMenu(R.menu.menu_button);
mSaveMenuItem = getItemMenu(R.id.menu_button);
TextView menuView = mSaveMenuItem.getActionView().findViewById(R.id.tv_menu_button);
menuView.setText(R.string.menu_text_save);
mUserInfoEntity = UserManager.getInstance().getUserInfoEntity();
UserViewModel.Factory factory = new UserViewModel.Factory(getActivity().getApplication());