Files
assistant-android/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.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;
}
}
}
}