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 { 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> 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; } } } }