116 lines
4.5 KiB
Java
116 lines
4.5 KiB
Java
package com.gh.gamecenter.message;
|
|
|
|
import android.arch.lifecycle.ViewModelProviders;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.support.annotation.Nullable;
|
|
import android.text.TextUtils;
|
|
import android.view.View;
|
|
|
|
import com.gh.common.im.ImManager;
|
|
import com.gh.common.util.DirectUtils;
|
|
import com.gh.common.util.EntranceUtils;
|
|
import com.gh.gamecenter.GameDetailActivity;
|
|
import com.gh.gamecenter.NewsDetailActivity;
|
|
import com.gh.gamecenter.R;
|
|
import com.gh.gamecenter.WebActivity;
|
|
import com.gh.gamecenter.baselist.ListAdapter;
|
|
import com.gh.gamecenter.baselist.ListFragment;
|
|
import com.gh.gamecenter.baselist.NormalListViewModel;
|
|
import com.gh.gamecenter.entity.MessageKeFuEntity;
|
|
import com.gh.gamecenter.retrofit.RetrofitManager;
|
|
import com.gh.gamecenter.subject.refactor.SubjectActivity;
|
|
import com.halo.assistant.HaloApp;
|
|
|
|
import java.util.List;
|
|
|
|
import io.reactivex.Observable;
|
|
|
|
/**
|
|
* Created by khy on 2017/4/5.
|
|
* 消息-客服
|
|
*/
|
|
public class KeFuFragment extends ListFragment<MessageKeFuEntity, NormalListViewModel> {
|
|
private KeFuFragmentAdapter mAdapter;
|
|
private MessageUnreadViewModel mUnreadViewModel;
|
|
|
|
@Override
|
|
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
|
super.onActivityCreated(savedInstanceState);
|
|
setNavigationTitle("系统");
|
|
}
|
|
|
|
@Override
|
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
mUnreadViewModel = ViewModelProviders.of(this, new MessageUnreadViewModel.Factory(HaloApp.getInstance().getApplication()))
|
|
.get(MessageUnreadViewModel.class);
|
|
}
|
|
|
|
@Override
|
|
public void onLoadDone() {
|
|
super.onLoadDone();
|
|
mUnreadViewModel.markRead(MessageUnreadViewModel.ReadType.SERVICE);
|
|
}
|
|
|
|
@Override
|
|
public Observable<List<MessageKeFuEntity>> provideDataObservable(int page) {
|
|
return RetrofitManager.getInstance(getContext()).getApi().getMessageKeFuData(page);
|
|
}
|
|
|
|
@Override
|
|
protected ListAdapter provideListAdapter() {
|
|
return mAdapter == null ? mAdapter = new KeFuFragmentAdapter(getContext(), this) : mAdapter;
|
|
}
|
|
|
|
@Override
|
|
public void onListClick(View view, int position, Object data) {
|
|
if (view.getId() == R.id.message_kefu_skip) {
|
|
MessageKeFuEntity keFuEntity = (MessageKeFuEntity) data;
|
|
if (keFuEntity.getLink() == null || keFuEntity.getLink().getType() == null) {
|
|
toast("数据请求失败");
|
|
return;
|
|
}
|
|
switch (keFuEntity.getLink().getType()) {
|
|
case "游戏":
|
|
if (!TextUtils.isEmpty(keFuEntity.getLink().getId())) {
|
|
GameDetailActivity.startGameDetailActivity(getContext(), keFuEntity.getLink().getId(), "");
|
|
}
|
|
break;
|
|
case "QQ号":
|
|
if (!TextUtils.isEmpty(keFuEntity.getLink().getQq())) {
|
|
DirectUtils.directToQqConversation(getContext(), keFuEntity.getLink().getQq());
|
|
}
|
|
break;
|
|
case "web":
|
|
if (!TextUtils.isEmpty(keFuEntity.getLink().getUrl())) {
|
|
startActivity(WebActivity.getIntentByUrl(getContext(), keFuEntity.getLink().getUrl()));
|
|
}
|
|
break;
|
|
case "QQ群":
|
|
if (!TextUtils.isEmpty(keFuEntity.getLink().getKey())) {
|
|
DirectUtils.directToQqGroup(getContext(), keFuEntity.getLink().getKey());
|
|
}
|
|
break;
|
|
case "新闻":
|
|
if (!TextUtils.isEmpty(keFuEntity.getLink().getId())) {
|
|
Intent intent2 = new Intent(getContext(), NewsDetailActivity.class);
|
|
intent2.putExtra(EntranceUtils.KEY_ENTRANCE, "(消息-公告)");
|
|
intent2.putExtra(EntranceUtils.KEY_NEWSID, keFuEntity.getLink().getId());
|
|
startActivity(intent2);
|
|
}
|
|
break;
|
|
case "专题":
|
|
if (!TextUtils.isEmpty(keFuEntity.getLink().getId())) {
|
|
SubjectActivity.startSubjectActivity(getContext(), keFuEntity.getLink().getId()
|
|
, null, false, "(消息-客服)");
|
|
}
|
|
break;
|
|
case "7moor":
|
|
ImManager.startChatActivity(getActivity());
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|